Mercurial > cgi-bin > hgwebdir.cgi > VMS > 0__Writings > kshalle
changeset 101:79fc8f35635f
Perf tuning paper, DSL paper update, DFM presentation
line diff
1.1 --- a/0__Papers/Holistic_Model/Perf_Tune__long_version_for_TACO/latex/Holistic_Perf_Tuning.tex Sat Aug 03 19:24:22 2013 -0700 1.2 +++ b/0__Papers/Holistic_Model/Perf_Tune__long_version_for_TACO/latex/Holistic_Perf_Tuning.tex Fri Sep 13 11:02:18 2013 -0700 1.3 @@ -57,7 +57,7 @@ 1.4 \begin{document} 1.5 1.6 %MOIRAI: MOdel for Integrated Runtime Analysis through Instrumentation 1.7 -\title{An Approach to Augment Performance Tuning\\ via Visualization of Causality Chains} 1.8 +\title{Augmenting Performance Tuning\\ via Visualization of Cause-and-Effect Chains} 1.9 1.10 %\authorinfo{Nina Engelhardt} 1.11 % {TU Berlin} 1.12 @@ -79,100 +79,168 @@ 1.13 1.14 1.15 \begin{abstract} 1.16 -Performance tuning is an important aspect of parallel programming that involves understanding both sequential behavior inside work-units and scheduling related behavior arising from how those units are assigned to hardware resources. Many good tools exist for identifying hot-spots in code, and tuning the sequential aspects there, as well as the data layout. They also identify constructs that spend a long time blocked. However, they provide less help in understanding why constructs block for so long, and why no other work fills in. The answer often arises from chains of causal interactions that involve the scheduling choices made in combination with runtime implementation details and hardware behaviors. Identifying such a chain requires visualizing each source of causality. We propose supplementing existing tools with an additional tool to identify these chains and tie the behaviors back to specific spots in the code. To make such a tool, we apply a newly discovered model of the structure of parallel computation, as a guide to gathering each step in the scheduling and execution process. The visualizations of these are superficially similar to existing tools, but include additional features to identify unexpected behaviors within the chain and tie them to related parallelism constructs within the code. 1.17 -We show how to instrument a parallel language or programming model, with no need to modify the application. To simplify illustration, we instrumented the runtime of our own pi-calculus inspired programming model, called SSR, and we walk through a tuning session on a large multi-core machine, which demonstrates the improvements in generating hypotheses for both the causes of idle cores, and how to reduce the idleness. 1.18 +Performance tuning is an important aspect of parallel programming. It involves tuning both sequential behavior, inside units of work, and also tuning the scheduling of those units onto hardware resources. Many good tools exist for the sequential aspects such as finding hot spots and adjusting the data layout. Many also show statistics related to scheduling, such as periods of idleness on each core and time spent trying to acquire locks. Some exceptional tools even shift blame onto specific parallelism construct instances in the code. However, more help is often desired, to understand the cause-and-effect among the events leading to the pattern of idleness. Such cause-and-effect tells the coder why the blamed constructs consume so much time, and so enables forming a hypothesis for how to improve the code. We propose an additional tool that visualizes the cause-and-effect cascades. It relies upon a novel theory of the structure of parallel computation, which we touch upon. The resulting visualizations appear superficially similar to existing tools, but visual details convey extra information, to reveal the cascades and relate them to the parallelism constructs within the code. The application is not modified, only the runtime system of the parallel language or programming model. We present a tutorial style introduction to the theory and the tool. We instrumented the runtime of our own pi-calculus inspired programming model, called SSR, and walk through using it to read the cascade of causes of idle cores, and form hypotheses for how to reduce the idleness. 1.19 \end{abstract} 1.20 1.21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1.22 \section{Introduction} 1.23 \label{sec:intro} 1.24 1.25 -Performance visualization and tuning tools for parallel programs are critical to achieving good performance. 1.26 -Large factors of improvement can be realized by using existing tools to identify hot-spots and adjust the data layout and other internals of the most time-consuming functions. 1.27 - 1.28 - 1.29 - 1.30 -However, once such optimization has made progress, the main area available for performance improvement undergoes a shift towards the scheduling choices made by the runtime. Existing tools tend to provide less help here, in understanding the complicated interactions among runtime behavior, scheduling decisions, and consequent hardware behavior. The interactions often give rise to unexpected chain reactions that leave cores idle. These involve the constraints stated by the application, the way the work is divided, and the choices made during the run for which unit of work to assign to which hardware resource at which point in time. To tune such behaviors, the chains need to be identified and understood. 1.31 +Performance visualization and tuning tools for parallel programs are critical to achieving good performance. Existing tools can be used to achieve large factors of improvement. The first way is through identifying hot-spots and adjusting the data layout and other internals of the most time-consuming functions. This type of tuning considers mainly the sequential aspects of the code. 1.32 + 1.33 +Once such optimization has made progress, further improvement shifts towards the scheduling aspects, which include the choices for which work is placed where. This involves the internals of the runtime system. Improvement here relies on understanding the complicated interactions among runtime behavior, scheduling decisions, and consequent hardware behavior. Unexpected performance losses often involve chain reactions that leave cores idle. The chains involve the constraints stated by the application, the way the work is divided, and the choices made during the run for which unit of work to assign to which hardware resource at which point in time. To tune such behaviors, the chains need to be revealed, in order to understand the causes and effects involved. 1.34 1.35 %The level of complexity is reflected by the fact that finding the optimal set of scheduling choices is known to be an NP hard problem []. 1.36 1.37 -For example, a unit of work completes, which sends a signal to the runtime to update the state of the unit and the state of the hardware resource it occupied. This in turn causes the runtime to choose a different unit to own that hardware and sends the meta-information for that unit to the hardware. This in turn triggers communication, to move the data consumed by the unit to the hardware. Then the work of the new unit takes place there. 1.38 - 1.39 -Any one of these interactions could be individually abnormal, and an unexpected source of performance loss. For example, there may be congestion in the network that causes the data movement to be especially slow for that particular new unit. 1.40 - 1.41 -Although current tools do a good job of identifying which constructs block, and which cores sit idle, they don't help much in deciphering such complex chains of causal interactions. This needs a visualization of each step in the causal chain. 1.42 - 1.43 - 1.44 - 1.45 - 1.46 - 1.47 - 1.48 -To help with this particular aspect of tuning, we propose an additional tool. It collects the causal interactions inside the runtime and hardware, and then visualizes them in a useful way. In addition, it helps to generate ideas for ways to reduce idleness by showing the scheduling-related structure of the application. 1.49 - 1.50 - 1.51 - 1.52 -Our approach is based on a newly discovered model of the structure of parallel computation, which identifies each causal step. 1.53 -The theoretical model adds value by indicating particular quantities to measure at specific points in the runtime system and by establishing a mental framework that simplifies hypothesis generation. 1.54 - 1.55 -The information used during tuning is collected by the runtime as the application executes, which makes it practical and backwards compatible. No modification of applications takes place. 1.56 - 1.57 -The information is used to visually link each unit to the units upon which its execution is conditional, via a chain of causal steps. Semantics attached to the visual features enable quickly generating the correct hypotheses for the causes of lost computation opportunities, and quickly narrowing down what can be done, in the application code, to improve performance. In effect, the visualization serves as a map showing idle cores linked back to the sections of application code related. 1.58 - 1.59 - 1.60 -To simplify seeing the value of the approach, we walk through a session of tuning scheduling choices, in which we point out the semantics of features in the visualization, what each visual feature implies, and how these implications lead to hypotheses and fixes. Although the views look similar to current tools, they differ in the semantics of the visual features. 1.61 - 1.62 - 1.63 - 1.64 -We intend the contribution of this paper to be the way the parallel model has been applied, rather than any aspects of the model itself. The distinction is important because the space is used to convey the value gained by the process of applying the model. Only enough of the model is stated, in \S \ref{sec:theory} and \S \ref{sec:Implementation}, to understand where the value comes from and how to instrument a runtime to gain it. 1.65 - 1.66 -This paper is organized as follows: we introduce the semantics of features of our visualization by walking through a tuning session in Section \ref{sec:casestudy}, and then expand on the theoretical model behind it in Section \ref{sec:theory}. Section \ref{sec:Implementation} gives details of instrumenting a runtime to collect data according to the model. We relate the approach to other tuning tools in Section \ref{sec:related} and draw conclusions in Section \ref{sec:conclusion}. 1.67 - 1.68 +As an example of such a chain, a unit of work completes, which sends a signal to the runtime to update the runtime's internal state of the unit and the state of the hardware resource it occupied. This in turn causes the runtime to choose a different unit to own that hardware and sends the meta-information for that unit to the hardware. This in turn triggers communication, to move the data consumed by the unit to the hardware. Then the work of the new unit takes place there. 1.69 + 1.70 +Any one of these interactions could be individually abnormal, and an unexpected source of performance loss. In particular, there may be congestion in the network that causes the data movement to be especially slow for that new unit, or the runtime may experience contention for access to its internal state (IE, contention for an internal lock). 1.71 + 1.72 +We propose augmenting current tools with a way to visualize each link in such cause-and-effect cascades. The augmentation focuses on just this one aspect of performance tuning. It adds the ability to see inside the runtime system's operation, so that all links in the cause and effect chains can be visualized. It also assigns a meaning to each link, to aid in understanding the patterns. The meaning is determined according to a theory of parallel computation. We touch upon this theory just enough to explain the meaning assigned to each link. 1.73 + 1.74 + 1.75 +%To help with this particular aspect of tuning, we propose an additional tool. It collects the causal interactions inside the runtime and hardware, and then visualizes them in a useful way. In addition, it helps to generate ideas for ways to reduce idleness by showing the scheduling-related structure of the application. 1.76 + 1.77 +%Our approach is based on a newly discovered model of the structure of parallel computation, which identifies each causal step. The theoretical model adds value by indicating particular quantities to measure at specific points in the runtime system and by establishing a mental framework that simplifies hypothesis generation. 1.78 + 1.79 +No modification of the application takes place. The new tool instruments the language implementation. Instrumentation is inserted at key points in the runtime system of the language. All the information used to visualize the cause and effect cascades is collected by the runtime system as the application executes. 1.80 + 1.81 +The information is presented visually, as blocks of time taken by units of work that were scheduled, and as links among those blocks of time. The time counted against a work-unit is broken down into categories such as: time taken to decide where to execute the unit; time to move the data of the unit; time inside the runtime to communicate completion of units and changes in the states of hardware resources; and time to move the meta-information of the unit. The categories are defined by the computation theory. 1.82 + 1.83 +%presented as broken down , and links link each unit to the units upon which its execution is conditional, via a chain of causal steps. Semantics attached to the visual features enable quickly generating the correct hypotheses for the causes of lost computation opportunities, and quickly narrowing down what can be done, in the application code, to improve performance. In effect, the visualization serves as a map showing idle cores linked back to the sections of application code related. 1.84 + 1.85 +This introductory paper focuses on explaining the basics of the approach in a tutorial fashion. This involves learning the categories defined by the theory as well as the meaning of the fine details within the visualization. It also covers learning how to generate hypotheses, from the visualization, about what to change in the code, to modify the cascades of cause-and-effect. 1.86 + 1.87 +This paper does not cover advanced uses of the approach, as space requires choosing between providing tutorial style understanding, versus illustrating advanced features absent understanding of what's being presented. Expert readers may find fault with our choice, desiring a more in depth comparison to the defacto tools, illustrating what this paper's tool adds beyond them. We ask such readers to be patient, take the time to understand our approach, and allow us to present the more advanced features in a future paper. 1.88 + 1.89 + 1.90 +We will present ways the proposed tool is separated from other tools, namely by adding detail to where a core's time has been spent, and by providing a wider variety of cause-and-effect links, that even cover runtime internal causations. At the end of the section on the basic theory, \S\ref{subsec:SCG}, we revisit describing how the proposed tool goes further, to supplement existing ones. 1.91 + 1.92 + 1.93 +%To simplify seeing the value of the approach, we walk through a session of tuning scheduling choices, in which we point out the semantics of features in the visualization, what each visual feature implies, and how these implications lead to hypotheses and fixes. Although the views look similar to current tools, they differ in the semantics of the visual features. 1.94 + 1.95 +%The contribution of this paper to be the way the parallel model has been applied, rather than any aspects of the model itself. The distinction is important because the space is used to convey the value gained by the process of applying the model. Only enough of the model is stated, in \S \ref{sec:theory} and \S \ref{sec:Implementation}, to understand where the value comes from and how to instrument a runtime to gain it. 1.96 + 1.97 +This paper is organized as follows: we introduce the basics of the theory behind the tool in \S\ref{sec:basics}, then give the features of our visualization and their meaning in \S\ref{sec:visualization}. We illustrate their use by walking through a tuning session in \S\ref{sec:casestudy}. To prepare for explaining how to implement the approach, we expand on the theory behind it in \S\ref{sec:theory}. \S\ref{sec:Implementation} then gives the details of how to instrument a runtime to collect the data dictated by the theory. We briefly relate the approach to other tuning tools in \S\ref{sec:related} and draw conclusions in \S\ref{sec:conclusion}. 1.98 1.99 1.100 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1.101 -\section{Illustration of Tuning Scheduling Decisions} 1.102 -\label{sec:casestudy} 1.103 - 1.104 -To demonstrate the value of the approach, we create a slightly contrived example that brings out particular features of the tool. but uses a real application running on real hardware. 1.105 - 1.106 -We start by describing the hardware being run on and structure of the program being tuned, and follow by describing the parallel language used and instrumented. We then advance to the features of the visualization. 1.107 - 1.108 - A sequence of visualizations follow. In each, we point out how the performance loss is identified, and which visual features suggest the hypothesis of the cause of the loss. We show how the visual features direct the user to the specific sections of code that need to be changed, and how the model suggests what changes to try. 1.109 - 1.110 -\subsection{Setup: Hardware and Application} 1.111 - 1.112 - 1.113 - 1.114 -We run our example on a machine with 4 sockets by 10 cores each, for a total of 40 physical cores. They are Intel WestmereEx cores running at 3.0GHz, with TurboBoost turned off for reproducability. 1.115 - 1.116 -We wish to tune scheduling on a standard program that the reader knows well, so we chose matrix multiply, with which the reader should be familiar. This allows concentration on the tool without distraction about the application. 1.117 - 1.118 -The application is structured as follows: it creates one entity to divide the work into a number of pieces and creates another entity for each piece of work. How many pieces is determined by the combination of a tuning parameter in the code with the number of cores. The work is distributed across the cores in a round-robin fashion, unless otherwise specified. 1.119 - 1.120 -The application also creates an entity that manages the partial-results. Each piece of work sends its contribution, which is accumulated into the overall result. The entity that divides waits for the entity that accumulates to signal completion then the language runtime shuts down. 1.121 - 1.122 -\subsection{Programming Model} 1.123 -We chose a simple language that was convenient to instrument. It is inspired by pi-calculus, and called Synchronous Send-Receive (SSR). It implements rendez-vous style send and receive operations made between virtual processors (VPs), where a VP is similar to a software thread. The example application uses the commands for creating and destroying VPs, two kinds of send-receive paired operations, a parallel singleton, and scheduling control constructs. 1.124 - 1.125 -The first kind of send-receive pair used, and instrumented, is precise about sender and receiver. Called \emph{send\_from\_to}, it specifies both sender and receiver VPs, and is used by the results VP to tell the divider VP that the work is complete. The second pair, \emph{send\_of\_type\_to}, specifies only a specific receiver, leaving the sender anonymous. It has increased flexibility while maintaining some control over scope. The worker VPs use this to send their partial result to the results VP. 1.126 - 1.127 -The application uses the \emph{singleton} construct to reduce the amount of work done by the (sequential) divider VP. The construct designates a piece of code as to be executed only once, even though it is invoked by multiple VPs. It is employed to shift the work of copying matrix fragments out of the divider and over to the worker-pieces. The first worker-piece to use a given input-matrix fragment performs the copy, which spreads the copying across the cores. 1.128 - 1.129 -We control the scheduling behaviors, in order to concisely illustrate the use and features of the tool. This is done with language constructs that force which core a virtual processor is assigned to. 1.130 - 1.131 -A note on terminology: We often use the term ``work-unit'', which we define precisely, instead of ``task'', which has acquired multiple meanings in the literature. Work-unit is defined as the trace-segment performed on a core, between two successive scheduling events, plus the set of datums consumed by that trace segment. The word task often maps well onto this definition, and we use both words, but mean the precise work-unit definition when we say task. 1.132 - 1.133 - 1.134 +\section{Basics of the Approach} 1.135 +\label{sec:basics} 1.136 + 1.137 +learning the categories defined by the theory 1.138 + 1.139 +as well as the meaning of the fine details within the visualization. 1.140 +we introduce the features of our visualization and their meaning 1.141 + 1.142 +\subsection{Elements of the Theory} 1.143 +The core purpose of the theory of parallel computation that we base the tool on is to connect the contributions of application code, language implementation, and hardware. It is meant to first establish a set of primitive concepts that form the basis of parallel computation, and then establish relationships among those primitives. The user of the theory can then look at application code, the language implementation and the hardware, and understand how the three interact. The interaction says how observed performance came about, or can predict performance while consuming minimal computation. Such understanding of the interaction can be useful in many ways. The tool described in this paper is just one useful way to apply the theory. 1.144 + 1.145 +\subsubsection{Primitive Elements of the Theory} 1.146 +The theory chooses different primitives than are used in the broad literature and common practice. It doesn't consider the concept of compiler to be well defined, nor the concept of runtime system, nor even the concept of programming language. Yet, these things all, clearly are concepts in common usage and each plays a role in the performance of parallel code. So, the theory attempts to identify patterns within those that are, indeed, well defined and also remain invariant across applications, languages, and tool chains. Such a rearrangement of basic terms comes at the price of a steep learning curve, making the theory challenging to accept. 1.147 + 1.148 +The primitives chosen are: unit-of-work, constraints on scheduling a unit of work, managing the constraints, and mapping free units of work onto animators that perform the work. These primitives can then be related to compilers, programming languages, runtime systems, and so forth. Each of those things can be defined by the effect they have on the primitives of the theory. We leave such definitions to other papers, while here simply asserting that this set of primitives appears to be universal, invariant, and capable of being a basis set upon which essentially all aspects of parallel computation can be understood. We ask the patience of the reader to accept this rather bold claim for the moment, and examine it more closely in the context of future papers focused on such claims. 1.149 + 1.150 +These primitives are defined in terms of each other, so their defintions have a circular quality, but as a whole they form a consistent interlocking set. Formal definitions do exist, but are outside the scope of this paper. 1.151 + 1.152 +\begin{description} 1.153 +\item[A unit of work:] (AKA work unit or just unit), this is the thing that is scheduled. It is defined as the thing that constraints are stated about, which implies that a scheduling decision must be made for each unit of work, and that a single unit of work is indivisible from the point of view of scheduling. Examples of work units are a single firing of a dataflow node, the trace of instructions between consecutive calls to pthread constructs, and a single iteration of a parallel-for loop. They are not always defined statically. It may only be during the run that the contents of a unit become determined. 1.154 + 1.155 +\item[A constraint on scheduling a unit of work:]Loosely, this is a condition that must be satisfied before the unit of work can be assigned to an animator. Examples include "must acquire the lock variable", "must wait for a paired send from a different animator", and "comes after completion of the preceding work-unit". 1.156 + 1.157 +\item[Managing constraints:] This, in short is part of scheduling. It is the process of communicating among the animators the changes, in states of units and in internal constraint state, plus computing on those such that all constraints on scheduling work are upheld during the evolution of a computation. Some languages place the bulk of this management inside the compiler, others place the bulk inside a runtime system. 1.158 + 1.159 +\item[Mapping free units of work onto animators:] This, in short is assignment of work onto cores. This takes place after constraint management has communicated that particular units are free from constraints. Sometimes this mapping is performed statically inside the compiler, sometimes it is performed as part of application code, and sometimes it is performed inside a language's or execution model's runtime system. This is the other significant part of the scheduling process. 1.160 + 1.161 +\end{description} 1.162 + 1.163 +\subsection{Organizing information related to the primitives} 1.164 +To organize information related to those primitive elements, the theory defines two kinds of graph. The graphs encode information for a given application, written in terms of a given language, and executed on given hardware. 1.165 + 1.166 +The first kind of graph, called a Unit and Constraint Collection (UCC), encodes the units of work and the constraints on scheduling them. It essentially characterizes the parallelism in the application, although \S\ref{sec:UCC} shows that, in the general case, the units and constraints are determined over the course of a run, by more than just the application code. A concrete UCC captures all of the units and constraints for a given run. 1.167 + 1.168 +The second kind of graph, called a Scheduling Consequence Graph (SCG), is where the cause-and-effect cascades are represented. An SCG also depicts the work units, but instead of constraints, it encodes the particular scheduling choices, made during a given run on given hardware. It accounts for all time taken by each processing core, dividing it among categories and charging it against particular work units. It then connects the individual bits of time to any other bits that have a cause-and-effect relationship. 1.169 + 1.170 +The extended capabilities of the tool are due to the kinds of categories it can account for, and the ability to connect these bits together in cause-and-effect relationships. 1.171 + 1.172 +\subsection{UCC} 1.173 + 1.174 +For the Unit \& Constraint Collection, or UCC, the elements are the application's units of work and the constraints on scheduling them. Constraints can be explicitly stated in the code, such as ``acquire lock", or implied by language constructs, such as ``parallel-for''. They limit the choices available to the runtime. We use the general term ``constraint'' instead of the specific term ``dependency'' because dependency only covers one pattern: this unit before that one. Meanwhile constraints are general, such as e.g. a mutual exclusion on scheduling a group of units: any order, but only one at a time. 1.175 + 1.176 + 1.177 +\subsection{The SCG, and categories of time} 1.178 +\label{subsec:SCG} 1.179 +The consequence graph shows the actual scheduling choices \emph{made}. The UCC defines which choices are \emph{allowed}, then from among those, a consequence graph depicts \emph{one} set of choices taken, along with the time consequences. 1.180 + 1.181 +Each bit of core time is accounted to a category, then added to the total for a particular unit of work. This is depicted as boxes, one box for each unit, with a region inside the box for each category of time. 1.182 + 1.183 +There is a category for each of the theory's primitive elements: creating a unit of work, adding constraints on a unit of work, managing the constraints, and mapping free units of work onto animators. There are additional categories implied by those: performing the work, waiting idly for communication of work data, waiting idly to receive a unit to animate, and doing internal runtime activities. 1.184 + 1.185 +The internal runtime activities are always related to one of the primitive elements of the theory, but the structure of the runtime shifts which of the activities are significant enough to warrant separate accounting. 1.186 + Some examples include time spent communicating constraint updates from one core to another, time spent sending the meta-information about a work unit between cores, and time acquiring locks protecting internal runtime state such as shared constraint state. On a shared memory machine, the communication times may be negligible and "rolled into" the management category, while on a distributed memory machine this communication may be a significant portion of the runtime overhead. An SCG comes together with a definition of the internal runtime activities that it accounts to each region. 1.187 + 1.188 +Cause-and-effect exists between regions of different units. These are depicted as arcs that link regions, or link entire boxes. A region may source or sink multiple causality links. Each kind of cause and effect is represented by a corresponding kind of link. 1.189 + 1.190 +Groupings of kinds of causal links are defined, for convenience: constraint related cause-and-effect, runtime internal cause-and-effect, and hardware related cause-and-effect. Constraint related links include satisfaction of a sequential dependency in the base language, and satisfaction of a parallel constraint, such as when one unit does something to satisfy a constraint on the other, causing it to be free to be scheduled. An internal runtime link example is when the runtime on one core releases an internal lock, causing the other core to acquire it. An example of a hardware causality is when one work-unit finishes on a core, it frees it, causing the runtime to calculate which work-unit to start there next. 1.191 + 1.192 +The proposed tool is separated from other tools by the presence of the regions, which add detail to where a core's time has been spent, and by the cause-and-effect links that cover even runtime internal causations. Some tools, notably ones based on MPI, have the notion of unit of work, and depict time spent on each, and have some categories of cause-and-effect. However, the proposed tool goes further by defining categories inside of a unit's time, making unit a universal concept, even for languages that don't naturally expose them, and by including additional sources of cause-and-effect, down into the runtime internals, when they are important to understand the cascades that result in idle cores. 1.193 + 1.194 + 1.195 + 1.196 +%====================== 1.197 +%%%%%%%%%%%%%%% 1.198 + 1.199 +%The categories are: 1.200 +%\begin{enumerate} 1.201 +%\item creation of a meta-unit 1.202 +%\item state updates that affect constraints on the unit 1.203 +%\item the time to make the decision to animate the unit 1.204 +%\item movement of the meta-unit plus data to physical resources that do the animation 1.205 +%\item animation of the unit which does the work 1.206 +%\item communication of state-updates about completion of the unit and freeing the hardware 1.207 +%\item resulting constraint updates communicated within the runtime, possibly causing new meta-unit creations or freeing other meta-units to be chosen for animation 1.208 +%\end{enumerate} 1.209 + 1.210 +%The runtime region has sub-activities, but we do not detail them here due to space. However, some will be stated in Section \ref{sec:Implementation} when we talk about instrumenting a runtime. 1.211 +%%%%%%%%%%%%%%% 1.212 + 1.213 +%Arcs are gathered into groups according to the nature of the causality they represent. The kinds of causal links are: satisfaction of a sequential dependency in the base language; satisfaction of a parallel constraint (i.e., one unit did something to satisfy a constraint on the other, causing it to be free to be scheduled); a causal link internal to the runtime (for example, the runtime on one core releasing a shared lock, causing the other core to acquire it); and causal links in the hardware (for example, one work-unit finishes on a core, causing another work-unit to start there, modulo a choice by the runtime). 1.214 + 1.215 +%We will now expand on each of those kinds of causal link. 1.216 + 1.217 +%\paragraph{Constraint causal link} Two entire boxes (units) are linked this way when action by one unit contributes to satisfaction of a constraint blocking the other unit. This includes sequential dependencies from the base language (which are noted in the tool but normally not displayed). 1.218 + 1.219 +%Sequential dependencies may add superfluous constraints that eliminate some otherwise allowed choices in the UCC. An example would be a sequential \texttt{for} loop that creates work-units -- no parallelism constructs cause the creations to be done in sequence, but the base C language sequentializes it nonetheless. 1.220 + 1.221 +%\paragraph{Runtime internal causal link} Runtime implementation details may introduce ``extra" causalities between units. For example, the runtime we instrumented for this paper runs separately on each core and relies upon a global lock for accessing shared runtime information. This lock introduces a causal relationship when the runtime on one core is attempting to process one unit, but must wait for the runtime on a different core to finish with its unit. 1.222 + 1.223 +% Normally, these are not displayed explicitly, due to clutter, but can be turned on when needed, for instance to determine the cause of a particular pattern of core usage. 1.224 + 1.225 +%\paragraph{Hardware causal link} The physical fact that a given resource can only be used by one work-unit at a time introduces hardware causalities. When multiple units are free to execute, but all cores are busy, then completion of a unit on one core causes (in part) the next ready unit to run on that core. 1.226 + 1.227 +%These are also not normally displayed, due to clutter, and not all hardware dependencies are directly measured. Future work will focus on using the performance counters and other instrumentation to add more information about communication paths taken as a consequence of the scheduling decisions made. It will start with the current linkage of application-code to runtime decisions, and add consequent usage of communication hardware. This gives an end-to-end linkage between runtime choices and caused behavior on the hardware. 1.228 + 1.229 +%%%%%%%%%%%%%%% 1.230 + 1.231 +%Every unit has a meta-unit that represents it in the runtime. A unit is defined as the work that exists after leaving the runtime, up until re-entering it. For example, the trace of instructions on a core, from the point of leaving the runtime up until the next invocation. Looking at this in more detail, every runtime has some form of internal bookkeeping state for a unit, used to track constraints on it and make decisions about when and where to execute. This exists even if that state is just a pointer to a function that sits in a queue. We call this bookkeeping state for a unit the meta-unit. 1.232 + 1.233 +%Each unit also has a life-line, which progresses so: creation of the meta-unit~\pointer~state updates that affect constraints on the unit~\pointer~the decision is made to animate the unit~ \pointer~movement of the meta-unit plus data to physical resources that do the animation~\pointer~animation of the unit, which does the work~\pointer~communication of state-update, that unit has completed, and hardware is free~\pointer~constraint updates within runtime, possibly causing new meta-unit creations or freeing other meta-units to be chosen for animation. This repeats for each unit. Each step is part of the model. 1.234 + 1.235 +% Note a few implications: first, many activities internal to the runtime are part of a unit's life-line, and take place when only the meta-unit exists, before or after the work of the actual unit; second, communication that is internal to the runtime is part of the unit life-line, such as state updates; third, creation may be implied, such as in pthreads, or triggered such as in dataflow, or be by explicit command such as in StarSs. Once created, a meta-unit may languish before the unit it represents is free to be animated. 1.236 + 1.237 +%This explains why the visualizations remain largely the same across languages. The concepts of a meta-unit, a unit, constraints on a unit, and a unit life-line are all valid in every language. The visualizations are based on these concepts, and so likewise largely remain the same. In the UCC, only the constraint patterns that represent the language's constructs change between languages. In the SCG, only which construct a line in the SCG represents changes. 1.238 +%%%%%%%%%%%%%% 1.239 +%================== 1.240 1.241 \subsection{The Visualizations} 1.242 \label{subsec:visualization_def} 1.243 - The approach has two kinds of visualization, each corresponds to an aspect of the model. One focuses on just the application, conveying its scheduling related structure. Its main value is understanding what's possible. The other focuses on how this structure interacts with the runtime and hardware. Its value is displaying the causal chains and linking each step in a chain back to application code. 1.244 - 1.245 - We refer to the first visualization as a Unit \& Constraint Collection, or UCC, which is explained in \S \ref{sec:UCCExpl}. Its elements are the application's units of work and the constraints on scheduling them. Constraints can be explicitly stated in the code, or implied by language constructs. They limit the choices available to the runtime. We use the general term ``constraint'' instead of the specific term ``dependency'' because dependency only covers one pattern: this unit before that one. Meanwhile constraints are general, such as e.g. a mutual exclusion on scheduling a group of units: any order, but only one at a time. 1.246 - 1.247 -We refer to the second visualization as a scheduling consequence graph (SCG), or just consequence graph, which is explained in \S \ref{sec:SCGExpl}. It depicts where the runtime assigned each of the units, how long the units executed, the sources of overhead, and the changes in constraint-state that triggered each runtime behavior. 1.248 - 1.249 -In short, the UCC states the degrees of freedom enabled by the application, while the consequence graph states how those were made use of, by a particular runtime on particular hardware. 1.250 +Here we describe the visual representations of a concrete UCC and an SCG. The UCC conveys the scheduling related structure of the application code, to provide understanding of what schedulings are possible. The SCG focuses on how the constraints in the application interact with the runtime and hardware. It displays the cause-and-effect cascades and links each node in a cascade back to application code, runtime implementation, or hardware. 1.251 + 1.252 +%The Unit \& Constraint Collection, or UCC, elements are the application's units of work and the constraints on scheduling them. Constraints can be explicitly stated in the code, or implied by language constructs. They limit the choices available to the runtime. We use the general term ``constraint'' instead of the specific term ``dependency'' because dependency only covers one pattern: this unit before that one. Meanwhile constraints are general, such as e.g. a mutual exclusion on scheduling a group of units: any order, but only one at a time. 1.253 + 1.254 +%We refer to the second visualization as a scheduling consequence graph (SCG), or just consequence graph, which is explained in \S \ref{sec:SCGExpl}. It depicts where the runtime assigned each of the units, how long the units executed, the sources of overhead, and the changes in constraint-state that triggered each runtime behavior. 1.255 + 1.256 +%In short, the UCC states the degrees of freedom enabled by the application, while the consequence graph states how those were made use of, by a particular runtime on particular hardware. 1.257 1.258 \subsubsection{UCC visualization} \label{sec:UCCExpl} 1.259 1.260 @@ -192,7 +260,7 @@ 1.261 \subsubsection{SCG visualization} \label{sec:SCGExpl} 1.262 The Scheduling Consequence Graph is the main visualization used to detect chains of causal interactions between elements of the system. As the example from the introduction indicated, a unit may end, which sends a signal to the runtime to update the state of the unit and the state of the hardware resources it occupied. This causes the runtime to choose a different unit to own that hardware and sends the meta-information for that unit to the hardware. This in turn triggers communication, to send the data consumed by the unit to the hardware. Then the work of the new unit takes place there. 1.263 1.264 -Any one of these interactions could be individually abnormal, and an unexpected source of performance loss. The SCG allows selectively turning on visualization of each kind of causal interaction, until the culprit for the unexpected slowdown is seen. 1.265 +Any one of these interactions could be individually abnormal, and an unexpected source of performance loss. The SCG allows selectively turning on visualization of each kind of cause-and-effect, until the culprit for the unexpected slowdown is seen. 1.266 \begin{figure}[ht] 1.267 \centering 1.268 \includegraphics[width = 2in, height = 1.8in]{../figures/SCG_stylized_for_expl.pdf} 1.269 @@ -201,23 +269,62 @@ 1.270 \end{figure} 1.271 1.272 Fig. \ref{fig:SCG_expl} shows a consequence graph, stylized for purposes of explanation. 1.273 -It is composed of a number of columns, one for each core. A column represents time on the core, increasing as one goes down, measured in clock cycles. It is broken into blocks, each representing the time accounted to one work-unit. Each block is further divided into regions, each a different color, which indicates the kind of activity the core was engaged in during that region's time-span. 1.274 - 1.275 -The application code executed within a block is linked to the block. In our tool, the block is labelled with a unique unitID. This ID is then linked to the code executed within that unit. In this way, the code of any block can be looked up, along with the parallelism constructs that mark the start and end of the block. 1.276 - 1.277 -The kinds of activities within a block are defined by the computation model that underlies the visualization. The first kind of activity is the actual work, plus waiting for cache misses. It is represented by a blue-to-red region where the color indicates intensity of cache misses, with pure red representing at or above the maximum misses per instruction, and pure blue the minimum (the max and min are set in the tool that generates the visualization). 1.278 - 1.279 - The second kind of activity is runtime overhead, represented by a gray region. This is the overhead spent on that particular work-unit. When desired by the user, it is further broken into pieces representing activities inside the runtime. The options include time spent on: constraints, when determining readiness of a work-unit; deciding which ready unit to assign to which hardware; and time spent switching from virtual processor, to the runtime, and back. In this paper, we show all runtime overhead lumped together, however in other circumstances a breakdown can be key to seeing where unexpected slowdown is taking place. 1.280 - 1.281 -The other type of visual feature seen in Fig. \ref{fig:SCG_expl} is lines. Each represents a construct that influenced scheduling, where the color indicates what kind of construct. A line represents two things: a constraint, whose satisfaction made the lower unit ready, and a decision by the runtime to start the lower unit on that core. 1.282 - 1.283 -In general, lines may also be drawn that represent other kinds of interactions, which affect core usage. For example, our runtime implementation only allows one core at a time to access shared scheduling state. Visualization of this can be turned on, as additional lines linking the gray runtime regions of blocks (visualization of such interactions is turned off in this paper for simplicity). 1.284 - 1.285 -Two work-unit blocks that appear in sequence and have no lines drawn between them often have a causal dependency, due to the semantics of the base language (visualization of these causalities is also turned off, but can be inferred via the link to the code). 1.286 +Each column represents time on one core, increasing as one goes down, measured in clock cycles. Each box represents a unit, the time accounted to it. The categories on time are represented inside a box as regions, each a different color. The color indicates the kind of activity the core was engaged in during that region's time-span. 1.287 + 1.288 +A box is labelled with a unique unit ID that links to the code executed within that unit, as well as the parameters passed to it. With this the code of any box can be looked up, along with the parallelism constructs that mark the start and end of the unit. 1.289 + 1.290 +The first kind of activity is the actual work, combined with waiting for cache misses. It is represented by a blue-to-red region where the color indicates intensity of cache misses, with pure red representing at or above the maximum misses per instruction, and pure blue the minimum (the max and min are set in the tool that generates the visualization). 1.291 + 1.292 + The second kind of activity is runtime overhead, represented by a gray region. This is the overhead spent on that particular work-unit. When desired by the user, it is further broken into pieces representing activities inside the runtime. The options include time spent on: constraints, when determining readiness of a work-unit; deciding which ready unit to assign to which hardware; and time spent switching from virtual processor, to the runtime, and back. 1.293 + 1.294 +This paper is an introductory tutorial, so we simplify by setting the tool to show all runtime overhead lumped together. however in other circumstances a breakdown can be key to seeing where unexpected slowdown is taking place. 1.295 + 1.296 +The other type of visual feature seen in Fig. \ref{fig:SCG_expl} is lines. Each represents a cause-and-effect, where the color indicates what kind of causality. In this paper, we set the tool to only show parallelism construct cause and effect. Hence, a line represents two things: a constraint, whose satisfaction made the lower unit ready, and a decision by the runtime to start the lower unit on that core. The color, here, corresponds to the kind of construct. 1.297 + 1.298 +For more advanced tuning, lines can be turned on that represent the other kinds of cause-and-effect. For example, our SSR runtime implementation only allows one core at a time to access shared scheduling state. Visualization can be turned on that draws a separate region for the time spent waiting to acquire the lock, along with additional lines that link lock-acquire regions of the box that release the lock to the region of the box that acquired it. 1.299 + 1.300 +Two work-unit blocks that appear in sequence and that have no lines drawn between them often have a causal dependency, due to the sequential semantics of the base language. For this tutorial, visualization of these causalities is also turned off, but can be inferred via the link to the code. 1.301 1.302 Note that many different orderings can be validly chosen by the runtime. The scheduler choices that are valid is determined by three kinds of constraints: the application code constraints, hardware constraints, and runtime implementation imposed constraints. 1.303 1.304 -The visual features allow the user to see at a glance the total execution time (height), idle cores during the run (empty space), cache behavior (color of work regions), degree of overhead (size of gray regions), and which units constrained which other units (lines). All consequence graphs in this paper are at the same scale, so they can be compared directly. 1.305 +The visual features allow the user to see at a glance the total execution time (height), idle cores during the run (empty space), cache behavior (color of work regions), degree of overhead (size of gray regions), and which units constrained which other units (lines). Note that all consequence graphs in this paper are at the same scale, so they can be compared directly. 1.306 + 1.307 + 1.308 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1.309 +\section{Illustration of Tuning Scheduling Decisions} 1.310 +\label{sec:casestudy} 1.311 + 1.312 +In this section we teach how to use the visualization to generate hypotheses about what to change in the code, in order to manage the cascades of cause-and-effect. 1.313 + 1.314 +Because this is a tutorial, we create a contrived example that brings out particular features of the tool, but still uses a real application running on real hardware. The example uses features of SSR to explicitly assign units to cores, in the application source code. This isn't the normal way that tuning would take place, but it allows us to control the activity to illustrate the concepts in the order most conducive to learning. 1.315 + 1.316 +We start by describing the hardware being run on and structure of the program being tuned, and follow by describing the parallel language used and instrumented. 1.317 + 1.318 + A sequence of visualizations follow. In each, we point out how the performance loss is identified, and which visual features suggest the hypothesis of the cause of the loss. We show how the visual features direct the user to the specific sections of code that need to be changed, and how the model suggests what changes to try. 1.319 + 1.320 +\subsection{Setup: Hardware and Application} 1.321 + 1.322 +We run our example on a machine with 4 sockets by 10 cores each, for a total of 40 physical cores. They are Intel WestmereEx cores running at 3.0GHz, with TurboBoost turned off for reproducability. 1.323 + 1.324 +For this tutorial, we chose a program that the reader knows well, matrix multiply. This allows concentration on the tool without distraction about the application. 1.325 + 1.326 +The application is structured as follows: it creates one entity to divide the work into a number of pieces and creates another entity for each piece of work. How many pieces is determined by the combination of a tuning parameter in the code together with the number of cores. The work is distributed across the cores in a round-robin fashion, unless otherwise specified. 1.327 + 1.328 +The application also creates an entity that manages the partial-results. Each piece of work sends its contribution, which is accumulated into the overall result. The entity that divides waits for the entity that accumulates to signal completion then the language runtime shuts down. 1.329 + 1.330 +\subsection{Programming Model} 1.331 +We chose a simple language that was convenient to instrument. It is inspired by pi-calculus, and called Synchronous Send-Receive (SSR). It implements rendez-vous style send and receive operations made between virtual processors (VPs), where a VP is similar to a software thread. The example application uses the commands for creating and destroying VPs, two kinds of send-receive paired operations, a parallel singleton, and scheduling control constructs. 1.332 + 1.333 +The first kind of send-receive pair is precise about sender and receiver. Called \emph{send\_from\_to}, it specifies both sender and receiver VPs, and is used by the results VP to tell the divider VP that the work is complete. The second kind, \emph{send\_of\_type\_to}, specifies only a specific receiver, leaving the sender anonymous. It has increased flexibility while maintaining some control over scope. The worker VPs use this to send their partial result to the results VP. 1.334 + 1.335 +The application uses the \emph{singleton} construct to reduce the amount of work done by the (sequential) divider VP. The construct designates a piece of code as to be executed only once, even though it is invoked by multiple VPs. It is employed to shift the work of copying matrix fragments out of the divider and over to the worker-pieces. The first worker-piece to use a given input-matrix fragment performs the copy, which spreads the copying across the cores. 1.336 + 1.337 +For this tutorial, we control the scheduling behaviors, in order to concisely illustrate the tool. This is done with language constructs that force which core a virtual processor is assigned to. 1.338 + 1.339 +A note on terminology: We often use the term ``work-unit'', which we define precisely, instead of ``task'', which has acquired multiple meanings in the literature. Work-unit is defined as the trace-segment performed on a core, between two successive scheduling events, plus the set of datums consumed by that trace segment. The word task often maps well onto this definition, and we use both words, but mean the precise work-unit definition when we say task. 1.340 + 1.341 +%<snip> 1.342 + 1.343 \begin{figure*}[t!] 1.344 \begin{minipage}[b]{0.25\textwidth} 1.345 \hfill\subfloat[35.8 Gcycles\\Original] 1.346 @@ -269,7 +376,7 @@ 1.347 \subsection{Walk-through} 1.348 \label{subsec:walk-through} 1.349 1.350 -We wish to show the visualizations in a simple way, to enhance understanding. Hence, this walk through uses a slightly contrived example in which the application explicitly controls where each unit of work is assigned. As a result, the causal interactions of interest are all constraints stated by language constructs. We don't show causalities internal to the runtime system or hardware, although the tool is capable of turning on display of those. We chose to do so to simplify this introduction to the use of the visualizations. 1.351 +We wish to show the visualizations in a simple way, to enhance understanding. Hence, this walk through uses a contrived example in which the application explicitly controls where each unit of work is assigned. As a result, the causal interactions of interest are all constraints stated by language constructs. We don't show causalities internal to the runtime system or hardware, although the tool is capable of turning on display of those. We chose to do so to simplify this tutorial on the use of the visualizations. 1.352 1.353 Fig. \ref{story} displays all of the scheduling consequence graphs generated during our tuning session. They all use the same scale, for direct comparison. All have 40 columns, one for each core, and relative height indicates relative execution time. The lines in red, orange, and green represent application-code constructs. Red is creation of a virtual processor, green is the many-to-one \texttt{send\_of\_type\_to}, and orange is the singleton construct. For better visibility, only constraints that cross cores are turned on. 1.354 1.355 @@ -300,24 +407,28 @@ 1.356 1.357 \subsubsection{Holes in the core usage}\label{subsec:holes} 1.358 1.359 -In Fig \ref{story:e}, the true value of the SCG starts to appear. In it, ``holes'' are noticeable. Inspecting these holes closer, we can see that the stalled blocks are at the ends of orange lines. This tells us definitively that they were waiting upon the completion of a singleton. Other tools may have indicated that singleton constructs have a mild time spent blocked, but they wouldn't show how a single blocked singleton had a chain-reaction effect, holding up creation, then in turn causing many cores to sit idle. 1.360 - 1.361 - Zooming in on the singletons and tracing out the state inside the runtime shows that the empty space is a runtime implementation issue. This analysis required all the forms of information provided by the SCG. such as the knowledge of precisely which units came before and after the one blocked by the singleton, in combination with the fact that it is a singleton construct blocking. 1.362 +In Fig. \ref{story:e}, the true value of the SCG starts to appear. In it, ``holes'' are noticeable. Inspecting these holes closer, we can see that the stalled blocks are at the ends of orange lines. This tells us definitively that they were waiting upon the completion of a singleton. Other tools may have indicated that singleton constructs have a mild time spent blocked, but they wouldn't show how a single blocked singleton had a chain-reaction effect, holding up creation, then in turn causing many cores to sit idle. 1.363 + 1.364 + Zooming in on the singletons and tracing out the state inside the runtime shows that the empty space is a runtime implementation issue. This analysis required all the forms of information provided by the SCG, such as the knowledge of precisely which units came before and after the one blocked by the singleton, in combination with the fact that it is a singleton construct blocking. 1.365 1.366 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1.367 -\section{The Model Behind the Visualization} 1.368 +\section{Advanced Application of UCC and SCG} 1.369 \label{sec:theory} 1.370 -The value of the visualizations comes from the causality linkages. Being able to trace causes from idle cores back through hardware, runtime implementation, and scheduling choices, provides the added insight that augments the other tools. This linkage tracing is in turn made possible by the model of the structure of computation. In effect, the tool directly visualizes the model. 1.371 - 1.372 -As seen, the model has two parts, a \emph{Unit \&\ Constraint Collection (UCC)}, and a \emph{Scheduling Consequence Graph} (SCG or just consequence graph). The UCC depicts the scheduling choices the application allows, and so shows what the programmer has control over. The consequence graph says which of those were actually taken during the run and the causal linkage of consequences within the hardware, runtime, and succeeding choices. 1.373 - 1.374 -In this section, we give a more precise description of UCC, then consequence graph. 1.375 -However, this paper focuses on their application to performance tuning, so we abbreviate here and give a formal definition of the full model in a different paper. 1.376 +%The value of the visualizations comes from the causality linkages. Being able to trace causes from idle cores back through hardware, runtime implementation, and scheduling choices, provides the added insight that augments the other tools. This linkage tracing is in turn made possible by the model of the structure of computation. In effect, the tool directly visualizes the model. 1.377 + 1.378 +As seen, the model has two parts, a \emph{Unit \&\ Constraint Collection (UCC)}, and a \emph{Scheduling Consequence Graph} (SCG or just consequence graph). The UCC depicts the permissible scheduling choices, and so shows what the programmer has control over. The consequence graph says which of those were actually taken during the run and the causal linkage of consequences within the hardware, runtime, and onto down the line scheduling choices. 1.379 + 1.380 +In this section, we convey how the UCC and SCG are applied to more advanced situations. We give a formal definition of the full model in a different paper. 1.381 + 1.382 \subsection{Unit \& Constraint Collection} 1.383 \label{sec:UCC} 1.384 -A fully specified UCC contains the units of work that get scheduled during a run, and the constraints placed on scheduling those units. In the simple case, all units and all constraints are fully specified in the application. However, many classes of application exist, and two degrees of freedom determine how much of the UCC is actually defined in the application vs the input data, or even in the runtime. 1.385 - 1.386 -An example of a simple application that has all units and all constraints fixed in the source is matrix multiply with fixed size matrices. For other applications, the shape of the UCC is only partially defined by the application code. Take the matrix multiply used in Section \ref{sec:casestudy}, where an input parameter determined the number of units created. There, the UCC was different for each parameter value. At the extreme, would be parallel search with load-driven pruning. Pruning the search space means that the units themselves are a function of both the input data \emph{and} the previous pruning decisions made by the runtime. 1.387 +It turns out that for many applications, not all units can be determined just from the source code. Instead, additional factors come into the picture, namely parameters, input data and runtime choices. In fact, the constraints also might be determined by parameters, input data and/or runtime choices. 1.388 + 1.389 +For example, for matrix multiply with sizes of matrix fixed in the application code and know number of cores, all units and constraints can be determined just from the application. But if the code instead accepts the matrix size as an input parameter, then the units are no longer known just from the source code. 1.390 + 1.391 +We call a UCC that contains all the units, with all constraints on them, a fully concrete UCC. Meanwhile, a UCC that requires additional input before becoming fully concrete, we call an abstract UCC. 1.392 + 1.393 +A UCC can be abstract in the units, or abstract in the constraints, or both. This means that there is more than just one concrete UCC for an application source that defines an abstract UCC. 1.394 1.395 \begin{figure}[ht] 1.396 \centering 1.397 @@ -326,78 +437,89 @@ 1.398 \label{fig:UCC_example} 1.399 \end{figure} 1.400 1.401 - We call a fully specified UCC a \emph{concrete} UCC. Every run of an application eventually winds up defining a concrete UCC. The example in Fig. \ref{fig:UCC_example} was produced for the performance tuning. Every unit that was scheduled in the SCG appears in it, along with the application-defined constraints on scheduling them. The division parameter determined the units. Hence, the application alone does not specify the concrete UCC, because the units remain unknown until parameter values are given. 1.402 - 1.403 -In general, the amount of UCC made concrete by the application falls into a two-dimensional grid. One dimension covers the units, the other the constraints, as shown in 1.404 -Fig. \ref{fig:UCC_Concreteness}. The two axes each have four kinds of information that has to be added in order to determine the units and constraints, in the final concrete UCC. 1.405 - 1.406 -The UCC may change at multiple points in an application's lifecycle. The position a UCC lands on the grid indicates how far it is from being fully concrete. The horizontal position indicates what inputs are still needed to determine the units, and vertical the constraints. 0 indicates that the units (constraints) are fully determined by the application code alone; 1 means parameter values also must be known; 2 means input data values also play a role, and 3 means runtime decisions play a role in determining the units (constraints). 1.407 - 1.408 -The concept of UCC, and its concreteness can provide value in classifying applications and algorithms and predicting what types of scheduling approach and hardware they will perform best on. The concepts also help in understanding what optimizations do to code and what changes may improve performance on given hardware plus runtime. 1.409 +% We call a fully specified UCC a \emph{concrete} UCC. 1.410 + 1.411 +Every run of an application eventually winds up defining a concrete UCC. For example Fig. \ref{fig:UCC_example} was produced during the performance tuning done in \S\ref{sec:story}. Every unit that was scheduled in the SCG appears in it, along with the application-defined constraints on scheduling them. However, it was only after knowing the division parameter that the units could be determined. The added information turned the original abstract UCC into a fully concrete one. 1.412 + 1.413 +%A fully specified UCC contains all the units of work that get scheduled during a run, and the constraints placed on scheduling those units. In the simple case, all units and all constraints are fully specified in the application. However, many classes of application exist, and two degrees of freedom determine how much of the UCC is actually defined in the application vs by the input data, or even in the runtime. 1.414 + 1.415 + 1.416 + 1.417 +%An example of a simple application that has all units and all constraints fixed in the source is matrix multiply with fixed size matrices. For other applications, the shape of the UCC is only partially defined by the application code. Take the matrix multiply used in Section \ref{sec:casestudy}, where an input parameter determined the number of units created. There, the UCC was different for each parameter value. At the extreme, would be parallel search with load-driven pruning. Pruning the search space means that the units themselves are a function of both the input data \emph{and} the previous pruning decisions made by the runtime. 1.418 + 1.419 +In general, the amount of UCC made concrete by the application falls into a two-dimensional grid. One dimension covers the units, the other the constraints, as shown in Fig. \ref{fig:UCC_Concreteness}. In each axis there are four kinds of information that determine the units and constraints of a final concrete UCC: 0) application code, 1) parameters, 2) input data, and 3) runtime/scheduling choices. 1.420 1.421 \begin{figure}[ht] 1.422 \centering 1.423 \includegraphics[width = 2in, height = 1.8in]{../figures/UCC_concreteness_grid.pdf} 1.424 - \caption{Abstract representation of the amount of concreteness of a UCC. The letters A, B, C, D stand for UCCs described in the text.} 1.425 + \caption{Grid representing the kinds of inputs required in order to form a fully concrete UCC. Most UCCs fit into a single square. The letters A, B, C, D show where UCCs described in the text land.} 1.426 \label{fig:UCC_Concreteness} 1.427 \end{figure} 1.428 1.429 -In the concreteness grid, the closer an application-derived UCC is to the origin, the less additional information is needed to obtain a concrete UCC descendant of it. For example, the UCC labeled A in the figure is fully concrete just from the source code alone. It represents, for example, matrix multiply with fixed size matrices and fixed division. The UCC labeled B requires the input data plus parameters to be specified before its units are concrete, but just parameters to make its constraints fully concrete. Ray-tracing with bounce depth specified as a parameter may be like this. The UCC labeled C only has variability in its constraints, which require input data. An example would be H.264 motion vectors. 1.430 -But even the least concrete UCC, D, at the end of the diagonal, generates a concrete descendant UCC while a run of the application unfolds. 1.431 +The position a UCC lands on the grid indicates how far it is from being fully concrete. The horizontal position indicates what inputs are still needed to determine the units, and vertical the constraints. 1.432 + 1.433 +The UCC labeled A in the figure is fully concrete from the source code alone. An example would be matrix multiply with fixed size matrices divided into fixed pieces. The UCC labeled B requires the input data plus parameters to be specified before its units are concrete, but only needs parameters to make its constraints fully concrete. Ray-tracing with bounce depth specified as a parameter may be an example of this. The UCC labeled C only has variability in its constraints, which require input data. An example would be H.264 motion vectors, which has dependencies determined by the values of pixels in a video frame sequence. 1.434 +The least concrete UCC, D, is at the end of the diagonal. However, even it generates a concrete descendant UCC as the run of the application unfolds. 1.435 + 1.436 +%In the concreteness grid, the closer an application-derived UCC is to the origin, the less additional information is needed to obtain a concrete UCC descendant of it. The UCC labeled A in the figure is fully concrete just from the source code alone. It represents, for example, matrix multiply with fixed size matrices and fixed division. The UCC labeled B requires the input data plus parameters to be specified before its units are concrete, but only needs parameters to make its constraints fully concrete. Ray-tracing with bounce depth specified as a parameter may be an example of this. The UCC labeled C only has variability in its constraints, which require input data. An example would be H.264 motion vectors. 1.437 + 1.438 + 1.439 +Various things can modify a UCC, such as compiler toolchain, auto-tuning, and the runtime system. For example, polyhedral toolchains derive the constraints hidden within sequential code, then calculate how to divide the work into units and schedule them onto given hardware. The result is a new UCC that has parallelism where the original did not. 1.440 + 1.441 +%An application's lifecycle spans from editing code, to the toolchain during build, all the way through the run. Its representation may change at each stage of life, with corresponding changes to the UCC. For example, specialization may perform a static scheduling, which fixes the units, moving the UCC towards the origin. 1.442 + 1.443 +Alternatively, the toolchain may inject manipulator code, which the runtime later uses to divide units during the run. The result is a more abstract UCC because the manipulator code gives the runtime control to define the units, moving the UCC further from the origin. 1.444 + 1.445 + 1.446 + 1.447 +The UCC, and its concreteness, can be used to classify applications, and predict what scheduling approach and hardware the application will perform best on. The concepts also help to understand why a given parallelism-related optimization improves performance, and to predict what changes may improve performance. 1.448 + 1.449 + 1.450 +The degree of abstractness of a UCC indicates what is inside the application programmer's control vs determined by input data or runtime implementation choices. In particular, the application-derived UCC shows what can be done statically: the further from the origin that UCC lies, the less scheduling can be done statically in the toolchain. 1.451 + 1.452 1.453 -Bear in mind that even a fully concrete UCC still has degrees of freedom when deciding which units to run on which hardware and in what order of execution. Those decisions determine interactions within the hardware, to yield the communication patterns and consequent performance during the run, visualized by the SCG. 1.454 - 1.455 - 1.456 - 1.457 -As noted, an application has a lifecycle, spanning from editing code all the way through the run, and its representation may change at the different stages of life, with corresponding changes to the UCC. 1.458 - For example, specialization may perform a static scheduling, which fixes the units, moving the UCC towards the origin. Alternatively, the toolchain may inject manipulator code for the runtime to use, which lets it divide units during the run when it needs more units. The injection of manipulator code makes the UCC less concrete, moving it further from the origin. 1.459 - 1.460 -The progression of UCCs has value in performance tuning because it indicates what is inside the application programmer's control vs under control of each tool in the toolchain or the runtime. For example, the original application-derived UCC shows what can be done statically: the further out on the diagonal that UCC is, the less scheduling can be done statically in the toolchain. 1.461 - 1.462 -In this paper, we do not suggest how to represent UCCs far out on the diagonal. One of those actually indicates a multi-verse of concrete-UCCs. Which of them materializes depends on the data and what the scheduler decides. We only represent the concrete UCC that materializes during a run and leave the question of representing less concrete ones to future work. 1.463 - 1.464 -\subsection{Scheduling Consequence Graph} 1.465 -Whereas the UCC has value in understanding the structure of the application, the second part of the model shows how that structure was made use of during a run. We called it the Scheduling Consequence Graph because it links scheduling decisions to their performance consequences. It does so by indicating distinct activities in the fundamental logical structures, and linking them causally to each other. As a result it provides a link from each instance of lost performance, back through each element that contributed to causing the loss, as illustrated in Section \ref{subsec:holes}. 1.466 - 1.467 -Contrary to the UCC, the consequence graph shows the behavior resulting from scheduling decisions actually \emph{made}, from among those \emph{possible.} The UCC shows just the possibilities. Hence, a consequence graph shows \emph{one} of the possible choice-sets allowed by a concrete UCC. 1.468 - 1.469 -A consequence graph accounts for each bit of core time, arranged into boxes and arcs, with boxes further divided into regions. A box represents all core time assigned to one work unit. Each region inside represents a segment of time that the core was engaged in a specific type of activity. An arc links regions (or boxes) and represents a causality of some kind. 1.470 - 1.471 -There is one kind of region for each kind of activity that can source or sink a causal link, and a region may source or sink multiple causalities. Each type of causal link is represented by a corresponding type of arc. 1.472 - 1.473 -The core activities/\ region-types are: doing application work, waiting idly for communication of work data, managing constraints, deciding assignment of work onto cores, and doing internal runtime activities. The runtime region has sub-activities, but we do not detail them here due to space. However, some will be stated in Section \ref{sec:Implementation} when we talk about instrumenting a runtime. 1.474 - 1.475 -Arcs are gathered into groups according to the nature of the causality they represent. The kinds of causal links are: satisfaction of a sequential dependency in the base language; satisfaction of a parallel constraint (i.e., one unit did something to satisfy a constraint on the other, causing it to be free to be scheduled); a causal link internal to the runtime (for example, the runtime on one core releasing a shared lock, causing the other core to acquire it); and causal links in the hardware (for example, one work-unit finishes on a core, causing another work-unit to start there, modulo a choice by the runtime). 1.476 - 1.477 -We will now expand on each of those kinds of causal link. 1.478 - 1.479 -\paragraph{Constraint causal link} Two entire boxes (units) are linked this way when action by one unit contributes to satisfaction of a constraint blocking the other unit. This includes sequential dependencies from the base language (which are noted in the tool but normally not displayed). 1.480 - 1.481 -Sequential dependencies may add superfluous constraints that eliminate some otherwise allowed choices in the UCC. An example would be a \texttt{for} loop that creates work-units -- no parallelism constructs cause the creations to be done in sequence, but the base C language sequentializes it nonetheless. 1.482 - 1.483 -\paragraph{Runtime internal causal link} Runtime implementation details may introduce ``extra" causalities between units. For example, the runtime we instrumented for this paper runs separately on each core and relies upon a global lock for accessing shared runtime information. This lock introduces a causal relationship when the runtime on one core is attempting to process one unit, but must wait for the runtime on a different core to finish with its unit. 1.484 - 1.485 - Normally, these are not displayed explicitly, due to clutter, but can be turned on when needed, for instance to determine the cause of a particular pattern of core usage. 1.486 - 1.487 -\paragraph{Hardware causal link} The physical fact that a given resource can only be used by one work-unit at a time introduces hardware causalities. When multiple units are free to execute, but all cores are busy, then completion of a unit on one core causes (in part) the next ready unit to run on that core. 1.488 - 1.489 -These are also not normally displayed, due to clutter, and not all hardware dependencies are directly measured. Future work will focus on using the performance counters and other instrumentation to add more information about communication paths taken as a consequence of the scheduling decisions made. It will start with the current linkage of application-code to runtime decisions, and add consequent usage of communication hardware. This gives an end-to-end linkage between runtime choices and caused behavior on the hardware. 1.490 - 1.491 - 1.492 -\subsection{Breadth of Applicability of UCC and SCG} 1.493 - 1.494 -The question arises of how widely applicable the model is. Especially for heterogeneous machines, such as ones that have multiple levels of runtime, which implies multiple levels of scheduler. What do the UCC and SCG look like in this case? 1.495 - 1.496 - 1.497 - 1.498 - 1.499 -To answer this, let's explore a specific case of a cluster in one rack. The rack has a back-plane that boards plug into, while a board has its own memory and four sockets, each having a chip with four cores. Correspondingly it has separate physical networks: a back-plane network connecting the boards; an inter-socket network on each board; and a cache hierarchy connecting cores in a socket. 1.500 +%Bear in mind that even for a fully concrete UCC, it is the runtime that decides which units to run on which hardware and in what order of execution. Those decisions determine interactions within the hardware, in the form of communication patterns and consequent performance during the run. All visualized by the SCG. 1.501 + 1.502 + 1.503 + 1.504 +In this paper, we do not suggest how to represent abstract UCCs. One actually indicates a multi-verse of concrete-UCCs. Which of them materializes depends on the data and what the scheduler decides. We only represent the concrete UCC that materializes during a run and leave the question of representing abstract ones to future work. 1.505 + 1.506 +\subsection{Applying UCC and SCG to hierarchical hardware} 1.507 +%Whereas the UCC has value in understanding the structure of the application, the second part of the model shows how that structure was made use of during a run. We called it the Scheduling Consequence Graph because it links scheduling decisions to their performance consequences. It does so by indicating distinct activities in the fundamental logical structures, and linking them causally to each other. As a result it provides a link from each instance of lost performance, back through each element that contributed to causing the loss, as illustrated in Section \ref{subsec:holes}. 1.508 + 1.509 + 1.510 +%A consequence graph accounts for each bit of core time, arranged into boxes and arcs, with boxes further divided into regions. A box represents all core time assigned to one work unit. Each region inside represents a segment of time that the core was engaged in a specific type of activity. An arc links regions (or boxes) and represents a causality of some kind. 1.511 + 1.512 +%There is one kind of region for each kind of activity that can source or sink a causal link, and a region may source or sink multiple causalities. Each type of causal link is represented by a corresponding type of arc. 1.513 + 1.514 +%The core activities/\ region-types are: doing application work, waiting idly for communication of work data, managing constraints, deciding assignment of work onto cores, and doing internal runtime activities. The runtime region has sub-activities, but we do not detail them here due to space. However, some will be stated in Section \ref{sec:Implementation} when we talk about instrumenting a runtime. 1.515 + 1.516 +%Arcs are gathered into groups according to the nature of the causality they represent. The kinds of causal links are: satisfaction of a sequential dependency in the base language; satisfaction of a parallel constraint (i.e., one unit did something to satisfy a constraint on the other, causing it to be free to be scheduled); a causal link internal to the runtime (for example, the runtime on one core releasing a shared lock, causing the other core to acquire it); and causal links in the hardware (for example, one work-unit finishes on a core, causing another work-unit to start there, modulo a choice by the runtime). 1.517 + 1.518 +%We will now expand on each of those kinds of causal link. 1.519 + 1.520 +%\paragraph{Constraint causal link} Two entire boxes (units) are linked this way when action by one unit contributes to satisfaction of a constraint blocking the other unit. This includes sequential dependencies from the base language (which are noted in the tool but normally not displayed). 1.521 + 1.522 +%Sequential dependencies may add superfluous constraints that eliminate some otherwise allowed choices in the UCC. An example would be a sequential \texttt{for} loop that creates work-units -- no parallelism constructs cause the creations to be done in sequence, but the base C language sequentializes it nonetheless. 1.523 + 1.524 +%\paragraph{Runtime internal causal link} Runtime implementation details may introduce ``extra" causalities between units. For example, the runtime we instrumented for this paper runs separately on each core and relies upon a global lock for accessing shared runtime information. This lock introduces a causal relationship when the runtime on one core is attempting to process one unit, but must wait for the runtime on a different core to finish with its unit. 1.525 + 1.526 +% Normally, these are not displayed explicitly, due to clutter, but can be turned on when needed, for instance to determine the cause of a particular pattern of core usage. 1.527 + 1.528 +%\paragraph{Hardware causal link} The physical fact that a given resource can only be used by one work-unit at a time introduces hardware causalities. When multiple units are free to execute, but all cores are busy, then completion of a unit on one core causes (in part) the next ready unit to run on that core. 1.529 + 1.530 +%These are also not normally displayed, due to clutter, and not all hardware dependencies are directly measured. Future work will focus on using the performance counters and other instrumentation to add more information about communication paths taken as a consequence of the scheduling decisions made. It will start with the current linkage of application-code to runtime decisions, and add consequent usage of communication hardware. This gives an end-to-end linkage between runtime choices and caused behavior on the hardware. 1.531 + 1.532 + 1.533 +%\subsection{Breadth of Applicability of UCC and SCG} 1.534 + 1.535 +The question arises of how to apply the UCC and SCG to heterogeneous machines that have multiple levels of runtime, and thus multiple levels of scheduler. To answer that, let's explore a specific machine. In this case, a cluster in one rack. The rack has a back-plane that boards plug into, while a board has its own memory and four sockets, each socket holds a chip with four cores. This system has corresponding physically separate networks: a back-plane network connecting the boards; an inter-socket network on each board; and a cache hierarchy connecting cores within a socket. 1.536 1.537 A runtime is provided for each network, to distribute work among the networked components. The top runtime divides work among the boards, then a board's runtime divides work among the sockets, and a socket's runtime divides work among the cores. 1.538 1.539 To a given runtime, each runtime below it is treated as an indivisible machine. So the backplane runtime treats each board as a complete machine, creates work for each board, and schedules it. To send work to a board, it communicates with the runtime that manages that board, but without knowing the internal details of that runtime. It just sees the runtime as an opaque ``machine" that it gives work to. Hence the top runtime schedules onto board-level runtimes, which each schedule onto socket-level runtimes, and so on.This multi-level nature should be reflected in the UCC and SCG. 1.540 1.541 -To facilitate this approach, the application has been written in a language that provides a construct for work-unit division. For each construct instance, the toolchain inserts a corresponding manipulator, which enables each runtime to divide up the work it is given into smaller work-units. Examples include the DKU pattern \cite{DKUTechRep_09}, TBB's loop constructs \cite{LangTBBRef}, HPF's matrix division facilities \cite{LangHPF}, and so on. The effect of insertion of the manipulator on the \textit{application} UCC is to push it all the way to the right on the unit axis. 1.542 +To facilitate this approach, the application has been written in a language that provides a construct for work-unit division. This construct provides a manipulator to the runtime, giving the runtime the ability to dynamically divide up the work it is given into smaller work-units. Examples include the DKU pattern \cite{DKUTechRep_09}, TBB's loop constructs \cite{LangTBBRef}, HPF's matrix division facilities \cite{LangHPF}, and so on. Note that with such a manipulator, the UCC is maximally abstract on the unit axis. 1.543 1.544 \subsubsection{Levels of UCC}So what does the \textit{concrete} UCC produced during a run on this machine look like? Well, scheduling decisions bound a work-unit, and the decisions take place inside a runtime. Hence the units are defined relative to a runtime. Each runtime, then has its own concrete UCC for the units it schedules. 1.545 \begin{figure}[ht] 1.546 @@ -407,18 +529,16 @@ 1.547 \label{fig:UCC_Levels} 1.548 \end{figure} 1.549 1.550 -As seen in Fig. \ref{fig:UCC_Levels}, the concrete UCCs are related to each other in the same hierarchy as the runtimes. A single unit scheduled by one runtime has an entire concrete UCC in the level below. The unit is broken into sub-units, each separately scheduled by the lower-level runtime, which defines a new concrete UCC. Its units are those sub-units, and the constraints are the constraints amongst those. As the figure shows, each unit in one UCC has an entire lower-level UCC inside it, in a hierarchy matching the runtimes. 1.551 - 1.552 -\subsubsection{Levels of Consequence Graph} 1.553 -What does this multi-level UCC mean for the SCG? Well, each level of scheduling activity has an associated scheduling consequence graph, hence each concrete UCC has a corresponding SCG. 1.554 - 1.555 -But, in the SCG we've seen, each column represents time on a core, so what does it mean in a higher-level SCG, for which a column represents a runtime instead of a core? This comes down to discovering the consequence of scheduling a given work unit onto a particular runtime. When the goal is improving performance, the consequence of interest is the time taken until completion of the work unit. 1.556 - 1.557 -Hence, the question becomes, when can the upper-level work unit be considered completed? When all the lower-level units of which it is comprised are completed, plus any additional work spent dividing up the work before and combining results after. Once the lower-level consequence graph is established, this time can be easily determined: it is the critical path across the lower-level consequence graph plus the additional, non-overlapped, time spent creating the lower-level units and combining results into the format of the higher-level unit. The divide and recombine are not part of the lower level UCC/SCG, because that is creation of them. 1.558 +As seen in Fig. \ref{fig:UCC_Levels}, this means there are multiple levels of concrete UCC, which are related to each other in the same hierarchy as the runtimes. A single unit that is scheduled by one level of runtime has an entire concrete UCC in the level below. That unit is broken into sub-units, each of those is separately scheduled within the lower-level runtime. Hence, there's a whole lower-level UCC inside that unit, as the figure shows. The UCC hierarchy matches the runtime hierarchy, which matches the hardware hierarchy. 1.559 + 1.560 +\subsubsection{Levels of SCG} 1.561 +Each concrete UCC has a corresponding SCG. In the SCG definition given above, each column represents time on a core. But in a higher-level SCG, a column represents a runtime instead of a core. The consequence thus shifts to that of scheduling a given work unit onto a particular runtime. Now, if the tuning goal is to improve performance, then the consequence of interest is the time taken until the lower runtime completes the higher level work unit. 1.562 + 1.563 +The completion is when all the lower-level units are completed, plus any additional work spent dividing up the work before and combining results after. Once the lower-level consequence graph is established, this time can be easily determined: it is the critical path across the lower-level consequence graph plus the additional, non-overlapped, time spent creating the lower-level units and combining results into the format of the higher-level unit. The divide and recombine are not part of the lower level UCC/SCG, because the divide creates the lower concrete UCC. 1.564 1.565 \subsubsection{Applying the multi-level UCC and SCG} 1.566 1.567 -Let us apply this multi-level definition to the matrix multiply from Section \ref{sec:casestudy}. We start at a level above the process that was created to execute the application. Here, a unit is the execution of an entire application, invoked via OS commands. The UCC at that level treats each application execution as a unit. The SCG at that level treats the "runtime" region as the time spent by the OS creating a new process and running the loader and linker. The work time of a unit is the execution time of the application, from the first instruction until it exits. 1.568 +Let us apply this multi-level definition to the matrix multiply from Section \ref{sec:casestudy}. We start at a level above the process that was created to execute the application. Here, a unit is the execution of an entire application, invoked via OS commands. The UCC at that level treats each application execution as a unit. The SCG at that level treats the ``runtime" region as the time spent by the OS creating a new process and running the loader and linker. The work time of a unit is the execution time of the application, from the first instruction until it exits. 1.569 1.570 The application then contains code that breaks up the work, creates virtual processors to perform the work, and code that collects the results. Breaking up the work is the calculations that determine the dimensions of each sub-matrix, and pairs up the sub-matrices. Each pair makes one work-unit, and has a virtual processor created to perform the multiply. These work-units comprise the second-level UCC, which is the UCC shown in \S\ref{sec:UCC}. The corresponding second-level SCGs are the ones shown during the walk-through. 1.571 1.572 @@ -596,7 +716,7 @@ 1.573 \vspace{-3pt} 1.574 \begin{itemize} 1.575 \setlength{\itemsep}{0em} 1.576 -\item it visualizes the essential factors influencing scheduling decisions and resulting causal chains, given sufficient language and runtime pre-requisites 1.577 +\item it visualizes the essential factors influencing scheduling decisions and resulting causal chains 1.578 \item it has a filtering mechanism that shows only the most relevant groups of constraints and causal interactions, as desired 1.579 \item it has flexibility to capture and represent any type of constraint 1.580 1.581 @@ -610,7 +730,7 @@ 1.582 1.583 For message passing based software, many tools are available such as Paraver \cite{PerfToolParaver}, Vampir \cite{PerfToolVampir}, Paradign \cite{PerfToolParadyn}, and Tau \cite{PerfToolTau}. These give insight into which tasks communicate to which other tasks, which adds more causality information than available in the thread oriented tools. 1.584 1.585 -But a frequent complaint of users of these tools is that the cause of idleness is difficult to deduce. One reason is that semantic information about messages is missing. Little distinguishes them besides size, which also makes it difficult to filter the messages to prevent uninteresting ones from causing clutter. Although the tool we propose measures the same message interactions, plus additional sources of causal interactions, it has the ability to declutter based on the kind of causality, such as runtime-implementation internal causality, and also filter based on the semantic purpose of a given message. The potential also exists to pick a particular idle period and display a trace of the causal chain that contributed to it. 1.586 +But a frequent complaint of users of these tools is that the cause of idleness is difficult to deduce. One reason is that semantic information about messages is missing. Little distinguishes them besides size, which also makes it difficult to filter the messages to prevent uninteresting ones from causing clutter. The tool we propose measures the same message interactions, but adds additional sources of causal interactions. It also has the ability to declutter based on the kind of causality, such as runtime-implementation internal causality, and also filter based on the semantic purpose of a given message. Once a particular idle period is spotted, the tool can display a trace of all the relevant scheduling causes that contributed to it. 1.587 1.588 The HPCToolkit \cite{PerfBlameShifting12} uses blame-shifting to identify which constructs spend a long time blocked. However, once identified, the user could still use help in understanding why constructs block for so long, and why no other work fills in. 1.589 1.590 @@ -654,11 +774,11 @@ 1.591 \section{Conclusion} 1.592 \label{sec:conclusion} 1.593 1.594 -We have shown how to apply a recently discovered model of the structure of parallel computation to generate visualizations of the sequence of interactions that cause cores to sit idle during a run. Visualization features help identify suspect causal interactions and link them back to related application code. The approach relies only on information collected through instrumenting the language runtime, with no modification to the application. 1.595 - 1.596 -The essential causes for idleness are collected and available for display, including constraints due to application structure, language runtime implementation, and hardware features. The semantic information collected allows filtering for the relevant types of constraints, to avoid overcharging the display. 1.597 - 1.598 -We demonstrated, with a case study, how to use the approach, which can provide a valuable addition to other performance tuning tools once tuning has shifted to scheduling related phenomena. The approach can reduce guesswork, providing a path to details in the application code where changes should be made. 1.599 +We have shown how to apply a recently discovered theory of parallel computation to generate visualizations of causes and effects within the scheduling of work during a run. The theory defines visual features that go down inside the runtime implementation and link previously hidden causes there, to related application code features. The approach doesn't modify the application, rather it instruments the runtime of the programming language. 1.600 + 1.601 +New details available for display include time spent inside meaningful aspects of the runtime implementation, how those cause effects within the scheduling activity, and how relevant hardware behaviors cause effects within the scheduling of work. The theory defines categories of activity, which can be used in filters that de-clutter the display, to reveal the most relevant information. 1.602 + 1.603 +We gave a tutorial introduction to the approach. It can be used to enhance tuning done in concert with other tools. The extra meaning provided by the new kinds of detail reduces guesswork, elucidating all relevant levels of interaction that combine to cause performance loss. This enhances generating the correct hypothesis for the changes to application code and/or tools that improve performance. 1.604 1.605 %I'd like to avoid weaknesses of our approach, in the conclusion.. and this wasn't discussed much in the body. 1.606 %As the approach relies on information available to the runtime, we expect that even better results will be observed for ``high-level'' parallel languages that more closely match application concepts instead of hardware concepts. 1.607 @@ -1345,3 +1465,4 @@ 1.608 1.609 trying to pinpoint the causes of performance loss, internal structure of 1.610 1.611 + involves tuning both sequential behavior, inside units of work, and also 1.612 \ No newline at end of file
2.1 --- a/0__Papers/Holistic_Model/Perf_Tune__long_version_for_TACO/latex/Holistic_Perf_Tuning.tex.orig Sat Aug 03 19:24:22 2013 -0700 2.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 2.3 @@ -1,1249 +0,0 @@ 2.4 -%----------------------------------------------------------------------------- 2.5 -% 2.6 -% Template for sigplanconf LaTeX Class 2.7 -% 2.8 -% Name: sigplanconf-template.tex 2.9 -% 2.10 -% Purpose: A template for sigplanconf.cls, which is a LaTeX 2e class 2.11 -% file for SIGPLAN conference proceedings. 2.12 -% 2.13 -% Guide: Refer to "Author's Guide to the ACM SIGPLAN Class," 2.14 -% sigplanconf-guide.pdf 2.15 -% 2.16 -% Author: Paul C. Anagnostopoulos 2.17 -% Windfall Software 2.18 -% 978 371-2316 2.19 -% paul@windfall.com 2.20 -% 2.21 -% Created: 15 February 2005 2.22 -% 2.23 -%----------------------------------------------------------------------------- 2.24 - 2.25 - 2.26 -\documentclass[preprint]{sigplanconf} 2.27 - 2.28 -% The following \documentclass options may be useful: 2.29 -% 2.30 -% 10pt To set in 10-point type instead of 9-point. 2.31 -% 11pt To set in 11-point type instead of 9-point. 2.32 -% authoryear To obtain author/year citation style instead of numeric. 2.33 -\usepackage{amssymb,graphicx,calc,ifthen,subfig,dblfloatfix,fixltx2e} 2.34 - 2.35 - 2.36 -% correct bad hyphenation here 2.37 -\hyphenation{op-tical net-works semi-conduc-tor} 2.38 - 2.39 -\usepackage{wasysym} 2.40 - 2.41 -\begin{document} 2.42 - 2.43 -\bibliographystyle{plain} 2.44 -% 2.45 - 2.46 -\conferenceinfo{WXYZ '05}{date, City.} 2.47 -\copyrightyear{2012} 2.48 -\copyrightdata{[to be supplied]} 2.49 - 2.50 -\titlebanner{} % These are ignored unless 2.51 -\preprintfooter{Performance Tuning Using Semantic Information from the Language Runtime} % 'preprint' option specified. 2.52 - 2.53 - 2.54 -%MOIRAI: MOdel for Integrated Runtime Analysis through Instrumentation 2.55 -\title{Integrated Performance Tuning Using Semantic Information Collected by Instrumenting the Language Runtime} 2.56 - 2.57 -\authorinfo{Nina Engelhardt} 2.58 - {TU Berlin} 2.59 - {nengel@mailbox.tu-berlin.de} 2.60 -\authorinfo{Sean Halle} 2.61 - {Open Source Research Institute} 2.62 - {seanhalle@opensourceresearchinstitute.org} 2.63 -\authorinfo{Ben Juurlink} 2.64 - {TU Berlin} 2.65 - {b.juurlink@tu-berlin.de} 2.66 - 2.67 - 2.68 -% This \maketitle command is required from ieeepes version 4.0, to make 2.69 -% ieeepes work correctly with newer LaTeX versions. 2.70 -\maketitle 2.71 - 2.72 - 2.73 -\begin{abstract} 2.74 -Performance tuning is an important aspect of parallel programming. Yet when trying to pinpoint the causes of performance loss, often times insufficient knowledge of the internal structure of the application and the runtime is available to understand how the observed patterns of performance have come to pass. 2.75 -A trend in parallel programming languages is towards models that capture more structural information about the application, in an effort to increase both performance and ease of programming. We propose using this structural information in performance tuning tools to make the causes of performance loss more readily apparent. 2.76 -Our work produces a universal, adaptable set of performance visualizations that integrates this extra application structure, via a new model of parallel computation. The visualizations clearly identify idle cores, and tie the idleness to causal interactions within the runtime and hardware, and from there to the parallelism constructs that constrained the runtime and hardware behavior, thereby eliminating guesswork. 2.77 -This approach can be used to instrument the runtime of any parallel programming model without modifying the application. As a case study, we applied it to the SSR message-passing model, and we walk through a tuning session on a large multi-core machine to illustrate how performance loss is identified and how hypotheses for the cause are generated. 2.78 -\end{abstract} 2.79 - 2.80 - 2.81 - 2.82 - 2.83 - 2.84 -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2.85 -\section{Introduction} 2.86 -\label{sec:intro} 2.87 - 2.88 -Performance visualization and tuning tools for parallel programs are critical to achieving good performance, and yet the experience of using current solutions leaves something to be desired. Often, performance tuning requires interpreting abstract views of usage or statistics, trying to \emph{guess} the cause of performance loss. Despite many different views of performance measurements, such as frequency by line of code, message sends and receives, and core usage timelines, the user does not know why a function runs in a particular spot on a particular core, nor whether that is desired behavior or erroneous behavior. 2.89 - 2.90 -Examining these myriad views can feel like being advised by the fabled six blind men examining an elephant by touching the part nearest to each\cite{PerfToolPoem}: one, reaching the side, compares it to a wall; the second, feeling the tusk, likens it to a spear; the next, touching the trunk, is reminded of a snake, and so on. All of these views are indeed correct and supply important information, but they don't connect to each other, to provide a view of how the parts interact to form a whole. 2.91 - 2.92 -Likewise, current tools may cover all the parts of the application code, but they often do not adequately connect their observations to the runtime behavior, scheduling decisions, and consequent hardware behavior. The decision about which task or thread is assigned to which core at what point in time is at the heart of parallel performance, so these choices need to be displayed and connected to the application features influencing them. 2.93 - 2.94 -Our approach provides a more complete picture by following a new model of parallel computation. The model suggests that the relevant application features are the units of work performed and the constraints on scheduling them, and that it is crucial to record and display the scheduling decisions taken by the runtime. The model simplifies hypothesis generation by connecting the measurements to each other and to the application, analogous to providing a view of the whole elephant. 2.95 - 2.96 -Our instrumentation, based on the model, detects the units within the application code when they are scheduled during a run, and visually links each to the units upon which its execution is conditional. The visual arrangement makes identifying idle cores immediate, enables quickly generating the correct hypotheses for the causes of the performance losses, and quickly pinpointing where in the application code changes can be made to improve performance. In effect, the visualization serves as a map showing idle cores linked back to the section of application code responsible. 2.97 - 2.98 -The model of computation and our visual approach to using it is illustrated with a case study of performance tuning a standard parallel application on a large multi-core system. 2.99 - 2.100 -We start with an overview of previous approaches in Section \ref{sec:related}. We show usage of our visualizations through a case study in Section \ref{sec:casestudy}, and then expand on the model behind it in Section \ref{sec:theory}. Section \ref{sec:Implementation} will relate the model to implementation details. Finally, we conclude in Section \ref{sec:conclusion}. 2.101 - 2.102 -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2.103 -\section{Background and Related Work} 2.104 -\label{sec:related} 2.105 - 2.106 -When choosing a performance tuning tool, three primary factors to consider are: 2.107 -\begin{itemize} 2.108 -\item the ease of recognizing performance loss 2.109 -\item the ease of forming a hypothesis to explain the loss 2.110 -\item the ease of linking the hypothesis to changes to make in application code 2.111 -\end{itemize} 2.112 - 2.113 -The mental model that underlies the tool plays a key role in these three usefulness factors. This can be seen by examining the activity of performance tuning. It is an iterative activity. To start, the programmer takes measurements during execution and compares them to the desired outcome. A hypothesis is generated for what caused any differences, by using a mental model, of causal relationships within execution. The mental model is then also used to link the hypothesis to code, to suggest a change to make to improve performance. After modification, the code is run again, and these steps are repeated until the programmer is satisfied with the performance of the program. Thus, the mental model is central during performance tuning. 2.114 - 2.115 -As a result of its role when using a tuning tool, the mental model underlying the tool is a major focus when comparing tools. The mental model of our approach is based on a new model of parallel computation and is the main way our approach differs. The new model makes it easier to form a hypothesis of the cause of performance losses, and easier to link that back to changes to make in application code. 2.116 - 2.117 - Historically, the dominant mental model for parallel computation has been the software-thread abstraction. The model is very close to the hardware, without much higher-level semantics. This makes it a problem when analyzing parallel performance. Yet as the earliest and most widespread parallel programming model, and one that serves as the basis on top of which many other models are implemented, it must be supported. 2.118 - 2.119 -A popular version is pthreads, which introduces randomness through OS time-slicing, and whose synchronization constructs imply only indirect connections. For instance, very little conclusion can be drawn about the relationship between the computations in two separate threads from their accessing the same lock consecutively. Consequently, tools such as Paradyn \cite{PerfToolParadyn} or VTune \cite{PerfToolVTune} that rely on this model have a hard time connecting measurements to the application code details. They collect a wealth of statistics, but the application is to the tool a foreign process, where things ``just happen'' without causal links between events and code. Such tools generate conclusions such as ``application bottleneck is synchronisation'', and ``too much time is spent in spinlocks'', without help as to what in the code causes this. For example, if there is more than one use of spinlocks in the application, it is not clear what point in the code is the problem. 2.120 - 2.121 -One fix to these issues is to allow the users to introduce measuring points into their own code, at the cost of increased programmer effort. Because instrumentation code is written in the source language, it has access to application concepts. This advantage can be kept with automated instrumentation, by providing an instrumenting compiler, like the Tau \cite{PerfToolTau} project does. 2.122 - 2.123 -However, as long as the underlying execution model is still threads, there is no meaningful structure common to all applications to use to generate expressive measurement quantities. Function boundaries and the call graph are not sufficient when parallel execution is performed. The sequence and frequency of function calls tell little about parallel performance impacts because they have no bearing on synchronization events. Unfortunately, pthreads does not capture even hints as to \emph{why} a given function call ends up blocking or not blocking, and what the effects on other threads are. 2.124 - 2.125 -Higher level parallel abstractions help alleviate that particular problem. For instance, in an application with MPI message passing \cite{MPI}, the information ``thread 2 spends little time waiting for messages from thread 0 but a lot of time waiting for messages from thread 1'' can be recorded, where in pthreads only ``thread 2 spends a lot of time waiting for a signal'' would be visible. It is much easier to reach the conclusion that the bottleneck is the slow rate at which thread 1 produces data. 2.126 - 2.127 -Leveraging the MPI library is a well-trodden path, with many tools available \cite{PerfToolParaver} \cite{PerfToolVampir} \cite{PerfToolParadyn} \cite{PerfToolTau}. But a frequent complaint of users of these tools is that in complex programs, the large number of messages sent makes it difficult to see problems. As there is little that distinguishes messages besides size, it is difficult to implement good filtering. Once again, we find that the limitations come from a parallel model that captures insufficient information. 2.128 - 2.129 -Fortunately, parallel languages are evolving in the same direction, and it is widely believed that semantically rich parallel constructs, when they match the structure of the application well, are key to improved productivity. With languages such as CnC \cite{CnCInHotPar} and StarSs \cite{StarSs}, the information available to the language runtime offers a much clearer picture of the constraints placed on the execution of tasks and where they come from. Consequently, the application structure can be well reflected in visualizations, as the Temanejo debugger \cite{PerfToolStarSs} for StarSs demonstrates. 2.130 - 2.131 -In the following section, we will demonstrate how our approach overcomes the various challenges of these other approaches through a combination of the following features: 2.132 -\begin{itemize} 2.133 -\item it visualizes all the factors influencing scheduling decisions, given sufficient language and runtime pre-requisites 2.134 -\item it has a filtering mechanism that shows only the most relevant groups of constraints, as desired 2.135 -\item it has flexibility to capture and represent any type of constraints 2.136 -\item it works for any parallel programming library or language 2.137 -\item it instruments only the runtime, once, for all applications 2.138 -\end{itemize} 2.139 - 2.140 -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2.141 -\section{Case Study: Analyzing an SSR Application} 2.142 -\label{sec:casestudy} 2.143 - 2.144 -To concretely illustrate the benefits of connecting measurements to an effective computation model, in this section we walk through a typical performance tuning session using our approach. This shows the features in action, and indicates how having those features provide an advantage to the user over methods that lack them. 2.145 - 2.146 -We first describe the program and language used, and then the features of our visualization. After this preparation, we show a sequence of the visualizations. In each, we point out how the performance loss is identified, and which visual features suggest the hypothesis of the cause of the loss. We show how the visual features direct the user to the specific sections of code that need to be changed, and how the model suggests what changes to try. 2.147 - 2.148 -\subsection{Application and Target Hardware} 2.149 - 2.150 -In our session, we wish to tune a standard program that the reader knows well. The best example is likely matrix multiply, with which the reader should be familiar, allowing concentration on the tool without distraction about the application. 2.151 - 2.152 -We run it on a machine with 4 sockets by 10 cores each, for a total of 40 physical cores. They are Intel WestmereEx cores running at 3.0GHz, with TurboBoost turned off for reproducability. 2.153 - 2.154 -The application code uses language features to create virtual processors (VP). The first VP created divides the work into a number of pieces and creates a new VP for each piece. 2.155 - 2.156 -How many pieces is set by a tuning parameter in the code, and the number of cores. The application uses language features to distribute the VPs across the cores, in a round-robin fashion unless otherwise specified. 2.157 - 2.158 -It then creates a results VP that receives a partial-result from each piece and accumulates the results. The divider VP then waits for the results VP to indicate completion, after which the language runtime shuts down. 2.159 - 2.160 -\subsection{Programming Model} 2.161 -The language used is SSR, which is based on rendez-vous style send and receive operations made between virtual processors (VPs), which are equivalent to software threads. The example application uses commands for creating and destroying VPs, and two kinds of send-receive paired operations. 2.162 - 2.163 -The first, \emph{send\_from\_to} specifies both sender and receiver VPs. The results VP uses this to tell the divider VP that the work is complete. The second, \emph{send\_of\_type\_to}, specifies only a specific receiver, leaving the sender anonymous. It has increased flexibility while maintaining some control over scope. The worker VPs use this to send their partial-result to the results VP. 2.164 - 2.165 -The language also includes a \emph{singleton} construct that designates a piece of code as to be executed only once. It was used to shift work out of the divider, which is sequential, over to the worker-pieces, which spreads the work across many cores. The work is setup that many pieces share but is only to be performed once. 2.166 - 2.167 -Miscellaneous performance constructs are also available, such as one to force which core a virtual processor is assigned to. We use this in our example program to control scheduling. 2.168 - 2.169 -A note on terminology: We often use the term ``work-unit'', which we define precisely, instead of ``task'', which has acquired multiple meanings in the literature. Work-unit is defined as the trace-segment performed on a core, between two successive scheduling events, plus the set of datums consumed by that trace segment. The word task often maps well onto this definition, and we use both words, but mean the precise work-unit definition when we say task. 2.170 - 2.171 - 2.172 - 2.173 -\subsection{The Visualizations} 2.174 -\label{subsec:visualization_def} 2.175 - The first visualization is what we refer to as a Unit \& Constraint Collection, or UCC. It depicts the constraints on the scheduling decisions that come from the application. Constraints can be dependencies stated explicitly in the code, or can be implied by language constructs. These limit the choices the runtime is allowed to make. 2.176 - 2.177 -The second visualization we call the scheduling consequence graph (SCG), or just consequence graph (CG). It depicts the scheduling operations performed by the runtime, and the consequent usage of the cores. 2.178 - 2.179 -The UCC shows only application-derived information, as opposed to the consequence graph, which combines the \textit{use} of the UCC-depicted constraints along with runtime-imposed dependencies and hardware-imposed constraints. Hence, the UCC states the degrees of freedom enabled by the application, while the consequence graph states how those were made use of, by a particular runtime on particular hardware. 2.180 - 2.181 -\subsubsection{UCC visualization} 2.182 -\begin{figure}[ht] 2.183 - \centering 2.184 - \includegraphics[width = 3.2in, height = 1.8in]{../figures/UCC_stylized_for_expl.pdf} 2.185 - \caption{Two versions of a stylized Unit and Constraint Collection (UCC). Both display the logical connections among units, but the right UCC adds an indication of the amount of work in a unit.} 2.186 - \label{fig:UCC_expl} 2.187 -\end{figure} 2.188 - 2.189 -Fig. \ref{fig:UCC_expl} shows two versions of a UCC, both stylized for purposes of explanation. These are used less often than the SCG, mainly as a helper when brainstorming ways to get more usable parallelism out of an application. 2.190 - 2.191 -Both versions of the UCC depict constraints on units. Starting at the top, they progress downwards, placing units that constrain above those constrained by them, and connecting them by a line representing the constraint. A unit is placed into the row just below the last of the units constraining it, in the first available column. However, the rows and columns are just visual conveniences; the only information in the UCC is the lines between units, which represent constraints among the units. In practice, each unit is also labeled with a unique unit ID, from which the code of the unit and the parameters passed to it can be looked up. 2.192 - 2.193 -What distinguishes the two types of UCC is the size of the units. The left one shows only the logical graph-like structure of the application, while the right weights the height of a unit by the number of instructions executed in it. When information about unit size is available, it can visually indicate the \textit{useable} parallelism available. 2.194 - 2.195 -\subsubsection{SCG visualization} 2.196 -\begin{figure}[ht] 2.197 - \centering 2.198 - \includegraphics[width = 2in, height = 1.8in]{../figures/SCG_stylized_for_expl.pdf} 2.199 - \caption{Stylized Scheduling Consequence Graph (SCG).} 2.200 - \label{fig:SCG_expl} 2.201 -\end{figure} 2.202 - 2.203 -Fig. \ref{fig:SCG_expl} shows a consequence graph, stylized for purposes of explanation. This is the main visualization used during performance tuning, because it shows the consequent uses of the cores in the machine, and links those to the constraints and code in the application. 2.204 - 2.205 -It is composed of a number of columns, one for each core. A column represents time on the core, increasing as one goes down, measured in clock cycles. It is broken into blocks, each representing the time accounted to one work-unit. Each block is further divided into regions, each a different color, which indicates the kind of activity the core was engaged in during that region's time-span. 2.206 - 2.207 -The application code executed within a block is linked to the block. In our tool, the block is labelled with a unique unitID. This ID is then linked to the code executed within that unit. In this way, the code of any block can be looked up, along with the parallelism constructs that mark the start and end of the block. 2.208 - 2.209 -The kinds of activities within a block are defined by the computation model that underlies the visualization. The first kind of activity is the actual work, plus waiting for cache misses. It is represented by a blue-to-red region where the color indicates intensity of cache misses, with pure red representing at or above the maximum misses per instruction, and pure blue the minimum (the max and min are set in the tool that generates the visualization). 2.210 - 2.211 - The second kind of activity is runtime overhead, represented by a gray region. This is the overhead spent on that particular work-unit. When desired by the user, it is further broken into pieces representing activities inside the runtime. The options include time spent on: constraints, when determining readiness of the work-unit; deciding which ready unit to assign to which hardware; and time spent switching from virtual processor, to the runtime, and back. In this paper, we show all runtime overhead lumped together, however in other circumstances a breakdown can be key to understanding interaction between runtime and application. 2.212 - 2.213 -The other type of visual feature seen in Fig. \ref{fig:SCG_expl} is lines. Each represents a construct that influenced scheduling, where the color indicates what kind of construct. A line represents two things: a constraint, whose satisfaction made the lower unit ready, and a decision by the runtime to start the lower unit on that core. 2.214 - 2.215 -In general, lines may also be drawn that represent other kinds of interactions, which affect core usage. For example, our runtime implementation only allows one core at a time to access shared scheduling state. Visualization of this can be turned on, as additional lines linking the gray runtime regions of blocks (visualization of such interactions is turned off in this paper). 2.216 - 2.217 -Two work-unit blocks that appear in sequence and have no lines drawn to them often have a causal dependency between them, due to the semantics of the base language. Visualization of these dependencies is also turned off, but can be inferred via the link to the code. 2.218 - 2.219 -Note that many different orderings can be validly chosen. Which scheduler choices are valid is determined by three kinds of constraints: the application code constraints, hardware constraints, and runtime implementation imposed constraints. 2.220 - 2.221 -The visual features allow the user to see at a glance the total execution time (height), idle cores during the run (empty columns), cache behavior (color of work regions), degree of overhead (size of gray regions), and which units constrained which other units (lines). All consequence graphs in this paper are at the same scale, so they can be compared directly. 2.222 -\begin{figure*}[t!] 2.223 - \begin{minipage}[b]{0.25\textwidth} 2.224 - \hfill\subfloat[35.8 Gcycles\\Original] 2.225 - {\quad\quad\includegraphics[scale=0.015]{../figures/222.pdf} \quad 2.226 - \label{fig:story:a}}\quad\hspace{10px} 2.227 - \end{minipage} 2.228 - \begin{minipage}[b]{0.7\textwidth} 2.229 - % \subfloat[] 2.230 - % {\includegraphics[scale=0.015]{../figures/194.pdf} 2.231 - % }\quad 2.232 - \subfloat[13.0 Gcycles\\ after fixing the load balancer] 2.233 - {\includegraphics[scale=0.015]{../figures/2.pdf} 2.234 - \label{story:b}}\quad 2.235 - \subfloat[11.0 Gcycles\\ after changing so as to put work on core 1 first (solution 1)] 2.236 - {\includegraphics[scale=0.015]{../figures/5.pdf} 2.237 - \label{story:c}}\quad 2.238 - % \subfloat[S1+divide factor 0.2] 2.239 - % {\includegraphics[scale=0.015]{../figures/208.pdf} 2.240 - % }\quad 2.241 - % \subfloat[S1+divide factor 0.3] 2.242 - % {\includegraphics[scale=0.015]{../figures/209.pdf} 2.243 - % }\quad 2.244 - \subfloat[10.9 Gcycles\\ after also changing the divide factor from 0.6 to 0.5] 2.245 - {\includegraphics[scale=0.015]{../figures/6.pdf} 2.246 - \label{story:d}}\quad 2.247 - \subfloat[15.6 Gcycles\\ after further changing the divide factor to 0.4] 2.248 - {\includegraphics[scale=0.015]{../figures/7.pdf} 2.249 - \label{story:e}}\quad\\ 2.250 - \subfloat[10.4 Gcycles\\ after going back to put divider VP onto its own core (Solution~2)] 2.251 - {\includegraphics[scale=0.015]{../figures/12.pdf} 2.252 - \label{story:f}}\quad 2.253 - \subfloat[10.3 Gcycles\\ after then moving the receive VP to the same core as the divider VP] 2.254 - {\includegraphics[scale=0.015]{../figures/10.pdf} 2.255 - \label{story:g}}\quad 2.256 - \subfloat[9.7 Gcycles\\ after additionally changing the divide factor to 0.4] 2.257 - {\includegraphics[scale=0.015]{../figures/15.pdf} 2.258 - \label{story:h}}\quad 2.259 - % \subfloat[S2+divide factor 0.3] 2.260 - % {\includegraphics[scale=0.015]{../figures/217.pdf} 2.261 - % }\hspace{2in} 2.262 - % \subfloat[scheduling issue with singleton] 2.263 - % {\includegraphics[scale=0.015]{../figures/194.pdf} 2.264 - % }\quad 2.265 - \end{minipage} 2.266 -\caption{Performance tuning with Scheduling Consequence Graphs (all figures drawn to the same scale) } 2.267 -\label{story} 2.268 -\end{figure*} 2.269 - 2.270 -\subsection{Walk-through} 2.271 -\label{subsec:walk-through} 2.272 - 2.273 -The scheduling consequence graphs that display the measurements collected on various runs during tuning are displayed in Fig. \ref{story}. All use the same scale, for direct comparison. They have 40 columns, one for each core, and relative height indicates relative execution time. The lines in red, orange, and green represent application-code constructs. Red is creation of a virtual processor, green is the many-to-one \texttt{send\_of\_type\_to}, and orange is the singleton construct. For better visibility, only constraints that cross cores are shown. 2.274 - 2.275 -After functional debugging, the first tuning run produces the consequence graph seen in Fig. \ref{fig:story:a}. The first thing to notice is that it is slimmer than expected: of the 40 available cores, only 13 are being used. Because the application places work on cores explicitly, this must be a bug in the dividing code. A cursory inspection reveals that a closing curly brace in the distribution loop had been misplaced. This may be a very simple bug, but it went unnoticed despite using this application as a test program for development of the language runtime (while using traditional thread-based performance tools). 2.276 - 2.277 -\subsubsection{Second Run} 2.278 - After fixing this, the next run (Fig. \ref{story:b}) corresponds much more to the expected execution behaviour. However, there remains a noticeable section at the beginning where only 3 cores have work and the other 37 remain idle. 2.279 - 2.280 -Zooming in on those cores, we see that creation code starts running on core 0, within the creation VP, and then the next block on the core is work. Creation stops, starving the other cores. Looking at the creation code, we see that the creation VP assigns the first work VP to its own core, so that work is now waiting in the queue to execute there. When it creates the second work VP, that creation call switches core 0 to the runtime. When done with creation, the runtime takes the next VP from the queue, which is that waiting work VP. Hence core 0 does the work next instead of continuing with creation (the merits of work stealing or other scheduling strategies are independent from this illustration of how to use this approach to performance tune). 2.281 - 2.282 -The hypothesis was generated by looking at the code linked to each block and noting the visual pattern that creation code stopped running on core 0. Work code started running instead, and only after it finished did creation code start again. Hence, visual cues led directly to the hypothesis. 2.283 - 2.284 -Two solutions come to mind: assign work to the other cores first, so that they would be busy when the creator VP's core switches to work, or else dedicate a core to the creator VP. The first solution has the advantage of preserving performance of the application even when run on a machine with a single-digit number of cores, so we tried it first. 2.285 - 2.286 -\subsubsection{Third run} Assigning work to the other cores first gives us Fig. \ref{story:c}. The section that was at the top, with idle cores, has disappeared. However, an idle period can still be observed between the first and the second set of work units. The work units have roughly the same length and the work on core 0 starts last, so finishing the core 0 work holds up creation until after the other cores have finished their work (note that work on some cores takes slightly longer because that core performs the copy-transpose singleton, and also variations are caused by cache misses). 2.287 - 2.288 - It is also noticeable that in the second set of work units, not enough work pieces remain to fill all cores. 16 out of 40 remain idle at the bottom. 2.289 - 2.290 -\subsubsection{Fourth and fifth runs} To try to fill the empty columns at the end, we modified the size of the work units. However, as figures \ref{story:d} and \ref{story:e} show, this did not help. The blank areas between ``bands'' of work can be seen by the red lines to be due to creation. The increased number of units causes creation to be the bottleneck again, and the time lost between sets grows larger than the time that previously was lost. 2.291 - 2.292 -\subsubsection{Sixth run} At this point we wanted to try the road not chosen, dedicating a core to the creation VP. 2.293 -Going back to version b of the code and implementing this solution, instead, leads to Fig. \ref{story:f}. The blank area between the two sets has disappeared, showing a 4\% shorter execution time. 2.294 - 2.295 -\subsubsection{Seventh and eighth runs}Core 0 is now empty after the creation phase at the beginning, so we moved the receive VP there (Fig. \ref{story:g}). This only minimally improved the time, at this size of work unit, but allows overlapping the result collection with other work, which is an advantage when cutting the work into more pieces, requiring longer collection as in Fig. \ref{story:h}. 2.296 - 2.297 -Overall it is also noticeable that as work units become smaller, execution time becomes more irregular. Variability in work length correlates with the color, indicating cache behavior has worsened with smaller work size. 2.298 - 2.299 -%Note that the hypothesis that cache behavior worsened with smaller work sizes, was generated directly from visual cues. 2.300 - 2.301 -\subsubsection{Holes in the core usage} 2.302 - 2.303 -In Fig \ref{story:d}, ``holes'' are noticeable. Inspecting these holes closer, we can see that the stalled blocks are at the end of orange lines. This indicates they are waiting upon the completion of a singleton. The pattern of blocks shows that usually the singleton unit runs before the work unit, but in these cases the singleton code was delayed until after the work on that core. This is a runtime implementation fluke. The only thing an application programmer can do is change the work size to minimize the impact. (For those curious, the first VP to reach the singleton is granted control, but a ready work VP lands in the queue during the granting activity, so when the runtime finishes granting, the work VP is next, and the VP that now owns the singleton sits and waits for the work to end. All work VPs on other cores that pass through the same singleton also wait.) 2.304 - 2.305 -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2.306 -\section{The Model Behind the Visualization} 2.307 -\label{sec:theory} 2.308 -Now that the usage has been seen, we expand on the model behind the visualizations. The model ties the information together, and understanding it helps in generating hypotheses from the visualization features. 2.309 - 2.310 -As seen, the model has two parts, a \emph{Unit \&\ Constraint Collection (UCC)}, and a \emph{Scheduling Consequence Graph} (SCG or just consequence graph, CG). The UCC indicates the scheduling choices the application allows, and so shows what the programmer has control over. The consequence graph says which of those were actually taken during the run and the consequences of that set of choices. 2.311 - 2.312 -We give a more precise description of UCC, then consequence graph, in turn. 2.313 -However, space is too limited for a complete definition, which is given in a companion paper submitted to a longer format venue. 2.314 -\subsection{Unit \& Constraint Collection} 2.315 -The UCC contains all the units of work that get scheduled during a run, and all constraints the application places on scheduling those units. This is the simple definition, but unfortunately, this information is not always easy to obtain. The complication is that different classes of application exist, with two degrees of freedom that determine how much of the UCC is actually defined in the application vs the input data, or even in the runtime. 2.316 - 2.317 -Some applications have everything determined in the code, with all units fixed, and all constraints fixed. An example is matrix multiply with fixed size matrices. But for others, the shape of the UCC is only partially defined by the application code. Take matrix multiply used in Section \ref{sec:casestudy}, where an input parameter determines the number of units created. Here, the UCC is different for each parameter value. An extreme example is an NP complete problem, with redividable units, for which the units are a function of both the input data \emph{and} decisions made by the runtime. 2.318 - 2.319 -\begin{figure}[ht] 2.320 - \centering 2.321 - \includegraphics[width = 3.2in, height = 1.8in]{../figures/UCC_weighted.pdf} 2.322 - \caption{Concrete UCC measured for matrix mulitply during the performance tuning in Section \ref{sec:casestudy}.} 2.323 - \label{fig:UCC_example} 2.324 -\end{figure} 2.325 - 2.326 - We call a fully specified UCC a \emph{concrete} UCC. Every run of an application eventually winds up defining a concrete UCC, such as produced for the performance tuning, as seen in Fig. \ref{fig:UCC_example}. In it, every unit that was scheduled in the SCG appears, along with the application-defined constraints on scheduling them. For this application, parameters determined the work division, and so determined the units. Hence, the application alone does not specify the concrete UCC, because the units remain unknown until parameter values are given. In general, the amount of UCC made concrete by the application alone falls into a two-dimensional grid. One dimension covers the units, the other the constraints. 2.327 - 2.328 -\begin{figure}[ht] 2.329 - \centering 2.330 - \includegraphics[width = 2in, height = 1.8in]{../figures/UCC_concreteness_grid.pdf} 2.331 - \caption{Abstract representation of the amount of concreteness of a UCC. The letters A, B, C, D stand for UCCs described in the text.} 2.332 - \label{fig:UCC_Concreteness} 2.333 -\end{figure} 2.334 - 2.335 -Fig. \ref{fig:UCC_Concreteness} shows the two axes and the four sets of additional information that have to be added to the UCC in order to determine the units and constraints in the final fully concrete UCC. The position an application-derived UCC, or later in the life-line UCC, lands on the grid indicates how far it is from being fully concrete. The horizontal position indicates what inputs are still needed to determine the units, and vertical the constraints. 0 indicates that the units (constraints) are fully determined by the application code alone; 1 means parameter values also must be known; 2 means input data values also play a role, and 3 means the units (constraints) can only become known after runtime scheduling decisions have been made. 2.336 - 2.337 -The closer an application-derived UCC is to the origin, the less additional information is needed to obtain a concrete UCC descendant of it. The UCC labeled A in the figure is fully concrete just from the source code alone (representing for example, matrix multiply with fixed size matrices and fixed division). The UCC labeled B requires the input data and parameters to be specified before its units are concrete, but just parameters to make its constraints fully concrete (as per ray-tracing, with bounce depth specified as a parameter). The UCC labeled C only has variability in its constraints, which require input data (for example, H.264 motion vectors). 2.338 -But even the least concrete UCC, out at the end of the diagonal (D in the figure), generates a concrete descendant during a run of the application. 2.339 - 2.340 -Notice, though, that even a fully concrete UCC still has degrees of freedom, in deciding which units to run on which hardware and in what order of execution. These decisions fix interactions within the hardware, to yield the communication patterns and consequent performance seen during the run. 2.341 - 2.342 -An added twist is that an application has a life-line, spanning from code all the way through the run, and its representation may change at the different stages of life. It starts as pristine source, then moves into specialization where code is translated into different representations than the original, and finally the specialized code is run. A different version of UCC may be generated at each of these points in the life-line. 2.343 - 2.344 -For example, specialization may perform a static scheduling, which fixes the units, moving the UCC towards the origin. Alternatively, the toolchain may inject manipulator code for the runtime to use, which lets it divide units during the run when it needs more. The injection of manipulator code makes the UCC less concrete, moving it further from the origin. 2.345 - 2.346 -The progression of UCCs generated during the life-line indicate what entity has the control over which units and constraints appear in the final concrete UCC. Viewing the progression gives insight into what is inside the application programmer's control vs under control of each tool in the toolchain or the runtime. For example, the original application-derived UCC indicates what can be done statically: the further out on the diagonal that UCC is, the less scheduling can be done statically in the toolchain. 2.347 - 2.348 -In this paper, we do not suggest how to represent UCCs far out on the diagonal. One of those actually indicates a multi-verse of concrete-UCCs. Which of them materializes depends on the data and what the scheduler decides. We only represent the concrete UCC that materializes during a run and leave the question of representing less concrete ones to future work. 2.349 - 2.350 -\subsection{Scheduling Consequence Graph} 2.351 -Whereas the UCC concentrates on application-derived information, the second part of the model adds-in effects of runtime details and hardware. We called it the Scheduling Consequence Graph because it links scheduling decisions to their performance consequences. But it also indicates the role, in the decision, of application, runtime and hardware details. 2.352 -As a result it identifies instances of lost performance, and links them to the cause of the loss, as seen in Section \ref{sec:casestudy}. 2.353 - 2.354 -Contrary to the UCC, the consequence graph shows the behavior resulting from scheduling decisions actually \emph{made}, from among those \emph{possible.} The UCC shows just the possibilities. Hence, a consequence graph shows \emph{one} of the possible choice-sets allowed by the UCC. 2.355 - 2.356 -A consequence graph accounts for each bit of core time. It has boxes and arcs, with the boxes divided into regions. The boxes each represent all core time assigned to one work unit, with each region inside representing a segment of time that the core was engaged in a specific type of activity. An arc links regions (or boxes) and represents a causality of some kind. 2.357 - 2.358 -There is one kind of region for each reason that the core is being used (or being forced idle), and several kinds of arcs, one for each type of causality between regions. 2.359 - 2.360 -The core activities of the region types are: application work, idling while waiting for communication of work data, managing constraints, choosing assignment of work onto cores, and runtime internals. The runtime internals in turn have sub-categories, which we will not detail here, but some of which will be mentioned in Section \ref{sec:Implementation}. 2.361 - 2.362 -There is an arc-type for each category of causality. The arc-types (causality categories) represent: sequential dependency in the base language being satisfied, parallel constraint being satisfied (i.e., one unit did something to satisfy a constraint on the other, causing it to be free to be scheduled), runtime internal causality such as a global lock (runtime on one core releases the lock, causing the other to acquire it), and arcs that represent hardware causal relationships (one work-unit finishing on a core causes another work-unit to start there, given the choice by the runtime). The formal details are given in the longer format companion paper. 2.363 - 2.364 -We will now look at each source of causal relationship. 2.365 - 2.366 -\paragraph{Constraint causality} There is a constraint causality when action by one unit causes (or contributes to) satisfaction of the constraint blocking the other unit. This includes sequential dependencies from the base language. 2.367 - 2.368 -Sequential dependencies may add superfluous constraints that eliminate some otherwise allowed choices in the UCC. An example would be a \texttt{for} loop that creates work-units -- no parallelism constructs cause the creations to be done in sequence, but the base C language sequentializes it nonetheless. 2.369 - 2.370 -\paragraph{Runtime internal causality} Runtime implementation details may introduce ``extra" causalities between units. For example, the version of VMS we instrumented for this paper runs separately on each core and relies upon a global lock for accessing shared runtime information. This lock introduces a causal relationship when the runtime on one core is attempting to process one unit, but must wait for the runtime on a different core to finish with its unit. 2.371 - 2.372 - Normally, these are not displayed explicitly, due to clutter, but can be turned on when needed, for instance to determine the cause of a particular pattern of core usage. 2.373 - 2.374 -\paragraph{Hardware causality} The physical fact that a given resource can only be used by one work-unit at a time introduces hardware causalities. When multiple units are free to execute, but all cores are busy, then completion of a unit on one core causes (in part) the next ready unit to run on that core. 2.375 - 2.376 -These are also not normally displayed, due to clutter, and not all hardware dependencies are directly measured. Future work will focus on using the performance counters and other instrumentation to add more information about communication paths taken as a consequence of the scheduling decisions made. It will start with the current linkage of application-code to runtime decisions, and add consequent usage of communication hardware. This gives an end-to-end linkage between runtime choices and caused behavior on the hardware. 2.377 - 2.378 -Consequence graph features each tie back to features in the UCC and thence to specific segments of code or constructs. 2.379 - 2.380 -\subsection{Levels of UCC and Consequence Graph} 2.381 -There is one last twist to the story of UCCs and consequence graphs, which is that there are levels of them that correspond to the levels of scheduler in a hierarchical machine. We use an example involving a server machine with a hierarchy of runtimes to illustrate both, concentrating first on just the UCCs, then adding the consequence graph. 2.382 - 2.383 -\subsubsection{Levels of UCC} 2.384 -For the example, consider a server with one rack, having a back-plane that boards plug into. A board has its own memory with four sockets, each having a chip with four cores. So there is a back-plane network connecting the boards, a bus on each board that connects the sockets to the DRAM, and inside the chip in each socket is a cache hierarchy that connects the cores. 2.385 - 2.386 -The hardware is given a set of runtimes to match the hierarchy. Each network or bus has a runtime that schedules work onto the things connected below it. So the top runtime divides work among the boards, while a board's runtime divides work among the sockets, and a socket's runtime divides work among the cores. 2.387 - 2.388 -To a runtime high up, each runtime below it looks like a complete machine. It schedules work-units to those machines, without knowing the internal details of how that machine is implemented. So the runtime at the top handles very large work-units that it schedules onto the runtimes on the boards. A board-level runtime divides up the work-unit it gets into smaller work-units, then schedules one onto each socket's runtime, and so on. 2.389 - 2.390 -The application in this example has been written in a language that allows work to be divided. The toolchain inserted a manipulator that allows each runtime to divide up the work it is given into smaller work-units, such as via the DKU pattern \cite{DKUTechRep_09}. This pushed the UCC of the application all the way to the right on the unit axis. 2.391 - 2.392 -So what does the concrete UCC produced during a run look like? Well, a unit is defined as the work resulting from one scheduling decision. Each runtime has its own scheduler, which means units are defined for each runtime. That in turn means that each runtime has its own concrete UCC. 2.393 -\begin{figure}[ht] 2.394 - \centering 2.395 - \includegraphics[width = 3.2in, height = 1.8in]{../figures/UCC_Levels_2.pdf} 2.396 - \caption{Representation of multiple levels of UCC.} 2.397 - \label{fig:UCC_Levels} 2.398 -\end{figure} 2.399 - 2.400 -Fig. \ref{fig:UCC_Levels} shows that these UCCs are related to each other in the same hierarchy as the runtimes. A unit scheduled by one runtime is in turn broken into sub-units that exist at a lower level. Each of those units is then separately scheduled by the lower-level runtime, according to a UCC just for them. So, as the figure shows, a unit in one UCC has an entire lower-level UCC inside it. 2.401 - 2.402 - %Great, that makes sense, now what about the consequence graphs? 2.403 - 2.404 -\subsubsection{Levels of Consequence Graph} 2.405 -With multiple levels of scheduling activities, a scheduling consequence graph can be constructed for each level. 2.406 - 2.407 -For a given level, a lower-level runtime is seen as a single processor entity. So, what is the consequence of deciding to schedule a given work unit onto one of those processor entities? When the goal is improving performance, the consequence of interest is the time taken until completion of the work unit. 2.408 - 2.409 -Hence, the question becomes, when can the upper-level work unit be considered completed? The answer is, when all the lower-level units of which it is comprised are completed, plus any additional work spent dividing up the work and combining results. Once the lower-level consequence graph is established, this time can be easily determined: it is the critical path across the lower-level consequence graph plus the additional, non-overlapped, time spent creating the lower-level units and combining results into the format of the higher-level unit. The divide and recombine are the creation of the lower level, and so not part of it. 2.410 - 2.411 -Consider the concrete example of the SSR matrix multiply application from Section \ref{sec:casestudy}. To start we go up a level, above the process created to execute the matrix multiply. Here, a unit is the execution of an entire application, invoked via OS commands. The work-time of that unit is the execution time of the application, from the first instruction of the application code until the last. This time equals the critical path through the matrix multiply work, plus creation of the various VPs, and collection of the results by the results VP. 2.412 - 2.413 -If the case study had been performed in hierarchical fashion, then the SCG seen there would be divided between levels, with creation and results accumulation moved to the higher application-level SCG. The lower-level would only contain the work of the multiply. 2.414 - 2.415 -One twist is that the divide and recombine are themselves composed of smaller work-units. However, they are not visible to units in the work portion, although there are causalities between them. The divide units end with creation of work-level units, while the end of work-level units causes creation of recombine units. 2.416 -Hence, divide and recombine are inside of the higher-level unit while not part of the lower-level SCG. They can be conveniently displayed in a single visualization because of the clean connection between levels provided by the create and end causalities. 2.417 - 2.418 -To complete the discussion, we consider going down another level, into the physical processor. In modern super-scalar multi-cores, each core is a parallel processor composed of functional blocks such as arithmetic or floating-point blocks, along with logic that issues instructions to those blocks. We first break down a single SSR work unit of the kind seen in Section \ref{sec:casestudy}, into smaller work units, namely individual instructions. Then we break instructions down into pipeline stages. 2.419 - 2.420 -The shape of the UCC for the instructions inside a single SSR level work-unit is a straight line of sequential dependencies. However, the pipeline stages inside a core modify the UCC. They analyse the register use dependencies between instructions and generate a new UCC consisting of functions constrained by the data dependencies. The dependencies are enforced by the issue logic, which goes on to assign ready functions to the functional blocks. The choices made by the issue logic determine the shape of the SCG for this level, and the critical path of that SCG is the work time of the higher, SSR level, work-unit. 2.421 - 2.422 -The pipestages spent performing fetch, decode, analysis, issue, and retirement correspond to functions in a runtime. Fetch corresponds to creation of the instruction-level work-unit. Decode and analysis logic generate the new UCC, as part of the runtime, Issue logic performs the scheduling function of a runtime. Retirement is also part of enforcing the dependencies, and so is also part of the runtime's scheduler. Most of the overhead of these pipestages is overlapped by the pipeline effect. but does still contribute to the critical path during pipeline disruptions like mis-predicted branches. It is counted as non-overlapped runtime overhead. 2.423 - 2.424 -%To give insight into going from the SSR work-unit level up to the application-level, let us now go from the instruction level up to the SSR unit level, `looking up' so to speak. Considering overhead, from inside the core, the SSR level overhead looks just like more instructions. 2.425 - 2.426 -%Nina: we should talk this part over.. (I should have left more of your wording in place in comments.. I like this way of co-editing.. : ) 2.427 - 2.428 -%One level up, the same holds true: The overhead of the unique application-unit would be the time spent in the OS, doing things such as setting up the application's memory space. This time is not visible from inside the application. However, it uses the same processing units (in this case, cores), and to them appears not very different from application work. The noticeable difference, in this case, is that the OS runtime is written using a different programming model instead of SSR. 2.429 - 2.430 - 2.431 -%Consider, in the matrix multiply code, the core usage spent while dividing the work and handing it to other cores. This is not work of the application, but overhead spent breaking the single application-unit into multiple sub-units. Even though it is in the application code, it's purpose is implementing the execution model, which makes it runtime overhead. But which runtime level? It's not part of the SSR language runtime, so not overhead of a unit inside the application, but rather it's for the application itself, as a unit! So, the core time spent calculating the division gets counted towards the application-level unit, while the time spent inside the SSR runtime creating the meta-units is counted towards those lower SSR-level units. But both are in the critical path, so both charged as work time of the higher-level unit. 2.432 - 2.433 - 2.434 -% Another way to view this is that by the process of elimination, the only core-time not accounted for elsewhere is the time spent dividing up a unit into smaller ones, and time spent accumulating the individual results back together. So this is what gets charged to the higher-level unit. 2.435 - 2.436 -%The last question is how to handle communication consequences, which result from decisions made in all levels? The decisions in higher-level runtimes set the context for decisions in lower-level ones, which links a higher-level choice to the consequences resulting from the lower-level choices. But the value of a consequence graph comes from linking the size of boxes in it to the decisions made by the scheduler. It's not clear how to divide-up the time cores spend waiting for non-overlapped communication, to assign portions to different levels. We have no good answer at the moment and leave it for future work. 2.437 - 2.438 -In practice, the question of levels does not come up very often for multi-core machines, as there is generally only one level of interest being investigated. However, the perspective is occasionally important here, e.g. when identifying the different components of the model in a concrete runtime so as to insert instrumentation code in the right places. 2.439 - 2.440 - 2.441 -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2.442 -\section{Implementation} 2.443 -\label{sec:Implementation} 2.444 - 2.445 -Now that the usage and theory are in hand, we give the details of implementation. We attempt a bottom-up view, to provide an alternate path to understanding the model and visualizations, as well to provide a path to derive the benefits directly from the details. 2.446 - 2.447 -This section will show the level of effort needed to implement our approach for a new language. In short, this involves inserting collection points into the runtime, then modifying the post-processing that produces the visualization. 2.448 - 2.449 -We cast the implementation in terms of the computation model, then identify the 2.450 -points inside the runtime that correspond to points in the model. It is only in these spots that instrumentation gets inserted into runtime code. 2.451 - 2.452 -One benefit seen directly from these details is that many things remain the same across languages, because the computation model is invariant across languages. This includes the basic nature of the visualizations and details of the implementation process. 2.453 -The reason is that visualizations are based on units, constraints, and causality, all of which exist in every language (even though some older ones obfuscate units and constraints on them). 2.454 - 2.455 -Another benefit evident from the details in this section is that the instrumentation is implemented only once, for a language. All applications written in the language inherit the visualizations, without change to the application code. 2.456 - 2.457 -\subsection{Meta-units and unit life-line in the computation model} 2.458 -\label{subsec:LifeLine} 2.459 -In preparation for mapping the model onto implementation details, we define a meta-unit and unit life-line. These form the basis for deciding points in the runtime where data is collected. 2.460 - 2.461 -Every unit has a meta-unit that represents it in the runtime. A unit is defined as the work that exists after leaving the runtime, up until re-entering it. For example, the trace of instructions on a core, from the point of leaving the runtime up until the next invocation. Looking at this in more detail, every runtime has some form of internal bookkeeping state for a unit, used to track constraints on it and make decisions about when and where to execute. This exists even if that state is just a pointer to a function that sits in a queue. We call this bookkeeping state for a unit the meta-unit. 2.462 - 2.463 -Each unit also has a life-line, which progresses so: creation of the meta-unit \pointer , state updates that affect constraints on the unit \pointer, the decision is made to animate the unit \pointer, movement of the meta-unit plus data to physical resources that do the animation \pointer , animation of the unit, which does the work \pointer, communication of state-update, that unit has completed, and hardware is free \pointer , constraint updates within runtime, possibly causing new meta-unit creations or freeing other meta-units to be chosen for animation. This repeats for each unit. Each step is part of the model. 2.464 - 2.465 - Note a few implications: first, many activities internal to the runtime are part of a unit's life-line, and take place when only the meta-unit exists, before or after the work of the actual unit; second, communication that is internal to the runtime is part of the unit life-line, such as state updates; third, creation may be implied, such as in pthreads, or triggered such as in dataflow, or be by explicit command such as in StarSs. Once created, a meta-unit may languish before the unit it represents is free to be animated. 2.466 - 2.467 -This explains why the visualizations remain largely the same across languages. The concepts of a meta-unit, a unit, constraints on a unit, and a unit life-line are all valid in every language. The visualizations are based on these concepts, and so likewise largely remain the same. In the UCC, only the constraint patterns that represent the language's constructs change between languages. In the SCG, only which construct a line in the SCG represents changes. 2.468 - 2.469 -\subsection{Mapping model onto implementation details in runtime} 2.470 - 2.471 -The model's concepts of meta-unit and unit life-line map directly to the UCC visualization. The constraints in the UCC visualization are those stated in or implied by the application (with the complexities about UCC modifications and levels noted in Section \ref{sec:theory}). 2.472 - 2.473 -However, the SCG is not a strict expression of the model, rather it's purpose is practical. It shows usage of cores, and relates that to the quantities in the model. Hence, the measurements for the SCG all are boundaries of where the core's time switches from one category in the model to a different. 2.474 - 2.475 -This differs from the model in subtle ways. Most notably, the model declares segments of time where communications take place, while the SCG doesn't measure the communication time directly, rather it captures idleness of the core caused by the non-overlapped portion of that communication. Also, when calculating the critical path, the SCG only counts non-overlapped portions of runtime activity. 2.476 - 2.477 -This difference stems from the SCG's focus on core usage, and assigning each idle period to a cause. The runtime's choice of units to cores is what determined the source and destination of communications, which caused the idling. Hence, idle periods due to non-overlapped communication are consequences of the assignment choices made by the scheduler. This supports the name: scheduling consequence graph. 2.478 - 2.479 - 2.480 -What must be collected during the run differs between the two types of visualization. For the UCC it is unit boundaries and the constraints related to each unit. For the SCG, the same units must be collected, but also the time a core spends on each segment of the unit's life-line. Also, implementation details of the runtime will cause things such as idling the core during lock acquisition to be counted towards a unit's life segment. What core activities go to which life segments changes from runtime to runtime. For example, our implementation includes idle time due to acquiring the lock on shared runtime state as part of the life-line step of state update. 2.481 - 2.482 -The SCG represents each cause of a transition from one segment of core usage to another as an arc between regions or boxes. Such a causation is always a causal dependency of some kind, because the SCG only represents physical events, even if it corresponds to a complex construct in the application. These causations are collected and tied to one of: construct constraint, runtime internal constraint (such as must acquire lock), or hardware constraint (such as only one activity at a time on a core). In this paper, all are collected, but the only causations visualized are constructs that cross cores, with propendent on one core and its dependent on another. 2.483 - 2.484 -\subsection{Instrumenting our implementation of SSR on top of VMS} 2.485 - 2.486 -We instrumented a version of SSR implemented on top of a proto-runtime system called VMS \cite{VMS_LCPC_11}. This proto-runtime embodies most of a runtime implementation, but has replaced two key portions with interfaces. Those portions are the handling of language construct-constraints and the decision of which core to assign a unit to. To implement a language, one simply supplies those two portions of code, via the interface. 2.487 - 2.488 -VMS also has the advantage for our approach of being written in accordance with the computation model, which makes instrumenting it especially convenient. Each language construct has its own handler into which to insert measurement code, and transitions in unit life-lines also have convenient locations in VMS to insert instrumentation code. 2.489 - 2.490 -\subsubsection{SSR background} 2.491 -A distinction important to understanding SSR and other parallel languages is being task-based versus virtual processor (VP) based. Task-based languages include dataflow, CnC, and StarSs. These tasks don't suspend and resume, but rather execute to completion. Hence, such a task is the same as our definition of unit. They have no state that persists across calls to the runtime. In contrast, a virtual processor does suspend and resume and so has state that persists across runtime calls. Examples include pthreads, OpenMP thread-based constructs, UPC, and so on. 2.492 - 2.493 -SSR is based on virtual processors. They execute sequential code that occasionally calls a parallel construct, which suspends the VP and switches to the runtime. This means that each VP contains a sequence of units, with each unit the trace-segment between two SSR library calls. 2.494 - 2.495 - 2.496 -SSR has both deterministic constraints, which specify the source and destination VP, such as send\_from\_to, and non-de\-ter\-mi\-nis\-tic ones, in which the runtime is what chooses which VPs interact, such as send\_of\_type\_to\ and singleton. Deterministic ones display the same in the UCC and the SCG. However, non-deterministic ones need all possibilities to be determined for the UCC, requiring extra instrumentation code. 2.497 - 2.498 -\subsubsection{Collecting a unit} 2.499 -Code to record a new unit is inserted into VMS at the transition out of the runtime and into application code. Code to record the unit end is inserted into the VMS primitive that performs switching back to the runtime. 2.500 - 2.501 -\subsubsection{Collecting the constraints} In VMS, each language construct has its own handler. Code is inserted into each handler, to record which unit invoked the construct, and any units freed by it. The SCG links the unit that made a construct call to the units freed by that call. 2.502 - 2.503 -What information needs to be collected for SCG and UCC and how it is done depends on the construct: 2.504 -\begin{itemize} 2.505 -\item create\_VP: We place code into the create\_VP\ handler, which records the calling VP\ + unit, along with the newly created unit, and the VP it is assigned to. Both the SCG and UCC draw arcs between creating unit and created. 2.506 -\item send\_from\_to and receive\_from\_to: \textbf{} Code is placed into both handlers at the point that checks if both the rendez-vous requests are present. When true, it records the two units + VPs that connected. The UCC and SCG both represent this by two crossing dependencies. 2.507 -\item Send\_to\_of\_type and receive\_to\_of\_type: The same code is inserted to record the unit+VPs that connected. This is enough for the SCG. But for the UCC, we want to capture all sending and receiving permutations available, so we add code that collects the group of senders and the corresponding group of receivers. 2.508 -\item Singleton: The singleton unit has a group of predecessor units and a group of successor units. The first predecessor to complete enables the singleton unit, while all successors must wait for its completion. We insert code into the handler, which records the predecessor that enabled the singleton unit. This is all that the SCG needs. For the UCC, we add code inside the singleton call that collects the calling unit, adding it to the predecessor group, and the unit it jumps to, adding that to the successor group. 2.509 - 2.510 -\end{itemize} 2.511 - 2.512 -\subsubsection{Recording time, instructions, and cache misses } 2.513 - Just recording the units and connections between them is not enough for the SCG. Because it represents core usage, the SCG also needs the cycles spent on each activity to be collected, including internal runtime activities. The size of each interval of core usage is recorded and assigned to a segment of some unit's life-line. 2.514 - 2.515 -The UCC also makes use of the number of instructions in a unit, as an estimate of size of work in the unit, as illustrated by Fig. \ref{fig:UCC_expl}. Without knowing the relative size of the units, it is hard to estimate the amount of parallelism \emph{usefully} available in the application. 2.516 - 2.517 -To measure the instructions, cycles, and communication (cache misses), we use hardware performance counters. Readings are inserted into the runtime code to capture core time spent on each segment of the life-line of a unit: 2.518 -\begin{enumerate} 2.519 -\item Create meta-unit: This is the time spent inside the create\_VP construct's handler function. 2.520 -\item Update constraints: This is the time spent inside the handler functions that implement the constructs. 2.521 -\item Decision to animate: This is the time spent inside the language-supplied assigner function. 2.522 -\item Move meta-unit to core: This is via shared variables, recorded as part of 3. 2.523 -\item Move work data to core: This is via cache misses, recorded as part of 6. 2.524 -\item Do the work of the unit: This is the cycles between the switch-to-unit and the following switch-to-runtime. 2.525 -\item Communicate state update: This is the time between leaving the application code and starting the construct handler (which includes lock acquisition). 2.526 -\item Resulting constraint updates: This is the time spent inside the construct handler, and is the same as 2. 2.527 -\end{enumerate} 2.528 - 2.529 -To cover each of those segments of a unit's life-line, code to read the performance counters is inserted at: 2.530 - 2.531 -\begin{itemize} 2.532 -\item Construct handler: To measure 2 and 8, reading is done before and after VMS calls the language-supplied construct handler function.\item 2.533 -Assigner: To measure 3 and 4, reading is done before and after VMS calls the language-supplied assigner function. 2.534 -\item Work: To measure 5 and 6, reading is done by reading inside the VMS switch-to-unit operation, and the switch-to-runtime operation. 2.535 - 2.536 -\item 2.537 -Dual-use: 1 is measured by using the construct handler reads for the create\_VP construct handler. For 7, the switch-to-runtime read is subtracted from the read at the start of the construct handler function. 2.538 -\end{itemize} 2.539 - 2.540 - 2.541 -For clarity, all but work are grouped as overhead in the visualization, but they could be displayed separately if needed. 2.542 - 2.543 - All the measurements are output into a trace file, which is then evaluated after the run to build the visualizations. 2.544 - 2.545 -\subsection{Building the Visualizations} 2.546 - 2.547 -Both the UCC and the SCG are internally represented as directed graphs, with units as nodes. 2.548 - 2.549 -\subsubsection{UCC} 2.550 -For the UCC, units can be either unweighted or weighted. Weighted units appear as rectangles with height proportional to the weight, unweighted units appear as circles. We weight the units with the number of instructions in the work. This is not entirely execution-independent, but removes some of the influence of scheduling and data, such as cache misses. 2.551 - 2.552 -A critical path algorithm calculates vertical position of a unit, as its position within the critical path. The nodes are spread horizontally such that none overlap. 2.553 -Simple constraints (dependencies) are painted as arcs. Complicated constraints are for now displayed as an additional node bearing information on the constraint, with incoming arcs from all units whose execution status affects the constraint, and outgoing arcs going to the constrained units. 2.554 - 2.555 - 2.556 -\subsubsection{SCG} 2.557 - 2.558 -For the SCG, all nodes are weighted with the number of cycles spent on the unit in total (work + overhead). For display, the nodes are split into overhead and work. The same critical path algorithm as for the UCC is used to place nodes vertically, but this time horizontal placement is determined by the core on which the unit was executed (hardware dependencies ensure no overlap). 2.559 - 2.560 -Constraints can then be overlaid, color coded by type. By default, in SSR, we display creation, direct and typed message sending (but not the crossing dependency from the receiver back to the sender), and singleton outgoing dependencies; but each type can be individually hidden or shown. 2.561 - 2.562 -All this information is taken purely from the runtime, leading to a rich, configurable visualization without needing to add anything to the application. 2.563 - 2.564 -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2.565 -\section{Conclusion} 2.566 -\label{sec:conclusion} 2.567 - 2.568 -We have shown how to apply a generalized model of parallel computation to build adaptable performance visualizations, relying only on information collected through instrumenting the language runtime, with no modification to the application. 2.569 -The approach is demonstrated through the case study of instrumenting the SSR message-passing language runtime and using it to tune a simple parallel matrix multiply. 2.570 - 2.571 -<<<<<<< local 2.572 -A case study related the usability improvements in ease of identifying instances of performance loss (via the Scheduling Consequence Graph, SCG); verifying that better performance is possible (via parallelism available in the Unit and Constraint Collection, UCC); connecting loss to the causes (via SCG) no matter if cause is application structure, runtime implementation, or hardware feature; and suggesting changes to the application to improve performance. 2.573 -======= 2.574 -The resulting visualizations show that the focus on the parallelism-relevant concepts of work units and constraints on their execution allows a clearer view of parallelism-specific issues. 2.575 -By integrating visual display of constraints stemming from application structure, language runtime implementation, or hardware features, the various possible causes for performance loss are covered. A flexible filtering system for different types of constraints avoids overcharging the display. 2.576 ->>>>>>> other 2.577 - 2.578 -As the approach relies on information available to the runtime, we expect that even better results will be observed for ``high-level'' parallel languages that more closely match application concepts instead of hardware concepts. 2.579 - 2.580 -\bibliography{bib_for_papers_12_Jy_15} 2.581 - 2.582 -\end{document} 2.583 - 2.584 -=============== 2.585 - 2.586 -(This is not true:) plus each point that state update directly affects the life-state of the unit. Such state updates include life-state of other units involved in constraints with the target unit (because they may cause a change in target unit's life-state), updates of hardware state that directly cause a change in target unit's life state (such as hardware becoming free coupled to the scheduler choosing the target unit), and lastly any internal runtime state changes related to the unit (such as idling until a lock is acquired). The language provides construct-based constraints, while the runtime and hardware provide additional ones. 2.587 - 2.588 -===============? 2.589 - 2.590 -\subsection{Elements} 2.591 -The process of instrumenting is stra 2.592 - 2.593 -? 2.594 - 2.595 --] Follow details up to visualization 2.596 - 2.597 - 2.598 - 2.599 - 2.600 --] Highlight Benefit: Main effort is just inserting collection points into runtime, and if using VMS, this is especially simple and straight-forward. 2.601 - 2.602 --] Effort for implementing in new language: inserting collection points into runtime, and modifying portions of CG script that connect the blocks, and modifying portions of UCC script that draw lines connecting units. 2.603 - 2.604 -\subsection{Elements} 2.605 - 2.606 -The main elements of the approach are: collection points, the output from them, and the post-processing that draws the visualizations. 2.607 - 2.608 -\subsubsection{Collection points} 2.609 - 2.610 - 2.611 -There are two distinct kinds of collection points: those for the UCC and those for the CG.? 2.612 - 2.613 -The UCC requires 2.614 - 2.615 -? 2.616 - 2.617 - 2.618 -Collection Points: -- this is for bottom-up and for skeptic, plus implementer 2.619 - 2.620 - 2.621 --] For UCC, these are points in life-line of unit being executed where collect 2.622 - 2.623 --] For CG, these are points in life-line of unit being executed where collect 2.624 - 2.625 --] For CG, these are the points inside runtime that get collected 2.626 - 2.627 - 2.628 - 2.629 - 2.630 - 2.631 --] for SSR, for CG, put this collection at this point <blah blah>.. again, see VMS for more on the points.. 2.632 - 2.633 -? 2.634 - 2.635 - 2.636 - 2.637 -Output format: for implementer 2.638 - 2.639 --] The collection is made into a ListOfArrays, and dumped out in-order into a file 2.640 - 2.641 --] Each point in file has: <info> 2.642 - 2.643 -Scripts: for implementer 2.644 - 2.645 --] One that does X 2.646 - 2.647 --] one generates SVG of UCC 2.648 - 2.649 ---] arranged so: 2.650 - 2.651 --] one generates SVG of CG 2.652 - 2.653 -To adapt to a new language: for implementer 2.654 - 2.655 --] If use VMS, then only collection points that change are in request handlers 2.656 - 2.657 --] portion of script to modify is X 2.658 - 2.659 --] script has X lines, only Y are specific to a language 2.660 - 2.661 - 2.662 -Notice, all work is inside runtime and post-processing scripts 2.663 - 2.664 -Notice, the process for a new language is the same, indep of particular exe model or constructs of the language -- it comes down to the same points on the lifeline of a unit, all that changes is the pattern of constraints implied by a particular construct. 2.665 - 2.666 - 2.667 - 2.668 -================== 2.669 - 2.670 -The visualization relies on data collected from the runtime during execution. There are two kinds of information that need to be recorded: identification of units and constraints, and execution metric measurements. 2.671 -The first can be obtained from the language runtime at the places where constraints are checked and modified and units are created. The second have to be recorded as the unit progresses through different stages of execution. 2.672 - 2.673 -\subsection{Units and Constraints} 2.674 - 2.675 -As units are defined by scheduling decisions, the creation of a unit is easiest to register at the point where the unit is assigned to a processing element. This ensures that all units that are executed are recorded, and conversely, all units that are recorded are really executed. 2.676 - 2.677 -There is no significant variation in this between languages, and the units are the same for the concrete UCC and the SCG. 2.678 -Language constructs specify constraints on units, where the connections between units can be very complex. Hence the instrumentation needs to be tailored to the constructs. 2.679 - 2.680 -Using the concrete case of SSR, we show the correspondence between the language's constructs and the elements of the UCC and the SCG. 2.681 - 2.682 -SSR, like threads, is based on the concept of virtual processors (VPs). These VPs execute sequential code that occasionally makes use of parallel language constructs, which suspend the VP and switch to the runtime. 2.683 - 2.684 - The runtime checks the constraints defined by the language, performs some operations (e.g. transmitting a message) if required, and then calls the scheduler to decide upon the next VP to be run. With our definition of units as bounded by scheduling decisions, this means that each VP contains a sequence of units, with each unit the trace-segment between two SSR library calls. 2.685 - 2.686 -There is always a ``dependency'' (constraint that only frees the dependent after the propendent finished) between two successive tasks inside a same VP, since they are part of a continuous sequential code. This is a deterministic constraint, so it is the same in the UCC and the SCG. For non-deterministic constraints, such as singleton and send\_of\_type, all possibilities need to be added to the UCC. But only the actually realized choice is used in the SCG. 2.687 - 2.688 -Additional constraints can be placed on the tasks depending on the construct: 2.689 -\begin{itemize} 2.690 -\item Create VP: The creation of a new VP creates a simple dependency: the first task in the new VP may only execute after the creating task has finished. 2.691 -\item Simple send and receive: Send to and receive from a specific VP is rendezvous based, so that the units following the communication in both VPs can only execute after the units preceding the rendezvous point in both VPs have finished. This can easily be represented by two crossing dependencies. These are deterministic, so the record is the same for the UCC or the SCG. 2.692 -\item Typed send and receive: Typed send/receive is also rendezvous based, but contrary to simple send/receive, the pairing of sender and receiver is not deterministic. For the SCG, which represents a specific run, the actual communications observed can be recorded in the same way as simple send/receive, but for the UCC, we want to capture all sending and receiving permutations available. In this case, since the construct specifies no further constraints beyond the type of the message, we simply record for each type a group of senders and a group of receivers. 2.693 -\item Singleton: For the singleton construct, there is a group of predecessors, the completion of one of which is sufficient to fulfil the constraint on the singleton unit. All successors have to wait for the completion of the singleton, so these are simple dependencies. 2.694 -\end{itemize} 2.695 - 2.696 -\subsection{Execution measurements} 2.697 - 2.698 -In addition to identifying the units and the relations between them, we need to capture how much work a unit represents and how many resources (mainly core-time) it occupies. 2.699 - 2.700 -For performance tuning it is obviously critical to know the actual performance, but even for the UCC these measurements are important. Indeed, as evidenced by Fig. [fig:UCC_expl], without knowing the relative size of the units, it is hard so estimate the amount of parallelism in the application. 2.701 - 2.702 -We use hardware performance counters to measure for each unit the work (=time spent in application code) and the overhead (=time spent in runtime) in cycles and in instructions, as well as the number of last level cache misses during the work. The counter values are retrieved in the runtime before and after several sections in the lifetime of a unit: 2.703 -\begin{itemize} 2.704 -\item Assign: Deciding which unit to execute next 2.705 -\item Work: Doing the work of the unit 2.706 -\item Invocation: Switching back from the work to the runtime 2.707 -\item Construct handler: Performing actions requested by the application and updating constraint status 2.708 -\end{itemize} 2.709 -For clarity, all but work are grouped as overhead in the visualization, but they could be displayed separately if needed. 2.710 - 2.711 -We also record which core a unit was executed on. All these measurements are directly output into a trace file, which is then evaluated after the run to build the visualizations. 2.712 - 2.713 -\subsection{Building the Visualizations} 2.714 - 2.715 -Both the UCC and the SCG are represented as directed graphs, with units as nodes. 2.716 - 2.717 -\subsubsection{UCC} 2.718 -For the UCC, units can be either unweighted or weighted, if an estimation of the amount of work is available. Weighted units appear as rectangles with height proportional to the weight, unweighted units are circles. Our implementation can use the number of instructions in the work section from a run to weigh the units. This removes some of the influence of scheduling and data, such as cache misses, but can be insufficient if the application is strongly data- or scheduling-dependent. 2.719 - 2.720 -Simple, deterministic dependencies are represented as arcs. Complicated constraints are for now displayed as an additional node bearing information on the constraint with incoming arcs from all units whose execution status affects the constraint and outgoing arcs to the constrained units. 2.721 - 2.722 -A critical path algorithm is then used to place the nodes vertically, from top to bottom. For non-deterministic constraints, it is possible to enable or disable their participation in the path. Enabling them will lead to an over-estimation of the critical path, disabling them to an under-estimation. (Better solutions welcome) Horizontally, it is simply ensured that no nodes overlap. 2.723 - 2.724 -\subsubsection{SCG} 2.725 - 2.726 -For the SCG, all nodes are weighted with the number of cycles spent on the unit in total (work + overhead). Nodes are then further displayed separated into overhead and work. Because it displays a concrete run, the actual choices made for all non-deterministic constraints are available, so all dependencies are deterministic. The same critical path algorithm as for the UCC is used to place nodes vertically, but this time horizontal placement is determined by the core on which the unit was executed (hardware dependencies ensure no overlap). 2.727 - 2.728 -A selection of constraints can then be overlaid, with color codes by type. In SSR we display by default creation, direct and typed message sending (but not the crossing dependency from the receiver to the sender), and singleton outgoing dependencies; but each type can be individually hidden or shown. 2.729 - 2.730 -All this information is taken purely from the runtime, leading to a rich, configurable visualization without needing to add anything to the application. 2.731 - 2.732 -\section{Conclusion} 2.733 -\label{conclusion} 2.734 -We have shown how to apply a computation model to instrument a language runtime for collecting measurements that connect: each measurement to others, to application structure, to scheduling decisions, and to hardware. A simple visualization of the data has features that indicate lost performance, and features that visually link the lost performance to the cause, no matter if the cause is application structure, language runtime implementation, or hardware feature. It is this linkage, due to the computation model, that sets this approach apart from others. 2.735 - 2.736 - 2.737 -\bibliography{BibForPapers} 2.738 - 2.739 -\end{document} 2.740 - 2.741 -====== 2.742 - 2.743 -Check-list -- be sure catch these: 2.744 - 2.745 -Pic illustrates matrix mult divider algorithm. 2.746 - 2.747 -Pic illustrate processors created and communication between them. 2.748 - 2.749 -How consequence graph features each tie back to features in UCC and to specific segments of code or constructs. 2.750 - 2.751 - 2.752 -Which lang features support model -- units, plus clear constraints on them -- can still do with pthreads, but less effective because don't have clean units nor semantics of constraints on units -- SSR provides these, as do languages like CnC, StarSs, and so on 2.753 - 2.754 -No application instrumentation -- everything is inside language runtime (part in plugin, part in VMS -- VMS is just a helper to simplify runtime creation). 2.755 - 2.756 -Pic from VMS paper, with arrows pointing to places instrumentation injected. 2.757 - 2.758 -Avoid word "tool" in connection with visualization.. no need to draw attention to fact that we don't have a GUI, the contribution is not a tool, but rather a methodology, and the visualizations are just one element of the methodology 2.759 - 2.760 -Semantic information from application-code: The units, constraints on them, type of constraint, code executed in unit 2.761 - 2.762 -visual link perf-loss to code, as cause (or perf-loss to runtime or HW) 2.763 - 2.764 -visual: units, sched decision on each, hardware assigned to, runtime overhead on each, constraints bounded choice of hardware and order 2.765 - 2.766 -constraints color-coded by language-defined type 2.767 - 2.768 -visually, performance issue is pattern of either idle time or overhead 2.769 -Together: visual links to units involved in perf-loss, which links to code-snippet, and to parallelism-construct defining the unit boundary and the construct constraining its scheduling. 2.770 - 2.771 -collect info by instrumenting runtime of lang -- do once, works all apps 2.772 - 2.773 -ties visual features to app-code segments -- despite app-independent 2.774 - 2.775 -Benefit: simple see perf-loss features, simple to link to cause in code, straight-forward to devise a fix. 2.776 - 2.777 -visual show unit linked to overhead in runtime to handle the constraints on unit, and choose its assignment to HW. 2.778 - 2.779 -Visual: idle of core from comm, NOT comm itself -- Rather than indicate how much time a communication takes, the visualization instead indicates how much idle time is caused on a core as a consequence of that communication. This is the most useful-to-observe cost, of the communication. It naturally accounts for overlap, and only alerts the person tuning when there is a true cost, when the core idles. 2.780 - 2.781 -visual: non-ov comm + work, accounts cache-misses on out-of-order. The second aspect of communication is the emergent effect of cache misses on computation rate. As such, the relative size of work-units is visualized, which includes the cost of cache misses, given a shared-memory multi-core machine. 2.782 - 2.783 -three prevalent classes of performance loss are clearly displayed by our visualization: runtime overhead (including lock acquisition time), communication cost (both cache misses and runtime internal control communications), and poor scheduling choices (assign work in an order that causes idle time on cores) 2.784 - 2.785 -VMS == easy instrument lang -- Properties of VMS make it easy to instrument other languages, so the technique is straight-forward to apply to any VMS-based language. For UCC, have to make own data struct for lang-specific dependencies. For units, can be generic and pulled down into VMS. VMS provides support for the instrumentation -- describe standard things support. Reuse code btwn plugins, for units, and common communication constructs (?) 2.786 - 2.787 - 2.788 -UCC is application-derived degrees of freedom for picking assignment of work to HW resources. 2.789 - 2.790 -N to N construct -- ex of not-dependency but still constraint 2.791 - 2.792 -how features indicate performance loss, and link picture elements that indicate perf loss to sources of loss -- could be param choices, like how many pieces to make, or input choices like size of matrix, or code choices, like how to perform division, or scheduling choices, like how to assign work-units to cores. 2.793 - 2.794 -show UCC and consqG pics.. point out glaring visual feature that says a big perf loss.. show how links to cause.. and so on.. 2.795 - 2.796 -============================== 2.797 - 2.798 -\section{Random Early Thoughts} 2.799 - 2.800 - 2.801 -Key places in plugin code for instrumentation -- places in the request handler that change state of a VP -- track down in plugin code every place that VP state changes, and put instrumentation there. 2.802 - 2.803 -If have a mutex -- is an acquire and a release -- VP only interacts with sem env, not another VP, but dependencies are between VPs, so have to record the sequence of interactions with semantic environment to establish causality chain (even though it's a runtime causilty chain, not necessarily an app constraint) 2.804 - 2.805 -For Vthread, no UCC, only consequence graph. 2.806 - 2.807 -Can apply this model to pthreads, but UCC has no useful info because units of work are not well defined -- they are instead defined in the application code -- application normally implementes an application-specific runtime as part of app -- mutexes and cond variables force adding application-related work-unit semantics to the application, in effect creating an application-specific language, via implementing an application-specific runtime. That semantic information is not available to the pthreads language, and so is not capturable in a pthreads derived UCC. -- picture illustrates runtime, which embodies language construct semantics -- how SSR has two levels, but pthreads has three.. 2.808 - 2.809 -============= 2.810 -What's broken in others: 2.811 - 2.812 - the or have cache misses over time, but never have a coherent view of how application code connects to what happens where and when. 2.813 - 2.814 -Can have a timeline view, and next to that execution by function and what percent by function, next to that histogram of cache misses. But no coherent view of how to connect these things. There is information missing that connects the views. The user still has to guess about what the cause might be. 2.815 - 2.816 -The problem of the other vis is they don't give shape of application.. 2.817 - the fundamental parallelism related structure. 2.818 - 2.819 - 2.820 -to have more theoretical underpinning and several views that connect to each other. The user needs more information, with some mental framework to 2.821 - 2.822 -a lot of the time it's lists of measurements, or bar graphs, things like that -- over the whole application or by function -- forcing guessing of how it connects to -- if it tells you that this line creates a lot of level 2 cache misses, that doesn't tell you what the application is doing to cause this.. but when have whole UCC along with it, have context for the measurements -- puts the line of code into a framework -- it's necessary but not useful by itself -- it needs to be connected -- the unit information is more interesting than the line of code information -- line of code has only sequential meaning, missing scheduling connection -- need the scheduling behavior added -- need to know the unit of work that's causing problem, not the line of code -- unit provides a parallelism context, line of code does not.. unit provides an execution order and execution location, with implied communication -- line of code does not. 2.823 - 2.824 - 2.825 - 2.826 - 2.827 -====== Related work ======== 2.828 - 2.829 -StarSs is clearly thinking about tasks, and even some about scheduling. but limited on scheduling -- can just place task into a queue, so can sort of manipulate scheduling but view doesn't really give all the constraints -- missing the runtime overhead, and missing the idle-time consequent from non-overlapped comm. 2.830 - 2.831 -The PPoPP 12 paper and its ilk are fall into same category -- measurements without model to connect measurement to cause. 2.832 - 2.833 --] MPI event based (Paragraph) 2.834 - 2.835 --] Invasive Application Instrumentation approach (Paradyn) 2.836 - 2.837 --] Thread-model based (Tau) 2.838 - 2.839 --] profiling based (VTune, PPoPP 12 paper..) 2.840 - 2.841 --] Task-based 2.842 -(StarSs) 2.843 - 2.844 -? 2.845 - 2.846 --] Instrument language runtime -- all applications inherit free 2.847 - 2.848 --] Computation model backs it, connects effect back to cause 2.849 - 2.850 --] Visual features indicate which hardware is idle 2.851 - 2.852 --] Visual features indicate cause of idleness 2.853 - 2.854 --] Low overhead instrumentation 2.855 - 2.856 --] Task carries extra info that organizes -- connects disparate measurements -- helps connect effect back to cause 2.857 - 2.858 --] Multiple languages easily reuse instrumentation 2.859 - 2.860 --] Visual features indicate langauge features from app-code 2.861 - 2.862 -? 2.863 - 2.864 - 2.865 -========== 2.866 - 2.867 -MPI is also machine-based abstraction, that gives communication information, but doesn't have concept of constraints . Its sort of in-between.. 2.868 - 2.869 -For communication, want two things: 1) idle-time on cores that is consequence from particular communication pattern, and in some cases 2) the energy due to the volume of communication. Both are consequence of the scheduling choices made. 2.870 - 2.871 - 2.872 - 2.873 - 2.874 -=======================? 2.875 - 2.876 -Their structure information is either call graph or line of code. This is too limited for parallel performance. Need tasks and scheduling. More recent languages move towards task-based. This makes more of the needed structure information available. But we've not seen a complete or coherent presentation. 2.877 - 2.878 -===== 2.879 - 2.880 - The value of a consequence graph is linking the size of boxes in it to the decisions made by the scheduler, which are represented by the shape. This lets a person visually link scheduling decisions to consequences. The mind can quickly see empty areas, representing lost performance, and connect those to boxes and lines that cause the empty areas. They then look up the code of each box and construct of each line, which gives them the code structures that caused the loss of performance. This \emph{visual} linkage of undesirable effect back to \emph{cause in the code} is what sets our approach apart. 2.881 -The value of the UCC is visually linking cause of performance loss to options available for fixing it. 2.882 - 2.883 -===== 2.884 - 2.885 - 2.886 - 2.887 -A survey of the most highly cited classic papers shows the commonality.. 2.888 - 2.889 -=========== 2.890 - 2.891 - 2.892 -Use case: takes longer to create when more units -- that's because it mallocs all the matrix pieces, before it pairs any and starts the pair as work -- can see this from the graphs by linking the units to code they execute -- not the functions, specifically, but to the scheduled code-snippet. -- suggests changing the way divider works. 2.893 - 2.894 -Graph tells us the division code is bad -- works better when have 39 cores instead of 40 -- makes more pieces for 39 than for 40, and the end up fitting better onto the cores.. 2.895 - 2.896 -Systematic way of adding auto-tuning to language -- using TSC for time measurements, and counters for cache miss. Provides a framework that links the pieces together, and the UCC gives critical information useful in tuning. 2.897 - 2.898 -======================= 2.899 - 2.900 -Advantage: unlike statistical, it catches all "one off" and momentary serializations, which cause massive idling. 2.901 - 2.902 -Advantage: it is quick and easy to instrument a language that uses the same runtime abstraction (VMS) -- VMS was made to make language runtimes quick and easy, with low overhead (cite). VMS has the base instrumentation in it, language adds the types of constraints and the collection points. Each request to the runtime is in a separate (inlined) function, which makes adding the instrumentation simple. 2.903 - 2.904 -Advantage: instrument the language, NOT the application -- and yet it gives all the application-specific information from a run. -- others: Tau forces extensive instrumentation of application.. MPI based ones don't give the constraint info, nor what occupies time of core info.. 2.905 - 2.906 -======================= 2.907 - 2.908 -Expl of what is meant by "structure" info -- example where meas of runtime system showed that overhead of task creation took longer than task execution. Hypothesis was trivial: cause of lost performance is runtime overhead of creation is larger than work in a scheduled unit. The plan to fix is to change the number of work-units created, by changing the parameter in the divider code. Implementing this and re-executing showed that this source of performance loss was fixed by the change. 2.909 - 2.910 -The example shows that theory is part of hypothesis generation, because it required knowledge of the runtime and understanding that creation of a task is work performed as overhead inside the runtime. The example also shows that generating the plan to fix required understanding the segment of code that divided work into tasks, and the relationship between parameters to that code and execution time of the resulting tasks. 2.911 - 2.912 -Hence, each step of performance debugging involves several aspects, including mental model of computation, application code, runtime implementation, scheduling choices, and hardware. In order to be effective, a tool used during performance tuning must be part of a complete model of computation that ties all aspects of the debugging/tuning steps together. Current tools fall short, both because they lack an encompassing model of computation, and because the tools are isolated from each other. Without integration, the user gets an incomplete picture of the computation and must resort to guesses either of where the problem lies or of what to do to fix it. 2.913 - 2.914 - 2.915 -We introduce in this paper a model of computation that ties all aspects of performance together, along with instrumentation and visualization that is guided by the model and that links all relevant performance tuning information together. The model and visualization tools are illustrated with a case study, which shows how they are used to performance tune the standard matrix-multiply application on two multi-core systems. 2.916 - 2.917 -Although we use standard visualization techniques [cite], our approach differs from previous work in both theoretical and practical aspects. The theory we use is The Holistic Model of Parallel Computation, which ties together parallelism construct semantics with scheduling choices made during a run, and specific measurements made on the cores. When put into practice, new kinds of measurements are taken, which complete the picture presented to the user, and each measurement is tied to a specific segment of code. The resulting combination not only identifies each source of performance loss, but ties it back to specific causes and suggests precise fixes, all of which is illustrated in our story line. 2.918 - 2.919 -[maybe some stuff about features and benefits of our approach: no app instrumentation, it's all inside language runtime, very low overhead, integrated with VMS-based functional debugging, and so on] 2.920 - 2.921 - 2.922 -Table of features/benefits comparing us to others -- in related work section. 2.923 --- language invariant.. concepts are lang independent, visualization is language independent 2.924 --- instr lang once, then works across apps 2.925 --- Integrate measurements with runtime implementation details 2.926 --- Integrate measurements of one kind with those of a different kind 2.927 --- Integrate measurements of core activity with code snippets 2.928 --- Underlying theory ties measurements to each other, to runtime, and to hardware 2.929 --- Has concept of unit of work / task 2.930 --- Includes communication between cores 2.931 --- Shows what each core spends each bit of time on 2.932 --- Visual representation directly indicates areas of performance loss 2.933 - 2.934 -\begin{table*}[ht!] 2.935 -\caption 2.936 -{Comparison of Features and Benefits 2.937 -} 2.938 -\label{tabPersonDaysLang} 2.939 -\begin{center} 2.940 -\begin{tabular}{llll} 2.941 - & Tau & Paradyn & ASH \\ 2.942 - Has Underlying Parallel Computation Model & & & Y\\ 2.943 - Has concept of schedulable unit of work & & & Y\\ 2.944 - Visualization is Invariant Across Languages & & & Y\\ 2.945 - Instrument Language only (not app code) & & & Y\\ 2.946 - Integrates Measurements into whole picture & & & Y\\ 2.947 - Visualizes all core activities & & & Y\\ 2.948 - Core's activities are integrated with scheduling decisions & & & Y\\ 2.949 - Visualizes runtime overhead & & & Y\\ 2.950 - Visualizes consequences of communications & & & Y\\ 2.951 - Visually suggests \emph{hypothesis} for performance loss & & & Y\\ 2.952 - & & & Y\\ 2.953 - & & & Y\\ 2.954 - & & & Y\\ 2.955 - L.O.C. & 470 & 290 & 310 2.956 - \end{tabular} 2.957 -\end{center} 2.958 -\end{table*} 2.959 - 2.960 - 2.961 -=================== 2.962 - 2.963 -Perf bounded by: the application-imposed constraints on scheduling units, the hardware-imposed constraints on scheduling them, and the runtime-implementation imposed constraints on scheduling them. 2.964 - 2.965 - 2.966 -Par Comp Model: Scheduling is a fundamental part of parallel execution. The views must include both constraints on scheduling and the actual scheduling choices. The parts that affect what scheduling choices are possible must connect to the parts that show which ones were taken. 2.967 - 2.968 - 2.969 -========== Table ref, figure environment, table environment 2.970 - \tabref{table1}. 2.971 - 2.972 -Using the Figure environment: 2.973 -\begin{Figure}[h]{figurelabel}% <- don't forget this percent! 2.974 - {Caption for figure, Figure environment.} 2.975 -\fbox{The figure matter goes here.} 2.976 -\end{Figure} 2.977 - 2.978 -Table environment: 2.979 -\begin{Table}{tablelabel}% <- don't forget this percent! 2.980 - {Caption for table, Table environment.} 2.981 -\fbox{The table matter goes here.} 2.982 -\end{Table} 2.983 - 2.984 - 2.985 -%% 2.986 -%% EOF ieeepes_skel.tex 2.987 -%%---------------------------------------------------------------------- 2.988 - 2.989 - destroying virtutal processors, and three kinds of send-receive pairs. The 2.990 - graph. It depicts all the scheduling operations performed by the runtime, 2.991 - 2.992 - 2.993 - 2.994 - 2.995 - all, why go parallel, if not for higher performance? Yet when trying to track 2.996 - 2.997 - 2.998 - 2.999 - 2.1000 - 2.1001 - 2.1002 - 2.1003 - 2.1004 - 2.1005 - 2.1006 - 2.1007 - 2.1008 - 2.1009 - 2.1010 - 2.1011 - 2.1012 - 2.1013 - 2.1014 - 2.1015 - 2.1016 - 2.1017 - 2.1018 - 2.1019 - 2.1020 - 2.1021 - 2.1022 - 2.1023 - 2.1024 - 2.1025 - 2.1026 - 2.1027 - 2.1028 - 2.1029 - 2.1030 - 2.1031 - 2.1032 - 2.1033 - 2.1034 - 2.1035 - 2.1036 - 2.1037 - 2.1038 - 2.1039 - 2.1040 - 2.1041 - 2.1042 - 2.1043 - 2.1044 - 2.1045 - 2.1046 - 2.1047 - 2.1048 - 2.1049 - 2.1050 - 2.1051 - 2.1052 - 2.1053 - 2.1054 - 2.1055 - 2.1056 - 2.1057 - 2.1058 - 2.1059 - 2.1060 - 2.1061 - 2.1062 - 2.1063 - 2.1064 - 2.1065 - 2.1066 - 2.1067 - 2.1068 - 2.1069 - 2.1070 - 2.1071 - 2.1072 - 2.1073 - 2.1074 - 2.1075 - 2.1076 - 2.1077 - 2.1078 - 2.1079 - 2.1080 - 2.1081 - 2.1082 - 2.1083 - 2.1084 - 2.1085 - 2.1086 - 2.1087 - 2.1088 - 2.1089 - 2.1090 - 2.1091 - 2.1092 - 2.1093 - 2.1094 - 2.1095 - 2.1096 - 2.1097 - 2.1098 - 2.1099 - 2.1100 - 2.1101 - 2.1102 - 2.1103 - 2.1104 - 2.1105 - 2.1106 - 2.1107 - 2.1108 - 2.1109 - 2.1110 - 2.1111 - 2.1112 - 2.1113 - 2.1114 - 2.1115 - 2.1116 - 2.1117 - 2.1118 - 2.1119 - 2.1120 - 2.1121 - 2.1122 - 2.1123 - 2.1124 - 2.1125 - 2.1126 - 2.1127 - 2.1128 - 2.1129 - 2.1130 - 2.1131 - 2.1132 - 2.1133 - 2.1134 - 2.1135 - 2.1136 - 2.1137 - 2.1138 - 2.1139 - 2.1140 - 2.1141 - 2.1142 - 2.1143 - 2.1144 - 2.1145 - 2.1146 - 2.1147 - 2.1148 - 2.1149 - 2.1150 - 2.1151 - 2.1152 - 2.1153 - 2.1154 - 2.1155 - 2.1156 - 2.1157 - 2.1158 - 2.1159 - 2.1160 - 2.1161 - 2.1162 - 2.1163 - 2.1164 - 2.1165 - 2.1166 - 2.1167 - 2.1168 - 2.1169 - 2.1170 - 2.1171 - 2.1172 - 2.1173 - 2.1174 - 2.1175 - 2.1176 - 2.1177 - 2.1178 - 2.1179 - 2.1180 - 2.1181 - 2.1182 - 2.1183 - 2.1184 - 2.1185 - 2.1186 - 2.1187 - 2.1188 - 2.1189 - 2.1190 - 2.1191 - 2.1192 - 2.1193 - 2.1194 - 2.1195 - 2.1196 - 2.1197 - 2.1198 - 2.1199 - 2.1200 - 2.1201 - 2.1202 - 2.1203 - 2.1204 - 2.1205 - 2.1206 - 2.1207 - 2.1208 - 2.1209 - 2.1210 - 2.1211 - 2.1212 - 2.1213 - 2.1214 - 2.1215 - 2.1216 - 2.1217 - 2.1218 - 2.1219 - 2.1220 - 2.1221 - 2.1222 - 2.1223 - 2.1224 - 2.1225 - 2.1226 - 2.1227 - 2.1228 - 2.1229 - 2.1230 - 2.1231 - 2.1232 - 2.1233 - 2.1234 - 2.1235 - 2.1236 - 2.1237 - 2.1238 - 2.1239 - 2.1240 - 2.1241 - 2.1242 - 2.1243 - 2.1244 - 2.1245 - 2.1246 - 2.1247 - 2.1248 - 2.1249 - 2.1250 - 2.1251 - trying to pinpoint the causes of performance loss, internal structure of 2.1252 -
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 3.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/PR__system_level_activity.svg Fri Sep 13 11:02:18 2013 -0700 3.3 @@ -0,0 +1,2923 @@ 3.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 3.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 3.6 + 3.7 +<svg 3.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 3.9 + xmlns:cc="http://creativecommons.org/ns#" 3.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 3.11 + xmlns:svg="http://www.w3.org/2000/svg" 3.12 + xmlns="http://www.w3.org/2000/svg" 3.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 3.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 3.15 + width="744.09448819" 3.16 + height="1052.3622047" 3.17 + id="svg2" 3.18 + sodipodi:version="0.32" 3.19 + inkscape:version="0.48.2 r9819" 3.20 + sodipodi:docname="PR__system_level_activity.svg" 3.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 3.22 + version="1.1"> 3.23 + <defs 3.24 + id="defs4"> 3.25 + <marker 3.26 + inkscape:stockid="Arrow2Mend" 3.27 + orient="auto" 3.28 + refY="0.0" 3.29 + refX="0.0" 3.30 + id="Arrow2Mend" 3.31 + style="overflow:visible;"> 3.32 + <path 3.33 + id="path4008" 3.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 3.35 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 3.36 + transform="scale(0.6) rotate(180) translate(0,0)" /> 3.37 + </marker> 3.38 + <inkscape:perspective 3.39 + sodipodi:type="inkscape:persp3d" 3.40 + inkscape:vp_x="0 : 526.18109 : 1" 3.41 + inkscape:vp_y="0 : 1000 : 0" 3.42 + inkscape:vp_z="744.09448 : 526.18109 : 1" 3.43 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 3.44 + id="perspective10" /> 3.45 + <inkscape:perspective 3.46 + id="perspective12172" 3.47 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 3.48 + inkscape:vp_z="1 : 0.5 : 1" 3.49 + inkscape:vp_y="0 : 1000 : 0" 3.50 + inkscape:vp_x="0 : 0.5 : 1" 3.51 + sodipodi:type="inkscape:persp3d" /> 3.52 + <inkscape:perspective 3.53 + id="perspective12937" 3.54 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 3.55 + inkscape:vp_z="1 : 0.5 : 1" 3.56 + inkscape:vp_y="0 : 1000 : 0" 3.57 + inkscape:vp_x="0 : 0.5 : 1" 3.58 + sodipodi:type="inkscape:persp3d" /> 3.59 + </defs> 3.60 + <sodipodi:namedview 3.61 + id="base" 3.62 + pagecolor="#ffffff" 3.63 + bordercolor="#666666" 3.64 + borderopacity="1.0" 3.65 + gridtolerance="10000" 3.66 + guidetolerance="10" 3.67 + objecttolerance="10" 3.68 + inkscape:pageopacity="0.0" 3.69 + inkscape:pageshadow="2" 3.70 + inkscape:zoom="1.4897651" 3.71 + inkscape:cx="290.73583" 3.72 + inkscape:cy="795.84567" 3.73 + inkscape:document-units="px" 3.74 + inkscape:current-layer="layer1" 3.75 + showgrid="false" 3.76 + inkscape:window-width="1600" 3.77 + inkscape:window-height="848" 3.78 + inkscape:window-x="-8" 3.79 + inkscape:window-y="-8" 3.80 + inkscape:window-maximized="1" /> 3.81 + <metadata 3.82 + id="metadata7"> 3.83 + <rdf:RDF> 3.84 + <cc:Work 3.85 + rdf:about=""> 3.86 + <dc:format>image/svg+xml</dc:format> 3.87 + <dc:type 3.88 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 3.89 + <dc:title></dc:title> 3.90 + </cc:Work> 3.91 + </rdf:RDF> 3.92 + </metadata> 3.93 + <g 3.94 + inkscape:label="Layer 1" 3.95 + inkscape:groupmode="layer" 3.96 + id="layer1"> 3.97 + <text 3.98 + sodipodi:linespacing="100%" 3.99 + id="text12979" 3.100 + y="515.76575" 3.101 + x="326.92542" 3.102 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.103 + xml:space="preserve"><tspan 3.104 + y="515.76575" 3.105 + x="326.92542" 3.106 + id="tspan12981" 3.107 + sodipodi:role="line" 3.108 + style="text-align:center;text-anchor:middle">Master</tspan><tspan 3.109 + y="524.20056" 3.110 + x="326.92542" 3.111 + sodipodi:role="line" 3.112 + id="tspan3291" 3.113 + style="font-size:8px;text-align:center;text-anchor:middle">(runtime system)</tspan><tspan 3.114 + y="532.2005" 3.115 + x="326.92542" 3.116 + sodipodi:role="line" 3.117 + style="font-size:8px;text-align:center;text-anchor:middle" 3.118 + id="tspan8409">on core 1</tspan></text> 3.119 + <g 3.120 + id="g9336" 3.121 + transform="translate(44.002789,114)"> 3.122 + <rect 3.123 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 3.124 + id="rect3293" 3.125 + width="65.276405" 3.126 + height="37.165791" 3.127 + x="346.40247" 3.128 + y="389.58255" /> 3.129 + <text 3.130 + sodipodi:linespacing="100%" 3.131 + id="text3295" 3.132 + y="400.15268" 3.133 + x="379.00162" 3.134 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.135 + xml:space="preserve"><tspan 3.136 + id="tspan3301" 3.137 + y="400.15268" 3.138 + x="379.00162" 3.139 + sodipodi:role="line" 3.140 + style="text-align:center;text-anchor:middle;fill:#008000">Seed VP</tspan><tspan 3.141 + y="408.58746" 3.142 + x="379.00162" 3.143 + sodipodi:role="line" 3.144 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000" 3.145 + id="tspan9389">(created at</tspan><tspan 3.146 + y="416.58746" 3.147 + x="379.00162" 3.148 + sodipodi:role="line" 3.149 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000" 3.150 + id="tspan9391">app startup,</tspan><tspan 3.151 + y="424.58746" 3.152 + x="379.00162" 3.153 + sodipodi:role="line" 3.154 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000" 3.155 + id="tspan9744">on core 1)</tspan></text> 3.156 + </g> 3.157 + <text 3.158 + xml:space="preserve" 3.159 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.160 + x="517.16797" 3.161 + y="467.42465" 3.162 + id="text3318-1" 3.163 + sodipodi:linespacing="100%"><tspan 3.164 + style="text-align:center;text-anchor:middle;fill:#008000" 3.165 + sodipodi:role="line" 3.166 + x="517.16797" 3.167 + y="467.42465" 3.168 + id="tspan3322-5">Application Code</tspan></text> 3.169 + <text 3.170 + sodipodi:linespacing="100%" 3.171 + id="text3376" 3.172 + y="541.42468" 3.173 + x="517.16797" 3.174 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.175 + xml:space="preserve"><tspan 3.176 + id="tspan3378" 3.177 + y="541.42468" 3.178 + x="517.16797" 3.179 + sodipodi:role="line" 3.180 + style="text-align:center;text-anchor:middle;fill:#008000">Seed_Fn</tspan></text> 3.181 + <text 3.182 + xml:space="preserve" 3.183 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.184 + x="517.16797" 3.185 + y="761.42468" 3.186 + id="text3380" 3.187 + sodipodi:linespacing="100%"><tspan 3.188 + style="text-align:center;text-anchor:middle;fill:#008000" 3.189 + sodipodi:role="line" 3.190 + x="517.16797" 3.191 + y="761.42468" 3.192 + id="tspan3382">Work_Fn</tspan></text> 3.193 + <text 3.194 + sodipodi:linespacing="100%" 3.195 + id="text3388" 3.196 + y="467.42465" 3.197 + x="604.63812" 3.198 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.199 + xml:space="preserve"><tspan 3.200 + id="tspan3390" 3.201 + y="467.42465" 3.202 + x="606.14203" 3.203 + sodipodi:role="line" 3.204 + style="text-align:center;text-anchor:middle;fill:#800000">Language </tspan><tspan 3.205 + y="477.42465" 3.206 + x="604.63812" 3.207 + sodipodi:role="line" 3.208 + style="text-align:center;text-anchor:middle;fill:#800000" 3.209 + id="tspan5106">Wrapper-Lib</tspan><tspan 3.210 + y="487.42465" 3.211 + x="604.63812" 3.212 + sodipodi:role="line" 3.213 + style="text-align:center;text-anchor:middle;fill:#800000" 3.214 + id="tspan3392">Code</tspan></text> 3.215 + <text 3.216 + xml:space="preserve" 3.217 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.218 + x="669.16797" 3.219 + y="467.42465" 3.220 + id="text3394" 3.221 + sodipodi:linespacing="100%"><tspan 3.222 + style="text-align:center;text-anchor:middle;fill:#000080" 3.223 + sodipodi:role="line" 3.224 + x="669.16797" 3.225 + y="467.42465" 3.226 + id="tspan3396">Proto-Runtime</tspan><tspan 3.227 + style="text-align:center;text-anchor:middle;fill:#000080" 3.228 + sodipodi:role="line" 3.229 + x="669.16797" 3.230 + y="477.42465" 3.231 + id="tspan4998">Primitive</tspan><tspan 3.232 + id="tspan3398" 3.233 + style="text-align:center;text-anchor:middle;fill:#000080" 3.234 + sodipodi:role="line" 3.235 + x="669.16797" 3.236 + y="487.42465">Code</tspan></text> 3.237 + <text 3.238 + xml:space="preserve" 3.239 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.240 + x="137.31689" 3.241 + y="573.42468" 3.242 + id="text3412" 3.243 + sodipodi:linespacing="100%"><tspan 3.244 + style="text-align:center;text-anchor:middle;fill:#800000" 3.245 + sodipodi:role="line" 3.246 + x="137.31689" 3.247 + y="573.42468" 3.248 + id="tspan3414">Lang Handler</tspan><tspan 3.249 + style="text-align:center;text-anchor:middle;fill:#800000" 3.250 + sodipodi:role="line" 3.251 + x="137.31689" 3.252 + y="583.42468" 3.253 + id="tspan3422">for create VP</tspan></text> 3.254 + <text 3.255 + xml:space="preserve" 3.256 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.257 + x="137.68066" 3.258 + y="621.42468" 3.259 + id="text3444" 3.260 + sodipodi:linespacing="100%"><tspan 3.261 + style="text-align:center;text-anchor:middle;fill:#800000" 3.262 + sodipodi:role="line" 3.263 + x="137.68066" 3.264 + y="621.42468" 3.265 + id="tspan3450">Assigner Fn</tspan></text> 3.266 + <text 3.267 + xml:space="preserve" 3.268 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.269 + x="327.16797" 3.270 + y="469.42465" 3.271 + id="text3456" 3.272 + sodipodi:linespacing="100%"><tspan 3.273 + style="text-align:center;text-anchor:middle" 3.274 + sodipodi:role="line" 3.275 + x="328.67188" 3.276 + y="469.42465" 3.277 + id="tspan3458">Instances of </tspan><tspan 3.278 + style="text-align:center;text-anchor:middle" 3.279 + sodipodi:role="line" 3.280 + x="327.16797" 3.281 + y="479.42465" 3.282 + id="tspan8405">runtime system</tspan><tspan 3.283 + style="font-size:8px;text-align:center;text-anchor:middle" 3.284 + sodipodi:role="line" 3.285 + x="327.16797" 3.286 + y="487.85944" 3.287 + id="tspan9383">(data structs</tspan><tspan 3.288 + style="font-size:8px;text-align:center;text-anchor:middle" 3.289 + sodipodi:role="line" 3.290 + x="327.16797" 3.291 + y="495.85944" 3.292 + id="tspan9385">on heap)</tspan><tspan 3.293 + id="tspan3460" 3.294 + style="text-align:center;text-anchor:middle" 3.295 + sodipodi:role="line" 3.296 + x="327.16797" 3.297 + y="503.85944" /></text> 3.298 + <text 3.299 + sodipodi:linespacing="100%" 3.300 + id="text3462" 3.301 + y="467.42465" 3.302 + x="423.16797" 3.303 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.304 + xml:space="preserve"><tspan 3.305 + id="tspan3464" 3.306 + y="467.42465" 3.307 + x="423.16797" 3.308 + sodipodi:role="line" 3.309 + style="text-align:center;text-anchor:middle">Instances of</tspan><tspan 3.310 + y="477.42465" 3.311 + x="423.16797" 3.312 + sodipodi:role="line" 3.313 + style="text-align:center;text-anchor:middle" 3.314 + id="tspan3468">Virtual Processors</tspan><tspan 3.315 + y="485.85944" 3.316 + x="423.16797" 3.317 + sodipodi:role="line" 3.318 + style="font-size:8px;text-align:center;text-anchor:middle" 3.319 + id="tspan3466">(data structs</tspan><tspan 3.320 + y="493.85944" 3.321 + x="423.16797" 3.322 + sodipodi:role="line" 3.323 + style="font-size:8px;text-align:center;text-anchor:middle" 3.324 + id="tspan9387">on heap)</tspan></text> 3.325 + <path 3.326 + inkscape:connector-curvature="0" 3.327 + id="path4796" 3.328 + d="m 457.32649,538.02605 c 38.42351,0 38.42351,0 38.42351,0" 3.329 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999996, 2.99999996;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 3.330 + <text 3.331 + xml:space="preserve" 3.332 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.333 + x="604.78461" 3.334 + y="535.42468" 3.335 + id="text4988" 3.336 + sodipodi:linespacing="100%"><tspan 3.337 + style="text-align:center;text-anchor:middle;fill:#800000" 3.338 + sodipodi:role="line" 3.339 + x="604.78461" 3.340 + y="535.42468" 3.341 + id="tspan4990">create VP</tspan><tspan 3.342 + style="text-align:center;text-anchor:middle;fill:#800000" 3.343 + sodipodi:role="line" 3.344 + x="604.78461" 3.345 + y="545.42468" 3.346 + id="tspan5104">wrapper Fn</tspan></text> 3.347 + <text 3.348 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 3.349 + xml:space="preserve" 3.350 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.351 + x="640.93384" 3.352 + y="566.94653" 3.353 + id="text5064" 3.354 + sodipodi:linespacing="100%"><tspan 3.355 + style="font-size:8px;text-align:center;text-anchor:middle" 3.356 + sodipodi:role="line" 3.357 + x="640.93384" 3.358 + y="566.94653" 3.359 + id="tspan5066">Call to dyn lib</tspan></text> 3.360 + <path 3.361 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000003, 3.00000003;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 3.362 + d="m 291.99816,538.02605 c -63.44071,0 -63.44071,0 -63.44071,0" 3.363 + id="path5068" 3.364 + inkscape:connector-curvature="0" /> 3.365 + <text 3.366 + sodipodi:linespacing="100%" 3.367 + id="text5070" 3.368 + y="574.53986" 3.369 + x="148.45142" 3.370 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.371 + xml:space="preserve" 3.372 + transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"><tspan 3.373 + id="tspan5072" 3.374 + y="574.53986" 3.375 + x="148.45142" 3.376 + sodipodi:role="line" 3.377 + style="font-size:8px;text-align:center;text-anchor:middle">Top Level Fn</tspan></text> 3.378 + <text 3.379 + transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)" 3.380 + xml:space="preserve" 3.381 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.382 + x="368.35757" 3.383 + y="617.21826" 3.384 + id="text5074" 3.385 + sodipodi:linespacing="100%"><tspan 3.386 + style="font-size:8px;text-align:center;text-anchor:middle" 3.387 + sodipodi:role="line" 3.388 + x="368.35757" 3.389 + y="617.21826" 3.390 + id="tspan5076">Top Level Fn</tspan></text> 3.391 + <text 3.392 + sodipodi:linespacing="100%" 3.393 + id="text5078" 3.394 + y="833.20477" 3.395 + x="326.47617" 3.396 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.397 + xml:space="preserve" 3.398 + transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"><tspan 3.399 + id="tspan5080" 3.400 + y="833.20477" 3.401 + x="326.47617" 3.402 + sodipodi:role="line" 3.403 + style="font-size:8px;text-align:center;text-anchor:middle">Top Level Fn</tspan></text> 3.404 + <path 3.405 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999996, 2.99999996;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 3.406 + d="m 458.9835,758.02605 c 36.7665,0 36.7665,0 36.7665,0" 3.407 + id="path5082" 3.408 + inkscape:connector-curvature="0" /> 3.409 + <path 3.410 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 3.411 + d="m 514.02904,544.01894 c 0,5.6572 0,5.6572 0,5.6572" 3.412 + id="path5092" 3.413 + inkscape:connector-curvature="0" 3.414 + sodipodi:nodetypes="cc" /> 3.415 + <path 3.416 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 3.417 + d="m 514.24714,550.02605 c 85.56237,0 85.56237,0 85.56237,0" 3.418 + id="path5094" 3.419 + inkscape:connector-curvature="0" /> 3.420 + <path 3.421 + inkscape:connector-curvature="0" 3.422 + id="path5096" 3.423 + d="m 602.77166,658.02605 c -88.41298,0 -88.41298,0 -88.41298,0" 3.424 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 3.425 + <path 3.426 + sodipodi:nodetypes="cc" 3.427 + inkscape:connector-curvature="0" 3.428 + id="path5140" 3.429 + d="m 514.02904,658.31987 c 0,26.21842 0,26.21842 0,26.21842" 3.430 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 3.431 + <path 3.432 + inkscape:connector-curvature="0" 3.433 + id="path5142" 3.434 + d="m 514.2471,684.02605 c 87.58783,0 87.58783,0 87.58783,0" 3.435 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 3.436 + <text 3.437 + sodipodi:linespacing="100%" 3.438 + id="text5157" 3.439 + y="670.71179" 3.440 + x="604.78461" 3.441 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.442 + xml:space="preserve"><tspan 3.443 + id="tspan5161" 3.444 + y="670.71179" 3.445 + x="604.78461" 3.446 + sodipodi:role="line" 3.447 + style="text-align:center;text-anchor:middle;fill:#800000">end VP</tspan><tspan 3.448 + y="680.71179" 3.449 + x="604.78461" 3.450 + sodipodi:role="line" 3.451 + style="text-align:center;text-anchor:middle;fill:#800000" 3.452 + id="tspan5207">wrapper Fn</tspan></text> 3.453 + <path 3.454 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 3.455 + d="m 602.26584,690.02605 c 63.99676,0 63.99676,0 63.99676,0" 3.456 + id="path5165" 3.457 + inkscape:connector-curvature="0" /> 3.458 + <path 3.459 + sodipodi:nodetypes="cc" 3.460 + inkscape:connector-curvature="0" 3.461 + id="path5179" 3.462 + d="m 514.02904,764.01895 c 0,5.6572 0,5.6572 0,5.6572" 3.463 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 3.464 + <path 3.465 + sodipodi:nodetypes="cc" 3.466 + inkscape:connector-curvature="0" 3.467 + id="path5209" 3.468 + d="m 602.02904,682.31985 c 0,7.35629 0,7.35629 0,7.35629" 3.469 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 3.470 + <text 3.471 + xml:space="preserve" 3.472 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.473 + x="497.16797" 3.474 + y="399.42468" 3.475 + id="text5211" 3.476 + sodipodi:linespacing="100%"><tspan 3.477 + style="text-align:center;text-anchor:middle" 3.478 + sodipodi:role="line" 3.479 + x="497.16797" 3.480 + y="399.42468" 3.481 + id="tspan5215" /></text> 3.482 + <path 3.483 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 3.484 + d="m 602.02904,550.21843 c 0,19.4577 0,19.4577 0,19.4577" 3.485 + id="path5217" 3.486 + inkscape:connector-curvature="0" 3.487 + sodipodi:nodetypes="cc" /> 3.488 + <path 3.489 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 3.490 + d="m 602.24714,570.02605 c 64.71029,0 64.71029,0 64.71029,0" 3.491 + id="path5219" 3.492 + inkscape:connector-curvature="0" /> 3.493 + <path 3.494 + inkscape:connector-curvature="0" 3.495 + id="path5221" 3.496 + d="m 666.85635,654.02605 c -65.78483,0 -65.78483,0 -65.78483,0" 3.497 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 3.498 + <path 3.499 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 3.500 + d="m 668.02904,568.63925 c 0,13.68455 0,13.68455 0,13.68455" 3.501 + id="path5223" 3.502 + inkscape:connector-curvature="0" 3.503 + sodipodi:nodetypes="cc" /> 3.504 + <path 3.505 + sodipodi:nodetypes="cc" 3.506 + inkscape:connector-curvature="0" 3.507 + id="path5229" 3.508 + d="m 602.02904,653.22687 c 0,5.5885 0,5.5885 0,5.5885" 3.509 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 3.510 + <path 3.511 + sodipodi:nodetypes="cc" 3.512 + inkscape:connector-curvature="0" 3.513 + id="path5235" 3.514 + d="m 668.02904,640.63925 c 0,13.68455 0,13.68455 0,13.68455" 3.515 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 3.516 + <text 3.517 + sodipodi:linespacing="100%" 3.518 + id="text5239" 3.519 + y="887.21881" 3.520 + x="75.689163" 3.521 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.522 + xml:space="preserve" 3.523 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 3.524 + id="tspan5241" 3.525 + y="887.21881" 3.526 + x="75.689163" 3.527 + sodipodi:role="line" 3.528 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan 3.529 + y="895.21881" 3.530 + x="75.689163" 3.531 + sodipodi:role="line" 3.532 + style="font-size:8px;text-align:center;text-anchor:middle" 3.533 + id="tspan5243">and switch</tspan><tspan 3.534 + y="903.21881" 3.535 + x="75.689163" 3.536 + sodipodi:role="line" 3.537 + style="font-size:8px;text-align:center;text-anchor:middle" 3.538 + id="tspan5245">to runtime</tspan></text> 3.539 + <path 3.540 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 3.541 + d="m 271.03421,642.02605 c 193.92439,0 193.92439,0 193.92439,0" 3.542 + id="path5247" 3.543 + inkscape:connector-curvature="0" /> 3.544 + <text 3.545 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 3.546 + xml:space="preserve" 3.547 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.548 + x="45.084938" 3.549 + y="918.83185" 3.550 + id="text5249" 3.551 + sodipodi:linespacing="100%"><tspan 3.552 + id="tspan5255" 3.553 + style="font-size:8px;text-align:center;text-anchor:middle" 3.554 + sodipodi:role="line" 3.555 + x="45.084938" 3.556 + y="918.83185">return</tspan><tspan 3.557 + style="font-size:8px;text-align:center;text-anchor:middle" 3.558 + sodipodi:role="line" 3.559 + x="45.084938" 3.560 + y="926.83185" 3.561 + id="tspan5261">from</tspan><tspan 3.562 + style="font-size:8px;text-align:center;text-anchor:middle" 3.563 + sodipodi:role="line" 3.564 + x="45.084938" 3.565 + y="934.83185" 3.566 + id="tspan5263">suspend</tspan></text> 3.567 + <text 3.568 + sodipodi:linespacing="100%" 3.569 + id="text5345" 3.570 + y="557.42468" 3.571 + x="667.38037" 3.572 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.573 + xml:space="preserve"><tspan 3.574 + id="tspan5349" 3.575 + y="557.42468" 3.576 + x="667.38037" 3.577 + sodipodi:role="line" 3.578 + style="text-align:center;text-anchor:middle;fill:#000080">PR primitive Fn</tspan><tspan 3.579 + y="567.42468" 3.580 + x="667.38037" 3.581 + sodipodi:role="line" 3.582 + style="text-align:center;text-anchor:middle;fill:#000080" 3.583 + id="tspan5353">to send request</tspan></text> 3.584 + <text 3.585 + sodipodi:linespacing="100%" 3.586 + id="text5355" 3.587 + y="554.71265" 3.588 + x="556.00226" 3.589 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.590 + xml:space="preserve" 3.591 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 3.592 + id="tspan5357" 3.593 + y="554.71265" 3.594 + x="556.00226" 3.595 + sodipodi:role="line" 3.596 + style="font-size:8px;text-align:center;text-anchor:middle">normal call</tspan></text> 3.597 + <path 3.598 + sodipodi:nodetypes="cc" 3.599 + inkscape:connector-curvature="0" 3.600 + id="path5359" 3.601 + d="m 668.02904,689.28283 c 0,13.68455 0,13.68455 0,13.68455" 3.602 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 3.603 + <text 3.604 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 3.605 + xml:space="preserve" 3.606 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.607 + x="-4.9486814" 3.608 + y="973.39014" 3.609 + id="text5363" 3.610 + sodipodi:linespacing="100%"><tspan 3.611 + style="font-size:8px;text-align:center;text-anchor:middle" 3.612 + sodipodi:role="line" 3.613 + x="-4.9486814" 3.614 + y="973.39014" 3.615 + id="tspan5365">suspend</tspan><tspan 3.616 + id="tspan5367" 3.617 + style="font-size:8px;text-align:center;text-anchor:middle" 3.618 + sodipodi:role="line" 3.619 + x="-4.9486814" 3.620 + y="981.39014">and switch</tspan><tspan 3.621 + id="tspan5369" 3.622 + style="font-size:8px;text-align:center;text-anchor:middle" 3.623 + sodipodi:role="line" 3.624 + x="-4.9486814" 3.625 + y="989.39014">to runtime</tspan></text> 3.626 + <text 3.627 + sodipodi:linespacing="100%" 3.628 + id="text5371" 3.629 + y="755.42468" 3.630 + x="604.59662" 3.631 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.632 + xml:space="preserve"><tspan 3.633 + id="tspan5373" 3.634 + y="755.42468" 3.635 + x="604.59662" 3.636 + sodipodi:role="line" 3.637 + style="text-align:center;text-anchor:middle;fill:#800000">Mutex Acquire</tspan><tspan 3.638 + id="tspan5375" 3.639 + y="765.42468" 3.640 + x="604.59662" 3.641 + sodipodi:role="line" 3.642 + style="text-align:center;text-anchor:middle;fill:#800000">wrapper Fn</tspan></text> 3.643 + <path 3.644 + inkscape:connector-curvature="0" 3.645 + id="path5379" 3.646 + d="m 514.24714,770.02605 c 85.56237,0 85.56237,0 85.56237,0" 3.647 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 3.648 + <path 3.649 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 3.650 + d="m 602.77166,870.02605 c -88.41298,0 -88.41298,0 -88.41298,0" 3.651 + id="path5381" 3.652 + inkscape:connector-curvature="0" /> 3.653 + <text 3.654 + xml:space="preserve" 3.655 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.656 + x="604.78461" 3.657 + y="882.71179" 3.658 + id="text5387" 3.659 + sodipodi:linespacing="100%"><tspan 3.660 + style="text-align:center;text-anchor:middle;fill:#800000" 3.661 + sodipodi:role="line" 3.662 + x="604.78461" 3.663 + y="882.71179" 3.664 + id="tspan5389">end VP</tspan><tspan 3.665 + id="tspan5391" 3.666 + style="text-align:center;text-anchor:middle;fill:#800000" 3.667 + sodipodi:role="line" 3.668 + x="604.78461" 3.669 + y="892.71179">wrapper Fn</tspan></text> 3.670 + <path 3.671 + inkscape:connector-curvature="0" 3.672 + id="path5393" 3.673 + d="m 602.289,902.02605 c 65.24023,0 65.24023,0 65.24023,0" 3.674 + style="fill:none;stroke:#000000;stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 3.675 + <path 3.676 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 3.677 + d="m 602.02904,894.31985 c 0,7.35629 0,7.35629 0,7.35629" 3.678 + id="path5401" 3.679 + inkscape:connector-curvature="0" 3.680 + sodipodi:nodetypes="cc" /> 3.681 + <path 3.682 + sodipodi:nodetypes="cc" 3.683 + inkscape:connector-curvature="0" 3.684 + id="path5403" 3.685 + d="m 602.02904,770.21843 c 0,19.4577 0,19.4577 0,19.4577" 3.686 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 3.687 + <path 3.688 + inkscape:connector-curvature="0" 3.689 + id="path5405" 3.690 + d="m 602.6148,790.02605 c 64.1779,0 64.1779,0 64.1779,0" 3.691 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 3.692 + <path 3.693 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 3.694 + d="m 668.13452,866.02605 c -67.06305,0 -67.06305,0 -67.06305,0" 3.695 + id="path5407" 3.696 + inkscape:connector-curvature="0" /> 3.697 + <path 3.698 + sodipodi:nodetypes="cc" 3.699 + inkscape:connector-curvature="0" 3.700 + id="path5409" 3.701 + d="m 668.02904,788.63925 c 0,13.68455 0,13.68455 0,13.68455" 3.702 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 3.703 + <path 3.704 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 3.705 + d="m 602.02904,865.22687 c 0,5.5885 0,5.5885 0,5.5885" 3.706 + id="path5411" 3.707 + inkscape:connector-curvature="0" 3.708 + sodipodi:nodetypes="cc" /> 3.709 + <path 3.710 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 3.711 + d="m 668.02904,852.63925 c 0,13.68455 0,13.68455 0,13.68455" 3.712 + id="path5417" 3.713 + inkscape:connector-curvature="0" 3.714 + sodipodi:nodetypes="cc" /> 3.715 + <text 3.716 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 3.717 + xml:space="preserve" 3.718 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.719 + x="-74.503059" 3.720 + y="1045.2394" 3.721 + id="text5421" 3.722 + sodipodi:linespacing="100%"><tspan 3.723 + style="font-size:8px;text-align:center;text-anchor:middle" 3.724 + sodipodi:role="line" 3.725 + x="-74.503059" 3.726 + y="1045.2394" 3.727 + id="tspan5423">suspend</tspan><tspan 3.728 + id="tspan5425" 3.729 + style="font-size:8px;text-align:center;text-anchor:middle" 3.730 + sodipodi:role="line" 3.731 + x="-74.503059" 3.732 + y="1053.2394">and switch</tspan><tspan 3.733 + id="tspan5427" 3.734 + style="font-size:8px;text-align:center;text-anchor:middle" 3.735 + sodipodi:role="line" 3.736 + x="-74.503059" 3.737 + y="1061.2394">to runtime</tspan></text> 3.738 + <text 3.739 + sodipodi:linespacing="100%" 3.740 + id="text5431" 3.741 + y="1071.1506" 3.742 + x="-102.37076" 3.743 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.744 + xml:space="preserve" 3.745 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 3.746 + y="1071.1506" 3.747 + x="-102.37076" 3.748 + sodipodi:role="line" 3.749 + style="font-size:8px;text-align:center;text-anchor:middle" 3.750 + id="tspan5433">return</tspan><tspan 3.751 + id="tspan5435" 3.752 + y="1079.1506" 3.753 + x="-102.37076" 3.754 + sodipodi:role="line" 3.755 + style="font-size:8px;text-align:center;text-anchor:middle">from</tspan><tspan 3.756 + id="tspan5437" 3.757 + y="1087.1506" 3.758 + x="-102.37076" 3.759 + sodipodi:role="line" 3.760 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text> 3.761 + <text 3.762 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 3.763 + xml:space="preserve" 3.764 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.765 + x="556.96783" 3.766 + y="774.71014" 3.767 + id="text5445" 3.768 + sodipodi:linespacing="100%"><tspan 3.769 + style="font-size:8px;text-align:center;text-anchor:middle" 3.770 + sodipodi:role="line" 3.771 + x="556.96783" 3.772 + y="774.71014" 3.773 + id="tspan5447">normal call</tspan></text> 3.774 + <path 3.775 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 3.776 + d="m 668.02904,901.28283 c 0,13.68455 0,13.68455 0,13.68455" 3.777 + id="path5449" 3.778 + inkscape:connector-curvature="0" 3.779 + sodipodi:nodetypes="cc" /> 3.780 + <text 3.781 + sodipodi:linespacing="100%" 3.782 + id="text5453" 3.783 + y="1128.538" 3.784 + x="-152.3584" 3.785 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.786 + xml:space="preserve" 3.787 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 3.788 + id="tspan5455" 3.789 + y="1128.538" 3.790 + x="-152.3584" 3.791 + sodipodi:role="line" 3.792 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan 3.793 + y="1136.538" 3.794 + x="-152.3584" 3.795 + sodipodi:role="line" 3.796 + style="font-size:8px;text-align:center;text-anchor:middle" 3.797 + id="tspan5457">and switch</tspan><tspan 3.798 + y="1144.538" 3.799 + x="-152.3584" 3.800 + sodipodi:role="line" 3.801 + style="font-size:8px;text-align:center;text-anchor:middle" 3.802 + id="tspan5459">to runtime</tspan></text> 3.803 + <path 3.804 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 3.805 + d="m 514.02904,870.31987 c 0,26.21842 0,26.21842 0,26.21842" 3.806 + id="path5461" 3.807 + inkscape:connector-curvature="0" 3.808 + sodipodi:nodetypes="cc" /> 3.809 + <path 3.810 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 3.811 + d="m 514.2471,896.02605 c 87.58783,0 87.58783,0 87.58783,0" 3.812 + id="path5463" 3.813 + inkscape:connector-curvature="0" /> 3.814 + <text 3.815 + sodipodi:linespacing="100%" 3.816 + id="text5465" 3.817 + y="688.71033" 3.818 + x="556.59009" 3.819 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.820 + xml:space="preserve" 3.821 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 3.822 + id="tspan5467" 3.823 + y="688.71033" 3.824 + x="556.59009" 3.825 + sodipodi:role="line" 3.826 + style="font-size:8px;text-align:center;text-anchor:middle">normal call</tspan></text> 3.827 + <text 3.828 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 3.829 + xml:space="preserve" 3.830 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.831 + x="557.52142" 3.832 + y="900.70972" 3.833 + id="text5469" 3.834 + sodipodi:linespacing="100%"><tspan 3.835 + style="font-size:8px;text-align:center;text-anchor:middle" 3.836 + sodipodi:role="line" 3.837 + x="557.52142" 3.838 + y="900.70972" 3.839 + id="tspan5471">normal call</tspan></text> 3.840 + <g 3.841 + transform="matrix(1,0,0,0.71130685,-16,282.52913)" 3.842 + id="g8395"> 3.843 + <rect 3.844 + y="313.58255" 3.845 + x="310.40247" 3.846 + height="52.250008" 3.847 + width="65.276405" 3.848 + id="rect8397" 3.849 + style="fill:none;stroke:#000000;stroke-width:1.28076112;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 3.850 + </g> 3.851 + <path 3.852 + sodipodi:nodetypes="cc" 3.853 + inkscape:connector-curvature="0" 3.854 + id="path9273" 3.855 + d="m 514.02904,658.31987 c 0,26.21842 0,26.21842 0,26.21842" 3.856 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 3.857 + <path 3.858 + sodipodi:nodetypes="cc" 3.859 + inkscape:connector-curvature="0" 3.860 + id="path9275" 3.861 + d="m 476.02904,544.79398 c 0,35.61575 0,35.61575 0,35.61575" 3.862 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" /> 3.863 + <path 3.864 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 3.865 + d="m 468.24715,580.02605 c 13.34137,0 13.34137,0 13.34137,0" 3.866 + id="path9277" 3.867 + inkscape:connector-curvature="0" /> 3.868 + <path 3.869 + inkscape:connector-curvature="0" 3.870 + id="path9279" 3.871 + d="m 481.57781,642.02605 c -13.14022,0 -13.14022,0 -13.14022,0" 3.872 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 3.873 + <path 3.874 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 3.875 + d="m 476.02904,642.3113 c 0,57.40944 0,57.40944 0,57.40944" 3.876 + id="path9281" 3.877 + inkscape:connector-curvature="0" 3.878 + sodipodi:nodetypes="cc" /> 3.879 + <path 3.880 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 3.881 + d="m 481.57781,701.27417 c -13.14022,0 -13.14022,0 -13.14022,0" 3.882 + id="path9283" 3.883 + inkscape:connector-curvature="0" /> 3.884 + <text 3.885 + transform="matrix(-0.01875541,0.9998241,-0.9998241,-0.01875541,0,0)" 3.886 + xml:space="preserve" 3.887 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.888 + x="615.90454" 3.889 + y="-469.42978" 3.890 + id="text9285" 3.891 + sodipodi:linespacing="100%"><tspan 3.892 + style="text-align:center;text-anchor:middle;fill:#008000" 3.893 + sodipodi:role="line" 3.894 + x="615.90454" 3.895 + y="-469.42978" 3.896 + id="tspan9287">Timeline of SeedVP</tspan></text> 3.897 + <text 3.898 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 3.899 + xml:space="preserve" 3.900 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.901 + x="486.10849" 3.902 + y="579.01941" 3.903 + id="text9289" 3.904 + sodipodi:linespacing="100%"><tspan 3.905 + style="font-size:8px;text-align:start;text-anchor:start" 3.906 + sodipodi:role="line" 3.907 + x="486.10849" 3.908 + y="579.01941" 3.909 + id="tspan9291">suspend</tspan></text> 3.910 + <text 3.911 + sodipodi:linespacing="100%" 3.912 + id="text9293" 3.913 + y="643.01886" 3.914 + x="486.38965" 3.915 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.916 + xml:space="preserve" 3.917 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 3.918 + id="tspan9295" 3.919 + y="643.01886" 3.920 + x="486.38965" 3.921 + sodipodi:role="line" 3.922 + style="font-size:8px;text-align:start;text-anchor:start">resume</tspan></text> 3.923 + <text 3.924 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 3.925 + xml:space="preserve" 3.926 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.927 + x="486.64105" 3.928 + y="700.22437" 3.929 + id="text9297" 3.930 + sodipodi:linespacing="100%"><tspan 3.931 + style="font-size:8px;text-align:start;text-anchor:start" 3.932 + sodipodi:role="line" 3.933 + x="486.64105" 3.934 + y="700.22437" 3.935 + id="tspan9299">end</tspan></text> 3.936 + <text 3.937 + sodipodi:linespacing="100%" 3.938 + id="text9301" 3.939 + y="467.42465" 3.940 + x="63.167969" 3.941 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.942 + xml:space="preserve"><tspan 3.943 + id="tspan9303" 3.944 + y="467.42465" 3.945 + x="63.167969" 3.946 + sodipodi:role="line" 3.947 + style="text-align:center;text-anchor:middle;fill:#000080">Proto-Runtime</tspan><tspan 3.948 + id="tspan9305" 3.949 + y="477.42465" 3.950 + x="63.167969" 3.951 + sodipodi:role="line" 3.952 + style="text-align:center;text-anchor:middle;fill:#000080">Primitive</tspan><tspan 3.953 + y="487.42465" 3.954 + x="63.167969" 3.955 + sodipodi:role="line" 3.956 + style="text-align:center;text-anchor:middle;fill:#000080" 3.957 + id="tspan9307">Code</tspan></text> 3.958 + <text 3.959 + xml:space="preserve" 3.960 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.961 + x="65.380371" 3.962 + y="585.42468" 3.963 + id="text9309" 3.964 + sodipodi:linespacing="100%"><tspan 3.965 + id="tspan9313" 3.966 + style="text-align:center;text-anchor:middle;fill:#000080" 3.967 + sodipodi:role="line" 3.968 + x="65.380371" 3.969 + y="585.42468">PR primitive Fn</tspan><tspan 3.970 + style="text-align:center;text-anchor:middle;fill:#000080" 3.971 + sodipodi:role="line" 3.972 + x="65.380371" 3.973 + y="595.42468" 3.974 + id="tspan9317">to create VP</tspan></text> 3.975 + <path 3.976 + inkscape:connector-curvature="0" 3.977 + id="path9321" 3.978 + d="m 101.87628,587.85467 c 83.54552,12.98474 93.01032,9.74762 154.91834,33.79457 83.60123,32.47325 132.79902,111.74825 132.79902,111.74825" 3.979 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000006, 3.00000006;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 3.980 + sodipodi:nodetypes="csc" /> 3.981 + <g 3.982 + id="g9341" 3.983 + transform="translate(44.002789,336)"> 3.984 + <rect 3.985 + y="389.58255" 3.986 + x="346.40247" 3.987 + height="37.165791" 3.988 + width="65.276405" 3.989 + id="rect9343" 3.990 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 3.991 + <text 3.992 + xml:space="preserve" 3.993 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.994 + x="379.35806" 3.995 + y="400.72159" 3.996 + id="text9345" 3.997 + sodipodi:linespacing="100%"><tspan 3.998 + style="text-align:center;text-anchor:middle;fill:#008000" 3.999 + sodipodi:role="line" 3.1000 + x="379.35806" 3.1001 + y="400.72159" 3.1002 + id="tspan9347">VP 1</tspan><tspan 3.1003 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000" 3.1004 + sodipodi:role="line" 3.1005 + x="379.35806" 3.1006 + y="409.15637" 3.1007 + id="tspan9349">(created by</tspan><tspan 3.1008 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000" 3.1009 + sodipodi:role="line" 3.1010 + x="379.35806" 3.1011 + y="417.15637" 3.1012 + id="tspan9355">application,</tspan><tspan 3.1013 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000" 3.1014 + sodipodi:role="line" 3.1015 + x="379.35806" 3.1016 + y="425.15637" 3.1017 + id="tspan9746">on core 2)</tspan></text> 3.1018 + </g> 3.1019 + <g 3.1020 + transform="translate(44.002789,370)" 3.1021 + id="g9371" /> 3.1022 + <text 3.1023 + xml:space="preserve" 3.1024 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.1025 + x="202.41257" 3.1026 + y="541.42468" 3.1027 + id="text9512" 3.1028 + sodipodi:linespacing="100%"><tspan 3.1029 + style="text-align:center;text-anchor:middle;fill:#000080" 3.1030 + sodipodi:role="line" 3.1031 + x="202.41257" 3.1032 + y="541.42468" 3.1033 + id="tspan9514">Master Fn</tspan></text> 3.1034 + <path 3.1035 + sodipodi:nodetypes="cc" 3.1036 + inkscape:connector-curvature="0" 3.1037 + id="path9522" 3.1038 + d="m 205.27805,580.31985 c 0,7.35629 0,7.35629 0,7.35629" 3.1039 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 3.1040 + <path 3.1041 + inkscape:connector-curvature="0" 3.1042 + id="path9524" 3.1043 + d="m 205.05995,586.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 3.1044 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 3.1045 + <path 3.1046 + sodipodi:nodetypes="cc" 3.1047 + inkscape:connector-curvature="0" 3.1048 + id="path9548" 3.1049 + d="m 137.27805,585.85824 c 0,11.43122 0,11.43122 0,11.43122" 3.1050 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 3.1051 + <path 3.1052 + inkscape:connector-curvature="0" 3.1053 + id="path9550" 3.1054 + d="m 137.57123,598.02605 c -69.22157,0 -69.22157,0 -69.22157,0" 3.1055 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 3.1056 + <path 3.1057 + sodipodi:nodetypes="cc" 3.1058 + inkscape:connector-curvature="0" 3.1059 + id="path9554" 3.1060 + d="m 205.27805,636.63925 c 0,4.54718 0,4.54718 0,4.54718" 3.1061 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 3.1062 + <text 3.1063 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 3.1064 + xml:space="preserve" 3.1065 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.1066 + x="-300.35513" 3.1067 + y="609.46997" 3.1068 + id="text9566" 3.1069 + sodipodi:linespacing="100%"><tspan 3.1070 + style="font-size:8px;text-align:center;text-anchor:middle" 3.1071 + sodipodi:role="line" 3.1072 + x="-300.35513" 3.1073 + y="609.46997" 3.1074 + id="tspan9568">suspend</tspan><tspan 3.1075 + id="tspan9570" 3.1076 + style="font-size:8px;text-align:center;text-anchor:middle" 3.1077 + sodipodi:role="line" 3.1078 + x="-300.35513" 3.1079 + y="617.46997">and switch</tspan><tspan 3.1080 + id="tspan9572" 3.1081 + style="font-size:8px;text-align:center;text-anchor:middle" 3.1082 + sodipodi:role="line" 3.1083 + x="-300.35513" 3.1084 + y="625.46997">to app VP</tspan></text> 3.1085 + <path 3.1086 + sodipodi:nodetypes="cc" 3.1087 + inkscape:connector-curvature="0" 3.1088 + id="path9614" 3.1089 + d="m 205.27805,580.31985 c 0,7.35629 0,7.35629 0,7.35629" 3.1090 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 3.1091 + <path 3.1092 + sodipodi:nodetypes="cc" 3.1093 + inkscape:connector-curvature="0" 3.1094 + id="path9616" 3.1095 + d="m 205.27805,580.31985 c 0,7.35629 0,7.35629 0,7.35629" 3.1096 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 3.1097 + <path 3.1098 + inkscape:connector-curvature="0" 3.1099 + id="path9648" 3.1100 + d="m 468.24715,545.42364 c 13.34137,0 13.34137,0 13.34137,0" 3.1101 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 3.1102 + <text 3.1103 + sodipodi:linespacing="100%" 3.1104 + id="text9654" 3.1105 + y="547.021" 3.1106 + x="485.96786" 3.1107 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.1108 + xml:space="preserve" 3.1109 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 3.1110 + id="tspan9656" 3.1111 + y="547.021" 3.1112 + x="485.96786" 3.1113 + sodipodi:role="line" 3.1114 + style="font-size:8px;text-align:start;text-anchor:start">start</tspan></text> 3.1115 + <path 3.1116 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" 3.1117 + d="m 476.02904,764.79398 c 0,35.61575 0,35.61575 0,35.61575" 3.1118 + id="path9658" 3.1119 + inkscape:connector-curvature="0" 3.1120 + sodipodi:nodetypes="cc" /> 3.1121 + <path 3.1122 + inkscape:connector-curvature="0" 3.1123 + id="path9660" 3.1124 + d="m 468.24715,800.02605 c 13.34137,0 13.34137,0 13.34137,0" 3.1125 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 3.1126 + <path 3.1127 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 3.1128 + d="m 481.57781,854.02605 c -13.14022,0 -13.14022,0 -13.14022,0" 3.1129 + id="path9662" 3.1130 + inkscape:connector-curvature="0" /> 3.1131 + <text 3.1132 + sodipodi:linespacing="100%" 3.1133 + id="text9668" 3.1134 + y="-467.51968" 3.1135 + x="833.97864" 3.1136 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.1137 + xml:space="preserve" 3.1138 + transform="matrix(-0.01875541,0.9998241,-0.9998241,-0.01875541,0,0)"><tspan 3.1139 + y="-467.51968" 3.1140 + x="833.97864" 3.1141 + sodipodi:role="line" 3.1142 + style="text-align:center;text-anchor:middle;fill:#008000" 3.1143 + id="tspan9740">Timeline of VP 1</tspan></text> 3.1144 + <text 3.1145 + sodipodi:linespacing="100%" 3.1146 + id="text9672" 3.1147 + y="799.01776" 3.1148 + x="487.07419" 3.1149 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.1150 + xml:space="preserve" 3.1151 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 3.1152 + id="tspan9674" 3.1153 + y="799.01776" 3.1154 + x="487.07419" 3.1155 + sodipodi:role="line" 3.1156 + style="font-size:8px;text-align:start;text-anchor:start">suspend</tspan></text> 3.1157 + <text 3.1158 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 3.1159 + xml:space="preserve" 3.1160 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.1161 + x="487.32007" 3.1162 + y="855.01727" 3.1163 + id="text9676" 3.1164 + sodipodi:linespacing="100%"><tspan 3.1165 + style="font-size:8px;text-align:start;text-anchor:start" 3.1166 + sodipodi:role="line" 3.1167 + x="487.32007" 3.1168 + y="855.01727" 3.1169 + id="tspan9678">resume</tspan></text> 3.1170 + <path 3.1171 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 3.1172 + d="m 468.24715,765.42364 c 13.34137,0 13.34137,0 13.34137,0" 3.1173 + id="path9684" 3.1174 + inkscape:connector-curvature="0" /> 3.1175 + <text 3.1176 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 3.1177 + xml:space="preserve" 3.1178 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.1179 + x="486.93356" 3.1180 + y="767.01935" 3.1181 + id="text9686" 3.1182 + sodipodi:linespacing="100%"><tspan 3.1183 + style="font-size:8px;text-align:start;text-anchor:start" 3.1184 + sodipodi:role="line" 3.1185 + x="486.93356" 3.1186 + y="767.01935" 3.1187 + id="tspan9688">start</tspan></text> 3.1188 + <path 3.1189 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" 3.1190 + d="m 266.02904,579.4311 c 0,61.88904 0,61.88904 0,61.88904" 3.1191 + id="path9690" 3.1192 + inkscape:connector-curvature="0" 3.1193 + sodipodi:nodetypes="cc" /> 3.1194 + <path 3.1195 + inkscape:connector-curvature="0" 3.1196 + id="path9692" 3.1197 + d="m 258.24715,580.02605 c 13.34137,0 13.34137,0 13.34137,0" 3.1198 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 3.1199 + <path 3.1200 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 3.1201 + d="m 271.57781,642.02605 c -13.14022,0 -13.14022,0 -13.14022,0" 3.1202 + id="path9694" 3.1203 + inkscape:connector-curvature="0" /> 3.1204 + <text 3.1205 + sodipodi:linespacing="100%" 3.1206 + id="text9700" 3.1207 + y="-276.31772" 3.1208 + x="625.34003" 3.1209 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.1210 + xml:space="preserve" 3.1211 + transform="matrix(0.00239328,0.99999714,-0.99999714,0.00239328,0,0)"><tspan 3.1212 + y="-276.31772" 3.1213 + x="625.34003" 3.1214 + sodipodi:role="line" 3.1215 + style="text-align:center;text-anchor:middle;fill:#000080" 3.1216 + id="tspan9736">Timeline of Master on core 1</tspan></text> 3.1217 + <text 3.1218 + sodipodi:linespacing="100%" 3.1219 + id="text9704" 3.1220 + y="642.12531" 3.1221 + x="262.08206" 3.1222 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.1223 + xml:space="preserve" 3.1224 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 3.1225 + id="tspan9706" 3.1226 + y="642.12531" 3.1227 + x="262.08206" 3.1228 + sodipodi:role="line" 3.1229 + style="font-size:8px;text-align:end;text-anchor:end">suspend</tspan></text> 3.1230 + <text 3.1231 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 3.1232 + xml:space="preserve" 3.1233 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.1234 + x="259.36166" 3.1235 + y="582.12573" 3.1236 + id="text9708" 3.1237 + sodipodi:linespacing="100%"><tspan 3.1238 + style="font-size:8px;text-align:end;text-anchor:end" 3.1239 + sodipodi:role="line" 3.1240 + x="259.36166" 3.1241 + y="582.12573" 3.1242 + id="tspan9710">resume</tspan></text> 3.1243 + <path 3.1244 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 3.1245 + d="m 258.24715,545.42364 c 13.34137,0 13.34137,0 13.34137,0" 3.1246 + id="path9716" 3.1247 + inkscape:connector-curvature="0" /> 3.1248 + <text 3.1249 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 3.1250 + xml:space="preserve" 3.1251 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.1252 + x="258.41916" 3.1253 + y="548.09222" 3.1254 + id="text9718" 3.1255 + sodipodi:linespacing="100%"><tspan 3.1256 + style="font-size:8px;text-align:end;text-anchor:end" 3.1257 + sodipodi:role="line" 3.1258 + x="258.41916" 3.1259 + y="548.09222" 3.1260 + id="tspan9720">start</tspan></text> 3.1261 + <path 3.1262 + sodipodi:nodetypes="cc" 3.1263 + inkscape:connector-curvature="0" 3.1264 + id="path9722" 3.1265 + d="m 266.02904,699.43112 c 0,10.33165 0,10.33165 0,10.33165" 3.1266 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 3.1267 + <path 3.1268 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 3.1269 + d="m 258.24715,700.02605 c 13.34137,0 13.34137,0 13.34137,0" 3.1270 + id="path9724" 3.1271 + inkscape:connector-curvature="0" /> 3.1272 + <text 3.1273 + sodipodi:linespacing="100%" 3.1274 + id="text9936" 3.1275 + y="786.9176" 3.1276 + x="644.57471" 3.1277 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.1278 + xml:space="preserve" 3.1279 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 3.1280 + id="tspan9938" 3.1281 + y="786.9176" 3.1282 + x="644.57471" 3.1283 + sodipodi:role="line" 3.1284 + style="font-size:8px;text-align:center;text-anchor:middle">Call to dyn lib</tspan></text> 3.1285 + <text 3.1286 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 3.1287 + xml:space="preserve" 3.1288 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.1289 + x="646.42737" 3.1290 + y="898.90509" 3.1291 + id="text9940" 3.1292 + sodipodi:linespacing="100%"><tspan 3.1293 + style="font-size:8px;text-align:center;text-anchor:middle" 3.1294 + sodipodi:role="line" 3.1295 + x="646.42737" 3.1296 + y="898.90509" 3.1297 + id="tspan9942">Call to dyn lib</tspan></text> 3.1298 + <text 3.1299 + sodipodi:linespacing="100%" 3.1300 + id="text9944" 3.1301 + y="686.93219" 3.1302 + x="642.91998" 3.1303 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.1304 + xml:space="preserve" 3.1305 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 3.1306 + id="tspan9946" 3.1307 + y="686.93219" 3.1308 + x="642.91998" 3.1309 + sodipodi:role="line" 3.1310 + style="font-size:8px;text-align:center;text-anchor:middle">Call to dyn lib</tspan></text> 3.1311 + <text 3.1312 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 3.1313 + xml:space="preserve" 3.1314 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.1315 + x="115.47029" 3.1316 + y="603.64581" 3.1317 + id="text9948" 3.1318 + sodipodi:linespacing="100%"><tspan 3.1319 + style="font-size:8px;text-align:center;text-anchor:middle" 3.1320 + sodipodi:role="line" 3.1321 + x="115.47029" 3.1322 + y="603.64581" 3.1323 + id="tspan9950">call to dyn lib</tspan></text> 3.1324 + <path 3.1325 + inkscape:connector-curvature="0" 3.1326 + id="path9952" 3.1327 + d="m 701.67453,642.02605 c -669.895225,0 -669.895225,0 -669.895225,0" 3.1328 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" /> 3.1329 + <path 3.1330 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" 3.1331 + d="m 701.67453,579.52981 c -669.895225,0 -669.895225,0 -669.895225,0" 3.1332 + id="path9954" 3.1333 + inkscape:connector-curvature="0" /> 3.1334 + <text 3.1335 + xml:space="preserve" 3.1336 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.1337 + x="326.92542" 3.1338 + y="739.76575" 3.1339 + id="text9956" 3.1340 + sodipodi:linespacing="100%"><tspan 3.1341 + style="text-align:center;text-anchor:middle" 3.1342 + sodipodi:role="line" 3.1343 + id="tspan9958" 3.1344 + x="326.92542" 3.1345 + y="739.76575">Master</tspan><tspan 3.1346 + style="font-size:8px;text-align:center;text-anchor:middle" 3.1347 + id="tspan9960" 3.1348 + sodipodi:role="line" 3.1349 + x="326.92542" 3.1350 + y="748.2005">(runtime system)</tspan><tspan 3.1351 + id="tspan9962" 3.1352 + style="font-size:8px;text-align:center;text-anchor:middle" 3.1353 + sodipodi:role="line" 3.1354 + x="326.92542" 3.1355 + y="756.2005">on core 2</tspan></text> 3.1356 + <path 3.1357 + inkscape:connector-curvature="0" 3.1358 + id="path9970" 3.1359 + d="m 291.99816,758.02605 c -63.44071,0 -63.44071,0 -63.44071,0" 3.1360 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000003, 3.00000003;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 3.1361 + <g 3.1362 + id="g9972" 3.1363 + transform="matrix(1,0,0,0.71130685,-16,504.52913)"> 3.1364 + <rect 3.1365 + style="fill:none;stroke:#000000;stroke-width:1.28076112;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 3.1366 + id="rect9974" 3.1367 + width="65.276405" 3.1368 + height="52.250008" 3.1369 + x="310.40247" 3.1370 + y="313.58255" /> 3.1371 + </g> 3.1372 + <text 3.1373 + sodipodi:linespacing="100%" 3.1374 + id="text9982" 3.1375 + y="761.42468" 3.1376 + x="202.41257" 3.1377 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.1378 + xml:space="preserve"><tspan 3.1379 + id="tspan9984" 3.1380 + y="761.42468" 3.1381 + x="202.41257" 3.1382 + sodipodi:role="line" 3.1383 + style="text-align:center;text-anchor:middle;fill:#000080">Master Fn</tspan></text> 3.1384 + <path 3.1385 + sodipodi:nodetypes="cc" 3.1386 + inkscape:connector-curvature="0" 3.1387 + id="path10010" 3.1388 + d="m 266.02904,799.43113 c 0,54.93536 0,54.93536 0,54.93536" 3.1389 + style="fill:none;stroke:#000000;stroke-width:0.99999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" /> 3.1390 + <path 3.1391 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 3.1392 + d="m 258.24715,800.02605 c 13.34137,0 13.34137,0 13.34137,0" 3.1393 + id="path10012" 3.1394 + inkscape:connector-curvature="0" /> 3.1395 + <path 3.1396 + inkscape:connector-curvature="0" 3.1397 + id="path10014" 3.1398 + d="m 271.57781,854.02605 c -13.14022,0 -13.14022,0 -13.14022,0" 3.1399 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 3.1400 + <text 3.1401 + transform="matrix(0.00962718,0.99995366,-0.99995366,0.00962718,0,0)" 3.1402 + xml:space="preserve" 3.1403 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.1404 + x="837.37762" 3.1405 + y="-273.75269" 3.1406 + id="text10018" 3.1407 + sodipodi:linespacing="100%"><tspan 3.1408 + id="tspan10020" 3.1409 + style="text-align:center;text-anchor:middle;fill:#000080" 3.1410 + sodipodi:role="line" 3.1411 + x="837.37762" 3.1412 + y="-273.75269">Timeline of Master on core 2</tspan></text> 3.1413 + <path 3.1414 + inkscape:connector-curvature="0" 3.1415 + id="path10030" 3.1416 + d="m 258.24715,765.42364 c 13.34137,0 13.34137,0 13.34137,0" 3.1417 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 3.1418 + <path 3.1419 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000002, 3.00000002;stroke-dashoffset:0" 3.1420 + d="m 205.27805,543.45805 c 0,3.23577 0,3.23577 0,3.23577" 3.1421 + id="path10054" 3.1422 + inkscape:connector-curvature="0" 3.1423 + sodipodi:nodetypes="cc" /> 3.1424 + <path 3.1425 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" 3.1426 + d="m 701.67453,854.02605 c -669.895225,0 -669.895225,0 -669.895225,0" 3.1427 + id="path10056" 3.1428 + inkscape:connector-curvature="0" /> 3.1429 + <path 3.1430 + inkscape:connector-curvature="0" 3.1431 + id="path10058" 3.1432 + d="m 701.67453,799.52981 c -669.895225,0 -669.895225,0 -669.895225,0" 3.1433 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" /> 3.1434 + <text 3.1435 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 3.1436 + xml:space="preserve" 3.1437 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.1438 + x="-248.43199" 3.1439 + y="551.17401" 3.1440 + id="text10062" 3.1441 + sodipodi:linespacing="100%"><tspan 3.1442 + id="tspan10068" 3.1443 + style="font-size:8px;text-align:center;text-anchor:middle" 3.1444 + sodipodi:role="line" 3.1445 + x="-248.43199" 3.1446 + y="551.17401">return from</tspan><tspan 3.1447 + style="font-size:8px;text-align:center;text-anchor:middle" 3.1448 + sodipodi:role="line" 3.1449 + x="-248.43199" 3.1450 + y="559.17401" 3.1451 + id="tspan10074">suspend</tspan></text> 3.1452 + <path 3.1453 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" 3.1454 + d="m 701.67453,700.02605 c -669.895225,0 -669.895225,0 -669.895225,0" 3.1455 + id="path10076" 3.1456 + inkscape:connector-curvature="0" /> 3.1457 + <text 3.1458 + xml:space="preserve" 3.1459 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.1460 + x="667.38037" 3.1461 + y="677.42468" 3.1462 + id="text10082" 3.1463 + sodipodi:linespacing="100%"><tspan 3.1464 + style="text-align:center;text-anchor:middle;fill:#000080" 3.1465 + sodipodi:role="line" 3.1466 + x="667.38037" 3.1467 + y="677.42468" 3.1468 + id="tspan10084">PR primitive Fn</tspan><tspan 3.1469 + id="tspan10086" 3.1470 + style="text-align:center;text-anchor:middle;fill:#000080" 3.1471 + sodipodi:role="line" 3.1472 + x="667.38037" 3.1473 + y="687.42468">to send request</tspan></text> 3.1474 + <text 3.1475 + sodipodi:linespacing="100%" 3.1476 + id="text10088" 3.1477 + y="777.42468" 3.1478 + x="667.38037" 3.1479 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.1480 + xml:space="preserve"><tspan 3.1481 + id="tspan10090" 3.1482 + y="777.42468" 3.1483 + x="667.38037" 3.1484 + sodipodi:role="line" 3.1485 + style="text-align:center;text-anchor:middle;fill:#000080">PR primitive Fn</tspan><tspan 3.1486 + y="787.42468" 3.1487 + x="667.38037" 3.1488 + sodipodi:role="line" 3.1489 + style="text-align:center;text-anchor:middle;fill:#000080" 3.1490 + id="tspan10092">to send request</tspan></text> 3.1491 + <text 3.1492 + xml:space="preserve" 3.1493 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.1494 + x="667.38037" 3.1495 + y="889.42468" 3.1496 + id="text10094" 3.1497 + sodipodi:linespacing="100%"><tspan 3.1498 + style="text-align:center;text-anchor:middle;fill:#000080" 3.1499 + sodipodi:role="line" 3.1500 + x="667.38037" 3.1501 + y="889.42468" 3.1502 + id="tspan10096">PR primitive Fn</tspan><tspan 3.1503 + id="tspan10098" 3.1504 + style="text-align:center;text-anchor:middle;fill:#000080" 3.1505 + sodipodi:role="line" 3.1506 + x="667.38037" 3.1507 + y="899.42468">to send request</tspan></text> 3.1508 + <path 3.1509 + sodipodi:nodetypes="cc" 3.1510 + inkscape:connector-curvature="0" 3.1511 + id="path10100" 3.1512 + d="m 476.02904,854.3113 c 0,57.40944 0,57.40944 0,57.40944" 3.1513 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 3.1514 + <path 3.1515 + inkscape:connector-curvature="0" 3.1516 + id="path10102" 3.1517 + d="m 481.57781,913.27417 c -13.14022,0 -13.14022,0 -13.14022,0" 3.1518 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 3.1519 + <text 3.1520 + sodipodi:linespacing="100%" 3.1521 + id="text10104" 3.1522 + y="912.22235" 3.1523 + x="487.57166" 3.1524 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.1525 + xml:space="preserve" 3.1526 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 3.1527 + id="tspan10106" 3.1528 + y="912.22235" 3.1529 + x="487.57166" 3.1530 + sodipodi:role="line" 3.1531 + style="font-size:8px;text-align:start;text-anchor:start">end</tspan></text> 3.1532 + <path 3.1533 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 3.1534 + d="m 266.02904,911.43112 c 0,10.33165 0,10.33165 0,10.33165" 3.1535 + id="path10108" 3.1536 + inkscape:connector-curvature="0" 3.1537 + sodipodi:nodetypes="cc" /> 3.1538 + <path 3.1539 + inkscape:connector-curvature="0" 3.1540 + id="path10110" 3.1541 + d="m 258.24715,912.02605 c 13.34137,0 13.34137,0 13.34137,0" 3.1542 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 3.1543 + <path 3.1544 + inkscape:connector-curvature="0" 3.1545 + id="path10116" 3.1546 + d="m 701.67453,912.02605 c -669.895225,0 -669.895225,0 -669.895225,0" 3.1547 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" /> 3.1548 + <text 3.1549 + sodipodi:linespacing="100%" 3.1550 + id="text10118" 3.1551 + y="702.12524" 3.1552 + x="259.88855" 3.1553 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.1554 + xml:space="preserve" 3.1555 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 3.1556 + id="tspan10120" 3.1557 + y="702.12524" 3.1558 + x="259.88855" 3.1559 + sodipodi:role="line" 3.1560 + style="font-size:8px;text-align:end;text-anchor:end">resume</tspan></text> 3.1561 + <text 3.1562 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 3.1563 + xml:space="preserve" 3.1564 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.1565 + x="260.32755" 3.1566 + y="802.12433" 3.1567 + id="text10122" 3.1568 + sodipodi:linespacing="100%"><tspan 3.1569 + style="font-size:8px;text-align:end;text-anchor:end" 3.1570 + sodipodi:role="line" 3.1571 + x="260.32755" 3.1572 + y="802.12433" 3.1573 + id="tspan10124">resume</tspan></text> 3.1574 + <text 3.1575 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 3.1576 + xml:space="preserve" 3.1577 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.1578 + x="263.01257" 3.1579 + y="854.12366" 3.1580 + id="text10126" 3.1581 + sodipodi:linespacing="100%"><tspan 3.1582 + style="font-size:8px;text-align:end;text-anchor:end" 3.1583 + sodipodi:role="line" 3.1584 + x="263.01257" 3.1585 + y="854.12366" 3.1586 + id="tspan10128">suspend</tspan></text> 3.1587 + <text 3.1588 + sodipodi:linespacing="100%" 3.1589 + id="text10130" 3.1590 + y="768.09064" 3.1591 + x="259.38495" 3.1592 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.1593 + xml:space="preserve" 3.1594 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 3.1595 + id="tspan10132" 3.1596 + y="768.09064" 3.1597 + x="259.38495" 3.1598 + sodipodi:role="line" 3.1599 + style="font-size:8px;text-align:end;text-anchor:end">start</tspan></text> 3.1600 + <text 3.1601 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 3.1602 + xml:space="preserve" 3.1603 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.1604 + x="260.81906" 3.1605 + y="914.12299" 3.1606 + id="text10134" 3.1607 + sodipodi:linespacing="100%"><tspan 3.1608 + style="font-size:8px;text-align:end;text-anchor:end" 3.1609 + sodipodi:role="line" 3.1610 + x="260.81906" 3.1611 + y="914.12299" 3.1612 + id="tspan10136">resume</tspan></text> 3.1613 + <text 3.1614 + xml:space="preserve" 3.1615 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.1616 + x="136.99219" 3.1617 + y="467.42465" 3.1618 + id="text10146" 3.1619 + sodipodi:linespacing="100%"><tspan 3.1620 + style="text-align:center;text-anchor:middle;fill:#800000" 3.1621 + sodipodi:role="line" 3.1622 + x="138.49609" 3.1623 + y="467.42465" 3.1624 + id="tspan10148">Language </tspan><tspan 3.1625 + id="tspan10150" 3.1626 + style="text-align:center;text-anchor:middle;fill:#800000" 3.1627 + sodipodi:role="line" 3.1628 + x="136.99219" 3.1629 + y="477.42465">Plugin</tspan><tspan 3.1630 + id="tspan10152" 3.1631 + style="text-align:center;text-anchor:middle;fill:#800000" 3.1632 + sodipodi:role="line" 3.1633 + x="136.99219" 3.1634 + y="487.42465">Code</tspan></text> 3.1635 + <text 3.1636 + xml:space="preserve" 3.1637 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.1638 + x="203.16797" 3.1639 + y="467.42465" 3.1640 + id="text10154" 3.1641 + sodipodi:linespacing="100%"><tspan 3.1642 + style="text-align:center;text-anchor:middle;fill:#000080" 3.1643 + sodipodi:role="line" 3.1644 + x="203.16797" 3.1645 + y="467.42465" 3.1646 + id="tspan10156">Proto-Runtime</tspan><tspan 3.1647 + style="text-align:center;text-anchor:middle;fill:#000080" 3.1648 + sodipodi:role="line" 3.1649 + x="203.16797" 3.1650 + y="477.42465" 3.1651 + id="tspan10158">Master</tspan><tspan 3.1652 + id="tspan10160" 3.1653 + style="text-align:center;text-anchor:middle;fill:#000080" 3.1654 + sodipodi:role="line" 3.1655 + x="203.16797" 3.1656 + y="487.42465">Code</tspan></text> 3.1657 + <path 3.1658 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 3.1659 + d="m 205.05995,586.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 3.1660 + id="path10162" 3.1661 + inkscape:connector-curvature="0" /> 3.1662 + <path 3.1663 + inkscape:connector-curvature="0" 3.1664 + id="path10164" 3.1665 + d="m 137.04459,636.02605 c 67.19099,0 67.19099,0 67.19099,0" 3.1666 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 3.1667 + <path 3.1668 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 3.1669 + d="m 67.525286,610.02605 c 69.221574,0 69.221574,0 69.221574,0" 3.1670 + id="path10166" 3.1671 + inkscape:connector-curvature="0" /> 3.1672 + <path 3.1673 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 3.1674 + d="m 67.27805,597.85824 c 0,13.94668 0,13.94668 0,13.94668" 3.1675 + id="path10168" 3.1676 + inkscape:connector-curvature="0" 3.1677 + sodipodi:nodetypes="cc" /> 3.1678 + <path 3.1679 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 3.1680 + d="m 137.04459,612.02605 c 67.19099,0 67.19099,0 67.19099,0" 3.1681 + id="path10172" 3.1682 + inkscape:connector-curvature="0" /> 3.1683 + <path 3.1684 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 3.1685 + d="m 205.27805,612.63926 c 0,11.23237 0,11.23237 0,11.23237" 3.1686 + id="path10174" 3.1687 + inkscape:connector-curvature="0" 3.1688 + sodipodi:nodetypes="cc" /> 3.1689 + <path 3.1690 + inkscape:connector-curvature="0" 3.1691 + id="path10176" 3.1692 + d="m 205.05995,624.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 3.1693 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 3.1694 + <text 3.1695 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 3.1696 + xml:space="preserve" 3.1697 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.1698 + x="191.85561" 3.1699 + y="626.38348" 3.1700 + id="text10178" 3.1701 + sodipodi:linespacing="100%"><tspan 3.1702 + style="font-size:7px;text-align:center;text-anchor:middle" 3.1703 + sodipodi:role="line" 3.1704 + x="191.85561" 3.1705 + y="626.38348" 3.1706 + id="tspan10180">call via Ptr to Dyn Lib Fn</tspan></text> 3.1707 + <path 3.1708 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 3.1709 + d="m 137.27805,623.85824 c 0,11.43122 0,11.43122 0,11.43122" 3.1710 + id="path10182" 3.1711 + inkscape:connector-curvature="0" 3.1712 + sodipodi:nodetypes="cc" /> 3.1713 + <text 3.1714 + sodipodi:linespacing="100%" 3.1715 + id="text10184" 3.1716 + y="588.38867" 3.1717 + x="191.22707" 3.1718 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.1719 + xml:space="preserve" 3.1720 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 3.1721 + id="tspan10186" 3.1722 + y="588.38867" 3.1723 + x="191.22707" 3.1724 + sodipodi:role="line" 3.1725 + style="font-size:7px;text-align:center;text-anchor:middle">call via Ptr to Dyn Lib Fn</tspan></text> 3.1726 + <text 3.1727 + sodipodi:linespacing="100%" 3.1728 + id="text10188" 3.1729 + y="791.42468" 3.1730 + x="137.31689" 3.1731 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.1732 + xml:space="preserve"><tspan 3.1733 + id="tspan10190" 3.1734 + y="791.42468" 3.1735 + x="137.31689" 3.1736 + sodipodi:role="line" 3.1737 + style="text-align:center;text-anchor:middle;fill:#800000">Lang Handler</tspan><tspan 3.1738 + id="tspan10192" 3.1739 + y="801.42468" 3.1740 + x="137.31689" 3.1741 + sodipodi:role="line" 3.1742 + style="text-align:center;text-anchor:middle;fill:#800000">for acq Mutex</tspan></text> 3.1743 + <path 3.1744 + sodipodi:nodetypes="cc" 3.1745 + inkscape:connector-curvature="0" 3.1746 + id="path10230" 3.1747 + d="m 205.27805,763.45805 c 0,3.23576 0,3.23576 0,3.23576" 3.1748 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 3.1749 + <path 3.1750 + inkscape:connector-curvature="0" 3.1751 + id="path4879" 3.1752 + d="m 465.78297,700.02605 c -193.92439,0 -193.92439,0 -193.92439,0" 3.1753 + style="fill:none;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 3.1754 + <path 3.1755 + inkscape:connector-curvature="0" 3.1756 + id="path5395" 3.1757 + d="m 466.19516,580.02605 c -193.92439,0 -193.92439,0 -193.92439,0" 3.1758 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 3.1759 + <path 3.1760 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 3.1761 + d="m 466.19516,800.02605 c -193.92439,0 -193.92439,0 -193.92439,0" 3.1762 + id="path5397" 3.1763 + inkscape:connector-curvature="0" /> 3.1764 + <path 3.1765 + inkscape:connector-curvature="0" 3.1766 + id="path5399" 3.1767 + d="m 466.19516,912.02605 c -193.92439,0 -193.92439,0 -193.92439,0" 3.1768 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 3.1769 + <path 3.1770 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 3.1771 + d="m 271.03421,854.02605 c 193.92439,0 193.92439,0 193.92439,0" 3.1772 + id="path5402" 3.1773 + inkscape:connector-curvature="0" /> 3.1774 + <text 3.1775 + sodipodi:linespacing="100%" 3.1776 + id="text5410" 3.1777 + y="833.42468" 3.1778 + x="137.68066" 3.1779 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.1780 + xml:space="preserve"><tspan 3.1781 + id="tspan5412" 3.1782 + y="833.42468" 3.1783 + x="137.68066" 3.1784 + sodipodi:role="line" 3.1785 + style="text-align:center;text-anchor:middle;fill:#800000">Assigner Fn</tspan></text> 3.1786 + <path 3.1787 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 3.1788 + d="m 205.27805,800.31985 c 0,7.35629 0,7.35629 0,7.35629" 3.1789 + id="path5420" 3.1790 + inkscape:connector-curvature="0" 3.1791 + sodipodi:nodetypes="cc" /> 3.1792 + <path 3.1793 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 3.1794 + d="m 205.05995,806.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 3.1795 + id="path5422" 3.1796 + inkscape:connector-curvature="0" /> 3.1797 + <path 3.1798 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 3.1799 + d="m 137.27805,805.85824 c 0,11.43122 0,11.43122 0,11.43122" 3.1800 + id="path5424" 3.1801 + inkscape:connector-curvature="0" 3.1802 + sodipodi:nodetypes="cc" /> 3.1803 + <path 3.1804 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 3.1805 + d="m 205.27805,848.63925 c 0,4.54718 0,4.54718 0,4.54718" 3.1806 + id="path5428" 3.1807 + inkscape:connector-curvature="0" 3.1808 + sodipodi:nodetypes="cc" /> 3.1809 + <text 3.1810 + sodipodi:linespacing="100%" 3.1811 + id="text5430" 3.1812 + y="761.78809" 3.1813 + x="-447.8111" 3.1814 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.1815 + xml:space="preserve" 3.1816 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 3.1817 + id="tspan5432" 3.1818 + y="761.78809" 3.1819 + x="-447.8111" 3.1820 + sodipodi:role="line" 3.1821 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan 3.1822 + y="769.78809" 3.1823 + x="-447.8111" 3.1824 + sodipodi:role="line" 3.1825 + style="font-size:8px;text-align:center;text-anchor:middle" 3.1826 + id="tspan5434">and switch</tspan><tspan 3.1827 + y="777.78809" 3.1828 + x="-447.8111" 3.1829 + sodipodi:role="line" 3.1830 + style="font-size:8px;text-align:center;text-anchor:middle" 3.1831 + id="tspan5436">to app VP</tspan></text> 3.1832 + <path 3.1833 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 3.1834 + d="m 205.27805,800.31985 c 0,7.35629 0,7.35629 0,7.35629" 3.1835 + id="path5438" 3.1836 + inkscape:connector-curvature="0" 3.1837 + sodipodi:nodetypes="cc" /> 3.1838 + <path 3.1839 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 3.1840 + d="m 205.27805,800.31985 c 0,7.35629 0,7.35629 0,7.35629" 3.1841 + id="path5440" 3.1842 + inkscape:connector-curvature="0" 3.1843 + sodipodi:nodetypes="cc" /> 3.1844 + <text 3.1845 + sodipodi:linespacing="100%" 3.1846 + id="text5446" 3.1847 + y="709.24017" 3.1848 + x="-401.45242" 3.1849 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.1850 + xml:space="preserve" 3.1851 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 3.1852 + y="709.24017" 3.1853 + x="-401.45242" 3.1854 + sodipodi:role="line" 3.1855 + style="font-size:8px;text-align:center;text-anchor:middle" 3.1856 + id="tspan5448">return from</tspan><tspan 3.1857 + id="tspan5450" 3.1858 + y="717.24017" 3.1859 + x="-401.45242" 3.1860 + sodipodi:role="line" 3.1861 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text> 3.1862 + <path 3.1863 + inkscape:connector-curvature="0" 3.1864 + id="path5452" 3.1865 + d="m 205.05995,806.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 3.1866 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 3.1867 + <path 3.1868 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 3.1869 + d="m 137.04459,848.02605 c 67.19099,0 67.19099,0 67.19099,0" 3.1870 + id="path5454" 3.1871 + inkscape:connector-curvature="0" /> 3.1872 + <path 3.1873 + inkscape:connector-curvature="0" 3.1874 + id="path5460" 3.1875 + d="m 137.04459,820.02605 c 67.19099,0 67.19099,0 67.19099,0" 3.1876 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 3.1877 + <path 3.1878 + sodipodi:nodetypes="cc" 3.1879 + inkscape:connector-curvature="0" 3.1880 + id="path5462" 3.1881 + d="m 205.27805,820.63927 c 0,14.88618 0,14.88618 0,14.88618" 3.1882 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 3.1883 + <path 3.1884 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 3.1885 + d="m 205.05995,836.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 3.1886 + id="path5464" 3.1887 + inkscape:connector-curvature="0" /> 3.1888 + <text 3.1889 + sodipodi:linespacing="100%" 3.1890 + id="text5466" 3.1891 + y="838.35522" 3.1892 + x="195.36256" 3.1893 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.1894 + xml:space="preserve" 3.1895 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 3.1896 + id="tspan5468" 3.1897 + y="838.35522" 3.1898 + x="195.36256" 3.1899 + sodipodi:role="line" 3.1900 + style="font-size:7px;text-align:center;text-anchor:middle">call via Ptr to Dyn Lib Fn</tspan></text> 3.1901 + <path 3.1902 + sodipodi:nodetypes="cc" 3.1903 + inkscape:connector-curvature="0" 3.1904 + id="path5470" 3.1905 + d="m 137.27805,835.85824 c 0,11.43122 0,11.43122 0,11.43122" 3.1906 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 3.1907 + <text 3.1908 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 3.1909 + xml:space="preserve" 3.1910 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.1911 + x="194.86635" 3.1912 + y="808.35907" 3.1913 + id="text5472" 3.1914 + sodipodi:linespacing="100%"><tspan 3.1915 + style="font-size:7px;text-align:center;text-anchor:middle" 3.1916 + sodipodi:role="line" 3.1917 + x="194.86635" 3.1918 + y="808.35907" 3.1919 + id="tspan5474">call via Ptr to Dyn Lib Fn</tspan></text> 3.1920 + <text 3.1921 + sodipodi:linespacing="100%" 3.1922 + id="text5476" 3.1923 + y="713.48187" 3.1924 + x="-172.78647" 3.1925 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.1926 + xml:space="preserve" 3.1927 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 3.1928 + y="713.48187" 3.1929 + x="-172.78647" 3.1930 + sodipodi:role="line" 3.1931 + style="font-size:18px;text-align:center;text-anchor:middle" 3.1932 + id="tspan5482">core 1</tspan></text> 3.1933 + <text 3.1934 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 3.1935 + xml:space="preserve" 3.1936 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.1937 + x="-321.0329" 3.1938 + y="865.03326" 3.1939 + id="text5488" 3.1940 + sodipodi:linespacing="100%"><tspan 3.1941 + id="tspan5490" 3.1942 + style="font-size:18px;text-align:center;text-anchor:middle" 3.1943 + sodipodi:role="line" 3.1944 + x="-321.0329" 3.1945 + y="865.03326">core 2</tspan></text> 3.1946 + <path 3.1947 + sodipodi:nodetypes="cc" 3.1948 + inkscape:connector-curvature="0" 3.1949 + id="path5492" 3.1950 + d="m 205.27805,914.31985 c 0,7.35629 0,7.35629 0,7.35629" 3.1951 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 3.1952 + <path 3.1953 + sodipodi:nodetypes="cc" 3.1954 + inkscape:connector-curvature="0" 3.1955 + id="path5494" 3.1956 + d="m 205.27805,914.31985 c 0,7.35629 0,7.35629 0,7.35629" 3.1957 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 3.1958 + <path 3.1959 + sodipodi:nodetypes="cc" 3.1960 + inkscape:connector-curvature="0" 3.1961 + id="path5496" 3.1962 + d="m 205.27805,914.31985 c 0,7.35629 0,7.35629 0,7.35629" 3.1963 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 3.1964 + <text 3.1965 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 3.1966 + xml:space="preserve" 3.1967 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.1968 + x="-480.74414" 3.1969 + y="791.14636" 3.1970 + id="text5498" 3.1971 + sodipodi:linespacing="100%"><tspan 3.1972 + id="tspan5500" 3.1973 + style="font-size:8px;text-align:center;text-anchor:middle" 3.1974 + sodipodi:role="line" 3.1975 + x="-480.74414" 3.1976 + y="791.14636">return from</tspan><tspan 3.1977 + style="font-size:8px;text-align:center;text-anchor:middle" 3.1978 + sodipodi:role="line" 3.1979 + x="-480.74414" 3.1980 + y="799.14636" 3.1981 + id="tspan5502">suspend</tspan></text> 3.1982 + <path 3.1983 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 3.1984 + d="m 205.27805,700.31985 c 0,7.35629 0,7.35629 0,7.35629" 3.1985 + id="path5504" 3.1986 + inkscape:connector-curvature="0" 3.1987 + sodipodi:nodetypes="cc" /> 3.1988 + <path 3.1989 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 3.1990 + d="m 205.27805,700.31985 c 0,7.35629 0,7.35629 0,7.35629" 3.1991 + id="path5506" 3.1992 + inkscape:connector-curvature="0" 3.1993 + sodipodi:nodetypes="cc" /> 3.1994 + <path 3.1995 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 3.1996 + d="m 205.27805,700.31985 c 0,7.35629 0,7.35629 0,7.35629" 3.1997 + id="path5508" 3.1998 + inkscape:connector-curvature="0" 3.1999 + sodipodi:nodetypes="cc" /> 3.2000 + <text 3.2001 + sodipodi:linespacing="100%" 3.2002 + id="text5510" 3.2003 + y="637.39264" 3.2004 + x="-331.89792" 3.2005 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.2006 + xml:space="preserve" 3.2007 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 3.2008 + y="637.39264" 3.2009 + x="-331.89792" 3.2010 + sodipodi:role="line" 3.2011 + style="font-size:8px;text-align:center;text-anchor:middle" 3.2012 + id="tspan5512">return from</tspan><tspan 3.2013 + id="tspan5514" 3.2014 + y="645.39264" 3.2015 + x="-331.89792" 3.2016 + sodipodi:role="line" 3.2017 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text> 3.2018 + <path 3.2019 + inkscape:connector-curvature="0" 3.2020 + id="path5516" 3.2021 + d="m 271.03421,766.02605 c 193.92439,0 193.92439,0 193.92439,0" 3.2022 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 3.2023 + <path 3.2024 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 3.2025 + d="m 271.03421,546.02605 c 193.92439,0 193.92439,0 193.92439,0" 3.2026 + id="path5518" 3.2027 + inkscape:connector-curvature="0" /> 3.2028 + <text 3.2029 + xml:space="preserve" 3.2030 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.2031 + x="326.92542" 3.2032 + y="155.76575" 3.2033 + id="text3329" 3.2034 + sodipodi:linespacing="100%"><tspan 3.2035 + style="text-align:center;text-anchor:middle" 3.2036 + sodipodi:role="line" 3.2037 + id="tspan3331" 3.2038 + x="326.92542" 3.2039 + y="155.76575">PR OS thread</tspan><tspan 3.2040 + id="tspan3335" 3.2041 + style="font-size:8px;text-align:center;text-anchor:middle" 3.2042 + sodipodi:role="line" 3.2043 + x="326.92542" 3.2044 + y="164.20053">(core1)</tspan></text> 3.2045 + <g 3.2046 + transform="translate(44.002789,-346)" 3.2047 + id="g3337"> 3.2048 + <rect 3.2049 + y="389.58255" 3.2050 + x="346.40247" 3.2051 + height="37.165791" 3.2052 + width="65.276405" 3.2053 + id="rect3339" 3.2054 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 3.2055 + <text 3.2056 + xml:space="preserve" 3.2057 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.2058 + x="379.00162" 3.2059 + y="400.15268" 3.2060 + id="text3341" 3.2061 + sodipodi:linespacing="100%"><tspan 3.2062 + id="tspan3349" 3.2063 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000" 3.2064 + sodipodi:role="line" 3.2065 + x="379.00162" 3.2066 + y="400.15268"><tspan 3.2067 + id="tspan3641" 3.2068 + style="font-size:10px;text-align:center;text-anchor:middle;fill:#008000">Main </tspan>OS thread</tspan></text> 3.2069 + </g> 3.2070 + <text 3.2071 + xml:space="preserve" 3.2072 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.2073 + x="517.16797" 3.2074 + y="81.424683" 3.2075 + id="text3351" 3.2076 + sodipodi:linespacing="100%"><tspan 3.2077 + style="text-align:center;text-anchor:middle;fill:#008000" 3.2078 + sodipodi:role="line" 3.2079 + x="517.16797" 3.2080 + y="81.424683" 3.2081 + id="tspan3353">main</tspan></text> 3.2082 + <text 3.2083 + sodipodi:linespacing="100%" 3.2084 + id="text3355" 3.2085 + y="273.42468" 3.2086 + x="137.31689" 3.2087 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.2088 + xml:space="preserve"><tspan 3.2089 + id="tspan3357" 3.2090 + y="273.42468" 3.2091 + x="137.31689" 3.2092 + sodipodi:role="line" 3.2093 + style="text-align:center;text-anchor:middle;fill:#800000">Lang Handler</tspan><tspan 3.2094 + id="tspan3359" 3.2095 + y="283.42468" 3.2096 + x="137.31689" 3.2097 + sodipodi:role="line" 3.2098 + style="text-align:center;text-anchor:middle;fill:#800000">for create VP</tspan></text> 3.2099 + <text 3.2100 + sodipodi:linespacing="100%" 3.2101 + id="text3361" 3.2102 + y="321.42468" 3.2103 + x="137.68066" 3.2104 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.2105 + xml:space="preserve"><tspan 3.2106 + id="tspan3363" 3.2107 + y="321.42468" 3.2108 + x="137.68066" 3.2109 + sodipodi:role="line" 3.2110 + style="text-align:center;text-anchor:middle;fill:#800000">Assigner Fn</tspan></text> 3.2111 + <path 3.2112 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999996, 2.99999996;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 3.2113 + d="m 457.32649,78.02605 c 38.42351,0 38.42351,0 38.42351,0" 3.2114 + id="path3365" 3.2115 + inkscape:connector-curvature="0" /> 3.2116 + <text 3.2117 + sodipodi:linespacing="100%" 3.2118 + id="text3367" 3.2119 + y="63.424683" 3.2120 + x="604.78461" 3.2121 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.2122 + xml:space="preserve"><tspan 3.2123 + id="tspan3371" 3.2124 + y="63.424683" 3.2125 + x="604.78461" 3.2126 + sodipodi:role="line" 3.2127 + style="text-align:center;text-anchor:middle;fill:#800000">PR_start()</tspan></text> 3.2128 + <text 3.2129 + sodipodi:linespacing="100%" 3.2130 + id="text3373" 3.2131 + y="107.0096" 3.2132 + x="633.32379" 3.2133 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.2134 + xml:space="preserve" 3.2135 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 3.2136 + id="tspan3375" 3.2137 + y="107.0096" 3.2138 + x="633.32379" 3.2139 + sodipodi:role="line" 3.2140 + style="font-size:8px;text-align:center;text-anchor:middle">Call to dyn lib</tspan></text> 3.2141 + <path 3.2142 + inkscape:connector-curvature="0" 3.2143 + id="path3377" 3.2144 + d="m 291.99816,238.02605 c -63.44071,0 -63.44071,0 -63.44071,0" 3.2145 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000003, 3.00000003;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 3.2146 + <text 3.2147 + transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)" 3.2148 + xml:space="preserve" 3.2149 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.2150 + x="208.23512" 3.2151 + y="280.55707" 3.2152 + id="text3379" 3.2153 + sodipodi:linespacing="100%"><tspan 3.2154 + style="font-size:8px;text-align:center;text-anchor:middle" 3.2155 + sodipodi:role="line" 3.2156 + x="208.23512" 3.2157 + y="280.55707" 3.2158 + id="tspan3381">Top Level Fn</tspan></text> 3.2159 + <text 3.2160 + sodipodi:linespacing="100%" 3.2161 + id="text3383" 3.2162 + y="166.44456" 3.2163 + x="460.02557" 3.2164 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.2165 + xml:space="preserve" 3.2166 + transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"><tspan 3.2167 + id="tspan3385" 3.2168 + y="166.44456" 3.2169 + x="460.02557" 3.2170 + sodipodi:role="line" 3.2171 + style="font-size:8px;text-align:center;text-anchor:middle">birth Fn</tspan></text> 3.2172 + <path 3.2173 + sodipodi:nodetypes="cc" 3.2174 + inkscape:connector-curvature="0" 3.2175 + id="path3387" 3.2176 + d="m 514.02904,84.01894 c 0,5.6572 0,5.6572 0,5.6572" 3.2177 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 3.2178 + <path 3.2179 + inkscape:connector-curvature="0" 3.2180 + id="path3389" 3.2181 + d="m 514.24714,90.02605 c 85.56237,0 85.56237,0 85.56237,0" 3.2182 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 3.2183 + <path 3.2184 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 3.2185 + d="m 602.77166,358.02605 c -88.41298,0 -88.41298,0 -88.41298,0" 3.2186 + id="path3391" 3.2187 + inkscape:connector-curvature="0" /> 3.2188 + <path 3.2189 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 3.2190 + d="m 514.02904,358.31987 c 0,26.21842 0,26.21842 0,26.21842" 3.2191 + id="path3393" 3.2192 + inkscape:connector-curvature="0" 3.2193 + sodipodi:nodetypes="cc" /> 3.2194 + <path 3.2195 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 3.2196 + d="m 514.2471,384.02605 c 87.58783,0 87.58783,0 87.58783,0" 3.2197 + id="path3395" 3.2198 + inkscape:connector-curvature="0" /> 3.2199 + <text 3.2200 + xml:space="preserve" 3.2201 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.2202 + x="604.78461" 3.2203 + y="370.71179" 3.2204 + id="text3397" 3.2205 + sodipodi:linespacing="100%"><tspan 3.2206 + style="text-align:center;text-anchor:middle;fill:#800000" 3.2207 + sodipodi:role="line" 3.2208 + x="604.78461" 3.2209 + y="370.71179" 3.2210 + id="tspan3399">end VP</tspan><tspan 3.2211 + id="tspan3401" 3.2212 + style="text-align:center;text-anchor:middle;fill:#800000" 3.2213 + sodipodi:role="line" 3.2214 + x="604.78461" 3.2215 + y="380.71179">wrapper Fn</tspan></text> 3.2216 + <path 3.2217 + inkscape:connector-curvature="0" 3.2218 + id="path3403" 3.2219 + d="m 602.26584,390.02605 c 63.99676,0 63.99676,0 63.99676,0" 3.2220 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 3.2221 + <path 3.2222 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 3.2223 + d="m 602.02904,382.31985 c 0,7.35629 0,7.35629 0,7.35629" 3.2224 + id="path3405" 3.2225 + inkscape:connector-curvature="0" 3.2226 + sodipodi:nodetypes="cc" /> 3.2227 + <path 3.2228 + sodipodi:nodetypes="cc" 3.2229 + inkscape:connector-curvature="0" 3.2230 + id="path3407" 3.2231 + d="m 602.02904,90.21843 c 0,19.4577 0,19.4577 0,19.4577" 3.2232 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 3.2233 + <path 3.2234 + inkscape:connector-curvature="0" 3.2235 + id="path3409" 3.2236 + d="m 602.24714,110.02605 c 64.71029,0 64.71029,0 64.71029,0" 3.2237 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 3.2238 + <path 3.2239 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 3.2240 + d="m 666.85635,354.02605 c -65.78483,0 -65.78483,0 -65.78483,0" 3.2241 + id="path3411" 3.2242 + inkscape:connector-curvature="0" /> 3.2243 + <path 3.2244 + sodipodi:nodetypes="cc" 3.2245 + inkscape:connector-curvature="0" 3.2246 + id="path3413" 3.2247 + d="m 668.02904,108.63925 c 0,13.68455 0,13.68455 0,13.68455" 3.2248 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 3.2249 + <path 3.2250 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 3.2251 + d="m 602.02904,353.22687 c 0,5.5885 0,5.5885 0,5.5885" 3.2252 + id="path3415" 3.2253 + inkscape:connector-curvature="0" 3.2254 + sodipodi:nodetypes="cc" /> 3.2255 + <path 3.2256 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 3.2257 + d="m 668.02904,340.63925 c 0,13.68455 0,13.68455 0,13.68455" 3.2258 + id="path3417" 3.2259 + inkscape:connector-curvature="0" 3.2260 + sodipodi:nodetypes="cc" /> 3.2261 + <text 3.2262 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 3.2263 + xml:space="preserve" 3.2264 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.2265 + x="395.64081" 3.2266 + y="556.71735" 3.2267 + id="text3419" 3.2268 + sodipodi:linespacing="100%"><tspan 3.2269 + style="font-size:8px;text-align:center;text-anchor:middle" 3.2270 + sodipodi:role="line" 3.2271 + x="395.64081" 3.2272 + y="556.71735" 3.2273 + id="tspan3421">suspend</tspan><tspan 3.2274 + id="tspan3423" 3.2275 + style="font-size:8px;text-align:center;text-anchor:middle" 3.2276 + sodipodi:role="line" 3.2277 + x="395.64081" 3.2278 + y="564.71735">and switch</tspan><tspan 3.2279 + id="tspan3425" 3.2280 + style="font-size:8px;text-align:center;text-anchor:middle" 3.2281 + sodipodi:role="line" 3.2282 + x="395.64081" 3.2283 + y="572.71735">to runtime</tspan></text> 3.2284 + <path 3.2285 + inkscape:connector-curvature="0" 3.2286 + id="path3427" 3.2287 + d="m 271.03421,342.02605 c 193.92439,0 193.92439,0 193.92439,0" 3.2288 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 3.2289 + <text 3.2290 + sodipodi:linespacing="100%" 3.2291 + id="text3429" 3.2292 + y="703.28741" 3.2293 + x="253.74896" 3.2294 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.2295 + xml:space="preserve" 3.2296 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 3.2297 + y="703.28741" 3.2298 + x="253.74896" 3.2299 + sodipodi:role="line" 3.2300 + style="font-size:8px;text-align:center;text-anchor:middle" 3.2301 + id="tspan3431">return</tspan><tspan 3.2302 + id="tspan3433" 3.2303 + y="711.28741" 3.2304 + x="253.74896" 3.2305 + sodipodi:role="line" 3.2306 + style="font-size:8px;text-align:center;text-anchor:middle">from</tspan><tspan 3.2307 + id="tspan3435" 3.2308 + y="719.28741" 3.2309 + x="253.74896" 3.2310 + sodipodi:role="line" 3.2311 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text> 3.2312 + <text 3.2313 + xml:space="preserve" 3.2314 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.2315 + x="601.38037" 3.2316 + y="83.424683" 3.2317 + id="text3437" 3.2318 + sodipodi:linespacing="100%"><tspan 3.2319 + id="tspan3441" 3.2320 + style="text-align:center;text-anchor:middle;fill:#000080" 3.2321 + sodipodi:role="line" 3.2322 + x="601.38037" 3.2323 + y="83.424683">PR__start()</tspan></text> 3.2324 + <text 3.2325 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 3.2326 + xml:space="preserve" 3.2327 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.2328 + x="553.98218" 3.2329 + y="94.71698" 3.2330 + id="text3443" 3.2331 + sodipodi:linespacing="100%"><tspan 3.2332 + style="font-size:8px;text-align:center;text-anchor:middle" 3.2333 + sodipodi:role="line" 3.2334 + x="553.98218" 3.2335 + y="94.71698" 3.2336 + id="tspan3445">normal call</tspan></text> 3.2337 + <path 3.2338 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 3.2339 + d="m 668.02904,389.28283 c 0,13.68455 0,13.68455 0,13.68455" 3.2340 + id="path3447" 3.2341 + inkscape:connector-curvature="0" 3.2342 + sodipodi:nodetypes="cc" /> 3.2343 + <text 3.2344 + sodipodi:linespacing="100%" 3.2345 + id="text3449" 3.2346 + y="757.8457" 3.2347 + x="203.71536" 3.2348 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.2349 + xml:space="preserve" 3.2350 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 3.2351 + id="tspan3451" 3.2352 + y="757.8457" 3.2353 + x="203.71536" 3.2354 + sodipodi:role="line" 3.2355 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan 3.2356 + y="765.8457" 3.2357 + x="203.71536" 3.2358 + sodipodi:role="line" 3.2359 + style="font-size:8px;text-align:center;text-anchor:middle" 3.2360 + id="tspan3453">and switch</tspan><tspan 3.2361 + y="773.8457" 3.2362 + x="203.71536" 3.2363 + sodipodi:role="line" 3.2364 + style="font-size:8px;text-align:center;text-anchor:middle" 3.2365 + id="tspan3455">to runtime</tspan></text> 3.2366 + <text 3.2367 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 3.2368 + xml:space="preserve" 3.2369 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.2370 + x="555.27264" 3.2371 + y="388.71307" 3.2372 + id="text3457" 3.2373 + sodipodi:linespacing="100%"><tspan 3.2374 + style="font-size:8px;text-align:center;text-anchor:middle" 3.2375 + sodipodi:role="line" 3.2376 + x="555.27264" 3.2377 + y="388.71307" 3.2378 + id="tspan3459">normal call</tspan></text> 3.2379 + <g 3.2380 + id="g3461" 3.2381 + transform="matrix(1,0,0,0.71130685,-16,-77.47087)"> 3.2382 + <rect 3.2383 + style="fill:none;stroke:#000000;stroke-width:1.28076112;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 3.2384 + id="rect3463" 3.2385 + width="65.276405" 3.2386 + height="52.250008" 3.2387 + x="310.40247" 3.2388 + y="313.58255" /> 3.2389 + </g> 3.2390 + <path 3.2391 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 3.2392 + d="m 514.02904,358.31987 c 0,26.21842 0,26.21842 0,26.21842" 3.2393 + id="path3465" 3.2394 + inkscape:connector-curvature="0" 3.2395 + sodipodi:nodetypes="cc" /> 3.2396 + <path 3.2397 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" 3.2398 + d="m 476.02904,84.79398 c 0,35.61575 0,35.61575 0,35.61575" 3.2399 + id="path3467" 3.2400 + inkscape:connector-curvature="0" 3.2401 + sodipodi:nodetypes="cc" /> 3.2402 + <path 3.2403 + inkscape:connector-curvature="0" 3.2404 + id="path3469" 3.2405 + d="m 468.24715,120.02605 c 13.34137,0 13.34137,0 13.34137,0" 3.2406 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 3.2407 + <path 3.2408 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 3.2409 + d="m 481.57781,342.02605 c -13.14022,0 -13.14022,0 -13.14022,0" 3.2410 + id="path3471" 3.2411 + inkscape:connector-curvature="0" /> 3.2412 + <path 3.2413 + sodipodi:nodetypes="cc" 3.2414 + inkscape:connector-curvature="0" 3.2415 + id="path3473" 3.2416 + d="m 476.02904,342.3113 c 0,57.40944 0,57.40944 0,57.40944" 3.2417 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 3.2418 + <path 3.2419 + inkscape:connector-curvature="0" 3.2420 + id="path3475" 3.2421 + d="m 481.57781,401.27417 c -13.14022,0 -13.14022,0 -13.14022,0" 3.2422 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 3.2423 + <text 3.2424 + sodipodi:linespacing="100%" 3.2425 + id="text3477" 3.2426 + y="-463.80295" 3.2427 + x="315.95734" 3.2428 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.2429 + xml:space="preserve" 3.2430 + transform="matrix(-0.01875541,0.9998241,-0.9998241,-0.01875541,0,0)"><tspan 3.2431 + id="tspan3479" 3.2432 + y="-463.80295" 3.2433 + x="315.95734" 3.2434 + sodipodi:role="line" 3.2435 + style="text-align:center;text-anchor:middle;fill:#008000">Timeline of SeedVP</tspan></text> 3.2436 + <text 3.2437 + sodipodi:linespacing="100%" 3.2438 + id="text3481" 3.2439 + y="119.02372" 3.2440 + x="484.08911" 3.2441 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.2442 + xml:space="preserve" 3.2443 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 3.2444 + id="tspan3483" 3.2445 + y="119.02372" 3.2446 + x="484.08911" 3.2447 + sodipodi:role="line" 3.2448 + style="font-size:8px;text-align:start;text-anchor:start">suspend</tspan></text> 3.2449 + <text 3.2450 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 3.2451 + xml:space="preserve" 3.2452 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.2453 + x="485.07266" 3.2454 + y="343.02161" 3.2455 + id="text3485" 3.2456 + sodipodi:linespacing="100%"><tspan 3.2457 + style="font-size:8px;text-align:start;text-anchor:start" 3.2458 + sodipodi:role="line" 3.2459 + x="485.07266" 3.2460 + y="343.02161" 3.2461 + id="tspan3487">resume</tspan></text> 3.2462 + <text 3.2463 + sodipodi:linespacing="100%" 3.2464 + id="text3489" 3.2465 + y="400.22711" 3.2466 + x="485.32407" 3.2467 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.2468 + xml:space="preserve" 3.2469 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 3.2470 + id="tspan3491" 3.2471 + y="400.22711" 3.2472 + x="485.32407" 3.2473 + sodipodi:role="line" 3.2474 + style="font-size:8px;text-align:start;text-anchor:start">end</tspan></text> 3.2475 + <text 3.2476 + sodipodi:linespacing="100%" 3.2477 + id="text3493" 3.2478 + y="285.42468" 3.2479 + x="65.380371" 3.2480 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.2481 + xml:space="preserve"><tspan 3.2482 + y="285.42468" 3.2483 + x="65.380371" 3.2484 + sodipodi:role="line" 3.2485 + style="text-align:center;text-anchor:middle;fill:#000080" 3.2486 + id="tspan3495">PR primitive Fn</tspan><tspan 3.2487 + id="tspan3497" 3.2488 + y="295.42468" 3.2489 + x="65.380371" 3.2490 + sodipodi:role="line" 3.2491 + style="text-align:center;text-anchor:middle;fill:#000080">to create VP</tspan></text> 3.2492 + <text 3.2493 + sodipodi:linespacing="100%" 3.2494 + id="text3499" 3.2495 + y="241.42468" 3.2496 + x="202.41257" 3.2497 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.2498 + xml:space="preserve"><tspan 3.2499 + id="tspan3501" 3.2500 + y="241.42468" 3.2501 + x="202.41257" 3.2502 + sodipodi:role="line" 3.2503 + style="text-align:center;text-anchor:middle;fill:#000080">Master Fn</tspan></text> 3.2504 + <path 3.2505 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 3.2506 + d="m 205.27805,280.31985 c 0,7.35629 0,7.35629 0,7.35629" 3.2507 + id="path3503" 3.2508 + inkscape:connector-curvature="0" 3.2509 + sodipodi:nodetypes="cc" /> 3.2510 + <path 3.2511 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 3.2512 + d="m 205.05995,286.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 3.2513 + id="path3505" 3.2514 + inkscape:connector-curvature="0" /> 3.2515 + <path 3.2516 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 3.2517 + d="m 137.27805,285.85824 c 0,11.43122 0,11.43122 0,11.43122" 3.2518 + id="path3507" 3.2519 + inkscape:connector-curvature="0" 3.2520 + sodipodi:nodetypes="cc" /> 3.2521 + <path 3.2522 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 3.2523 + d="m 137.57123,298.02605 c -69.22157,0 -69.22157,0 -69.22157,0" 3.2524 + id="path3509" 3.2525 + inkscape:connector-curvature="0" /> 3.2526 + <path 3.2527 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 3.2528 + d="m 205.27805,336.63925 c 0,4.54718 0,4.54718 0,4.54718" 3.2529 + id="path3511" 3.2530 + inkscape:connector-curvature="0" 3.2531 + sodipodi:nodetypes="cc" /> 3.2532 + <text 3.2533 + sodipodi:linespacing="100%" 3.2534 + id="text3513" 3.2535 + y="393.92554" 3.2536 + x="-91.691048" 3.2537 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.2538 + xml:space="preserve" 3.2539 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 3.2540 + id="tspan3515" 3.2541 + y="393.92554" 3.2542 + x="-91.691048" 3.2543 + sodipodi:role="line" 3.2544 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan 3.2545 + y="401.92554" 3.2546 + x="-91.691048" 3.2547 + sodipodi:role="line" 3.2548 + style="font-size:8px;text-align:center;text-anchor:middle" 3.2549 + id="tspan3517">and switch</tspan><tspan 3.2550 + y="409.92554" 3.2551 + x="-91.691048" 3.2552 + sodipodi:role="line" 3.2553 + style="font-size:8px;text-align:center;text-anchor:middle" 3.2554 + id="tspan3519">to app VP</tspan></text> 3.2555 + <path 3.2556 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 3.2557 + d="m 205.27805,280.31985 c 0,7.35629 0,7.35629 0,7.35629" 3.2558 + id="path3521" 3.2559 + inkscape:connector-curvature="0" 3.2560 + sodipodi:nodetypes="cc" /> 3.2561 + <path 3.2562 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 3.2563 + d="m 205.27805,280.31985 c 0,7.35629 0,7.35629 0,7.35629" 3.2564 + id="path3523" 3.2565 + inkscape:connector-curvature="0" 3.2566 + sodipodi:nodetypes="cc" /> 3.2567 + <path 3.2568 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 3.2569 + d="m 468.24715,85.42364 c 13.34137,0 13.34137,0 13.34137,0" 3.2570 + id="path3525" 3.2571 + inkscape:connector-curvature="0" /> 3.2572 + <text 3.2573 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 3.2574 + xml:space="preserve" 3.2575 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.2576 + x="483.94849" 3.2577 + y="87.025322" 3.2578 + id="text3527" 3.2579 + sodipodi:linespacing="100%"><tspan 3.2580 + style="font-size:8px;text-align:start;text-anchor:start" 3.2581 + sodipodi:role="line" 3.2582 + x="483.94849" 3.2583 + y="87.025322" 3.2584 + id="tspan3529">start</tspan></text> 3.2585 + <path 3.2586 + sodipodi:nodetypes="cc" 3.2587 + inkscape:connector-curvature="0" 3.2588 + id="path3531" 3.2589 + d="m 266.02904,279.4311 c 0,61.88904 0,61.88904 0,61.88904" 3.2590 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" /> 3.2591 + <path 3.2592 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 3.2593 + d="m 258.24715,280.02605 c 13.34137,0 13.34137,0 13.34137,0" 3.2594 + id="path3533" 3.2595 + inkscape:connector-curvature="0" /> 3.2596 + <path 3.2597 + inkscape:connector-curvature="0" 3.2598 + id="path3535" 3.2599 + d="m 271.57781,342.02605 c -13.14022,0 -13.14022,0 -13.14022,0" 3.2600 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 3.2601 + <text 3.2602 + transform="matrix(0.00239328,0.99999714,-0.99999714,0.00239328,0,0)" 3.2603 + xml:space="preserve" 3.2604 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.2605 + x="325.34094" 3.2606 + y="-277.03549" 3.2607 + id="text3537" 3.2608 + sodipodi:linespacing="100%"><tspan 3.2609 + id="tspan3539" 3.2610 + style="text-align:center;text-anchor:middle;fill:#000080" 3.2611 + sodipodi:role="line" 3.2612 + x="325.34094" 3.2613 + y="-277.03549">Timeline of Master on core 1</tspan></text> 3.2614 + <text 3.2615 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 3.2616 + xml:space="preserve" 3.2617 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.2618 + x="260.76508" 3.2619 + y="342.12805" 3.2620 + id="text3541" 3.2621 + sodipodi:linespacing="100%"><tspan 3.2622 + style="font-size:8px;text-align:end;text-anchor:end" 3.2623 + sodipodi:role="line" 3.2624 + x="260.76508" 3.2625 + y="342.12805" 3.2626 + id="tspan3543">suspend</tspan></text> 3.2627 + <text 3.2628 + sodipodi:linespacing="100%" 3.2629 + id="text3545" 3.2630 + y="282.12848" 3.2631 + x="258.04468" 3.2632 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.2633 + xml:space="preserve" 3.2634 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 3.2635 + id="tspan3547" 3.2636 + y="282.12848" 3.2637 + x="258.04468" 3.2638 + sodipodi:role="line" 3.2639 + style="font-size:8px;text-align:end;text-anchor:end">resume</tspan></text> 3.2640 + <path 3.2641 + inkscape:connector-curvature="0" 3.2642 + id="path3549" 3.2643 + d="m 258.24715,245.42364 c 13.34137,0 13.34137,0 13.34137,0" 3.2644 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 3.2645 + <text 3.2646 + sodipodi:linespacing="100%" 3.2647 + id="text3551" 3.2648 + y="248.09499" 3.2649 + x="257.10217" 3.2650 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.2651 + xml:space="preserve" 3.2652 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 3.2653 + id="tspan3553" 3.2654 + y="248.09499" 3.2655 + x="257.10217" 3.2656 + sodipodi:role="line" 3.2657 + style="font-size:8px;text-align:end;text-anchor:end">start</tspan></text> 3.2658 + <path 3.2659 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 3.2660 + d="m 266.02904,399.43112 c 0,10.33165 0,10.33165 0,10.33165" 3.2661 + id="path3555" 3.2662 + inkscape:connector-curvature="0" 3.2663 + sodipodi:nodetypes="cc" /> 3.2664 + <path 3.2665 + inkscape:connector-curvature="0" 3.2666 + id="path3557" 3.2667 + d="m 258.24715,400.02605 c 13.34137,0 13.34137,0 13.34137,0" 3.2668 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 3.2669 + <text 3.2670 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 3.2671 + xml:space="preserve" 3.2672 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.2673 + x="637.95691" 3.2674 + y="386.97339" 3.2675 + id="text3559" 3.2676 + sodipodi:linespacing="100%"><tspan 3.2677 + style="font-size:8px;text-align:center;text-anchor:middle" 3.2678 + sodipodi:role="line" 3.2679 + x="637.95691" 3.2680 + y="386.97339" 3.2681 + id="tspan3561">Call to dyn lib</tspan></text> 3.2682 + <text 3.2683 + sodipodi:linespacing="100%" 3.2684 + id="text3563" 3.2685 + y="303.68701" 3.2686 + x="110.50755" 3.2687 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.2688 + xml:space="preserve" 3.2689 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 3.2690 + id="tspan3565" 3.2691 + y="303.68701" 3.2692 + x="110.50755" 3.2693 + sodipodi:role="line" 3.2694 + style="font-size:8px;text-align:center;text-anchor:middle">call to dyn lib</tspan></text> 3.2695 + <path 3.2696 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" 3.2697 + d="m 701.67453,342.02605 c -669.895225,0 -669.895225,0 -669.895225,0" 3.2698 + id="path3567" 3.2699 + inkscape:connector-curvature="0" /> 3.2700 + <path 3.2701 + inkscape:connector-curvature="0" 3.2702 + id="path3569" 3.2703 + d="m 701.67453,279.52981 c -669.895225,0 -669.895225,0 -669.895225,0" 3.2704 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" /> 3.2705 + <path 3.2706 + sodipodi:nodetypes="cc" 3.2707 + inkscape:connector-curvature="0" 3.2708 + id="path3571" 3.2709 + d="m 205.27805,243.45805 c 0,3.23577 0,3.23577 0,3.23577" 3.2710 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000002, 3.00000002;stroke-dashoffset:0" /> 3.2711 + <text 3.2712 + sodipodi:linespacing="100%" 3.2713 + id="text3573" 3.2714 + y="335.62958" 3.2715 + x="-39.767914" 3.2716 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.2717 + xml:space="preserve" 3.2718 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 3.2719 + y="335.62958" 3.2720 + x="-39.767914" 3.2721 + sodipodi:role="line" 3.2722 + style="font-size:8px;text-align:center;text-anchor:middle" 3.2723 + id="tspan3575">return from</tspan><tspan 3.2724 + id="tspan3577" 3.2725 + y="343.62958" 3.2726 + x="-39.767914" 3.2727 + sodipodi:role="line" 3.2728 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text> 3.2729 + <path 3.2730 + inkscape:connector-curvature="0" 3.2731 + id="path3579" 3.2732 + d="m 701.67453,400.02605 c -669.895225,0 -669.895225,0 -669.895225,0" 3.2733 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" /> 3.2734 + <text 3.2735 + sodipodi:linespacing="100%" 3.2736 + id="text3581" 3.2737 + y="377.42468" 3.2738 + x="667.38037" 3.2739 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.2740 + xml:space="preserve"><tspan 3.2741 + id="tspan3583" 3.2742 + y="377.42468" 3.2743 + x="667.38037" 3.2744 + sodipodi:role="line" 3.2745 + style="text-align:center;text-anchor:middle;fill:#000080">PR primitive Fn</tspan><tspan 3.2746 + y="387.42468" 3.2747 + x="667.38037" 3.2748 + sodipodi:role="line" 3.2749 + style="text-align:center;text-anchor:middle;fill:#000080" 3.2750 + id="tspan3585">to send request</tspan></text> 3.2751 + <text 3.2752 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 3.2753 + xml:space="preserve" 3.2754 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.2755 + x="258.57156" 3.2756 + y="402.12799" 3.2757 + id="text3587" 3.2758 + sodipodi:linespacing="100%"><tspan 3.2759 + style="font-size:8px;text-align:end;text-anchor:end" 3.2760 + sodipodi:role="line" 3.2761 + x="258.57156" 3.2762 + y="402.12799" 3.2763 + id="tspan3589">resume</tspan></text> 3.2764 + <path 3.2765 + inkscape:connector-curvature="0" 3.2766 + id="path3591" 3.2767 + d="m 205.05995,286.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 3.2768 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 3.2769 + <path 3.2770 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 3.2771 + d="m 137.04459,336.02605 c 67.19099,0 67.19099,0 67.19099,0" 3.2772 + id="path3593" 3.2773 + inkscape:connector-curvature="0" /> 3.2774 + <path 3.2775 + inkscape:connector-curvature="0" 3.2776 + id="path3595" 3.2777 + d="m 67.525286,310.02605 c 69.221574,0 69.221574,0 69.221574,0" 3.2778 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 3.2779 + <path 3.2780 + sodipodi:nodetypes="cc" 3.2781 + inkscape:connector-curvature="0" 3.2782 + id="path3597" 3.2783 + d="m 67.27805,297.85824 c 0,13.94668 0,13.94668 0,13.94668" 3.2784 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 3.2785 + <path 3.2786 + inkscape:connector-curvature="0" 3.2787 + id="path3599" 3.2788 + d="m 137.04459,312.02605 c 67.19099,0 67.19099,0 67.19099,0" 3.2789 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 3.2790 + <path 3.2791 + sodipodi:nodetypes="cc" 3.2792 + inkscape:connector-curvature="0" 3.2793 + id="path3601" 3.2794 + d="m 205.27805,312.63926 c 0,11.23237 0,11.23237 0,11.23237" 3.2795 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 3.2796 + <path 3.2797 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 3.2798 + d="m 205.05995,324.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 3.2799 + id="path3603" 3.2800 + inkscape:connector-curvature="0" /> 3.2801 + <text 3.2802 + sodipodi:linespacing="100%" 3.2803 + id="text3605" 3.2804 + y="326.42468" 3.2805 + x="186.89299" 3.2806 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.2807 + xml:space="preserve" 3.2808 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 3.2809 + id="tspan3607" 3.2810 + y="326.42468" 3.2811 + x="186.89299" 3.2812 + sodipodi:role="line" 3.2813 + style="font-size:7px;text-align:center;text-anchor:middle">call via Ptr to Dyn Lib Fn</tspan></text> 3.2814 + <path 3.2815 + sodipodi:nodetypes="cc" 3.2816 + inkscape:connector-curvature="0" 3.2817 + id="path3609" 3.2818 + d="m 137.27805,323.85824 c 0,11.43122 0,11.43122 0,11.43122" 3.2819 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 3.2820 + <text 3.2821 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 3.2822 + xml:space="preserve" 3.2823 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.2824 + x="186.26445" 3.2825 + y="288.42987" 3.2826 + id="text3611" 3.2827 + sodipodi:linespacing="100%"><tspan 3.2828 + style="font-size:7px;text-align:center;text-anchor:middle" 3.2829 + sodipodi:role="line" 3.2830 + x="186.26445" 3.2831 + y="288.42987" 3.2832 + id="tspan3613">call via Ptr to Dyn Lib Fn</tspan></text> 3.2833 + <path 3.2834 + style="fill:none;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 3.2835 + d="m 465.78297,400.02605 c -193.92439,0 -193.92439,0 -193.92439,0" 3.2836 + id="path3615" 3.2837 + inkscape:connector-curvature="0" /> 3.2838 + <path 3.2839 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 3.2840 + d="m 466.19516,280.02605 c -193.92439,0 -193.92439,0 -193.92439,0" 3.2841 + id="path3617" 3.2842 + inkscape:connector-curvature="0" /> 3.2843 + <text 3.2844 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 3.2845 + xml:space="preserve" 3.2846 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.2847 + x="35.877613" 3.2848 + y="497.93744" 3.2849 + id="text3619" 3.2850 + sodipodi:linespacing="100%"><tspan 3.2851 + id="tspan3621" 3.2852 + style="font-size:18px;text-align:center;text-anchor:middle" 3.2853 + sodipodi:role="line" 3.2854 + x="35.877613" 3.2855 + y="497.93744">core 1</tspan></text> 3.2856 + <path 3.2857 + sodipodi:nodetypes="cc" 3.2858 + inkscape:connector-curvature="0" 3.2859 + id="path3623" 3.2860 + d="m 205.27805,400.31985 c 0,7.35629 0,7.35629 0,7.35629" 3.2861 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 3.2862 + <path 3.2863 + sodipodi:nodetypes="cc" 3.2864 + inkscape:connector-curvature="0" 3.2865 + id="path3625" 3.2866 + d="m 205.27805,400.31985 c 0,7.35629 0,7.35629 0,7.35629" 3.2867 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 3.2868 + <path 3.2869 + sodipodi:nodetypes="cc" 3.2870 + inkscape:connector-curvature="0" 3.2871 + id="path3627" 3.2872 + d="m 205.27805,400.31985 c 0,7.35629 0,7.35629 0,7.35629" 3.2873 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 3.2874 + <text 3.2875 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 3.2876 + xml:space="preserve" 3.2877 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.2878 + x="-123.23382" 3.2879 + y="421.84821" 3.2880 + id="text3629" 3.2881 + sodipodi:linespacing="100%"><tspan 3.2882 + id="tspan3631" 3.2883 + style="font-size:8px;text-align:center;text-anchor:middle" 3.2884 + sodipodi:role="line" 3.2885 + x="-123.23382" 3.2886 + y="421.84821">return from</tspan><tspan 3.2887 + style="font-size:8px;text-align:center;text-anchor:middle" 3.2888 + sodipodi:role="line" 3.2889 + x="-123.23382" 3.2890 + y="429.84821" 3.2891 + id="tspan3633">suspend</tspan></text> 3.2892 + <path 3.2893 + inkscape:connector-curvature="0" 3.2894 + id="path3635" 3.2895 + d="m 271.03421,246.02605 c 193.92439,0 193.92439,0 193.92439,0" 3.2896 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 3.2897 + <text 3.2898 + sodipodi:linespacing="100%" 3.2899 + id="text4289" 3.2900 + y="155.76575" 3.2901 + x="426.92542" 3.2902 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 3.2903 + xml:space="preserve"><tspan 3.2904 + y="155.76575" 3.2905 + x="426.92542" 3.2906 + id="tspan4291" 3.2907 + sodipodi:role="line" 3.2908 + style="text-align:center;text-anchor:middle">PR OS thread</tspan><tspan 3.2909 + y="164.20053" 3.2910 + x="426.92542" 3.2911 + sodipodi:role="line" 3.2912 + style="font-size:8px;text-align:center;text-anchor:middle" 3.2913 + id="tspan4295">(core 2)</tspan></text> 3.2914 + <g 3.2915 + transform="matrix(1,0,0,0.71130685,84,-77.47087)" 3.2916 + id="g4297"> 3.2917 + <rect 3.2918 + y="313.58255" 3.2919 + x="310.40247" 3.2920 + height="52.250008" 3.2921 + width="65.276405" 3.2922 + id="rect4299" 3.2923 + style="fill:none;stroke:#000000;stroke-width:1.28076112;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 3.2924 + </g> 3.2925 + </g> 3.2926 +</svg>
4.1 Binary file 0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/PR__timeline_dual.pdf has changed
5.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 5.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/PR__timeline_dual.svg Fri Sep 13 11:02:18 2013 -0700 5.3 @@ -0,0 +1,254 @@ 5.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 5.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 5.6 + 5.7 +<svg 5.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 5.9 + xmlns:cc="http://creativecommons.org/ns#" 5.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 5.11 + xmlns:svg="http://www.w3.org/2000/svg" 5.12 + xmlns="http://www.w3.org/2000/svg" 5.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 5.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 5.15 + width="744.09448819" 5.16 + height="1052.3622047" 5.17 + id="svg2" 5.18 + sodipodi:version="0.32" 5.19 + inkscape:version="0.48.2 r9819" 5.20 + sodipodi:docname="PR__timeline_dual.svg" 5.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 5.22 + version="1.1"> 5.23 + <defs 5.24 + id="defs4"> 5.25 + <marker 5.26 + inkscape:stockid="Arrow2Mend" 5.27 + orient="auto" 5.28 + refY="0.0" 5.29 + refX="0.0" 5.30 + id="Arrow2Mend" 5.31 + style="overflow:visible;"> 5.32 + <path 5.33 + id="path4008" 5.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 5.35 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 5.36 + transform="scale(0.6) rotate(180) translate(0,0)" /> 5.37 + </marker> 5.38 + <inkscape:perspective 5.39 + sodipodi:type="inkscape:persp3d" 5.40 + inkscape:vp_x="0 : 526.18109 : 1" 5.41 + inkscape:vp_y="0 : 1000 : 0" 5.42 + inkscape:vp_z="744.09448 : 526.18109 : 1" 5.43 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 5.44 + id="perspective10" /> 5.45 + <inkscape:perspective 5.46 + id="perspective11923" 5.47 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 5.48 + inkscape:vp_z="1 : 0.5 : 1" 5.49 + inkscape:vp_y="0 : 1000 : 0" 5.50 + inkscape:vp_x="0 : 0.5 : 1" 5.51 + sodipodi:type="inkscape:persp3d" /> 5.52 + </defs> 5.53 + <sodipodi:namedview 5.54 + id="base" 5.55 + pagecolor="#ffffff" 5.56 + bordercolor="#666666" 5.57 + borderopacity="1.0" 5.58 + gridtolerance="10000" 5.59 + guidetolerance="10" 5.60 + objecttolerance="10" 5.61 + inkscape:pageopacity="0.0" 5.62 + inkscape:pageshadow="2" 5.63 + inkscape:zoom="1.3364318" 5.64 + inkscape:cx="331.64634" 5.65 + inkscape:cy="648.10677" 5.66 + inkscape:document-units="px" 5.67 + inkscape:current-layer="layer1" 5.68 + showgrid="false" 5.69 + inkscape:window-width="1317" 5.70 + inkscape:window-height="878" 5.71 + inkscape:window-x="7" 5.72 + inkscape:window-y="1" 5.73 + inkscape:window-maximized="0" /> 5.74 + <metadata 5.75 + id="metadata7"> 5.76 + <rdf:RDF> 5.77 + <cc:Work 5.78 + rdf:about=""> 5.79 + <dc:format>image/svg+xml</dc:format> 5.80 + <dc:type 5.81 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 5.82 + <dc:title /> 5.83 + </cc:Work> 5.84 + </rdf:RDF> 5.85 + </metadata> 5.86 + <g 5.87 + inkscape:label="Layer 1" 5.88 + inkscape:groupmode="layer" 5.89 + id="layer1"> 5.90 + <path 5.91 + id="path7353" 5.92 + d="m 196.98465,281.37498 c 69.82336,0 69.82336,0 69.82336,0" 5.93 + style="fill:#800000;stroke:#800000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 5.94 + inkscape:connector-curvature="0" /> 5.95 + <path 5.96 + inkscape:connector-curvature="0" 5.97 + id="path7357" 5.98 + d="m 266.82881,272.82004 c 0,19.38279 0,19.38279 0,19.38279" 5.99 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 5.100 + <text 5.101 + xml:space="preserve" 5.102 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 5.103 + x="266.7023" 5.104 + y="298.52615" 5.105 + id="text7359" 5.106 + sodipodi:linespacing="100%"><tspan 5.107 + style="font-size:10px;text-align:center;text-anchor:middle" 5.108 + sodipodi:role="line" 5.109 + id="tspan7361" 5.110 + x="266.7023" 5.111 + y="298.52615">Suspend</tspan><tspan 5.112 + style="font-size:9px;text-align:center;text-anchor:middle" 5.113 + id="tspan7363" 5.114 + sodipodi:role="line" 5.115 + x="266.7023" 5.116 + y="307.74353">(Point 2.S)</tspan></text> 5.117 + <path 5.118 + inkscape:connector-curvature="0" 5.119 + id="path7367" 5.120 + d="m 318.82881,272.77746 c 0,19.15152 0,19.15152 0,19.15152" 5.121 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 5.122 + <text 5.123 + xml:space="preserve" 5.124 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 5.125 + x="318.7023" 5.126 + y="298.52615" 5.127 + id="text7369" 5.128 + sodipodi:linespacing="100%"><tspan 5.129 + style="font-size:9px;text-align:center;text-anchor:middle" 5.130 + sodipodi:role="line" 5.131 + id="tspan7371" 5.132 + x="320.20621" 5.133 + y="298.52615"><tspan 5.134 + id="tspan8087" 5.135 + style="font-size:10px">Resume </tspan></tspan><tspan 5.136 + style="font-size:9px;text-align:center;text-anchor:middle" 5.137 + id="tspan7373" 5.138 + sodipodi:role="line" 5.139 + x="318.7023" 5.140 + y="307.74353">(Point 2.R)</tspan></text> 5.141 + <text 5.142 + sodipodi:linespacing="100%" 5.143 + id="text7375" 5.144 + y="285.27441" 5.145 + x="352.7023" 5.146 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 5.147 + xml:space="preserve"><tspan 5.148 + y="285.27441" 5.149 + x="352.7023" 5.150 + sodipodi:role="line" 5.151 + id="tspan7379">Timeline B</tspan></text> 5.152 + <path 5.153 + inkscape:connector-curvature="0" 5.154 + style="fill:none;stroke:#800000;stroke-width:1.80000000000000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none" 5.155 + d="m 320.08408,281.37498 c 27.45405,0 27.45405,0 27.45405,0" 5.156 + id="path7387" /> 5.157 + <path 5.158 + id="path8089" 5.159 + d="m 195.41471,317.37498 c 151.68424,0 151.68424,0 151.68424,0" 5.160 + style="fill:#000000;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 5.161 + inkscape:connector-curvature="0" /> 5.162 + <text 5.163 + xml:space="preserve" 5.164 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 5.165 + x="352.7023" 5.166 + y="320.02267" 5.167 + id="text8091" 5.168 + sodipodi:linespacing="100%"><tspan 5.169 + id="tspan8093" 5.170 + sodipodi:role="line" 5.171 + x="352.7023" 5.172 + y="320.02267">Physical time</tspan></text> 5.173 + <path 5.174 + inkscape:connector-curvature="0" 5.175 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 5.176 + d="m 195.92204,239.37498 c 33.06652,0 33.06652,0 33.06652,0" 5.177 + id="path8095" /> 5.178 + <g 5.179 + id="g8097" 5.180 + transform="translate(-70,-162)" 5.181 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"> 5.182 + <path 5.183 + inkscape:connector-curvature="0" 5.184 + id="path8099" 5.185 + d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279" 5.186 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 5.187 + <text 5.188 + xml:space="preserve" 5.189 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 5.190 + x="298.7023" 5.191 + y="376.52615" 5.192 + id="text8101" 5.193 + sodipodi:linespacing="100%"><tspan 5.194 + style="font-size:10px;text-align:center;text-anchor:middle" 5.195 + sodipodi:role="line" 5.196 + id="tspan8103" 5.197 + x="298.7023" 5.198 + y="376.52615">Suspend</tspan><tspan 5.199 + style="font-size:9px;text-align:center;text-anchor:middle" 5.200 + id="tspan8105" 5.201 + sodipodi:role="line" 5.202 + x="298.7023" 5.203 + y="385.74353">(Point 1.S)</tspan></text> 5.204 + </g> 5.205 + <g 5.206 + id="g8107" 5.207 + transform="translate(-60,-162)" 5.208 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"> 5.209 + <path 5.210 + inkscape:connector-curvature="0" 5.211 + id="path8109" 5.212 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 5.213 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 5.214 + <text 5.215 + xml:space="preserve" 5.216 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 5.217 + x="378.7023" 5.218 + y="376.52615" 5.219 + id="text8111" 5.220 + sodipodi:linespacing="100%"><tspan 5.221 + style="font-size:9px;text-align:center;text-anchor:middle" 5.222 + sodipodi:role="line" 5.223 + id="tspan8113" 5.224 + x="380.20621" 5.225 + y="376.52615"><tspan 5.226 + id="tspan8115" 5.227 + style="font-size:10px">Resume </tspan></tspan><tspan 5.228 + style="font-size:9px;text-align:center;text-anchor:middle" 5.229 + id="tspan8117" 5.230 + sodipodi:role="line" 5.231 + x="378.7023" 5.232 + y="385.74353">(Point 1.R)</tspan></text> 5.233 + </g> 5.234 + <text 5.235 + xml:space="preserve" 5.236 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 5.237 + x="352.7023" 5.238 + y="243.27441" 5.239 + id="text8119" 5.240 + sodipodi:linespacing="100%"><tspan 5.241 + id="tspan8121" 5.242 + sodipodi:role="line" 5.243 + x="352.7023" 5.244 + y="243.27441">Timeline A</tspan></text> 5.245 + <path 5.246 + id="path8123" 5.247 + d="m 320.08408,239.37498 c 27.45405,0 27.45405,0 27.45405,0" 5.248 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 5.249 + inkscape:connector-curvature="0" /> 5.250 + <path 5.251 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999998, 2.99999998;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 5.252 + d="m 292.57011,280.15667 c 1.60737,-29.22166 -0.1867,-11.40932 2.41106,-27.59824 1.74808,-10.89388 19.28851,-12.44626 19.28851,-12.44626" 5.253 + id="path8125" 5.254 + inkscape:connector-curvature="0" 5.255 + sodipodi:nodetypes="csc" /> 5.256 + </g> 5.257 +</svg>
6.1 Binary file 0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/PR__timeline_dual_2nd.pdf has changed
7.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 7.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/PR__timeline_dual_2nd.svg Fri Sep 13 11:02:18 2013 -0700 7.3 @@ -0,0 +1,545 @@ 7.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 7.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 7.6 + 7.7 +<svg 7.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 7.9 + xmlns:cc="http://creativecommons.org/ns#" 7.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 7.11 + xmlns:svg="http://www.w3.org/2000/svg" 7.12 + xmlns="http://www.w3.org/2000/svg" 7.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 7.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 7.15 + width="744.09448819" 7.16 + height="1052.3622047" 7.17 + id="svg2" 7.18 + sodipodi:version="0.32" 7.19 + inkscape:version="0.48.2 r9819" 7.20 + sodipodi:docname="PR__timeline_dual_2nd.svg" 7.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 7.22 + version="1.1"> 7.23 + <defs 7.24 + id="defs4"> 7.25 + <marker 7.26 + inkscape:stockid="Arrow2Mend" 7.27 + orient="auto" 7.28 + refY="0.0" 7.29 + refX="0.0" 7.30 + id="Arrow2Mend" 7.31 + style="overflow:visible;"> 7.32 + <path 7.33 + id="path4008" 7.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 7.35 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 7.36 + transform="scale(0.6) rotate(180) translate(0,0)" /> 7.37 + </marker> 7.38 + <inkscape:perspective 7.39 + sodipodi:type="inkscape:persp3d" 7.40 + inkscape:vp_x="0 : 526.18109 : 1" 7.41 + inkscape:vp_y="0 : 1000 : 0" 7.42 + inkscape:vp_z="744.09448 : 526.18109 : 1" 7.43 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 7.44 + id="perspective10" /> 7.45 + <inkscape:perspective 7.46 + id="perspective11923" 7.47 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 7.48 + inkscape:vp_z="1 : 0.5 : 1" 7.49 + inkscape:vp_y="0 : 1000 : 0" 7.50 + inkscape:vp_x="0 : 0.5 : 1" 7.51 + sodipodi:type="inkscape:persp3d" /> 7.52 + </defs> 7.53 + <sodipodi:namedview 7.54 + id="base" 7.55 + pagecolor="#ffffff" 7.56 + bordercolor="#666666" 7.57 + borderopacity="1.0" 7.58 + gridtolerance="10000" 7.59 + guidetolerance="10" 7.60 + objecttolerance="10" 7.61 + inkscape:pageopacity="0.0" 7.62 + inkscape:pageshadow="2" 7.63 + inkscape:zoom="1.3364318" 7.64 + inkscape:cx="214.9176" 7.65 + inkscape:cy="608.45761" 7.66 + inkscape:document-units="px" 7.67 + inkscape:current-layer="layer1" 7.68 + showgrid="false" 7.69 + inkscape:window-width="1317" 7.70 + inkscape:window-height="878" 7.71 + inkscape:window-x="7" 7.72 + inkscape:window-y="1" 7.73 + inkscape:window-maximized="0" /> 7.74 + <metadata 7.75 + id="metadata7"> 7.76 + <rdf:RDF> 7.77 + <cc:Work 7.78 + rdf:about=""> 7.79 + <dc:format>image/svg+xml</dc:format> 7.80 + <dc:type 7.81 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 7.82 + <dc:title></dc:title> 7.83 + </cc:Work> 7.84 + </rdf:RDF> 7.85 + </metadata> 7.86 + <g 7.87 + inkscape:label="Layer 1" 7.88 + inkscape:groupmode="layer" 7.89 + id="layer1"> 7.90 + <path 7.91 + id="path7353" 7.92 + d="m 196.98465,281.37498 c 69.82336,0 69.82336,0 69.82336,0" 7.93 + style="fill:#800000;stroke:#800000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 7.94 + inkscape:connector-curvature="0" /> 7.95 + <g 7.96 + transform="translate(-32,-120)" 7.97 + id="g7355" 7.98 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"> 7.99 + <path 7.100 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 7.101 + d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279" 7.102 + id="path7357" 7.103 + inkscape:connector-curvature="0" /> 7.104 + <text 7.105 + sodipodi:linespacing="100%" 7.106 + id="text7359" 7.107 + y="376.52615" 7.108 + x="298.7023" 7.109 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 7.110 + xml:space="preserve"><tspan 7.111 + y="376.52615" 7.112 + x="298.7023" 7.113 + id="tspan7361" 7.114 + sodipodi:role="line" 7.115 + style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan 7.116 + y="385.74353" 7.117 + x="298.7023" 7.118 + sodipodi:role="line" 7.119 + id="tspan7363" 7.120 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 2.S)</tspan></text> 7.121 + </g> 7.122 + <g 7.123 + transform="translate(-60,-120)" 7.124 + id="g7365" 7.125 + style="stroke-width:1.8;stroke-miterlimit:4;stroke-dasharray:none"> 7.126 + <path 7.127 + style="fill:none;stroke:#000000;stroke-width:1.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" 7.128 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 7.129 + id="path7367" 7.130 + inkscape:connector-curvature="0" /> 7.131 + <text 7.132 + sodipodi:linespacing="100%" 7.133 + id="text7369" 7.134 + y="376.52615" 7.135 + x="378.7023" 7.136 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 7.137 + xml:space="preserve"><tspan 7.138 + y="376.52615" 7.139 + x="380.20621" 7.140 + id="tspan7371" 7.141 + sodipodi:role="line" 7.142 + style="font-size:9px;text-align:center;text-anchor:middle"><tspan 7.143 + style="font-size:10px" 7.144 + id="tspan8087">Resume </tspan></tspan><tspan 7.145 + y="385.74353" 7.146 + x="378.7023" 7.147 + sodipodi:role="line" 7.148 + id="tspan7373" 7.149 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 2.R)</tspan></text> 7.150 + </g> 7.151 + <text 7.152 + sodipodi:linespacing="100%" 7.153 + id="text7375" 7.154 + y="285.27441" 7.155 + x="352.7023" 7.156 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 7.157 + xml:space="preserve"><tspan 7.158 + y="285.27441" 7.159 + x="352.7023" 7.160 + sodipodi:role="line" 7.161 + id="tspan7379">Timeline B</tspan></text> 7.162 + <path 7.163 + inkscape:connector-curvature="0" 7.164 + style="fill:none;stroke:#800000;stroke-width:1.80000000000000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none" 7.165 + d="m 320.08408,281.37498 c 27.45405,0 27.45405,0 27.45405,0" 7.166 + id="path7387" /> 7.167 + <path 7.168 + id="path8089" 7.169 + d="m 195.41471,317.37498 c 151.68424,0 151.68424,0 151.68424,0" 7.170 + style="fill:#000000;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 7.171 + inkscape:connector-curvature="0" /> 7.172 + <text 7.173 + xml:space="preserve" 7.174 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 7.175 + x="352.7023" 7.176 + y="320.02267" 7.177 + id="text8091" 7.178 + sodipodi:linespacing="100%"><tspan 7.179 + id="tspan8093" 7.180 + sodipodi:role="line" 7.181 + x="352.7023" 7.182 + y="320.02267">Physical time</tspan></text> 7.183 + <path 7.184 + inkscape:connector-curvature="0" 7.185 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 7.186 + d="m 195.92204,221.37498 c 33.06652,0 33.06652,0 33.06652,0" 7.187 + id="path8095" /> 7.188 + <g 7.189 + id="g8097" 7.190 + transform="translate(-70,-180)" 7.191 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"> 7.192 + <path 7.193 + inkscape:connector-curvature="0" 7.194 + id="path8099" 7.195 + d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279" 7.196 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 7.197 + <text 7.198 + xml:space="preserve" 7.199 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 7.200 + x="298.7023" 7.201 + y="376.52615" 7.202 + id="text8101" 7.203 + sodipodi:linespacing="100%"><tspan 7.204 + style="font-size:10px;text-align:center;text-anchor:middle" 7.205 + sodipodi:role="line" 7.206 + id="tspan8103" 7.207 + x="298.7023" 7.208 + y="376.52615">Suspend</tspan><tspan 7.209 + style="font-size:9px;text-align:center;text-anchor:middle" 7.210 + id="tspan8105" 7.211 + sodipodi:role="line" 7.212 + x="298.7023" 7.213 + y="385.74353">(Point 1.S)</tspan></text> 7.214 + </g> 7.215 + <g 7.216 + id="g8107" 7.217 + transform="translate(-60,-180)" 7.218 + style="stroke-width:1.8;stroke-miterlimit:4;stroke-dasharray:none"> 7.219 + <path 7.220 + inkscape:connector-curvature="0" 7.221 + id="path8109" 7.222 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 7.223 + style="fill:none;stroke:#000000;stroke-width:1.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" /> 7.224 + <text 7.225 + xml:space="preserve" 7.226 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 7.227 + x="378.7023" 7.228 + y="376.52615" 7.229 + id="text8111" 7.230 + sodipodi:linespacing="100%"><tspan 7.231 + style="font-size:9px;text-align:center;text-anchor:middle" 7.232 + sodipodi:role="line" 7.233 + id="tspan8113" 7.234 + x="380.20621" 7.235 + y="376.52615"><tspan 7.236 + id="tspan8115" 7.237 + style="font-size:10px">Resume </tspan></tspan><tspan 7.238 + style="font-size:9px;text-align:center;text-anchor:middle" 7.239 + id="tspan8117" 7.240 + sodipodi:role="line" 7.241 + x="378.7023" 7.242 + y="385.74353">(Point 1.R)</tspan></text> 7.243 + </g> 7.244 + <text 7.245 + xml:space="preserve" 7.246 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 7.247 + x="352.7023" 7.248 + y="225.27441" 7.249 + id="text8119" 7.250 + sodipodi:linespacing="100%"><tspan 7.251 + id="tspan8121" 7.252 + sodipodi:role="line" 7.253 + x="352.7023" 7.254 + y="225.27441">Timeline A</tspan></text> 7.255 + <path 7.256 + id="path8123" 7.257 + d="m 320.08408,221.37498 c 27.45405,0 27.45405,0 27.45405,0" 7.258 + style="fill:none;stroke:#422fac;stroke-width:1.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none" 7.259 + inkscape:connector-curvature="0" /> 7.260 + <path 7.261 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999998, 2.99999998;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 7.262 + d="m 292.57011,280.15667 c 1.60737,-35.06333 -0.1867,-13.69014 2.41106,-33.11537 1.74808,-13.07166 19.28851,-14.93437 19.28851,-14.93437" 7.263 + id="path8125" 7.264 + inkscape:connector-curvature="0" 7.265 + sodipodi:nodetypes="csc" /> 7.266 + <path 7.267 + inkscape:connector-curvature="0" 7.268 + style="fill:#800000;stroke:#800000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 7.269 + d="m 246.98465,423.37498 c 69.82336,0 69.82336,0 69.82336,0" 7.270 + id="path10381" /> 7.271 + <g 7.272 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 7.273 + id="g10393" 7.274 + transform="translate(-60,22)"> 7.275 + <path 7.276 + inkscape:connector-curvature="0" 7.277 + id="path10395" 7.278 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 7.279 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 7.280 + <text 7.281 + xml:space="preserve" 7.282 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 7.283 + x="378.7023" 7.284 + y="390.52615" 7.285 + id="text10397" 7.286 + sodipodi:linespacing="100%"><tspan 7.287 + style="font-size:9px;text-align:center;text-anchor:middle" 7.288 + id="tspan10403" 7.289 + sodipodi:role="line" 7.290 + x="378.7023" 7.291 + y="390.52615">Tied Point</tspan></text> 7.292 + </g> 7.293 + <text 7.294 + xml:space="preserve" 7.295 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 7.296 + x="352.7023" 7.297 + y="427.27441" 7.298 + id="text10405" 7.299 + sodipodi:linespacing="100%"><tspan 7.300 + id="tspan10407" 7.301 + sodipodi:role="line" 7.302 + x="352.7023" 7.303 + y="427.27441">Timeline B</tspan></text> 7.304 + <path 7.305 + id="path10409" 7.306 + d="m 320.08408,423.37498 c 27.45405,0 27.45405,0 27.45405,0" 7.307 + style="fill:none;stroke:#800000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 7.308 + inkscape:connector-curvature="0" /> 7.309 + <path 7.310 + id="path10411" 7.311 + d="m 283.92204,381.37498 c 33.06652,0 33.06652,0 33.06652,0" 7.312 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 7.313 + inkscape:connector-curvature="0" /> 7.314 + <g 7.315 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 7.316 + transform="translate(-60,-20)" 7.317 + id="g10423"> 7.318 + <path 7.319 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 7.320 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 7.321 + id="path10425" 7.322 + inkscape:connector-curvature="0" /> 7.323 + <text 7.324 + sodipodi:linespacing="100%" 7.325 + id="text10427" 7.326 + y="388.52615" 7.327 + x="378.7023" 7.328 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 7.329 + xml:space="preserve"><tspan 7.330 + y="388.52615" 7.331 + x="378.7023" 7.332 + sodipodi:role="line" 7.333 + id="tspan10433" 7.334 + style="font-size:9px;text-align:center;text-anchor:middle">Tied Point</tspan></text> 7.335 + </g> 7.336 + <text 7.337 + sodipodi:linespacing="100%" 7.338 + id="text10435" 7.339 + y="385.27441" 7.340 + x="352.7023" 7.341 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 7.342 + xml:space="preserve"><tspan 7.343 + y="385.27441" 7.344 + x="352.7023" 7.345 + sodipodi:role="line" 7.346 + id="tspan10437">Timeline A</tspan></text> 7.347 + <path 7.348 + inkscape:connector-curvature="0" 7.349 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 7.350 + d="m 320.08408,381.37498 c 27.45405,0 27.45405,0 27.45405,0" 7.351 + id="path10439" /> 7.352 + <path 7.353 + style="fill:none;stroke:#000000;stroke-width:1.29999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.89999986,3.89999986;stroke-dashoffset:0" 7.354 + d="m 318.92887,395.30966 c 0,24.40348 0,24.40348 0,24.40348" 7.355 + id="path10425-2" 7.356 + inkscape:connector-curvature="0" /> 7.357 + <path 7.358 + inkscape:connector-curvature="0" 7.359 + style="fill:#800000;stroke:#800000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 7.360 + d="m 196.98465,549.37498 c 69.82336,0 69.82336,0 69.82336,0" 7.361 + id="path10981" /> 7.362 + <g 7.363 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 7.364 + id="g10983" 7.365 + transform="translate(-32,148)"> 7.366 + <path 7.367 + inkscape:connector-curvature="0" 7.368 + id="path10985" 7.369 + d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279" 7.370 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 7.371 + </g> 7.372 + <g 7.373 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 7.374 + id="g10993" 7.375 + transform="translate(-60,148)"> 7.376 + <path 7.377 + inkscape:connector-curvature="0" 7.378 + id="path10995" 7.379 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 7.380 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 7.381 + </g> 7.382 + <text 7.383 + xml:space="preserve" 7.384 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 7.385 + x="352.7023" 7.386 + y="553.27441" 7.387 + id="text11005" 7.388 + sodipodi:linespacing="100%"><tspan 7.389 + id="tspan11007" 7.390 + sodipodi:role="line" 7.391 + x="352.7023" 7.392 + y="553.27441">Timeline B</tspan></text> 7.393 + <path 7.394 + id="path11009" 7.395 + d="m 320.08408,549.37498 c 27.45405,0 27.45405,0 27.45405,0" 7.396 + style="fill:none;stroke:#800000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 7.397 + inkscape:connector-curvature="0" /> 7.398 + <path 7.399 + id="path11011" 7.400 + d="m 195.92204,489.37498 c 33.06652,0 33.06652,0 33.06652,0" 7.401 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 7.402 + inkscape:connector-curvature="0" /> 7.403 + <g 7.404 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 7.405 + transform="translate(-70,88)" 7.406 + id="g11013"> 7.407 + <path 7.408 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 7.409 + d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279" 7.410 + id="path11015" 7.411 + inkscape:connector-curvature="0" /> 7.412 + <text 7.413 + sodipodi:linespacing="100%" 7.414 + id="text11017" 7.415 + y="376.52615" 7.416 + x="298.7023" 7.417 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 7.418 + xml:space="preserve"><tspan 7.419 + y="376.52615" 7.420 + x="298.7023" 7.421 + id="tspan11019" 7.422 + sodipodi:role="line" 7.423 + style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan 7.424 + y="385.74353" 7.425 + x="298.7023" 7.426 + sodipodi:role="line" 7.427 + id="tspan11021" 7.428 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.S)</tspan></text> 7.429 + </g> 7.430 + <g 7.431 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 7.432 + transform="translate(-60,88)" 7.433 + id="g11023"> 7.434 + <path 7.435 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 7.436 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 7.437 + id="path11025" 7.438 + inkscape:connector-curvature="0" /> 7.439 + <text 7.440 + sodipodi:linespacing="100%" 7.441 + id="text11027" 7.442 + y="376.52615" 7.443 + x="378.7023" 7.444 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 7.445 + xml:space="preserve"><tspan 7.446 + y="376.52615" 7.447 + x="380.20621" 7.448 + id="tspan11029" 7.449 + sodipodi:role="line" 7.450 + style="font-size:9px;text-align:center;text-anchor:middle"><tspan 7.451 + style="font-size:10px" 7.452 + id="tspan11031">Resume </tspan></tspan><tspan 7.453 + y="385.74353" 7.454 + x="378.7023" 7.455 + sodipodi:role="line" 7.456 + id="tspan11033" 7.457 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.R)</tspan></text> 7.458 + </g> 7.459 + <text 7.460 + sodipodi:linespacing="100%" 7.461 + id="text11035" 7.462 + y="493.27441" 7.463 + x="352.7023" 7.464 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 7.465 + xml:space="preserve"><tspan 7.466 + y="493.27441" 7.467 + x="352.7023" 7.468 + sodipodi:role="line" 7.469 + id="tspan11037">Timeline A</tspan></text> 7.470 + <path 7.471 + inkscape:connector-curvature="0" 7.472 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 7.473 + d="m 320.08408,489.37498 c 27.45405,0 27.45405,0 27.45405,0" 7.474 + id="path11039" /> 7.475 + <path 7.476 + sodipodi:nodetypes="cc" 7.477 + inkscape:connector-curvature="0" 7.478 + id="path11041" 7.479 + d="m 248.40878,545.16363 c 79.41657,-49.15176 5.94823,-3.26189 82.39224,-51.8417" 7.480 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999999, 2.99999999;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 7.481 + <path 7.482 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000003, 3.00000003;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 7.483 + d="m 329.77257,501.82974 c -70.11936,42.79661 -5.25188,2.84014 -72.74667,45.13875" 7.484 + id="path11043" 7.485 + inkscape:connector-curvature="0" 7.486 + sodipodi:nodetypes="cc" /> 7.487 + <text 7.488 + xml:space="preserve" 7.489 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 7.490 + x="-20.52177" 7.491 + y="592.72888" 7.492 + id="text11049" 7.493 + sodipodi:linespacing="100%" 7.494 + transform="matrix(0.85476126,-0.51902138,0.51902138,0.85476126,0,0)"><tspan 7.495 + id="tspan11051" 7.496 + sodipodi:role="line" 7.497 + x="-20.52177" 7.498 + y="592.72888">visible</tspan></text> 7.499 + <text 7.500 + transform="matrix(0.85476126,-0.51902138,0.51902138,0.85476126,0,0)" 7.501 + sodipodi:linespacing="100%" 7.502 + id="text11053" 7.503 + y="607.87146" 7.504 + x="-10.997777" 7.505 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 7.506 + xml:space="preserve"><tspan 7.507 + y="607.87146" 7.508 + x="-10.997777" 7.509 + sodipodi:role="line" 7.510 + id="tspan11055">NOT visible</tspan></text> 7.511 + <path 7.512 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000008, 3.00000008;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 7.513 + d="m 331.48246,541.42226 c -109.48644,-45.60627 -8.20044,-3.02659 -113.5888,-48.10218" 7.514 + id="path11057" 7.515 + inkscape:connector-curvature="0" 7.516 + sodipodi:nodetypes="cc" /> 7.517 + <path 7.518 + sodipodi:nodetypes="cc" 7.519 + inkscape:connector-curvature="0" 7.520 + id="path11059" 7.521 + d="m 218.69167,501.82968 c 107.30304,43.503 8.03691,2.88702 111.32359,45.8838" 7.522 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000006, 3.00000006;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 7.523 + <text 7.524 + transform="matrix(0.92037595,0.39103467,-0.39103467,0.92037595,0,0)" 7.525 + sodipodi:linespacing="100%" 7.526 + id="text11061" 7.527 + y="382.84756" 7.528 + x="402.31476" 7.529 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 7.530 + xml:space="preserve"><tspan 7.531 + y="382.84756" 7.532 + x="402.31476" 7.533 + sodipodi:role="line" 7.534 + id="tspan11063">visible</tspan></text> 7.535 + <text 7.536 + xml:space="preserve" 7.537 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 7.538 + x="408.54758" 7.539 + y="366.66327" 7.540 + id="text11065" 7.541 + sodipodi:linespacing="100%" 7.542 + transform="matrix(0.9201572,0.39154913,-0.39154913,0.9201572,0,0)"><tspan 7.543 + id="tspan11067" 7.544 + sodipodi:role="line" 7.545 + x="408.54758" 7.546 + y="366.66327">NOT visible</tspan></text> 7.547 + </g> 7.548 +</svg>
8.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 8.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/PR__timeline_dual_three_versions.svg Fri Sep 13 11:02:18 2013 -0700 8.3 @@ -0,0 +1,754 @@ 8.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 8.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 8.6 + 8.7 +<svg 8.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 8.9 + xmlns:cc="http://creativecommons.org/ns#" 8.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 8.11 + xmlns:svg="http://www.w3.org/2000/svg" 8.12 + xmlns="http://www.w3.org/2000/svg" 8.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 8.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 8.15 + width="744.09448819" 8.16 + height="1052.3622047" 8.17 + id="svg2" 8.18 + sodipodi:version="0.32" 8.19 + inkscape:version="0.48.2 r9819" 8.20 + sodipodi:docname="PR__timeline_dual.svg" 8.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 8.22 + version="1.1"> 8.23 + <defs 8.24 + id="defs4"> 8.25 + <marker 8.26 + inkscape:stockid="Arrow2Send" 8.27 + orient="auto" 8.28 + refY="0.0" 8.29 + refX="0.0" 8.30 + id="Arrow2Send" 8.31 + style="overflow:visible;"> 8.32 + <path 8.33 + id="path4262" 8.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 8.35 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 8.36 + transform="scale(0.3) rotate(180) translate(-2.3,0)" /> 8.37 + </marker> 8.38 + <marker 8.39 + inkscape:stockid="Arrow1Mend" 8.40 + orient="auto" 8.41 + refY="0.0" 8.42 + refX="0.0" 8.43 + id="Arrow1Mend" 8.44 + style="overflow:visible;"> 8.45 + <path 8.46 + id="path4238" 8.47 + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " 8.48 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;" 8.49 + transform="scale(0.4) rotate(180) translate(10,0)" /> 8.50 + </marker> 8.51 + <marker 8.52 + inkscape:stockid="Arrow2Mend" 8.53 + orient="auto" 8.54 + refY="0.0" 8.55 + refX="0.0" 8.56 + id="Arrow2Mend" 8.57 + style="overflow:visible;"> 8.58 + <path 8.59 + id="path4008" 8.60 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 8.61 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 8.62 + transform="scale(0.6) rotate(180) translate(0,0)" /> 8.63 + </marker> 8.64 + <inkscape:perspective 8.65 + sodipodi:type="inkscape:persp3d" 8.66 + inkscape:vp_x="0 : 526.18109 : 1" 8.67 + inkscape:vp_y="0 : 1000 : 0" 8.68 + inkscape:vp_z="744.09448 : 526.18109 : 1" 8.69 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 8.70 + id="perspective10" /> 8.71 + <inkscape:perspective 8.72 + id="perspective11923" 8.73 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 8.74 + inkscape:vp_z="1 : 0.5 : 1" 8.75 + inkscape:vp_y="0 : 1000 : 0" 8.76 + inkscape:vp_x="0 : 0.5 : 1" 8.77 + sodipodi:type="inkscape:persp3d" /> 8.78 + </defs> 8.79 + <sodipodi:namedview 8.80 + id="base" 8.81 + pagecolor="#ffffff" 8.82 + bordercolor="#666666" 8.83 + borderopacity="1.0" 8.84 + gridtolerance="10000" 8.85 + guidetolerance="10" 8.86 + objecttolerance="10" 8.87 + inkscape:pageopacity="0.0" 8.88 + inkscape:pageshadow="2" 8.89 + inkscape:zoom="1.3364318" 8.90 + inkscape:cx="214.9176" 8.91 + inkscape:cy="612.44308" 8.92 + inkscape:document-units="px" 8.93 + inkscape:current-layer="layer1" 8.94 + showgrid="false" 8.95 + inkscape:window-width="1317" 8.96 + inkscape:window-height="878" 8.97 + inkscape:window-x="7" 8.98 + inkscape:window-y="1" 8.99 + inkscape:window-maximized="0" /> 8.100 + <metadata 8.101 + id="metadata7"> 8.102 + <rdf:RDF> 8.103 + <cc:Work 8.104 + rdf:about=""> 8.105 + <dc:format>image/svg+xml</dc:format> 8.106 + <dc:type 8.107 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 8.108 + <dc:title></dc:title> 8.109 + </cc:Work> 8.110 + </rdf:RDF> 8.111 + </metadata> 8.112 + <g 8.113 + inkscape:label="Layer 1" 8.114 + inkscape:groupmode="layer" 8.115 + id="layer1"> 8.116 + <path 8.117 + id="path7353" 8.118 + d="m 196.98465,281.37498 c 69.82336,0 69.82336,0 69.82336,0" 8.119 + style="fill:#800000;stroke:#800000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 8.120 + inkscape:connector-curvature="0" /> 8.121 + <g 8.122 + transform="translate(-32,-120)" 8.123 + id="g7355" 8.124 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"> 8.125 + <path 8.126 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 8.127 + d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279" 8.128 + id="path7357" 8.129 + inkscape:connector-curvature="0" /> 8.130 + <text 8.131 + sodipodi:linespacing="100%" 8.132 + id="text7359" 8.133 + y="376.52615" 8.134 + x="298.7023" 8.135 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 8.136 + xml:space="preserve"><tspan 8.137 + y="376.52615" 8.138 + x="298.7023" 8.139 + id="tspan7361" 8.140 + sodipodi:role="line" 8.141 + style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan 8.142 + y="385.74353" 8.143 + x="298.7023" 8.144 + sodipodi:role="line" 8.145 + id="tspan7363" 8.146 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 2.S)</tspan></text> 8.147 + </g> 8.148 + <g 8.149 + transform="translate(-60,-120)" 8.150 + id="g7365" 8.151 + style="stroke-width:1.8;stroke-miterlimit:4;stroke-dasharray:none"> 8.152 + <path 8.153 + style="fill:none;stroke:#000000;stroke-width:1.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" 8.154 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 8.155 + id="path7367" 8.156 + inkscape:connector-curvature="0" /> 8.157 + <text 8.158 + sodipodi:linespacing="100%" 8.159 + id="text7369" 8.160 + y="376.52615" 8.161 + x="378.7023" 8.162 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 8.163 + xml:space="preserve"><tspan 8.164 + y="376.52615" 8.165 + x="380.20621" 8.166 + id="tspan7371" 8.167 + sodipodi:role="line" 8.168 + style="font-size:9px;text-align:center;text-anchor:middle"><tspan 8.169 + style="font-size:10px" 8.170 + id="tspan8087">Resume </tspan></tspan><tspan 8.171 + y="385.74353" 8.172 + x="378.7023" 8.173 + sodipodi:role="line" 8.174 + id="tspan7373" 8.175 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 2.R)</tspan></text> 8.176 + </g> 8.177 + <text 8.178 + sodipodi:linespacing="100%" 8.179 + id="text7375" 8.180 + y="285.27441" 8.181 + x="352.7023" 8.182 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 8.183 + xml:space="preserve"><tspan 8.184 + y="285.27441" 8.185 + x="352.7023" 8.186 + sodipodi:role="line" 8.187 + id="tspan7379">Timeline B</tspan></text> 8.188 + <path 8.189 + inkscape:connector-curvature="0" 8.190 + style="fill:none;stroke:#800000;stroke-width:1.80000000000000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none" 8.191 + d="m 320.08408,281.37498 c 27.45405,0 27.45405,0 27.45405,0" 8.192 + id="path7387" /> 8.193 + <path 8.194 + id="path8089" 8.195 + d="m 195.41471,317.37498 c 151.68424,0 151.68424,0 151.68424,0" 8.196 + style="fill:#000000;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 8.197 + inkscape:connector-curvature="0" /> 8.198 + <text 8.199 + xml:space="preserve" 8.200 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 8.201 + x="352.7023" 8.202 + y="320.02267" 8.203 + id="text8091" 8.204 + sodipodi:linespacing="100%"><tspan 8.205 + id="tspan8093" 8.206 + sodipodi:role="line" 8.207 + x="352.7023" 8.208 + y="320.02267">Physical time</tspan></text> 8.209 + <path 8.210 + inkscape:connector-curvature="0" 8.211 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 8.212 + d="m 195.92204,221.37498 c 33.06652,0 33.06652,0 33.06652,0" 8.213 + id="path8095" /> 8.214 + <g 8.215 + id="g8097" 8.216 + transform="translate(-70,-180)" 8.217 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"> 8.218 + <path 8.219 + inkscape:connector-curvature="0" 8.220 + id="path8099" 8.221 + d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279" 8.222 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 8.223 + <text 8.224 + xml:space="preserve" 8.225 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 8.226 + x="298.7023" 8.227 + y="376.52615" 8.228 + id="text8101" 8.229 + sodipodi:linespacing="100%"><tspan 8.230 + style="font-size:10px;text-align:center;text-anchor:middle" 8.231 + sodipodi:role="line" 8.232 + id="tspan8103" 8.233 + x="298.7023" 8.234 + y="376.52615">Suspend</tspan><tspan 8.235 + style="font-size:9px;text-align:center;text-anchor:middle" 8.236 + id="tspan8105" 8.237 + sodipodi:role="line" 8.238 + x="298.7023" 8.239 + y="385.74353">(Point 1.S)</tspan></text> 8.240 + </g> 8.241 + <g 8.242 + id="g8107" 8.243 + transform="translate(-60,-180)" 8.244 + style="stroke-width:1.8;stroke-miterlimit:4;stroke-dasharray:none"> 8.245 + <path 8.246 + inkscape:connector-curvature="0" 8.247 + id="path8109" 8.248 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 8.249 + style="fill:none;stroke:#000000;stroke-width:1.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" /> 8.250 + <text 8.251 + xml:space="preserve" 8.252 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 8.253 + x="378.7023" 8.254 + y="376.52615" 8.255 + id="text8111" 8.256 + sodipodi:linespacing="100%"><tspan 8.257 + style="font-size:9px;text-align:center;text-anchor:middle" 8.258 + sodipodi:role="line" 8.259 + id="tspan8113" 8.260 + x="380.20621" 8.261 + y="376.52615"><tspan 8.262 + id="tspan8115" 8.263 + style="font-size:10px">Resume </tspan></tspan><tspan 8.264 + style="font-size:9px;text-align:center;text-anchor:middle" 8.265 + id="tspan8117" 8.266 + sodipodi:role="line" 8.267 + x="378.7023" 8.268 + y="385.74353">(Point 1.R)</tspan></text> 8.269 + </g> 8.270 + <text 8.271 + xml:space="preserve" 8.272 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 8.273 + x="352.7023" 8.274 + y="225.27441" 8.275 + id="text8119" 8.276 + sodipodi:linespacing="100%"><tspan 8.277 + id="tspan8121" 8.278 + sodipodi:role="line" 8.279 + x="352.7023" 8.280 + y="225.27441">Timeline A</tspan></text> 8.281 + <path 8.282 + id="path8123" 8.283 + d="m 320.08408,221.37498 c 27.45405,0 27.45405,0 27.45405,0" 8.284 + style="fill:none;stroke:#422fac;stroke-width:1.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none" 8.285 + inkscape:connector-curvature="0" /> 8.286 + <path 8.287 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999998, 2.99999998;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 8.288 + d="m 292.57011,280.15667 c 1.60737,-35.06333 -0.1867,-13.69014 2.41106,-33.11537 1.74808,-13.07166 19.28851,-14.93437 19.28851,-14.93437" 8.289 + id="path8125" 8.290 + inkscape:connector-curvature="0" 8.291 + sodipodi:nodetypes="csc" /> 8.292 + <path 8.293 + inkscape:connector-curvature="0" 8.294 + style="fill:#800000;stroke:#800000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 8.295 + d="m 195.48813,523.37498 c 69.82336,0 69.82336,0 69.82336,0" 8.296 + id="path5552" /> 8.297 + <path 8.298 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 8.299 + d="m 266.82881,514.82004 c 0,19.38279 0,19.38279 0,19.38279" 8.300 + id="path5556" 8.301 + inkscape:connector-curvature="0" /> 8.302 + <text 8.303 + sodipodi:linespacing="100%" 8.304 + id="text5558" 8.305 + y="540.52612" 8.306 + x="264.7023" 8.307 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 8.308 + xml:space="preserve"><tspan 8.309 + y="540.52612" 8.310 + x="264.7023" 8.311 + id="tspan5560" 8.312 + sodipodi:role="line" 8.313 + style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan 8.314 + y="549.74353" 8.315 + x="264.7023" 8.316 + sodipodi:role="line" 8.317 + id="tspan5562" 8.318 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 2.S)</tspan></text> 8.319 + <path 8.320 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 8.321 + d="m 318.82881,514.77746 c 0,19.15152 0,19.15152 0,19.15152" 8.322 + id="path5566" 8.323 + inkscape:connector-curvature="0" /> 8.324 + <text 8.325 + sodipodi:linespacing="100%" 8.326 + id="text5568" 8.327 + y="540.52612" 8.328 + x="320.7023" 8.329 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 8.330 + xml:space="preserve"><tspan 8.331 + y="540.52612" 8.332 + x="322.20621" 8.333 + id="tspan5570" 8.334 + sodipodi:role="line" 8.335 + style="font-size:9px;text-align:center;text-anchor:middle"><tspan 8.336 + style="font-size:10px" 8.337 + id="tspan5572">Resume </tspan></tspan><tspan 8.338 + y="549.74353" 8.339 + x="320.7023" 8.340 + sodipodi:role="line" 8.341 + id="tspan5574" 8.342 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 2.R)</tspan></text> 8.343 + <text 8.344 + xml:space="preserve" 8.345 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 8.346 + x="354.7023" 8.347 + y="527.27441" 8.348 + id="text5576" 8.349 + sodipodi:linespacing="100%"><tspan 8.350 + id="tspan5578" 8.351 + sodipodi:role="line" 8.352 + x="354.7023" 8.353 + y="527.27441">Timeline B</tspan></text> 8.354 + <path 8.355 + id="path5580" 8.356 + d="m 320.08409,523.37498 c 28.16395,0 28.16395,0 28.16395,0" 8.357 + style="fill:none;stroke:#800000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 8.358 + inkscape:connector-curvature="0" /> 8.359 + <path 8.360 + inkscape:connector-curvature="0" 8.361 + style="fill:#000000;stroke:#000000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 8.362 + d="m 195.41472,559.37498 c 153.16627,0 153.16627,0 153.16627,0" 8.363 + id="path5582" /> 8.364 + <text 8.365 + sodipodi:linespacing="100%" 8.366 + id="text5584" 8.367 + y="562.02271" 8.368 + x="354.05777" 8.369 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 8.370 + xml:space="preserve"><tspan 8.371 + y="562.02271" 8.372 + x="354.05777" 8.373 + sodipodi:role="line" 8.374 + id="tspan5586">Physical time</tspan></text> 8.375 + <path 8.376 + id="path5588" 8.377 + d="m 195.17378,437.37498 c 33.06652,0 33.06652,0 33.06652,0" 8.378 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 8.379 + inkscape:connector-curvature="0" /> 8.380 + <g 8.381 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 8.382 + transform="translate(-70,36)" 8.383 + id="g5590"> 8.384 + <path 8.385 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 8.386 + d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279" 8.387 + id="path5592" 8.388 + inkscape:connector-curvature="0" /> 8.389 + <text 8.390 + sodipodi:linespacing="100%" 8.391 + id="text5594" 8.392 + y="376.52615" 8.393 + x="298.7023" 8.394 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 8.395 + xml:space="preserve"><tspan 8.396 + y="376.52615" 8.397 + x="298.7023" 8.398 + id="tspan5596" 8.399 + sodipodi:role="line" 8.400 + style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan 8.401 + y="385.74353" 8.402 + x="298.7023" 8.403 + sodipodi:role="line" 8.404 + id="tspan5598" 8.405 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.S)</tspan></text> 8.406 + </g> 8.407 + <g 8.408 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 8.409 + transform="translate(-60,36)" 8.410 + id="g5600"> 8.411 + <path 8.412 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 8.413 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 8.414 + id="path5602" 8.415 + inkscape:connector-curvature="0" /> 8.416 + <text 8.417 + sodipodi:linespacing="100%" 8.418 + id="text5604" 8.419 + y="376.52615" 8.420 + x="378.7023" 8.421 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 8.422 + xml:space="preserve"><tspan 8.423 + y="376.52615" 8.424 + x="380.20621" 8.425 + id="tspan5606" 8.426 + sodipodi:role="line" 8.427 + style="font-size:9px;text-align:center;text-anchor:middle"><tspan 8.428 + style="font-size:10px" 8.429 + id="tspan5608">Resume </tspan></tspan><tspan 8.430 + y="385.74353" 8.431 + x="378.7023" 8.432 + sodipodi:role="line" 8.433 + id="tspan5610" 8.434 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.R)</tspan></text> 8.435 + </g> 8.436 + <text 8.437 + sodipodi:linespacing="100%" 8.438 + id="text5612" 8.439 + y="441.27441" 8.440 + x="354.7023" 8.441 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 8.442 + xml:space="preserve"><tspan 8.443 + y="441.27441" 8.444 + x="354.7023" 8.445 + sodipodi:role="line" 8.446 + id="tspan5614">Timeline A</tspan></text> 8.447 + <path 8.448 + inkscape:connector-curvature="0" 8.449 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 8.450 + d="m 320.08409,437.37498 c 28.16395,0 28.16395,0 28.16395,0" 8.451 + id="path5616" /> 8.452 + <path 8.453 + inkscape:connector-curvature="0" 8.454 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.60000016, 3.60000016;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 8.455 + d="m 196.11806,483.37498 c 152.64336,0 152.64336,0 152.64336,0" 8.456 + id="path3063" /> 8.457 + <path 8.458 + style="fill:none;stroke:#000000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.60000001, 3.60000001;stroke-dashoffset:0;marker-end:url(#Arrow2Send)" 8.459 + d="m 228.82881,449.32353 c 0,29.78359 0,29.78359 0,29.78359" 8.460 + id="path3086" 8.461 + inkscape:connector-curvature="0" /> 8.462 + <path 8.463 + inkscape:connector-curvature="0" 8.464 + id="path5044" 8.465 + d="m 266.82881,516.24027 c 0,-29.74405 0,-29.74405 0,-29.74405" 8.466 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.60000002, 3.60000002;stroke-dashoffset:0;marker-end:url(#Arrow2Send)" /> 8.467 + <path 8.468 + style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 8.469 + d="m 293.31837,481.43892 c 3.87039,-15.03735 4.2342,-21.56492 7.28321,-26.28454 5.73916,-8.88373 15.91289,-10.38025 15.91289,-10.38025" 8.470 + id="path5048" 8.471 + inkscape:connector-curvature="0" 8.472 + sodipodi:nodetypes="csc" /> 8.473 + <path 8.474 + sodipodi:nodetypes="csc" 8.475 + inkscape:connector-curvature="0" 8.476 + id="path5608" 8.477 + d="m 301.54925,484.53107 c 2.49703,15.03735 2.73174,21.56492 4.69884,26.28454 3.70269,8.88373 10.26639,10.38025 10.26639,10.38025" 8.478 + style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" /> 8.479 + <path 8.480 + id="path5610" 8.481 + d="m 196.98465,751.37498 c 69.82336,0 69.82336,0 69.82336,0" 8.482 + style="fill:#800000;stroke:#800000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 8.483 + inkscape:connector-curvature="0" /> 8.484 + <path 8.485 + inkscape:connector-curvature="0" 8.486 + id="path5612" 8.487 + d="m 266.82881,742.82004 c 0,19.38279 0,19.38279 0,19.38279" 8.488 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 8.489 + <text 8.490 + xml:space="preserve" 8.491 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 8.492 + x="264.7023" 8.493 + y="768.52612" 8.494 + id="text5614" 8.495 + sodipodi:linespacing="100%"><tspan 8.496 + style="font-size:10px;text-align:center;text-anchor:middle" 8.497 + sodipodi:role="line" 8.498 + id="tspan5616" 8.499 + x="264.7023" 8.500 + y="768.52612">Suspend</tspan><tspan 8.501 + style="font-size:9px;text-align:center;text-anchor:middle" 8.502 + id="tspan5618" 8.503 + sodipodi:role="line" 8.504 + x="264.7023" 8.505 + y="777.74353">(Point 2.S)</tspan></text> 8.506 + <path 8.507 + inkscape:connector-curvature="0" 8.508 + id="path5620" 8.509 + d="m 318.82881,742.77746 c 0,19.15152 0,19.15152 0,19.15152" 8.510 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 8.511 + <text 8.512 + xml:space="preserve" 8.513 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 8.514 + x="320.7023" 8.515 + y="768.52612" 8.516 + id="text5622" 8.517 + sodipodi:linespacing="100%"><tspan 8.518 + style="font-size:9px;text-align:center;text-anchor:middle" 8.519 + sodipodi:role="line" 8.520 + id="tspan5624" 8.521 + x="322.20621" 8.522 + y="768.52612"><tspan 8.523 + id="tspan5626" 8.524 + style="font-size:10px">Resume </tspan></tspan><tspan 8.525 + style="font-size:9px;text-align:center;text-anchor:middle" 8.526 + id="tspan5628" 8.527 + sodipodi:role="line" 8.528 + x="320.7023" 8.529 + y="777.74353">(Point 2.R)</tspan></text> 8.530 + <text 8.531 + sodipodi:linespacing="100%" 8.532 + id="text5630" 8.533 + y="755.27441" 8.534 + x="352.7023" 8.535 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 8.536 + xml:space="preserve"><tspan 8.537 + y="755.27441" 8.538 + x="352.7023" 8.539 + sodipodi:role="line" 8.540 + id="tspan5632">Timeline B</tspan></text> 8.541 + <path 8.542 + inkscape:connector-curvature="0" 8.543 + style="fill:none;stroke:#800000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 8.544 + d="m 320.08408,751.37498 c 27.45405,0 27.45405,0 27.45405,0" 8.545 + id="path5634" /> 8.546 + <path 8.547 + id="path5636" 8.548 + d="m 195.41471,787.37498 c 151.68424,0 151.68424,0 151.68424,0" 8.549 + style="fill:#000000;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 8.550 + inkscape:connector-curvature="0" /> 8.551 + <text 8.552 + xml:space="preserve" 8.553 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 8.554 + x="352.7023" 8.555 + y="790.02271" 8.556 + id="text5638" 8.557 + sodipodi:linespacing="100%"><tspan 8.558 + id="tspan5640" 8.559 + sodipodi:role="line" 8.560 + x="352.7023" 8.561 + y="790.02271">Physical time</tspan></text> 8.562 + <path 8.563 + inkscape:connector-curvature="0" 8.564 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 8.565 + d="m 195.92204,665.37498 c 33.06652,0 33.06652,0 33.06652,0" 8.566 + id="path5642" /> 8.567 + <g 8.568 + id="g5644" 8.569 + transform="translate(-70,264)" 8.570 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"> 8.571 + <path 8.572 + inkscape:connector-curvature="0" 8.573 + id="path5646" 8.574 + d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279" 8.575 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 8.576 + <text 8.577 + xml:space="preserve" 8.578 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 8.579 + x="298.7023" 8.580 + y="376.52615" 8.581 + id="text5648" 8.582 + sodipodi:linespacing="100%"><tspan 8.583 + style="font-size:10px;text-align:center;text-anchor:middle" 8.584 + sodipodi:role="line" 8.585 + id="tspan5650" 8.586 + x="298.7023" 8.587 + y="376.52615">Suspend</tspan><tspan 8.588 + style="font-size:9px;text-align:center;text-anchor:middle" 8.589 + id="tspan5652" 8.590 + sodipodi:role="line" 8.591 + x="298.7023" 8.592 + y="385.74353">(Point 1.S)</tspan></text> 8.593 + </g> 8.594 + <g 8.595 + id="g5654" 8.596 + transform="translate(-60,264)" 8.597 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"> 8.598 + <path 8.599 + inkscape:connector-curvature="0" 8.600 + id="path5656" 8.601 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 8.602 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 8.603 + <text 8.604 + xml:space="preserve" 8.605 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 8.606 + x="378.7023" 8.607 + y="376.52615" 8.608 + id="text5658" 8.609 + sodipodi:linespacing="100%"><tspan 8.610 + style="font-size:9px;text-align:center;text-anchor:middle" 8.611 + sodipodi:role="line" 8.612 + id="tspan5660" 8.613 + x="380.20621" 8.614 + y="376.52615"><tspan 8.615 + id="tspan5662" 8.616 + style="font-size:10px">Resume </tspan></tspan><tspan 8.617 + style="font-size:9px;text-align:center;text-anchor:middle" 8.618 + id="tspan5664" 8.619 + sodipodi:role="line" 8.620 + x="378.7023" 8.621 + y="385.74353">(Point 1.R)</tspan></text> 8.622 + </g> 8.623 + <text 8.624 + xml:space="preserve" 8.625 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 8.626 + x="352.7023" 8.627 + y="669.27441" 8.628 + id="text5666" 8.629 + sodipodi:linespacing="100%"><tspan 8.630 + id="tspan5668" 8.631 + sodipodi:role="line" 8.632 + x="352.7023" 8.633 + y="669.27441">Timeline A</tspan></text> 8.634 + <path 8.635 + id="path5670" 8.636 + d="m 320.08408,665.37498 c 27.45405,0 27.45405,0 27.45405,0" 8.637 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 8.638 + inkscape:connector-curvature="0" /> 8.639 + <path 8.640 + id="path5672" 8.641 + d="m 227.92204,711.37498 c 15.62732,0 15.62732,0 15.62732,0" 8.642 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.60000014, 3.60000014;stroke-dashoffset:0;marker-end:none" 8.643 + inkscape:connector-curvature="0" /> 8.644 + <path 8.645 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 8.646 + d="m 228.82881,701.32352 c 0,19.38279 0,19.38279 0,19.38279" 8.647 + id="path5674" 8.648 + inkscape:connector-curvature="0" /> 8.649 + <path 8.650 + inkscape:connector-curvature="0" 8.651 + id="path5676" 8.652 + d="m 242.82881,701.32352 c 0,19.38279 0,19.38279 0,19.38279" 8.653 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 8.654 + <path 8.655 + inkscape:connector-curvature="0" 8.656 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.6000001, 3.6000001;stroke-dashoffset:0;marker-end:none" 8.657 + d="m 265.92203,711.37498 c 28.40046,0 28.40046,0 28.40046,0" 8.658 + id="path5678" /> 8.659 + <path 8.660 + inkscape:connector-curvature="0" 8.661 + id="path5680" 8.662 + d="m 266.82881,701.32352 c 0,19.38279 0,19.38279 0,19.38279" 8.663 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 8.664 + <path 8.665 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 8.666 + d="m 294.82881,701.32352 c 0,19.38279 0,19.38279 0,19.38279" 8.667 + id="path5682" 8.668 + inkscape:connector-curvature="0" /> 8.669 + <path 8.670 + inkscape:connector-curvature="0" 8.671 + id="path5684" 8.672 + d="m 228.82881,677.32352 c 0,19.38279 0,19.38279 0,19.38279" 8.673 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.6, 3.6;stroke-dashoffset:0;marker-end:url(#Arrow2Send)" /> 8.674 + <path 8.675 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.6, 3.6;stroke-dashoffset:0;marker-end:url(#Arrow2Send)" 8.676 + d="m 266.82881,744.24025 c 0,-19.38279 0,-19.38279 0,-19.38279" 8.677 + id="path5686" 8.678 + inkscape:connector-curvature="0" /> 8.679 + <path 8.680 + sodipodi:nodetypes="csc" 8.681 + inkscape:connector-curvature="0" 8.682 + id="path5688" 8.683 + d="m 273.86358,709.43892 c 7.11652,-15.03735 7.78546,-21.56492 13.39171,-26.28454 10.55265,-8.88373 29.25918,-10.38025 29.25918,-10.38025" 8.684 + style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" /> 8.685 + <path 8.686 + style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 8.687 + d="m 284.33924,712.53107 c 5.3686,15.03735 5.87324,21.56492 10.10251,26.28454 7.96078,8.88373 22.07272,10.38025 22.07272,10.38025" 8.688 + id="path5690" 8.689 + inkscape:connector-curvature="0" 8.690 + sodipodi:nodetypes="csc" /> 8.691 + <text 8.692 + xml:space="preserve" 8.693 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 8.694 + x="354.7023" 8.695 + y="481.27441" 8.696 + id="text5880" 8.697 + sodipodi:linespacing="100%"><tspan 8.698 + id="tspan5882" 8.699 + sodipodi:role="line" 8.700 + x="354.7023" 8.701 + y="481.27441" 8.702 + style="fill:#ff0000">Hidden</tspan><tspan 8.703 + sodipodi:role="line" 8.704 + x="354.7023" 8.705 + y="491.27441" 8.706 + id="tspan5884" 8.707 + style="fill:#ff0000">Timeline</tspan></text> 8.708 + <text 8.709 + xml:space="preserve" 8.710 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 8.711 + x="248.7023" 8.712 + y="502.52612" 8.713 + id="text5886" 8.714 + sodipodi:linespacing="100%"><tspan 8.715 + style="font-size:10px;text-align:center;text-anchor:middle" 8.716 + id="tspan5890" 8.717 + sodipodi:role="line" 8.718 + x="248.7023" 8.719 + y="502.52612">comm</tspan></text> 8.720 + <text 8.721 + sodipodi:linespacing="100%" 8.722 + id="text5894" 8.723 + y="466.52612" 8.724 + x="244.7023" 8.725 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 8.726 + xml:space="preserve"><tspan 8.727 + y="466.52612" 8.728 + x="244.7023" 8.729 + sodipodi:role="line" 8.730 + id="tspan5896" 8.731 + style="font-size:10px;text-align:center;text-anchor:middle">comm</tspan></text> 8.732 + <text 8.733 + xml:space="preserve" 8.734 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 8.735 + x="314.7023" 8.736 + y="464.52612" 8.737 + id="text5898" 8.738 + sodipodi:linespacing="100%"><tspan 8.739 + style="font-size:10px;text-align:center;text-anchor:middle" 8.740 + id="tspan5900" 8.741 + sodipodi:role="line" 8.742 + x="314.7023" 8.743 + y="464.52612">control</tspan></text> 8.744 + <text 8.745 + sodipodi:linespacing="100%" 8.746 + id="text5902" 8.747 + y="506.52612" 8.748 + x="320.7023" 8.749 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 8.750 + xml:space="preserve"><tspan 8.751 + y="506.52612" 8.752 + x="320.7023" 8.753 + sodipodi:role="line" 8.754 + id="tspan5904" 8.755 + style="font-size:10px;text-align:center;text-anchor:middle">control</tspan></text> 8.756 + </g> 8.757 +</svg>
9.1 Binary file 0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/PR__timeline_dual_w_hidden.pdf has changed
10.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 10.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/PR__timeline_dual_w_hidden.svg Fri Sep 13 11:02:18 2013 -0700 10.3 @@ -0,0 +1,366 @@ 10.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 10.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 10.6 + 10.7 +<svg 10.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 10.9 + xmlns:cc="http://creativecommons.org/ns#" 10.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 10.11 + xmlns:svg="http://www.w3.org/2000/svg" 10.12 + xmlns="http://www.w3.org/2000/svg" 10.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 10.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 10.15 + width="744.09448819" 10.16 + height="1052.3622047" 10.17 + id="svg2" 10.18 + sodipodi:version="0.32" 10.19 + inkscape:version="0.48.2 r9819" 10.20 + sodipodi:docname="PR__timeline_dual_w_hidden.svg" 10.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 10.22 + version="1.1"> 10.23 + <defs 10.24 + id="defs4"> 10.25 + <marker 10.26 + inkscape:stockid="Arrow2Send" 10.27 + orient="auto" 10.28 + refY="0.0" 10.29 + refX="0.0" 10.30 + id="Arrow2Send" 10.31 + style="overflow:visible;"> 10.32 + <path 10.33 + id="path4262" 10.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 10.35 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 10.36 + transform="scale(0.3) rotate(180) translate(-2.3,0)" /> 10.37 + </marker> 10.38 + <marker 10.39 + inkscape:stockid="Arrow1Mend" 10.40 + orient="auto" 10.41 + refY="0.0" 10.42 + refX="0.0" 10.43 + id="Arrow1Mend" 10.44 + style="overflow:visible;"> 10.45 + <path 10.46 + id="path4238" 10.47 + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " 10.48 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;" 10.49 + transform="scale(0.4) rotate(180) translate(10,0)" /> 10.50 + </marker> 10.51 + <marker 10.52 + inkscape:stockid="Arrow2Mend" 10.53 + orient="auto" 10.54 + refY="0.0" 10.55 + refX="0.0" 10.56 + id="Arrow2Mend" 10.57 + style="overflow:visible;"> 10.58 + <path 10.59 + id="path4008" 10.60 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 10.61 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 10.62 + transform="scale(0.6) rotate(180) translate(0,0)" /> 10.63 + </marker> 10.64 + <inkscape:perspective 10.65 + sodipodi:type="inkscape:persp3d" 10.66 + inkscape:vp_x="0 : 526.18109 : 1" 10.67 + inkscape:vp_y="0 : 1000 : 0" 10.68 + inkscape:vp_z="744.09448 : 526.18109 : 1" 10.69 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 10.70 + id="perspective10" /> 10.71 + <inkscape:perspective 10.72 + id="perspective11923" 10.73 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 10.74 + inkscape:vp_z="1 : 0.5 : 1" 10.75 + inkscape:vp_y="0 : 1000 : 0" 10.76 + inkscape:vp_x="0 : 0.5 : 1" 10.77 + sodipodi:type="inkscape:persp3d" /> 10.78 + </defs> 10.79 + <sodipodi:namedview 10.80 + id="base" 10.81 + pagecolor="#ffffff" 10.82 + bordercolor="#666666" 10.83 + borderopacity="1.0" 10.84 + gridtolerance="10000" 10.85 + guidetolerance="10" 10.86 + objecttolerance="10" 10.87 + inkscape:pageopacity="0.0" 10.88 + inkscape:pageshadow="2" 10.89 + inkscape:zoom="1.3364318" 10.90 + inkscape:cx="214.9176" 10.91 + inkscape:cy="603.68563" 10.92 + inkscape:document-units="px" 10.93 + inkscape:current-layer="layer1" 10.94 + showgrid="false" 10.95 + inkscape:window-width="1317" 10.96 + inkscape:window-height="878" 10.97 + inkscape:window-x="7" 10.98 + inkscape:window-y="1" 10.99 + inkscape:window-maximized="0" /> 10.100 + <metadata 10.101 + id="metadata7"> 10.102 + <rdf:RDF> 10.103 + <cc:Work 10.104 + rdf:about=""> 10.105 + <dc:format>image/svg+xml</dc:format> 10.106 + <dc:type 10.107 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 10.108 + <dc:title></dc:title> 10.109 + </cc:Work> 10.110 + </rdf:RDF> 10.111 + </metadata> 10.112 + <g 10.113 + inkscape:label="Layer 1" 10.114 + inkscape:groupmode="layer" 10.115 + id="layer1"> 10.116 + <path 10.117 + inkscape:connector-curvature="0" 10.118 + style="fill:#800000;stroke:#800000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 10.119 + d="m 195.48813,523.37498 c 69.82336,0 69.82336,0 69.82336,0" 10.120 + id="path5552" /> 10.121 + <path 10.122 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 10.123 + d="m 266.82881,514.82004 c 0,19.38279 0,19.38279 0,19.38279" 10.124 + id="path5556" 10.125 + inkscape:connector-curvature="0" /> 10.126 + <text 10.127 + sodipodi:linespacing="100%" 10.128 + id="text5558" 10.129 + y="540.52612" 10.130 + x="264.7023" 10.131 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 10.132 + xml:space="preserve"><tspan 10.133 + y="540.52612" 10.134 + x="264.7023" 10.135 + id="tspan5560" 10.136 + sodipodi:role="line" 10.137 + style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan 10.138 + y="549.74353" 10.139 + x="264.7023" 10.140 + sodipodi:role="line" 10.141 + id="tspan5562" 10.142 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 2.S)</tspan></text> 10.143 + <path 10.144 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 10.145 + d="m 318.82881,514.77746 c 0,19.15152 0,19.15152 0,19.15152" 10.146 + id="path5566" 10.147 + inkscape:connector-curvature="0" /> 10.148 + <text 10.149 + sodipodi:linespacing="100%" 10.150 + id="text5568" 10.151 + y="540.52612" 10.152 + x="320.7023" 10.153 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 10.154 + xml:space="preserve"><tspan 10.155 + y="540.52612" 10.156 + x="322.20621" 10.157 + id="tspan5570" 10.158 + sodipodi:role="line" 10.159 + style="font-size:9px;text-align:center;text-anchor:middle"><tspan 10.160 + style="font-size:10px" 10.161 + id="tspan5572">Resume </tspan></tspan><tspan 10.162 + y="549.74353" 10.163 + x="320.7023" 10.164 + sodipodi:role="line" 10.165 + id="tspan5574" 10.166 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 2.R)</tspan></text> 10.167 + <text 10.168 + xml:space="preserve" 10.169 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 10.170 + x="354.7023" 10.171 + y="527.27441" 10.172 + id="text5576" 10.173 + sodipodi:linespacing="100%"><tspan 10.174 + id="tspan5578" 10.175 + sodipodi:role="line" 10.176 + x="354.7023" 10.177 + y="527.27441">Timeline B</tspan></text> 10.178 + <path 10.179 + id="path5580" 10.180 + d="m 320.08409,523.37498 c 28.16395,0 28.16395,0 28.16395,0" 10.181 + style="fill:none;stroke:#800000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 10.182 + inkscape:connector-curvature="0" /> 10.183 + <path 10.184 + inkscape:connector-curvature="0" 10.185 + style="fill:#000000;stroke:#000000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 10.186 + d="m 195.41472,559.37498 c 153.16627,0 153.16627,0 153.16627,0" 10.187 + id="path5582" /> 10.188 + <text 10.189 + sodipodi:linespacing="100%" 10.190 + id="text5584" 10.191 + y="562.02271" 10.192 + x="354.05777" 10.193 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 10.194 + xml:space="preserve"><tspan 10.195 + y="562.02271" 10.196 + x="354.05777" 10.197 + sodipodi:role="line" 10.198 + id="tspan5586">Physical time</tspan></text> 10.199 + <path 10.200 + id="path5588" 10.201 + d="m 195.17378,437.37498 c 33.06652,0 33.06652,0 33.06652,0" 10.202 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 10.203 + inkscape:connector-curvature="0" /> 10.204 + <g 10.205 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 10.206 + transform="translate(-70,36)" 10.207 + id="g5590"> 10.208 + <path 10.209 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 10.210 + d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279" 10.211 + id="path5592" 10.212 + inkscape:connector-curvature="0" /> 10.213 + <text 10.214 + sodipodi:linespacing="100%" 10.215 + id="text5594" 10.216 + y="376.52615" 10.217 + x="298.7023" 10.218 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 10.219 + xml:space="preserve"><tspan 10.220 + y="376.52615" 10.221 + x="298.7023" 10.222 + id="tspan5596" 10.223 + sodipodi:role="line" 10.224 + style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan 10.225 + y="385.74353" 10.226 + x="298.7023" 10.227 + sodipodi:role="line" 10.228 + id="tspan5598" 10.229 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.S)</tspan></text> 10.230 + </g> 10.231 + <g 10.232 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 10.233 + transform="translate(-60,36)" 10.234 + id="g5600"> 10.235 + <path 10.236 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 10.237 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 10.238 + id="path5602" 10.239 + inkscape:connector-curvature="0" /> 10.240 + <text 10.241 + sodipodi:linespacing="100%" 10.242 + id="text5604" 10.243 + y="376.52615" 10.244 + x="378.7023" 10.245 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 10.246 + xml:space="preserve"><tspan 10.247 + y="376.52615" 10.248 + x="380.20621" 10.249 + id="tspan5606" 10.250 + sodipodi:role="line" 10.251 + style="font-size:9px;text-align:center;text-anchor:middle"><tspan 10.252 + style="font-size:10px" 10.253 + id="tspan5608">Resume </tspan></tspan><tspan 10.254 + y="385.74353" 10.255 + x="378.7023" 10.256 + sodipodi:role="line" 10.257 + id="tspan5610" 10.258 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.R)</tspan></text> 10.259 + </g> 10.260 + <text 10.261 + sodipodi:linespacing="100%" 10.262 + id="text5612" 10.263 + y="441.27441" 10.264 + x="354.7023" 10.265 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 10.266 + xml:space="preserve"><tspan 10.267 + y="441.27441" 10.268 + x="354.7023" 10.269 + sodipodi:role="line" 10.270 + id="tspan5614">Timeline A</tspan></text> 10.271 + <path 10.272 + inkscape:connector-curvature="0" 10.273 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 10.274 + d="m 320.08409,437.37498 c 28.16395,0 28.16395,0 28.16395,0" 10.275 + id="path5616" /> 10.276 + <path 10.277 + inkscape:connector-curvature="0" 10.278 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.60000016, 3.60000016;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 10.279 + d="m 196.11806,483.37498 c 152.64336,0 152.64336,0 152.64336,0" 10.280 + id="path3063" /> 10.281 + <path 10.282 + style="fill:none;stroke:#000000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.60000001, 3.60000001;stroke-dashoffset:0;marker-end:url(#Arrow2Send)" 10.283 + d="m 228.82881,449.32353 c 0,29.78359 0,29.78359 0,29.78359" 10.284 + id="path3086" 10.285 + inkscape:connector-curvature="0" /> 10.286 + <path 10.287 + inkscape:connector-curvature="0" 10.288 + id="path5044" 10.289 + d="m 266.82881,516.24027 c 0,-29.74405 0,-29.74405 0,-29.74405" 10.290 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.60000002, 3.60000002;stroke-dashoffset:0;marker-end:url(#Arrow2Send)" /> 10.291 + <path 10.292 + style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 10.293 + d="m 293.31837,481.43892 c 3.87039,-15.03735 4.2342,-21.56492 7.28321,-26.28454 5.73916,-8.88373 15.91289,-10.38025 15.91289,-10.38025" 10.294 + id="path5048" 10.295 + inkscape:connector-curvature="0" 10.296 + sodipodi:nodetypes="csc" /> 10.297 + <path 10.298 + sodipodi:nodetypes="csc" 10.299 + inkscape:connector-curvature="0" 10.300 + id="path5608" 10.301 + d="m 301.54925,484.53107 c 2.49703,15.03735 2.73174,21.56492 4.69884,26.28454 3.70269,8.88373 10.26639,10.38025 10.26639,10.38025" 10.302 + style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" /> 10.303 + <text 10.304 + xml:space="preserve" 10.305 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 10.306 + x="354.7023" 10.307 + y="481.27441" 10.308 + id="text5880" 10.309 + sodipodi:linespacing="100%"><tspan 10.310 + id="tspan5882" 10.311 + sodipodi:role="line" 10.312 + x="354.7023" 10.313 + y="481.27441" 10.314 + style="fill:#ff0000">Hidden</tspan><tspan 10.315 + sodipodi:role="line" 10.316 + x="354.7023" 10.317 + y="491.27441" 10.318 + id="tspan5884" 10.319 + style="fill:#ff0000">Timeline</tspan></text> 10.320 + <text 10.321 + xml:space="preserve" 10.322 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 10.323 + x="248.7023" 10.324 + y="502.52612" 10.325 + id="text5886" 10.326 + sodipodi:linespacing="100%"><tspan 10.327 + style="font-size:10px;text-align:center;text-anchor:middle" 10.328 + id="tspan5890" 10.329 + sodipodi:role="line" 10.330 + x="248.7023" 10.331 + y="502.52612">comm</tspan></text> 10.332 + <text 10.333 + sodipodi:linespacing="100%" 10.334 + id="text5894" 10.335 + y="466.52612" 10.336 + x="244.7023" 10.337 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 10.338 + xml:space="preserve"><tspan 10.339 + y="466.52612" 10.340 + x="244.7023" 10.341 + sodipodi:role="line" 10.342 + id="tspan5896" 10.343 + style="font-size:10px;text-align:center;text-anchor:middle">comm</tspan></text> 10.344 + <text 10.345 + xml:space="preserve" 10.346 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 10.347 + x="314.7023" 10.348 + y="464.52612" 10.349 + id="text5898" 10.350 + sodipodi:linespacing="100%"><tspan 10.351 + style="font-size:10px;text-align:center;text-anchor:middle" 10.352 + id="tspan5900" 10.353 + sodipodi:role="line" 10.354 + x="314.7023" 10.355 + y="464.52612">control</tspan></text> 10.356 + <text 10.357 + sodipodi:linespacing="100%" 10.358 + id="text5902" 10.359 + y="506.52612" 10.360 + x="320.7023" 10.361 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 10.362 + xml:space="preserve"><tspan 10.363 + y="506.52612" 10.364 + x="320.7023" 10.365 + sodipodi:role="line" 10.366 + id="tspan5904" 10.367 + style="font-size:10px;text-align:center;text-anchor:middle">control</tspan></text> 10.368 + </g> 10.369 +</svg>
11.1 Binary file 0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/PR__timeline_single.pdf has changed
12.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 12.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/PR__timeline_single.svg Fri Sep 13 11:02:18 2013 -0700 12.3 @@ -0,0 +1,306 @@ 12.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 12.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 12.6 + 12.7 +<svg 12.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 12.9 + xmlns:cc="http://creativecommons.org/ns#" 12.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 12.11 + xmlns:svg="http://www.w3.org/2000/svg" 12.12 + xmlns="http://www.w3.org/2000/svg" 12.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 12.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 12.15 + width="744.09448819" 12.16 + height="1052.3622047" 12.17 + id="svg2" 12.18 + sodipodi:version="0.32" 12.19 + inkscape:version="0.48.2 r9819" 12.20 + sodipodi:docname="PR__timeline_single.svg" 12.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 12.22 + version="1.1"> 12.23 + <defs 12.24 + id="defs4"> 12.25 + <marker 12.26 + inkscape:stockid="Arrow2Mend" 12.27 + orient="auto" 12.28 + refY="0.0" 12.29 + refX="0.0" 12.30 + id="Arrow2Mend" 12.31 + style="overflow:visible;"> 12.32 + <path 12.33 + id="path4008" 12.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 12.35 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 12.36 + transform="scale(0.6) rotate(180) translate(0,0)" /> 12.37 + </marker> 12.38 + <inkscape:perspective 12.39 + sodipodi:type="inkscape:persp3d" 12.40 + inkscape:vp_x="0 : 526.18109 : 1" 12.41 + inkscape:vp_y="0 : 1000 : 0" 12.42 + inkscape:vp_z="744.09448 : 526.18109 : 1" 12.43 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 12.44 + id="perspective10" /> 12.45 + <inkscape:perspective 12.46 + id="perspective11923" 12.47 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 12.48 + inkscape:vp_z="1 : 0.5 : 1" 12.49 + inkscape:vp_y="0 : 1000 : 0" 12.50 + inkscape:vp_x="0 : 0.5 : 1" 12.51 + sodipodi:type="inkscape:persp3d" /> 12.52 + </defs> 12.53 + <sodipodi:namedview 12.54 + id="base" 12.55 + pagecolor="#ffffff" 12.56 + bordercolor="#666666" 12.57 + borderopacity="1.0" 12.58 + gridtolerance="10000" 12.59 + guidetolerance="10" 12.60 + objecttolerance="10" 12.61 + inkscape:pageopacity="0.0" 12.62 + inkscape:pageshadow="2" 12.63 + inkscape:zoom="3.5576235" 12.64 + inkscape:cx="283.87197" 12.65 + inkscape:cy="706.58767" 12.66 + inkscape:document-units="px" 12.67 + inkscape:current-layer="layer1" 12.68 + showgrid="false" 12.69 + inkscape:window-width="1600" 12.70 + inkscape:window-height="848" 12.71 + inkscape:window-x="-8" 12.72 + inkscape:window-y="-8" 12.73 + inkscape:window-maximized="0" /> 12.74 + <metadata 12.75 + id="metadata7"> 12.76 + <rdf:RDF> 12.77 + <cc:Work 12.78 + rdf:about=""> 12.79 + <dc:format>image/svg+xml</dc:format> 12.80 + <dc:type 12.81 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 12.82 + <dc:title /> 12.83 + </cc:Work> 12.84 + </rdf:RDF> 12.85 + </metadata> 12.86 + <g 12.87 + inkscape:label="Layer 1" 12.88 + inkscape:groupmode="layer" 12.89 + id="layer1"> 12.90 + <path 12.91 + id="path8089" 12.92 + d="m 195.41471,257.37498 c 151.68424,0 151.68424,0 151.68424,0" 12.93 + style="fill:#000000;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 12.94 + inkscape:connector-curvature="0" /> 12.95 + <text 12.96 + xml:space="preserve" 12.97 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 12.98 + x="352.7023" 12.99 + y="260.77094" 12.100 + id="text8091" 12.101 + sodipodi:linespacing="100%"><tspan 12.102 + id="tspan8093" 12.103 + sodipodi:role="line" 12.104 + x="352.7023" 12.105 + y="260.77094">Physical time</tspan></text> 12.106 + <path 12.107 + inkscape:connector-curvature="0" 12.108 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 12.109 + d="m 195.92204,221.37498 c 33.06652,0 33.06652,0 33.06652,0" 12.110 + id="path8095" /> 12.111 + <g 12.112 + id="g8097" 12.113 + transform="translate(-70,-180)" 12.114 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"> 12.115 + <path 12.116 + inkscape:connector-curvature="0" 12.117 + id="path8099" 12.118 + d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279" 12.119 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 12.120 + <text 12.121 + xml:space="preserve" 12.122 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 12.123 + x="298.7023" 12.124 + y="376.52615" 12.125 + id="text8101" 12.126 + sodipodi:linespacing="100%"><tspan 12.127 + style="font-size:10px;text-align:center;text-anchor:middle" 12.128 + sodipodi:role="line" 12.129 + id="tspan8103" 12.130 + x="298.7023" 12.131 + y="376.52615">Suspend</tspan><tspan 12.132 + style="font-size:9px;text-align:center;text-anchor:middle" 12.133 + id="tspan8105" 12.134 + sodipodi:role="line" 12.135 + x="298.7023" 12.136 + y="385.74353">(Point 1.S)</tspan></text> 12.137 + </g> 12.138 + <g 12.139 + id="g8107" 12.140 + transform="translate(-60,-180)" 12.141 + style="stroke-width:1.8;stroke-miterlimit:4;stroke-dasharray:none"> 12.142 + <path 12.143 + inkscape:connector-curvature="0" 12.144 + id="path8109" 12.145 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 12.146 + style="fill:none;stroke:#000000;stroke-width:1.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" /> 12.147 + <text 12.148 + xml:space="preserve" 12.149 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS;stroke-width:1.8;stroke-miterlimit:4;stroke-dasharray:none" 12.150 + x="378.7023" 12.151 + y="376.52615" 12.152 + id="text8111" 12.153 + sodipodi:linespacing="100%"><tspan 12.154 + style="font-size:9px;text-align:center;text-anchor:middle;stroke-width:1.8;stroke-miterlimit:4;stroke-dasharray:none" 12.155 + sodipodi:role="line" 12.156 + id="tspan8113" 12.157 + x="380.20621" 12.158 + y="376.52615"><tspan 12.159 + id="tspan8115" 12.160 + style="font-size:10px;stroke-width:1.8;stroke-miterlimit:4;stroke-dasharray:none">Resume </tspan></tspan><tspan 12.161 + style="font-size:9px;text-align:center;text-anchor:middle;stroke-width:1.8;stroke-miterlimit:4;stroke-dasharray:none" 12.162 + id="tspan8117" 12.163 + sodipodi:role="line" 12.164 + x="378.7023" 12.165 + y="385.74353">(Point 1.R)</tspan></text> 12.166 + </g> 12.167 + <text 12.168 + xml:space="preserve" 12.169 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 12.170 + x="352.7023" 12.171 + y="224.52615" 12.172 + id="text8119" 12.173 + sodipodi:linespacing="100%"><tspan 12.174 + id="tspan8121" 12.175 + sodipodi:role="line" 12.176 + x="352.7023" 12.177 + y="224.52615">Timeline A</tspan></text> 12.178 + <path 12.179 + id="path8123" 12.180 + d="m 320.08408,221.37498 c 27.45405,0 27.45405,0 27.45405,0" 12.181 + style="fill:none;stroke:#422fac;stroke-width:1.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none" 12.182 + inkscape:connector-curvature="0" /> 12.183 + <path 12.184 + inkscape:connector-curvature="0" 12.185 + style="fill:#000000;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 12.186 + d="m 195.41471,377.37498 c 151.68424,0 151.68424,0 151.68424,0" 12.187 + id="path5836" /> 12.188 + <text 12.189 + sodipodi:linespacing="100%" 12.190 + id="text5838" 12.191 + y="380.77094" 12.192 + x="352.7023" 12.193 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 12.194 + xml:space="preserve"><tspan 12.195 + y="380.77094" 12.196 + x="352.7023" 12.197 + sodipodi:role="line" 12.198 + id="tspan5840">Physical time</tspan></text> 12.199 + <path 12.200 + id="path5842" 12.201 + d="m 195.92204,341.37498 c 33.06652,0 33.06652,0 33.06652,0" 12.202 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 12.203 + inkscape:connector-curvature="0" /> 12.204 + <g 12.205 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 12.206 + transform="translate(-70,-60)" 12.207 + id="g5844"> 12.208 + <path 12.209 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 12.210 + d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279" 12.211 + id="path5846" 12.212 + inkscape:connector-curvature="0" /> 12.213 + <text 12.214 + sodipodi:linespacing="100%" 12.215 + id="text5848" 12.216 + y="376.52615" 12.217 + x="298.7023" 12.218 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 12.219 + xml:space="preserve"><tspan 12.220 + y="376.52615" 12.221 + x="298.7023" 12.222 + id="tspan5850" 12.223 + sodipodi:role="line" 12.224 + style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan 12.225 + y="385.74353" 12.226 + x="298.7023" 12.227 + sodipodi:role="line" 12.228 + id="tspan5852" 12.229 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.S)</tspan></text> 12.230 + </g> 12.231 + <g 12.232 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 12.233 + transform="translate(-60,-60)" 12.234 + id="g5854"> 12.235 + <path 12.236 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 12.237 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 12.238 + id="path5856" 12.239 + inkscape:connector-curvature="0" /> 12.240 + <text 12.241 + sodipodi:linespacing="100%" 12.242 + id="text5858" 12.243 + y="376.52615" 12.244 + x="378.7023" 12.245 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 12.246 + xml:space="preserve"><tspan 12.247 + y="376.52615" 12.248 + x="380.20621" 12.249 + id="tspan5860" 12.250 + sodipodi:role="line" 12.251 + style="font-size:9px;text-align:center;text-anchor:middle"><tspan 12.252 + style="font-size:10px" 12.253 + id="tspan5862">Resume </tspan></tspan><tspan 12.254 + y="385.74353" 12.255 + x="378.7023" 12.256 + sodipodi:role="line" 12.257 + id="tspan5864" 12.258 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.R)</tspan></text> 12.259 + </g> 12.260 + <text 12.261 + sodipodi:linespacing="100%" 12.262 + id="text5866" 12.263 + y="344.52615" 12.264 + x="352.7023" 12.265 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 12.266 + xml:space="preserve"><tspan 12.267 + y="344.52615" 12.268 + x="352.7023" 12.269 + sodipodi:role="line" 12.270 + id="tspan5868">Timeline A</tspan></text> 12.271 + <path 12.272 + inkscape:connector-curvature="0" 12.273 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 12.274 + d="m 320.08408,341.37498 c 27.45405,0 27.45405,0 27.45405,0" 12.275 + id="path5870" /> 12.276 + <path 12.277 + style="fill:none;stroke:#000000;stroke-width:1.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.6,1.8;stroke-dashoffset:0" 12.278 + d="m 248.81439,338.09818 c 0,9.22856 0,9.22856 0,9.22856" 12.279 + id="path5846-1" 12.280 + inkscape:connector-curvature="0" /> 12.281 + <path 12.282 + inkscape:connector-curvature="0" 12.283 + id="path6664" 12.284 + d="m 266.81439,338.09818 c 0,9.22856 0,9.22856 0,9.22856" 12.285 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.6, 1.8;stroke-dashoffset:0" /> 12.286 + <path 12.287 + inkscape:connector-curvature="0" 12.288 + style="fill:none;stroke:#999999;stroke-width:1.79999994999999990;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none;opacity:0.53539822999999997" 12.289 + d="m 249.92204,341.37498 c 16.089,0 16.089,0 16.089,0" 12.290 + id="path6666" /> 12.291 + <text 12.292 + xml:space="preserve" 12.293 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 12.294 + x="244.7023" 12.295 + y="356.52615" 12.296 + id="text6668" 12.297 + sodipodi:linespacing="100%"><tspan 12.298 + sodipodi:role="line" 12.299 + x="244.7023" 12.300 + y="356.52615" 12.301 + style="font-size:8px;fill:#999999" 12.302 + id="tspan6674">Hidden</tspan><tspan 12.303 + sodipodi:role="line" 12.304 + x="244.7023" 12.305 + y="364.52615" 12.306 + id="tspan6672" 12.307 + style="font-size:8px;fill:#999999">meta-comm</tspan></text> 12.308 + </g> 12.309 +</svg>
13.1 Binary file 0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/PR__timeline_sync_def.pdf has changed
14.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 14.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/PR__timeline_sync_def.svg Fri Sep 13 11:02:18 2013 -0700 14.3 @@ -0,0 +1,498 @@ 14.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 14.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 14.6 + 14.7 +<svg 14.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 14.9 + xmlns:cc="http://creativecommons.org/ns#" 14.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 14.11 + xmlns:svg="http://www.w3.org/2000/svg" 14.12 + xmlns="http://www.w3.org/2000/svg" 14.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 14.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 14.15 + width="744.09448819" 14.16 + height="1052.3622047" 14.17 + id="svg2" 14.18 + sodipodi:version="0.32" 14.19 + inkscape:version="0.48.2 r9819" 14.20 + sodipodi:docname="PR__timeline_sync_def.svg" 14.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 14.22 + version="1.1"> 14.23 + <defs 14.24 + id="defs4"> 14.25 + <marker 14.26 + inkscape:stockid="Arrow2Mstart" 14.27 + orient="auto" 14.28 + refY="0.0" 14.29 + refX="0.0" 14.30 + id="Arrow2Mstart" 14.31 + style="overflow:visible"> 14.32 + <path 14.33 + id="path3961" 14.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round" 14.35 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 14.36 + transform="scale(0.6) translate(0,0)" /> 14.37 + </marker> 14.38 + <marker 14.39 + inkscape:stockid="Arrow2Mend" 14.40 + orient="auto" 14.41 + refY="0.0" 14.42 + refX="0.0" 14.43 + id="Arrow2Mend" 14.44 + style="overflow:visible;"> 14.45 + <path 14.46 + id="path4008" 14.47 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 14.48 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 14.49 + transform="scale(0.6) rotate(180) translate(0,0)" /> 14.50 + </marker> 14.51 + <inkscape:perspective 14.52 + sodipodi:type="inkscape:persp3d" 14.53 + inkscape:vp_x="0 : 526.18109 : 1" 14.54 + inkscape:vp_y="0 : 1000 : 0" 14.55 + inkscape:vp_z="744.09448 : 526.18109 : 1" 14.56 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 14.57 + id="perspective10" /> 14.58 + <inkscape:perspective 14.59 + id="perspective11923" 14.60 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 14.61 + inkscape:vp_z="1 : 0.5 : 1" 14.62 + inkscape:vp_y="0 : 1000 : 0" 14.63 + inkscape:vp_x="0 : 0.5 : 1" 14.64 + sodipodi:type="inkscape:persp3d" /> 14.65 + </defs> 14.66 + <sodipodi:namedview 14.67 + id="base" 14.68 + pagecolor="#ffffff" 14.69 + bordercolor="#666666" 14.70 + borderopacity="1.0" 14.71 + gridtolerance="10000" 14.72 + guidetolerance="10" 14.73 + objecttolerance="10" 14.74 + inkscape:pageopacity="0.0" 14.75 + inkscape:pageshadow="2" 14.76 + inkscape:zoom="2.0363696" 14.77 + inkscape:cx="138.31068" 14.78 + inkscape:cy="659.21141" 14.79 + inkscape:document-units="px" 14.80 + inkscape:current-layer="layer1" 14.81 + showgrid="false" 14.82 + inkscape:window-width="1600" 14.83 + inkscape:window-height="848" 14.84 + inkscape:window-x="-8" 14.85 + inkscape:window-y="-8" 14.86 + inkscape:window-maximized="1" /> 14.87 + <metadata 14.88 + id="metadata7"> 14.89 + <rdf:RDF> 14.90 + <cc:Work 14.91 + rdf:about=""> 14.92 + <dc:format>image/svg+xml</dc:format> 14.93 + <dc:type 14.94 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 14.95 + <dc:title></dc:title> 14.96 + </cc:Work> 14.97 + </rdf:RDF> 14.98 + </metadata> 14.99 + <g 14.100 + inkscape:label="Layer 1" 14.101 + inkscape:groupmode="layer" 14.102 + id="layer1"> 14.103 + <g 14.104 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 14.105 + id="g10393" 14.106 + transform="translate(-60,22)"> 14.107 + <path 14.108 + inkscape:connector-curvature="0" 14.109 + id="path10395" 14.110 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 14.111 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 14.112 + </g> 14.113 + <text 14.114 + xml:space="preserve" 14.115 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 14.116 + x="374.7023" 14.117 + y="427.27441" 14.118 + id="text10405" 14.119 + sodipodi:linespacing="100%"><tspan 14.120 + id="tspan10407" 14.121 + sodipodi:role="line" 14.122 + x="374.7023" 14.123 + y="427.27441">Timeline B</tspan></text> 14.124 + <path 14.125 + id="path10409" 14.126 + d="m 320.08409,423.37498 c 48.88494,0 48.88494,0 48.88494,0" 14.127 + style="fill:none;stroke:#800000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 14.128 + inkscape:connector-curvature="0" /> 14.129 + <path 14.130 + id="path10411" 14.131 + d="m 283.92204,381.37498 c 33.06652,0 33.06652,0 33.06652,0" 14.132 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 14.133 + inkscape:connector-curvature="0" /> 14.134 + <g 14.135 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 14.136 + transform="translate(-60,-20)" 14.137 + id="g10423"> 14.138 + <path 14.139 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 14.140 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 14.141 + id="path10425" 14.142 + inkscape:connector-curvature="0" /> 14.143 + <text 14.144 + sodipodi:linespacing="100%" 14.145 + id="text10427" 14.146 + y="380.52615" 14.147 + x="378.7023" 14.148 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 14.149 + xml:space="preserve"><tspan 14.150 + y="380.52615" 14.151 + x="378.7023" 14.152 + sodipodi:role="line" 14.153 + id="tspan10433" 14.154 + style="font-size:9px;text-align:center;text-anchor:middle">Sync</tspan><tspan 14.155 + y="389.52615" 14.156 + x="378.7023" 14.157 + sodipodi:role="line" 14.158 + style="font-size:9px;text-align:center;text-anchor:middle" 14.159 + id="tspan11167">Point</tspan></text> 14.160 + </g> 14.161 + <text 14.162 + sodipodi:linespacing="100%" 14.163 + id="text10435" 14.164 + y="385.27441" 14.165 + x="374.7023" 14.166 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 14.167 + xml:space="preserve"><tspan 14.168 + y="385.27441" 14.169 + x="374.7023" 14.170 + sodipodi:role="line" 14.171 + id="tspan10437">Timeline A</tspan></text> 14.172 + <path 14.173 + inkscape:connector-curvature="0" 14.174 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 14.175 + d="m 320.08409,381.37498 c 48.88494,0 48.88494,0 48.88494,0" 14.176 + id="path10439" /> 14.177 + <path 14.178 + style="fill:none;stroke:#000000;stroke-width:1.29999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.89999986,3.89999986;stroke-dashoffset:0" 14.179 + d="m 318.92887,395.30966 c 0,24.40348 0,24.40348 0,24.40348" 14.180 + id="path10425-2" 14.181 + inkscape:connector-curvature="0" /> 14.182 + <path 14.183 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000004, 3.00000004;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 14.184 + d="m 294.31645,382.21359 c 34.40952,37.45034 2.57725,2.48534 35.69881,39.49989" 14.185 + id="path11081" 14.186 + inkscape:connector-curvature="0" 14.187 + sodipodi:nodetypes="cc" /> 14.188 + <text 14.189 + sodipodi:linespacing="100%" 14.190 + id="text11017-7" 14.191 + y="380.07288" 14.192 + x="289.94116" 14.193 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 14.194 + xml:space="preserve"><tspan 14.195 + y="380.07288" 14.196 + x="289.94116" 14.197 + sodipodi:role="line" 14.198 + id="tspan11021-1" 14.199 + style="font-size:10px;text-align:center;text-anchor:middle">write</tspan></text> 14.200 + <text 14.201 + xml:space="preserve" 14.202 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 14.203 + x="331.94116" 14.204 + y="432.07288" 14.205 + id="text11111" 14.206 + sodipodi:linespacing="100%"><tspan 14.207 + style="font-size:10px;text-align:center;text-anchor:middle" 14.208 + id="tspan11113" 14.209 + sodipodi:role="line" 14.210 + x="331.94116" 14.211 + y="432.07288">read</tspan></text> 14.212 + <g 14.213 + transform="translate(-60,122)" 14.214 + id="g11117" 14.215 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"> 14.216 + <path 14.217 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 14.218 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 14.219 + id="path11119" 14.220 + inkscape:connector-curvature="0" /> 14.221 + </g> 14.222 + <text 14.223 + sodipodi:linespacing="100%" 14.224 + id="text11121" 14.225 + y="527.27441" 14.226 + x="394.7023" 14.227 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 14.228 + xml:space="preserve"><tspan 14.229 + y="527.27441" 14.230 + x="394.7023" 14.231 + sodipodi:role="line" 14.232 + id="tspan11123">Timeline B</tspan></text> 14.233 + <path 14.234 + inkscape:connector-curvature="0" 14.235 + style="fill:none;stroke:#800000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 14.236 + d="m 320.08412,523.37498 c 70.34044,0 70.34044,0 70.34044,0" 14.237 + id="path11125" /> 14.238 + <path 14.239 + inkscape:connector-curvature="0" 14.240 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 14.241 + d="m 283.92204,481.37498 c 33.06652,0 33.06652,0 33.06652,0" 14.242 + id="path11127" /> 14.243 + <g 14.244 + id="g11129" 14.245 + transform="translate(-60,80)" 14.246 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"> 14.247 + <path 14.248 + inkscape:connector-curvature="0" 14.249 + id="path11131" 14.250 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 14.251 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 14.252 + <text 14.253 + xml:space="preserve" 14.254 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 14.255 + x="378.7023" 14.256 + y="380.52615" 14.257 + id="text11133" 14.258 + sodipodi:linespacing="100%"><tspan 14.259 + style="font-size:9px;text-align:center;text-anchor:middle" 14.260 + id="tspan11135" 14.261 + sodipodi:role="line" 14.262 + x="378.7023" 14.263 + y="380.52615">Sync</tspan><tspan 14.264 + style="font-size:9px;text-align:center;text-anchor:middle" 14.265 + sodipodi:role="line" 14.266 + x="378.7023" 14.267 + y="389.52615" 14.268 + id="tspan11165">Point</tspan></text> 14.269 + </g> 14.270 + <text 14.271 + xml:space="preserve" 14.272 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 14.273 + x="394.7023" 14.274 + y="485.27441" 14.275 + id="text11137" 14.276 + sodipodi:linespacing="100%"><tspan 14.277 + id="tspan11139" 14.278 + sodipodi:role="line" 14.279 + x="394.7023" 14.280 + y="485.27441">Timeline A</tspan></text> 14.281 + <path 14.282 + id="path11141" 14.283 + d="m 320.08412,481.37498 c 70.34044,0 70.34044,0 70.34044,0" 14.284 + style="fill:none;stroke:#422fac;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 14.285 + inkscape:connector-curvature="0" /> 14.286 + <path 14.287 + inkscape:connector-curvature="0" 14.288 + id="path11143" 14.289 + d="m 318.92887,495.30966 c 0,24.40348 0,24.40348 0,24.40348" 14.290 + style="fill:none;stroke:#000000;stroke-width:1.29999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.89999986, 3.89999986;stroke-dashoffset:0" /> 14.291 + <path 14.292 + sodipodi:nodetypes="cc" 14.293 + inkscape:connector-curvature="0" 14.294 + id="path11145" 14.295 + d="m 294.31645,482.21359 c 34.40952,37.45034 2.57725,2.48534 35.69881,39.49989" 14.296 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000004, 3.00000004;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 14.297 + <text 14.298 + xml:space="preserve" 14.299 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 14.300 + x="291.94116" 14.301 + y="480.07288" 14.302 + id="text11147" 14.303 + sodipodi:linespacing="100%"><tspan 14.304 + style="font-size:10px;text-align:center;text-anchor:middle" 14.305 + id="tspan11149" 14.306 + sodipodi:role="line" 14.307 + x="291.94116" 14.308 + y="480.07288">write</tspan></text> 14.309 + <text 14.310 + sodipodi:linespacing="100%" 14.311 + id="text11151" 14.312 + y="532.07288" 14.313 + x="331.94116" 14.314 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 14.315 + xml:space="preserve"><tspan 14.316 + y="532.07288" 14.317 + x="331.94116" 14.318 + sodipodi:role="line" 14.319 + id="tspan11153" 14.320 + style="font-size:10px;text-align:center;text-anchor:middle">read</tspan></text> 14.321 + <g 14.322 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 14.323 + transform="translate(-26,80)" 14.324 + id="g11155"> 14.325 + <path 14.326 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 14.327 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 14.328 + id="path11157" 14.329 + inkscape:connector-curvature="0" /> 14.330 + <text 14.331 + sodipodi:linespacing="100%" 14.332 + id="text11159" 14.333 + y="380.52615" 14.334 + x="378.7023" 14.335 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 14.336 + xml:space="preserve"><tspan 14.337 + y="380.52615" 14.338 + x="378.7023" 14.339 + sodipodi:role="line" 14.340 + id="tspan11161" 14.341 + style="font-size:9px;text-align:center;text-anchor:middle">Sync</tspan><tspan 14.342 + y="389.52615" 14.343 + x="378.7023" 14.344 + sodipodi:role="line" 14.345 + style="font-size:9px;text-align:center;text-anchor:middle" 14.346 + id="tspan11163">Point</tspan></text> 14.347 + </g> 14.348 + <text 14.349 + sodipodi:linespacing="100%" 14.350 + id="text11169" 14.351 + y="480.07288" 14.352 + x="369.94116" 14.353 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 14.354 + xml:space="preserve"><tspan 14.355 + y="480.07288" 14.356 + x="369.94116" 14.357 + sodipodi:role="line" 14.358 + id="tspan11171" 14.359 + style="font-size:10px;text-align:center;text-anchor:middle">write</tspan></text> 14.360 + <path 14.361 + style="fill:#ff0000;stroke:#ff0000;stroke-width:0.99999994000000003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000004000000020, 3.00000004000000020;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 14.362 + d="m 370.40555,482.21359 c -34.40952,37.45034 -2.57725,2.48534 -35.69881,39.49989" 14.363 + id="path11173" 14.364 + inkscape:connector-curvature="0" 14.365 + sodipodi:nodetypes="cc" /> 14.366 + <text 14.367 + xml:space="preserve" 14.368 + style="font-size:18.11628723000000100px;font-style:normal;font-weight:bold;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ff0000;fill-opacity:1;stroke:#ff0000;font-family:Sans;-inkscape-font-specification:Sans Bold" 14.369 + x="254.37491" 14.370 + y="686.63239" 14.371 + id="text11175" 14.372 + sodipodi:linespacing="125%" 14.373 + transform="scale(1.3547877,0.73812303)"><tspan 14.374 + sodipodi:role="line" 14.375 + id="tspan11177" 14.376 + x="254.37491" 14.377 + y="686.63239">X</tspan></text> 14.378 + <path 14.379 + inkscape:connector-curvature="0" 14.380 + style="fill:none;stroke:#800000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 14.381 + d="m 258.91945,423.37498 c 58.04959,0 58.04959,0 58.04959,0" 14.382 + id="path11275" /> 14.383 + <path 14.384 + id="path11459" 14.385 + d="m 258.91945,523.37498 c 58.04959,0 58.04959,0 58.04959,0" 14.386 + style="fill:none;stroke:#800000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 14.387 + inkscape:connector-curvature="0" /> 14.388 + <g 14.389 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 14.390 + id="g11557" 14.391 + transform="translate(-26,122)"> 14.392 + <path 14.393 + inkscape:connector-curvature="0" 14.394 + id="path11559" 14.395 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 14.396 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 14.397 + </g> 14.398 + <path 14.399 + style="fill:none;stroke:#000000;stroke-width:1.29999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.89999986, 3.89999986;stroke-dashoffset:0" 14.400 + d="m 352.92887,495.30966 c 0,24.40348 0,24.40348 0,24.40348" 14.401 + id="path11561" 14.402 + inkscape:connector-curvature="0" /> 14.403 + <text 14.404 + sodipodi:linespacing="100%" 14.405 + id="text11625" 14.406 + y="327.27441" 14.407 + x="374.7023" 14.408 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 14.409 + xml:space="preserve"><tspan 14.410 + y="327.27441" 14.411 + x="374.7023" 14.412 + sodipodi:role="line" 14.413 + id="tspan11627">Timeline B</tspan></text> 14.414 + <path 14.415 + inkscape:connector-curvature="0" 14.416 + style="fill:none;stroke:#800000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 14.417 + d="m 258.20925,323.37498 c 110.75976,0 110.75976,0 110.75976,0" 14.418 + id="path11629" /> 14.419 + <text 14.420 + xml:space="preserve" 14.421 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 14.422 + x="374.7023" 14.423 + y="285.27441" 14.424 + id="text11643" 14.425 + sodipodi:linespacing="100%"><tspan 14.426 + id="tspan11645" 14.427 + sodipodi:role="line" 14.428 + x="374.7023" 14.429 + y="285.27441">Timeline A</tspan></text> 14.430 + <path 14.431 + id="path11647" 14.432 + d="m 280.79847,281.37498 c 88.17054,0 88.17054,0 88.17054,0" 14.433 + style="fill:none;stroke:#422fac;stroke-width:1.79999983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 14.434 + inkscape:connector-curvature="0" /> 14.435 + <text 14.436 + xml:space="preserve" 14.437 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 14.438 + x="289.94116" 14.439 + y="280.07288" 14.440 + id="text11653" 14.441 + sodipodi:linespacing="100%"><tspan 14.442 + style="font-size:10px;text-align:center;text-anchor:middle" 14.443 + id="tspan11655" 14.444 + sodipodi:role="line" 14.445 + x="289.94116" 14.446 + y="280.07288">write</tspan></text> 14.447 + <text 14.448 + sodipodi:linespacing="100%" 14.449 + id="text11657" 14.450 + y="332.07288" 14.451 + x="299.94116" 14.452 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 14.453 + xml:space="preserve"><tspan 14.454 + y="332.07288" 14.455 + x="299.94116" 14.456 + sodipodi:role="line" 14.457 + id="tspan11659" 14.458 + style="font-size:10px;text-align:center;text-anchor:middle">read</tspan></text> 14.459 + <text 14.460 + xml:space="preserve" 14.461 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 14.462 + x="319.94116" 14.463 + y="280.07288" 14.464 + id="text11663" 14.465 + sodipodi:linespacing="100%"><tspan 14.466 + style="font-size:10px;text-align:center;text-anchor:middle" 14.467 + id="tspan11665" 14.468 + sodipodi:role="line" 14.469 + x="319.94116" 14.470 + y="280.07288">read</tspan></text> 14.471 + <text 14.472 + sodipodi:linespacing="100%" 14.473 + id="text11667" 14.474 + y="332.07288" 14.475 + x="331.94116" 14.476 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 14.477 + xml:space="preserve"><tspan 14.478 + y="332.07288" 14.479 + x="331.94116" 14.480 + sodipodi:role="line" 14.481 + id="tspan11669" 14.482 + style="font-size:10px;text-align:center;text-anchor:middle">write</tspan></text> 14.483 + <path 14.484 + id="path3158" 14.485 + d="m 278.54842,303.37498 c 74.42058,0 74.42058,0 74.42058,0" 14.486 + style="fill:#000000;stroke:#000000;stroke-width:1.79999994999999990;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:5.39999986000000030, 5.39999986000000030;marker-end:url(#Arrow2Mend);marker-start:url(#Arrow2Mstart);stroke-dashoffset:0" 14.487 + inkscape:connector-curvature="0" /> 14.488 + <text 14.489 + xml:space="preserve" 14.490 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 14.491 + x="315.94116" 14.492 + y="300.07288" 14.493 + id="text4380" 14.494 + sodipodi:linespacing="100%"><tspan 14.495 + style="font-size:10px;text-align:center;text-anchor:middle" 14.496 + id="tspan4382" 14.497 + sodipodi:role="line" 14.498 + x="315.94116" 14.499 + y="300.07288">shift relative to each other</tspan></text> 14.500 + </g> 14.501 +</svg>
15.1 Binary file 0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/PR__timeline_tie_point_ordering.pdf has changed
16.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 16.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/PR__timeline_tie_point_ordering.svg Fri Sep 13 11:02:18 2013 -0700 16.3 @@ -0,0 +1,369 @@ 16.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 16.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 16.6 + 16.7 +<svg 16.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 16.9 + xmlns:cc="http://creativecommons.org/ns#" 16.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 16.11 + xmlns:svg="http://www.w3.org/2000/svg" 16.12 + xmlns="http://www.w3.org/2000/svg" 16.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 16.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 16.15 + width="744.09448819" 16.16 + height="1052.3622047" 16.17 + id="svg2" 16.18 + sodipodi:version="0.32" 16.19 + inkscape:version="0.48.2 r9819" 16.20 + sodipodi:docname="PR__timeline_tie_point_ordering.svg" 16.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 16.22 + version="1.1"> 16.23 + <defs 16.24 + id="defs4"> 16.25 + <marker 16.26 + inkscape:stockid="Arrow2Mend" 16.27 + orient="auto" 16.28 + refY="0.0" 16.29 + refX="0.0" 16.30 + id="Arrow2Mend" 16.31 + style="overflow:visible;"> 16.32 + <path 16.33 + id="path4008" 16.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 16.35 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 16.36 + transform="scale(0.6) rotate(180) translate(0,0)" /> 16.37 + </marker> 16.38 + <inkscape:perspective 16.39 + sodipodi:type="inkscape:persp3d" 16.40 + inkscape:vp_x="0 : 526.18109 : 1" 16.41 + inkscape:vp_y="0 : 1000 : 0" 16.42 + inkscape:vp_z="744.09448 : 526.18109 : 1" 16.43 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 16.44 + id="perspective10" /> 16.45 + <inkscape:perspective 16.46 + id="perspective11923" 16.47 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 16.48 + inkscape:vp_z="1 : 0.5 : 1" 16.49 + inkscape:vp_y="0 : 1000 : 0" 16.50 + inkscape:vp_x="0 : 0.5 : 1" 16.51 + sodipodi:type="inkscape:persp3d" /> 16.52 + </defs> 16.53 + <sodipodi:namedview 16.54 + id="base" 16.55 + pagecolor="#ffffff" 16.56 + bordercolor="#666666" 16.57 + borderopacity="1.0" 16.58 + gridtolerance="10000" 16.59 + guidetolerance="10" 16.60 + objecttolerance="10" 16.61 + inkscape:pageopacity="0.0" 16.62 + inkscape:pageshadow="2" 16.63 + inkscape:zoom="1.3364318" 16.64 + inkscape:cx="214.9176" 16.65 + inkscape:cy="550.40126" 16.66 + inkscape:document-units="px" 16.67 + inkscape:current-layer="layer1" 16.68 + showgrid="false" 16.69 + inkscape:window-width="1317" 16.70 + inkscape:window-height="832" 16.71 + inkscape:window-x="7" 16.72 + inkscape:window-y="0" 16.73 + inkscape:window-maximized="0" /> 16.74 + <metadata 16.75 + id="metadata7"> 16.76 + <rdf:RDF> 16.77 + <cc:Work 16.78 + rdf:about=""> 16.79 + <dc:format>image/svg+xml</dc:format> 16.80 + <dc:type 16.81 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 16.82 + <dc:title /> 16.83 + </cc:Work> 16.84 + </rdf:RDF> 16.85 + </metadata> 16.86 + <g 16.87 + inkscape:label="Layer 1" 16.88 + inkscape:groupmode="layer" 16.89 + id="layer1"> 16.90 + <path 16.91 + inkscape:connector-curvature="0" 16.92 + style="fill:#800000;stroke:#800000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 16.93 + d="m 246.98465,423.37498 c 69.82336,0 69.82336,0 69.82336,0" 16.94 + id="path10381" /> 16.95 + <g 16.96 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 16.97 + id="g10393" 16.98 + transform="translate(-60,22)"> 16.99 + <path 16.100 + inkscape:connector-curvature="0" 16.101 + id="path10395" 16.102 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 16.103 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 16.104 + <text 16.105 + xml:space="preserve" 16.106 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 16.107 + x="378.7023" 16.108 + y="390.52615" 16.109 + id="text10397" 16.110 + sodipodi:linespacing="100%"><tspan 16.111 + style="font-size:9px;text-align:center;text-anchor:middle" 16.112 + id="tspan10403" 16.113 + sodipodi:role="line" 16.114 + x="378.7023" 16.115 + y="390.52615">Tied Point</tspan></text> 16.116 + </g> 16.117 + <text 16.118 + xml:space="preserve" 16.119 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 16.120 + x="352.7023" 16.121 + y="427.27441" 16.122 + id="text10405" 16.123 + sodipodi:linespacing="100%"><tspan 16.124 + id="tspan10407" 16.125 + sodipodi:role="line" 16.126 + x="352.7023" 16.127 + y="427.27441">Timeline B</tspan></text> 16.128 + <path 16.129 + id="path10409" 16.130 + d="m 320.08408,423.37498 c 27.45405,0 27.45405,0 27.45405,0" 16.131 + style="fill:none;stroke:#800000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 16.132 + inkscape:connector-curvature="0" /> 16.133 + <path 16.134 + id="path10411" 16.135 + d="m 283.92204,381.37498 c 33.06652,0 33.06652,0 33.06652,0" 16.136 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 16.137 + inkscape:connector-curvature="0" /> 16.138 + <g 16.139 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 16.140 + transform="translate(-60,-20)" 16.141 + id="g10423"> 16.142 + <path 16.143 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 16.144 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 16.145 + id="path10425" 16.146 + inkscape:connector-curvature="0" /> 16.147 + <text 16.148 + sodipodi:linespacing="100%" 16.149 + id="text10427" 16.150 + y="388.52615" 16.151 + x="378.7023" 16.152 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 16.153 + xml:space="preserve"><tspan 16.154 + y="388.52615" 16.155 + x="378.7023" 16.156 + sodipodi:role="line" 16.157 + id="tspan10433" 16.158 + style="font-size:9px;text-align:center;text-anchor:middle">Tied Point</tspan></text> 16.159 + </g> 16.160 + <text 16.161 + sodipodi:linespacing="100%" 16.162 + id="text10435" 16.163 + y="385.27441" 16.164 + x="352.7023" 16.165 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 16.166 + xml:space="preserve"><tspan 16.167 + y="385.27441" 16.168 + x="352.7023" 16.169 + sodipodi:role="line" 16.170 + id="tspan10437">Timeline A</tspan></text> 16.171 + <path 16.172 + inkscape:connector-curvature="0" 16.173 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 16.174 + d="m 320.08408,381.37498 c 27.45405,0 27.45405,0 27.45405,0" 16.175 + id="path10439" /> 16.176 + <path 16.177 + style="fill:none;stroke:#000000;stroke-width:1.29999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.89999986,3.89999986;stroke-dashoffset:0" 16.178 + d="m 318.92887,395.30966 c 0,24.40348 0,24.40348 0,24.40348" 16.179 + id="path10425-2" 16.180 + inkscape:connector-curvature="0" /> 16.181 + <path 16.182 + inkscape:connector-curvature="0" 16.183 + style="fill:#800000;stroke:#800000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 16.184 + d="m 196.98465,549.37498 c 69.82336,0 69.82336,0 69.82336,0" 16.185 + id="path10981" /> 16.186 + <g 16.187 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 16.188 + id="g10983" 16.189 + transform="translate(-32,148)"> 16.190 + <path 16.191 + inkscape:connector-curvature="0" 16.192 + id="path10985" 16.193 + d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279" 16.194 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 16.195 + </g> 16.196 + <g 16.197 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 16.198 + id="g10993" 16.199 + transform="translate(-60,148)"> 16.200 + <path 16.201 + inkscape:connector-curvature="0" 16.202 + id="path10995" 16.203 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 16.204 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 16.205 + </g> 16.206 + <text 16.207 + xml:space="preserve" 16.208 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 16.209 + x="352.7023" 16.210 + y="553.27441" 16.211 + id="text11005" 16.212 + sodipodi:linespacing="100%"><tspan 16.213 + id="tspan11007" 16.214 + sodipodi:role="line" 16.215 + x="352.7023" 16.216 + y="553.27441">Timeline B</tspan></text> 16.217 + <path 16.218 + id="path11009" 16.219 + d="m 320.08408,549.37498 c 27.45405,0 27.45405,0 27.45405,0" 16.220 + style="fill:none;stroke:#800000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 16.221 + inkscape:connector-curvature="0" /> 16.222 + <path 16.223 + id="path11011" 16.224 + d="m 195.92204,489.37498 c 33.06652,0 33.06652,0 33.06652,0" 16.225 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 16.226 + inkscape:connector-curvature="0" /> 16.227 + <g 16.228 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 16.229 + transform="translate(-70,88)" 16.230 + id="g11013"> 16.231 + <path 16.232 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 16.233 + d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279" 16.234 + id="path11015" 16.235 + inkscape:connector-curvature="0" /> 16.236 + <text 16.237 + sodipodi:linespacing="100%" 16.238 + id="text11017" 16.239 + y="376.52615" 16.240 + x="298.7023" 16.241 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 16.242 + xml:space="preserve"><tspan 16.243 + y="376.52615" 16.244 + x="298.7023" 16.245 + id="tspan11019" 16.246 + sodipodi:role="line" 16.247 + style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan 16.248 + y="385.74353" 16.249 + x="298.7023" 16.250 + sodipodi:role="line" 16.251 + id="tspan11021" 16.252 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.S)</tspan></text> 16.253 + </g> 16.254 + <g 16.255 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 16.256 + transform="translate(-60,88)" 16.257 + id="g11023"> 16.258 + <path 16.259 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 16.260 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 16.261 + id="path11025" 16.262 + inkscape:connector-curvature="0" /> 16.263 + <text 16.264 + sodipodi:linespacing="100%" 16.265 + id="text11027" 16.266 + y="376.52615" 16.267 + x="378.7023" 16.268 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 16.269 + xml:space="preserve"><tspan 16.270 + y="376.52615" 16.271 + x="380.20621" 16.272 + id="tspan11029" 16.273 + sodipodi:role="line" 16.274 + style="font-size:9px;text-align:center;text-anchor:middle"><tspan 16.275 + style="font-size:10px" 16.276 + id="tspan11031">Resume </tspan></tspan><tspan 16.277 + y="385.74353" 16.278 + x="378.7023" 16.279 + sodipodi:role="line" 16.280 + id="tspan11033" 16.281 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.R)</tspan></text> 16.282 + </g> 16.283 + <text 16.284 + sodipodi:linespacing="100%" 16.285 + id="text11035" 16.286 + y="493.27441" 16.287 + x="352.7023" 16.288 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 16.289 + xml:space="preserve"><tspan 16.290 + y="493.27441" 16.291 + x="352.7023" 16.292 + sodipodi:role="line" 16.293 + id="tspan11037">Timeline A</tspan></text> 16.294 + <path 16.295 + inkscape:connector-curvature="0" 16.296 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 16.297 + d="m 320.08408,489.37498 c 27.45405,0 27.45405,0 27.45405,0" 16.298 + id="path11039" /> 16.299 + <path 16.300 + sodipodi:nodetypes="cc" 16.301 + inkscape:connector-curvature="0" 16.302 + id="path11041" 16.303 + d="m 248.40878,545.16363 c 79.41657,-49.15176 5.94823,-3.26189 82.39224,-51.8417" 16.304 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999999, 2.99999999;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 16.305 + <path 16.306 + style="fill:#ff0000;stroke:#ff0000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000003, 3.00000003;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 16.307 + d="m 333.77257,501.82974 c -70.11936,42.79661 -5.25188,2.84014 -72.74667,45.13875" 16.308 + id="path11043" 16.309 + inkscape:connector-curvature="0" 16.310 + sodipodi:nodetypes="cc" /> 16.311 + <text 16.312 + xml:space="preserve" 16.313 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 16.314 + x="-20.52177" 16.315 + y="592.72888" 16.316 + id="text11049" 16.317 + sodipodi:linespacing="100%" 16.318 + transform="matrix(0.85476126,-0.51902138,0.51902138,0.85476126,0,0)"><tspan 16.319 + id="tspan11051" 16.320 + sodipodi:role="line" 16.321 + x="-20.52177" 16.322 + y="592.72888">visible</tspan></text> 16.323 + <text 16.324 + transform="matrix(0.85476126,-0.51902138,0.51902138,0.85476126,0,0)" 16.325 + sodipodi:linespacing="100%" 16.326 + id="text11053" 16.327 + y="609.94751" 16.328 + x="-7.578732" 16.329 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#ff0000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 16.330 + xml:space="preserve"><tspan 16.331 + y="609.94751" 16.332 + x="-7.578732" 16.333 + sodipodi:role="line" 16.334 + id="tspan11055">NOT visible</tspan></text> 16.335 + <path 16.336 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000008, 3.00000008;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 16.337 + d="m 319.48246,543.42226 c -109.48644,-45.60627 -8.20044,-3.02659 -113.5888,-48.10218" 16.338 + id="path11057" 16.339 + inkscape:connector-curvature="0" 16.340 + sodipodi:nodetypes="cc" /> 16.341 + <path 16.342 + sodipodi:nodetypes="cc" 16.343 + inkscape:connector-curvature="0" 16.344 + id="path11059" 16.345 + d="m 218.69167,493.82968 c 107.30304,43.503 8.03691,2.88702 111.32359,45.8838" 16.346 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000006, 3.00000006;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 16.347 + <text 16.348 + transform="matrix(0.92037595,0.39103467,-0.39103467,0.92037595,0,0)" 16.349 + sodipodi:linespacing="100%" 16.350 + id="text11061" 16.351 + y="363.98227" 16.352 + x="416.02991" 16.353 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 16.354 + xml:space="preserve"><tspan 16.355 + y="363.98227" 16.356 + x="416.02991" 16.357 + sodipodi:role="line" 16.358 + id="tspan11063">visible</tspan></text> 16.359 + <text 16.360 + xml:space="preserve" 16.361 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#ff0000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 16.362 + x="374.53223" 16.363 + y="404.16913" 16.364 + id="text11065" 16.365 + sodipodi:linespacing="100%" 16.366 + transform="matrix(0.93857354,0.34507928,-0.34507928,0.93857354,0,0)"><tspan 16.367 + id="tspan11067" 16.368 + sodipodi:role="line" 16.369 + x="374.53223" 16.370 + y="404.16913">NOT visible</tspan></text> 16.371 + </g> 16.372 +</svg>
17.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 17.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/PR__timeline_tie_point_ordering_2.svg Fri Sep 13 11:02:18 2013 -0700 17.3 @@ -0,0 +1,324 @@ 17.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 17.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 17.6 + 17.7 +<svg 17.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 17.9 + xmlns:cc="http://creativecommons.org/ns#" 17.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 17.11 + xmlns:svg="http://www.w3.org/2000/svg" 17.12 + xmlns="http://www.w3.org/2000/svg" 17.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 17.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 17.15 + width="744.09448819" 17.16 + height="1052.3622047" 17.17 + id="svg2" 17.18 + sodipodi:version="0.32" 17.19 + inkscape:version="0.48.2 r9819" 17.20 + sodipodi:docname="PR__timeline_tie_point_ordering.svg" 17.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 17.22 + version="1.1"> 17.23 + <defs 17.24 + id="defs4"> 17.25 + <marker 17.26 + inkscape:stockid="Arrow2Mend" 17.27 + orient="auto" 17.28 + refY="0.0" 17.29 + refX="0.0" 17.30 + id="Arrow2Mend" 17.31 + style="overflow:visible;"> 17.32 + <path 17.33 + id="path4008" 17.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 17.35 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 17.36 + transform="scale(0.6) rotate(180) translate(0,0)" /> 17.37 + </marker> 17.38 + <inkscape:perspective 17.39 + sodipodi:type="inkscape:persp3d" 17.40 + inkscape:vp_x="0 : 526.18109 : 1" 17.41 + inkscape:vp_y="0 : 1000 : 0" 17.42 + inkscape:vp_z="744.09448 : 526.18109 : 1" 17.43 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 17.44 + id="perspective10" /> 17.45 + <inkscape:perspective 17.46 + id="perspective11923" 17.47 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 17.48 + inkscape:vp_z="1 : 0.5 : 1" 17.49 + inkscape:vp_y="0 : 1000 : 0" 17.50 + inkscape:vp_x="0 : 0.5 : 1" 17.51 + sodipodi:type="inkscape:persp3d" /> 17.52 + </defs> 17.53 + <sodipodi:namedview 17.54 + id="base" 17.55 + pagecolor="#ffffff" 17.56 + bordercolor="#666666" 17.57 + borderopacity="1.0" 17.58 + gridtolerance="10000" 17.59 + guidetolerance="10" 17.60 + objecttolerance="10" 17.61 + inkscape:pageopacity="0.0" 17.62 + inkscape:pageshadow="2" 17.63 + inkscape:zoom="1.3364318" 17.64 + inkscape:cx="214.9176" 17.65 + inkscape:cy="550.40126" 17.66 + inkscape:document-units="px" 17.67 + inkscape:current-layer="g4513" 17.68 + showgrid="false" 17.69 + inkscape:window-width="1317" 17.70 + inkscape:window-height="832" 17.71 + inkscape:window-x="7" 17.72 + inkscape:window-y="0" 17.73 + inkscape:window-maximized="0" /> 17.74 + <metadata 17.75 + id="metadata7"> 17.76 + <rdf:RDF> 17.77 + <cc:Work 17.78 + rdf:about=""> 17.79 + <dc:format>image/svg+xml</dc:format> 17.80 + <dc:type 17.81 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 17.82 + <dc:title></dc:title> 17.83 + </cc:Work> 17.84 + </rdf:RDF> 17.85 + </metadata> 17.86 + <g 17.87 + inkscape:label="Layer 1" 17.88 + inkscape:groupmode="layer" 17.89 + id="layer1"> 17.90 + <path 17.91 + inkscape:connector-curvature="0" 17.92 + style="fill:#800000;stroke:#800000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 17.93 + d="m 193.90177,549.37498 c 80.90624,0 80.90624,0 80.90624,0" 17.94 + id="path10981" /> 17.95 + <g 17.96 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 17.97 + id="g10983" 17.98 + transform="translate(-24,148)"> 17.99 + <path 17.100 + inkscape:connector-curvature="0" 17.101 + id="path10985" 17.102 + d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279" 17.103 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 17.104 + </g> 17.105 + <g 17.106 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 17.107 + id="g10993" 17.108 + transform="translate(-38,148)"> 17.109 + <path 17.110 + inkscape:connector-curvature="0" 17.111 + id="path10995" 17.112 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 17.113 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 17.114 + </g> 17.115 + <text 17.116 + xml:space="preserve" 17.117 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 17.118 + x="374.7023" 17.119 + y="551.79181" 17.120 + id="text11005" 17.121 + sodipodi:linespacing="100%"><tspan 17.122 + id="tspan11007" 17.123 + sodipodi:role="line" 17.124 + x="374.7023" 17.125 + y="551.79181">Timeline B</tspan></text> 17.126 + <path 17.127 + id="path11009" 17.128 + d="m 342.08408,549.37498 c 27.45405,0 27.45405,0 27.45405,0" 17.129 + style="fill:none;stroke:#800000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 17.130 + inkscape:connector-curvature="0" /> 17.131 + <path 17.132 + id="path11011" 17.133 + d="m 195.92204,489.37498 c 33.06652,0 33.06652,0 33.06652,0" 17.134 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 17.135 + inkscape:connector-curvature="0" /> 17.136 + <g 17.137 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 17.138 + transform="translate(-70,88)" 17.139 + id="g11013"> 17.140 + <path 17.141 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 17.142 + d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279" 17.143 + id="path11015" 17.144 + inkscape:connector-curvature="0" /> 17.145 + <text 17.146 + sodipodi:linespacing="100%" 17.147 + id="text11017" 17.148 + y="376.52615" 17.149 + x="298.7023" 17.150 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 17.151 + xml:space="preserve"><tspan 17.152 + y="376.52615" 17.153 + x="298.7023" 17.154 + id="tspan11019" 17.155 + sodipodi:role="line" 17.156 + style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan 17.157 + y="385.74353" 17.158 + x="298.7023" 17.159 + sodipodi:role="line" 17.160 + id="tspan11021" 17.161 + style="font-size:9px;text-align:center;text-anchor:middle">(Point A1.S)</tspan></text> 17.162 + </g> 17.163 + <g 17.164 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 17.165 + transform="translate(-60,88)" 17.166 + id="g11023"> 17.167 + <path 17.168 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 17.169 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 17.170 + id="path11025" 17.171 + inkscape:connector-curvature="0" /> 17.172 + <text 17.173 + sodipodi:linespacing="100%" 17.174 + id="text11027" 17.175 + y="376.52615" 17.176 + x="378.7023" 17.177 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 17.178 + xml:space="preserve"><tspan 17.179 + y="376.52615" 17.180 + x="380.20621" 17.181 + id="tspan11029" 17.182 + sodipodi:role="line" 17.183 + style="font-size:9px;text-align:center;text-anchor:middle"><tspan 17.184 + style="font-size:10px" 17.185 + id="tspan11031">Resume </tspan></tspan><tspan 17.186 + y="385.74353" 17.187 + x="378.7023" 17.188 + sodipodi:role="line" 17.189 + id="tspan11033" 17.190 + style="font-size:9px;text-align:center;text-anchor:middle">(Point A1.R)</tspan></text> 17.191 + </g> 17.192 + <text 17.193 + sodipodi:linespacing="100%" 17.194 + id="text11035" 17.195 + y="493.27441" 17.196 + x="376.7023" 17.197 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 17.198 + xml:space="preserve"><tspan 17.199 + y="493.27441" 17.200 + x="376.7023" 17.201 + sodipodi:role="line" 17.202 + id="tspan11037">Timeline A</tspan></text> 17.203 + <path 17.204 + inkscape:connector-curvature="0" 17.205 + style="fill:none;stroke:#422fac;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 17.206 + d="m 320.08409,489.37498 c 50.17059,0 50.17059,0 50.17059,0" 17.207 + id="path11039" /> 17.208 + <path 17.209 + sodipodi:nodetypes="cc" 17.210 + inkscape:connector-curvature="0" 17.211 + id="path11041" 17.212 + d="m 248.40878,545.16363 c 79.41657,-49.15176 5.94823,-3.26189 82.39224,-51.8417" 17.213 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999999, 2.99999999;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 17.214 + <path 17.215 + style="fill:#ff0000;stroke:#ff0000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000003, 3.00000003;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 17.216 + d="m 333.77257,501.82974 c -70.11936,42.79661 -5.25188,2.84014 -72.74667,45.13875" 17.217 + id="path11043" 17.218 + inkscape:connector-curvature="0" 17.219 + sodipodi:nodetypes="cc" /> 17.220 + <text 17.221 + xml:space="preserve" 17.222 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 17.223 + x="-20.52177" 17.224 + y="592.72888" 17.225 + id="text11049" 17.226 + sodipodi:linespacing="100%" 17.227 + transform="matrix(0.85476126,-0.51902138,0.51902138,0.85476126,0,0)"><tspan 17.228 + id="tspan11051" 17.229 + sodipodi:role="line" 17.230 + x="-20.52177" 17.231 + y="592.72888">visible</tspan></text> 17.232 + <text 17.233 + transform="matrix(0.85476126,-0.51902138,0.51902138,0.85476126,0,0)" 17.234 + sodipodi:linespacing="100%" 17.235 + id="text11053" 17.236 + y="609.94751" 17.237 + x="-7.578732" 17.238 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#ff0000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 17.239 + xml:space="preserve"><tspan 17.240 + y="609.94751" 17.241 + x="-7.578732" 17.242 + sodipodi:role="line" 17.243 + id="tspan11055">NOT visible</tspan></text> 17.244 + <path 17.245 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.0000001, 3.0000001;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 17.246 + d="M 344.17507,545.66706 C 211.03802,497.93301 334.20322,542.49927 206.0495,495.32066" 17.247 + id="path11057" 17.248 + inkscape:connector-curvature="0" 17.249 + sodipodi:nodetypes="cc" /> 17.250 + <path 17.251 + sodipodi:nodetypes="cc" 17.252 + inkscape:connector-curvature="0" 17.253 + id="path11059" 17.254 + d="m 218.69167,493.82967 c 130.23301,47.05017 9.75435,3.12242 135.11273,49.6251" 17.255 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000003, 3.00000003;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 17.256 + <text 17.257 + transform="matrix(0.92037595,0.39103467,-0.39103467,0.92037595,0,0)" 17.258 + sodipodi:linespacing="100%" 17.259 + id="text11061" 17.260 + y="363.98227" 17.261 + x="416.02991" 17.262 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 17.263 + xml:space="preserve"><tspan 17.264 + y="363.98227" 17.265 + x="416.02991" 17.266 + sodipodi:role="line" 17.267 + id="tspan11063">visible</tspan></text> 17.268 + <text 17.269 + xml:space="preserve" 17.270 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#ff0000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 17.271 + x="374.53223" 17.272 + y="404.16913" 17.273 + id="text11065" 17.274 + sodipodi:linespacing="100%" 17.275 + transform="matrix(0.93857354,0.34507928,-0.34507928,0.93857354,0,0)"><tspan 17.276 + id="tspan11067" 17.277 + sodipodi:role="line" 17.278 + x="374.53223" 17.279 + y="404.16913">NOT visible</tspan></text> 17.280 + <g 17.281 + id="g4503" 17.282 + transform="translate(-22,190)" 17.283 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"> 17.284 + <text 17.285 + xml:space="preserve" 17.286 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 17.287 + x="298.7023" 17.288 + y="376.52615" 17.289 + id="text4507" 17.290 + sodipodi:linespacing="100%"><tspan 17.291 + style="font-size:10px;text-align:center;text-anchor:middle" 17.292 + sodipodi:role="line" 17.293 + id="tspan4509" 17.294 + x="298.7023" 17.295 + y="376.52615">Suspend</tspan><tspan 17.296 + style="font-size:9px;text-align:center;text-anchor:middle" 17.297 + id="tspan4511" 17.298 + sodipodi:role="line" 17.299 + x="298.7023" 17.300 + y="385.74353">(Point B1.S)</tspan></text> 17.301 + </g> 17.302 + <g 17.303 + id="g4513" 17.304 + transform="translate(-38,190)" 17.305 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"> 17.306 + <text 17.307 + xml:space="preserve" 17.308 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 17.309 + x="378.7023" 17.310 + y="376.52615" 17.311 + id="text4517" 17.312 + sodipodi:linespacing="100%"><tspan 17.313 + style="font-size:9px;text-align:center;text-anchor:middle" 17.314 + sodipodi:role="line" 17.315 + id="tspan4519" 17.316 + x="380.20621" 17.317 + y="376.52615"><tspan 17.318 + id="tspan4521" 17.319 + style="font-size:10px">Resume </tspan></tspan><tspan 17.320 + style="font-size:9px;text-align:center;text-anchor:middle" 17.321 + id="tspan4523" 17.322 + sodipodi:role="line" 17.323 + x="378.7023" 17.324 + y="385.74353">(Point B1.R)</tspan></text> 17.325 + </g> 17.326 + </g> 17.327 +</svg>
18.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 18.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/PR__what_runtime_does.svg Fri Sep 13 11:02:18 2013 -0700 18.3 @@ -0,0 +1,2211 @@ 18.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 18.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 18.6 + 18.7 +<svg 18.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 18.9 + xmlns:cc="http://creativecommons.org/ns#" 18.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 18.11 + xmlns:svg="http://www.w3.org/2000/svg" 18.12 + xmlns="http://www.w3.org/2000/svg" 18.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 18.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 18.15 + width="744.09448819" 18.16 + height="1052.3622047" 18.17 + id="svg2" 18.18 + sodipodi:version="0.32" 18.19 + inkscape:version="0.48.2 r9819" 18.20 + sodipodi:docname="PR__what_runtime_does.svg" 18.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 18.22 + version="1.1"> 18.23 + <defs 18.24 + id="defs4"> 18.25 + <marker 18.26 + inkscape:stockid="Arrow2Mstart" 18.27 + orient="auto" 18.28 + refY="0.0" 18.29 + refX="0.0" 18.30 + id="Arrow2Mstart" 18.31 + style="overflow:visible"> 18.32 + <path 18.33 + id="path4534" 18.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round" 18.35 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 18.36 + transform="scale(0.6) translate(0,0)" /> 18.37 + </marker> 18.38 + <marker 18.39 + inkscape:stockid="Arrow2Mend" 18.40 + orient="auto" 18.41 + refY="0.0" 18.42 + refX="0.0" 18.43 + id="Arrow2Mend" 18.44 + style="overflow:visible;"> 18.45 + <path 18.46 + id="path4008" 18.47 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 18.48 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 18.49 + transform="scale(0.6) rotate(180) translate(0,0)" /> 18.50 + </marker> 18.51 + <inkscape:perspective 18.52 + sodipodi:type="inkscape:persp3d" 18.53 + inkscape:vp_x="0 : 526.18109 : 1" 18.54 + inkscape:vp_y="0 : 1000 : 0" 18.55 + inkscape:vp_z="744.09448 : 526.18109 : 1" 18.56 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 18.57 + id="perspective10" /> 18.58 + <inkscape:perspective 18.59 + id="perspective12172" 18.60 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 18.61 + inkscape:vp_z="1 : 0.5 : 1" 18.62 + inkscape:vp_y="0 : 1000 : 0" 18.63 + inkscape:vp_x="0 : 0.5 : 1" 18.64 + sodipodi:type="inkscape:persp3d" /> 18.65 + <inkscape:perspective 18.66 + id="perspective12937" 18.67 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 18.68 + inkscape:vp_z="1 : 0.5 : 1" 18.69 + inkscape:vp_y="0 : 1000 : 0" 18.70 + inkscape:vp_x="0 : 0.5 : 1" 18.71 + sodipodi:type="inkscape:persp3d" /> 18.72 + </defs> 18.73 + <sodipodi:namedview 18.74 + id="base" 18.75 + pagecolor="#ffffff" 18.76 + bordercolor="#666666" 18.77 + borderopacity="1.0" 18.78 + gridtolerance="10000" 18.79 + guidetolerance="10" 18.80 + objecttolerance="10" 18.81 + inkscape:pageopacity="0.0" 18.82 + inkscape:pageshadow="2" 18.83 + inkscape:zoom="1.05" 18.84 + inkscape:cx="142.1644" 18.85 + inkscape:cy="472.51234" 18.86 + inkscape:document-units="px" 18.87 + inkscape:current-layer="layer1" 18.88 + showgrid="false" 18.89 + inkscape:window-width="1600" 18.90 + inkscape:window-height="848" 18.91 + inkscape:window-x="-8" 18.92 + inkscape:window-y="-8" 18.93 + inkscape:window-maximized="1" /> 18.94 + <metadata 18.95 + id="metadata7"> 18.96 + <rdf:RDF> 18.97 + <cc:Work 18.98 + rdf:about=""> 18.99 + <dc:format>image/svg+xml</dc:format> 18.100 + <dc:type 18.101 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 18.102 + <dc:title></dc:title> 18.103 + </cc:Work> 18.104 + </rdf:RDF> 18.105 + </metadata> 18.106 + <g 18.107 + inkscape:label="Layer 1" 18.108 + inkscape:groupmode="layer" 18.109 + id="layer1"> 18.110 + <text 18.111 + sodipodi:linespacing="100%" 18.112 + id="text12979" 18.113 + y="353.76575" 18.114 + x="326.92542" 18.115 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.116 + xml:space="preserve"><tspan 18.117 + y="353.76575" 18.118 + x="326.92542" 18.119 + id="tspan12981" 18.120 + sodipodi:role="line" 18.121 + style="text-align:center;text-anchor:middle">Master</tspan><tspan 18.122 + y="362.20053" 18.123 + x="326.92542" 18.124 + sodipodi:role="line" 18.125 + id="tspan3291" 18.126 + style="font-size:8px;text-align:center;text-anchor:middle">(runtime system)</tspan><tspan 18.127 + y="370.20053" 18.128 + x="326.92542" 18.129 + sodipodi:role="line" 18.130 + style="font-size:8px;text-align:center;text-anchor:middle" 18.131 + id="tspan8409">on core 1</tspan></text> 18.132 + <g 18.133 + id="g9336" 18.134 + transform="translate(44.002789,-48)"> 18.135 + <rect 18.136 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 18.137 + id="rect3293" 18.138 + width="65.276405" 18.139 + height="37.165791" 18.140 + x="346.40247" 18.141 + y="389.58255" /> 18.142 + <text 18.143 + sodipodi:linespacing="100%" 18.144 + id="text3295" 18.145 + y="400.15268" 18.146 + x="379.00162" 18.147 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.148 + xml:space="preserve"><tspan 18.149 + id="tspan3301" 18.150 + y="400.15268" 18.151 + x="379.00162" 18.152 + sodipodi:role="line" 18.153 + style="text-align:center;text-anchor:middle;fill:#008000">Seed VP</tspan><tspan 18.154 + y="408.58746" 18.155 + x="379.00162" 18.156 + sodipodi:role="line" 18.157 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000" 18.158 + id="tspan9389">(created at</tspan><tspan 18.159 + y="416.58746" 18.160 + x="379.00162" 18.161 + sodipodi:role="line" 18.162 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000" 18.163 + id="tspan9391">app startup,</tspan><tspan 18.164 + y="424.58746" 18.165 + x="379.00162" 18.166 + sodipodi:role="line" 18.167 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000" 18.168 + id="tspan9744">on core 1)</tspan></text> 18.169 + </g> 18.170 + <text 18.171 + xml:space="preserve" 18.172 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.173 + x="517.16797" 18.174 + y="307.42465" 18.175 + id="text3318-1" 18.176 + sodipodi:linespacing="100%"><tspan 18.177 + style="text-align:center;text-anchor:middle;fill:#008000" 18.178 + sodipodi:role="line" 18.179 + x="517.16797" 18.180 + y="307.42465" 18.181 + id="tspan3322-5">Application Code</tspan></text> 18.182 + <text 18.183 + sodipodi:linespacing="100%" 18.184 + id="text3376" 18.185 + y="379.42465" 18.186 + x="517.16797" 18.187 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.188 + xml:space="preserve"><tspan 18.189 + id="tspan3378" 18.190 + y="379.42465" 18.191 + x="517.16797" 18.192 + sodipodi:role="line" 18.193 + style="text-align:center;text-anchor:middle;fill:#008000">Seed_Fn</tspan></text> 18.194 + <text 18.195 + xml:space="preserve" 18.196 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.197 + x="517.16797" 18.198 + y="599.42468" 18.199 + id="text3380" 18.200 + sodipodi:linespacing="100%"><tspan 18.201 + style="text-align:center;text-anchor:middle;fill:#008000" 18.202 + sodipodi:role="line" 18.203 + x="517.16797" 18.204 + y="599.42468" 18.205 + id="tspan3382">Work_Fn</tspan></text> 18.206 + <text 18.207 + sodipodi:linespacing="100%" 18.208 + id="text3388" 18.209 + y="307.42465" 18.210 + x="604.63812" 18.211 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.212 + xml:space="preserve"><tspan 18.213 + id="tspan3390" 18.214 + y="307.42465" 18.215 + x="606.14203" 18.216 + sodipodi:role="line" 18.217 + style="text-align:center;text-anchor:middle;fill:#800000">Language </tspan><tspan 18.218 + y="317.42465" 18.219 + x="604.63812" 18.220 + sodipodi:role="line" 18.221 + style="text-align:center;text-anchor:middle;fill:#800000" 18.222 + id="tspan5106">Wrapper-Lib</tspan><tspan 18.223 + y="327.42465" 18.224 + x="604.63812" 18.225 + sodipodi:role="line" 18.226 + style="text-align:center;text-anchor:middle;fill:#800000" 18.227 + id="tspan3392">Code</tspan></text> 18.228 + <text 18.229 + xml:space="preserve" 18.230 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.231 + x="669.16797" 18.232 + y="307.42465" 18.233 + id="text3394" 18.234 + sodipodi:linespacing="100%"><tspan 18.235 + style="text-align:center;text-anchor:middle;fill:#000080" 18.236 + sodipodi:role="line" 18.237 + x="669.16797" 18.238 + y="307.42465" 18.239 + id="tspan3396">Proto-Runtime</tspan><tspan 18.240 + style="text-align:center;text-anchor:middle;fill:#000080" 18.241 + sodipodi:role="line" 18.242 + x="669.16797" 18.243 + y="317.42465" 18.244 + id="tspan4998">Primitive</tspan><tspan 18.245 + id="tspan3398" 18.246 + style="text-align:center;text-anchor:middle;fill:#000080" 18.247 + sodipodi:role="line" 18.248 + x="669.16797" 18.249 + y="327.42465">Code</tspan></text> 18.250 + <text 18.251 + xml:space="preserve" 18.252 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.253 + x="137.31689" 18.254 + y="411.42465" 18.255 + id="text3412" 18.256 + sodipodi:linespacing="100%"><tspan 18.257 + style="text-align:center;text-anchor:middle;fill:#800000" 18.258 + sodipodi:role="line" 18.259 + x="137.31689" 18.260 + y="411.42465" 18.261 + id="tspan3414">Lang Handler</tspan><tspan 18.262 + style="text-align:center;text-anchor:middle;fill:#800000" 18.263 + sodipodi:role="line" 18.264 + x="137.31689" 18.265 + y="421.42465" 18.266 + id="tspan3422">for create VP</tspan></text> 18.267 + <text 18.268 + xml:space="preserve" 18.269 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.270 + x="137.68066" 18.271 + y="459.42468" 18.272 + id="text3444" 18.273 + sodipodi:linespacing="100%"><tspan 18.274 + style="text-align:center;text-anchor:middle;fill:#800000" 18.275 + sodipodi:role="line" 18.276 + x="137.68066" 18.277 + y="459.42468" 18.278 + id="tspan3450">Assigner Fn</tspan></text> 18.279 + <text 18.280 + xml:space="preserve" 18.281 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.282 + x="327.16797" 18.283 + y="309.42465" 18.284 + id="text3456" 18.285 + sodipodi:linespacing="100%"><tspan 18.286 + style="text-align:center;text-anchor:middle" 18.287 + sodipodi:role="line" 18.288 + x="328.67188" 18.289 + y="309.42465" 18.290 + id="tspan3458">Instances of </tspan><tspan 18.291 + style="text-align:center;text-anchor:middle" 18.292 + sodipodi:role="line" 18.293 + x="327.16797" 18.294 + y="319.42465" 18.295 + id="tspan8405">runtime system</tspan><tspan 18.296 + style="font-size:8px;text-align:center;text-anchor:middle" 18.297 + sodipodi:role="line" 18.298 + x="327.16797" 18.299 + y="327.85944" 18.300 + id="tspan9383">(data structs</tspan><tspan 18.301 + style="font-size:8px;text-align:center;text-anchor:middle" 18.302 + sodipodi:role="line" 18.303 + x="327.16797" 18.304 + y="335.85944" 18.305 + id="tspan9385">on heap)</tspan><tspan 18.306 + id="tspan3460" 18.307 + style="text-align:center;text-anchor:middle" 18.308 + sodipodi:role="line" 18.309 + x="327.16797" 18.310 + y="343.85944" /></text> 18.311 + <text 18.312 + sodipodi:linespacing="100%" 18.313 + id="text3462" 18.314 + y="307.42465" 18.315 + x="423.16797" 18.316 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.317 + xml:space="preserve"><tspan 18.318 + id="tspan3464" 18.319 + y="307.42465" 18.320 + x="423.16797" 18.321 + sodipodi:role="line" 18.322 + style="text-align:center;text-anchor:middle">Instances of</tspan><tspan 18.323 + y="317.42465" 18.324 + x="423.16797" 18.325 + sodipodi:role="line" 18.326 + style="text-align:center;text-anchor:middle" 18.327 + id="tspan3468">Virtual Processors</tspan><tspan 18.328 + y="325.85944" 18.329 + x="423.16797" 18.330 + sodipodi:role="line" 18.331 + style="font-size:8px;text-align:center;text-anchor:middle" 18.332 + id="tspan3466">(data structs</tspan><tspan 18.333 + y="333.85944" 18.334 + x="423.16797" 18.335 + sodipodi:role="line" 18.336 + style="font-size:8px;text-align:center;text-anchor:middle" 18.337 + id="tspan9387">on heap)</tspan></text> 18.338 + <path 18.339 + inkscape:connector-curvature="0" 18.340 + id="path4796" 18.341 + d="m 457.32649,376.02605 c 38.42351,0 38.42351,0 38.42351,0" 18.342 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999996, 2.99999996;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 18.343 + <text 18.344 + xml:space="preserve" 18.345 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.346 + x="604.78461" 18.347 + y="373.42465" 18.348 + id="text4988" 18.349 + sodipodi:linespacing="100%"><tspan 18.350 + style="text-align:center;text-anchor:middle;fill:#800000" 18.351 + sodipodi:role="line" 18.352 + x="604.78461" 18.353 + y="373.42465" 18.354 + id="tspan4990">create VP</tspan><tspan 18.355 + style="text-align:center;text-anchor:middle;fill:#800000" 18.356 + sodipodi:role="line" 18.357 + x="604.78461" 18.358 + y="383.42465" 18.359 + id="tspan5104">wrapper Fn</tspan></text> 18.360 + <text 18.361 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 18.362 + xml:space="preserve" 18.363 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.364 + x="638.25385" 18.365 + y="404.96878" 18.366 + id="text5064" 18.367 + sodipodi:linespacing="100%"><tspan 18.368 + style="font-size:8px;text-align:center;text-anchor:middle" 18.369 + sodipodi:role="line" 18.370 + x="638.25385" 18.371 + y="404.96878" 18.372 + id="tspan5066">Call to dyn lib</tspan></text> 18.373 + <path 18.374 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000003, 3.00000003;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 18.375 + d="m 291.99816,376.02605 c -63.44071,0 -63.44071,0 -63.44071,0" 18.376 + id="path5068" 18.377 + inkscape:connector-curvature="0" /> 18.378 + <text 18.379 + sodipodi:linespacing="100%" 18.380 + id="text5070" 18.381 + y="415.78891" 18.382 + x="180.73463" 18.383 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.384 + xml:space="preserve" 18.385 + transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"><tspan 18.386 + id="tspan5072" 18.387 + y="415.78891" 18.388 + x="180.73463" 18.389 + sodipodi:role="line" 18.390 + style="font-size:8px;text-align:center;text-anchor:middle">Top Level Fn</tspan></text> 18.391 + <text 18.392 + transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)" 18.393 + xml:space="preserve" 18.394 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.395 + x="400.64069" 18.396 + y="458.46729" 18.397 + id="text5074" 18.398 + sodipodi:linespacing="100%"><tspan 18.399 + style="font-size:8px;text-align:center;text-anchor:middle" 18.400 + sodipodi:role="line" 18.401 + x="400.64069" 18.402 + y="458.46729" 18.403 + id="tspan5076">Top Level Fn</tspan></text> 18.404 + <text 18.405 + sodipodi:linespacing="100%" 18.406 + id="text5078" 18.407 + y="674.45374" 18.408 + x="358.75928" 18.409 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.410 + xml:space="preserve" 18.411 + transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"><tspan 18.412 + id="tspan5080" 18.413 + y="674.45374" 18.414 + x="358.75928" 18.415 + sodipodi:role="line" 18.416 + style="font-size:8px;text-align:center;text-anchor:middle">Top Level Fn</tspan></text> 18.417 + <path 18.418 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999996, 2.99999996;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 18.419 + d="m 458.9835,596.02605 c 36.7665,0 36.7665,0 36.7665,0" 18.420 + id="path5082" 18.421 + inkscape:connector-curvature="0" /> 18.422 + <path 18.423 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 18.424 + d="m 514.02904,382.01894 c 0,5.6572 0,5.6572 0,5.6572" 18.425 + id="path5092" 18.426 + inkscape:connector-curvature="0" 18.427 + sodipodi:nodetypes="cc" /> 18.428 + <path 18.429 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 18.430 + d="m 514.24714,388.02605 c 85.56237,0 85.56237,0 85.56237,0" 18.431 + id="path5094" 18.432 + inkscape:connector-curvature="0" /> 18.433 + <path 18.434 + inkscape:connector-curvature="0" 18.435 + id="path5096" 18.436 + d="m 602.77166,496.02605 c -88.41298,0 -88.41298,0 -88.41298,0" 18.437 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 18.438 + <path 18.439 + sodipodi:nodetypes="cc" 18.440 + inkscape:connector-curvature="0" 18.441 + id="path5140" 18.442 + d="m 514.02904,496.31987 c 0,26.21842 0,26.21842 0,26.21842" 18.443 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 18.444 + <path 18.445 + inkscape:connector-curvature="0" 18.446 + id="path5142" 18.447 + d="m 514.2471,522.02605 c 87.58783,0 87.58783,0 87.58783,0" 18.448 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 18.449 + <text 18.450 + sodipodi:linespacing="100%" 18.451 + id="text5157" 18.452 + y="508.71182" 18.453 + x="604.78461" 18.454 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.455 + xml:space="preserve"><tspan 18.456 + id="tspan5161" 18.457 + y="508.71182" 18.458 + x="604.78461" 18.459 + sodipodi:role="line" 18.460 + style="text-align:center;text-anchor:middle;fill:#800000">end VP</tspan><tspan 18.461 + y="518.71179" 18.462 + x="604.78461" 18.463 + sodipodi:role="line" 18.464 + style="text-align:center;text-anchor:middle;fill:#800000" 18.465 + id="tspan5207">wrapper Fn</tspan></text> 18.466 + <path 18.467 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 18.468 + d="m 602.26584,528.02605 c 63.99676,0 63.99676,0 63.99676,0" 18.469 + id="path5165" 18.470 + inkscape:connector-curvature="0" /> 18.471 + <path 18.472 + sodipodi:nodetypes="cc" 18.473 + inkscape:connector-curvature="0" 18.474 + id="path5179" 18.475 + d="m 514.02904,602.01895 c 0,5.6572 0,5.6572 0,5.6572" 18.476 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 18.477 + <path 18.478 + sodipodi:nodetypes="cc" 18.479 + inkscape:connector-curvature="0" 18.480 + id="path5209" 18.481 + d="m 602.02904,520.31985 c 0,7.35629 0,7.35629 0,7.35629" 18.482 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 18.483 + <text 18.484 + xml:space="preserve" 18.485 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.486 + x="497.16797" 18.487 + y="399.42468" 18.488 + id="text5211" 18.489 + sodipodi:linespacing="100%"><tspan 18.490 + style="text-align:center;text-anchor:middle" 18.491 + sodipodi:role="line" 18.492 + x="497.16797" 18.493 + y="399.42468" 18.494 + id="tspan5215" /></text> 18.495 + <path 18.496 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 18.497 + d="m 602.02904,388.21843 c 0,19.4577 0,19.4577 0,19.4577" 18.498 + id="path5217" 18.499 + inkscape:connector-curvature="0" 18.500 + sodipodi:nodetypes="cc" /> 18.501 + <path 18.502 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 18.503 + d="m 602.24714,408.02605 c 64.71029,0 64.71029,0 64.71029,0" 18.504 + id="path5219" 18.505 + inkscape:connector-curvature="0" /> 18.506 + <path 18.507 + inkscape:connector-curvature="0" 18.508 + id="path5221" 18.509 + d="m 666.85635,492.02605 c -65.78483,0 -65.78483,0 -65.78483,0" 18.510 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 18.511 + <path 18.512 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 18.513 + d="m 668.02904,406.63925 c 0,13.68455 0,13.68455 0,13.68455" 18.514 + id="path5223" 18.515 + inkscape:connector-curvature="0" 18.516 + sodipodi:nodetypes="cc" /> 18.517 + <path 18.518 + sodipodi:nodetypes="cc" 18.519 + inkscape:connector-curvature="0" 18.520 + id="path5229" 18.521 + d="m 602.02904,491.22687 c 0,5.5885 0,5.5885 0,5.5885" 18.522 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 18.523 + <path 18.524 + sodipodi:nodetypes="cc" 18.525 + inkscape:connector-curvature="0" 18.526 + id="path5235" 18.527 + d="m 668.02904,478.63925 c 0,13.68455 0,13.68455 0,13.68455" 18.528 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 18.529 + <text 18.530 + sodipodi:linespacing="100%" 18.531 + id="text5239" 18.532 + y="770.82495" 18.533 + x="188.36783" 18.534 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.535 + xml:space="preserve" 18.536 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 18.537 + id="tspan5241" 18.538 + y="770.82495" 18.539 + x="188.36783" 18.540 + sodipodi:role="line" 18.541 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan 18.542 + y="778.82495" 18.543 + x="188.36783" 18.544 + sodipodi:role="line" 18.545 + style="font-size:8px;text-align:center;text-anchor:middle" 18.546 + id="tspan5243">and switch</tspan><tspan 18.547 + y="786.82495" 18.548 + x="188.36783" 18.549 + sodipodi:role="line" 18.550 + style="font-size:8px;text-align:center;text-anchor:middle" 18.551 + id="tspan5245">to runtime</tspan></text> 18.552 + <path 18.553 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 18.554 + d="m 271.03421,480.02605 c 193.92439,0 193.92439,0 193.92439,0" 18.555 + id="path5247" 18.556 + inkscape:connector-curvature="0" /> 18.557 + <text 18.558 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 18.559 + xml:space="preserve" 18.560 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.561 + x="157.7636" 18.562 + y="802.43799" 18.563 + id="text5249" 18.564 + sodipodi:linespacing="100%"><tspan 18.565 + id="tspan5255" 18.566 + style="font-size:8px;text-align:center;text-anchor:middle" 18.567 + sodipodi:role="line" 18.568 + x="157.7636" 18.569 + y="802.43799">return</tspan><tspan 18.570 + style="font-size:8px;text-align:center;text-anchor:middle" 18.571 + sodipodi:role="line" 18.572 + x="157.7636" 18.573 + y="810.43799" 18.574 + id="tspan5261">from</tspan><tspan 18.575 + style="font-size:8px;text-align:center;text-anchor:middle" 18.576 + sodipodi:role="line" 18.577 + x="157.7636" 18.578 + y="818.43799" 18.579 + id="tspan5263">suspend</tspan></text> 18.580 + <text 18.581 + sodipodi:linespacing="100%" 18.582 + id="text5345" 18.583 + y="395.42465" 18.584 + x="667.38037" 18.585 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.586 + xml:space="preserve"><tspan 18.587 + id="tspan5349" 18.588 + y="395.42465" 18.589 + x="667.38037" 18.590 + sodipodi:role="line" 18.591 + style="text-align:center;text-anchor:middle;fill:#000080">PR primitive Fn</tspan><tspan 18.592 + y="405.42465" 18.593 + x="667.38037" 18.594 + sodipodi:role="line" 18.595 + style="text-align:center;text-anchor:middle;fill:#000080" 18.596 + id="tspan5353">to send request</tspan></text> 18.597 + <text 18.598 + sodipodi:linespacing="100%" 18.599 + id="text5355" 18.600 + y="392.71429" 18.601 + x="555.29077" 18.602 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.603 + xml:space="preserve" 18.604 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 18.605 + id="tspan5357" 18.606 + y="392.71429" 18.607 + x="555.29077" 18.608 + sodipodi:role="line" 18.609 + style="font-size:8px;text-align:center;text-anchor:middle">normal call</tspan></text> 18.610 + <path 18.611 + sodipodi:nodetypes="cc" 18.612 + inkscape:connector-curvature="0" 18.613 + id="path5359" 18.614 + d="m 668.02904,527.28283 c 0,13.68455 0,13.68455 0,13.68455" 18.615 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 18.616 + <text 18.617 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 18.618 + xml:space="preserve" 18.619 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.620 + x="107.72998" 18.621 + y="856.99628" 18.622 + id="text5363" 18.623 + sodipodi:linespacing="100%"><tspan 18.624 + style="font-size:8px;text-align:center;text-anchor:middle" 18.625 + sodipodi:role="line" 18.626 + x="107.72998" 18.627 + y="856.99628" 18.628 + id="tspan5365">suspend</tspan><tspan 18.629 + id="tspan5367" 18.630 + style="font-size:8px;text-align:center;text-anchor:middle" 18.631 + sodipodi:role="line" 18.632 + x="107.72998" 18.633 + y="864.99628">and switch</tspan><tspan 18.634 + id="tspan5369" 18.635 + style="font-size:8px;text-align:center;text-anchor:middle" 18.636 + sodipodi:role="line" 18.637 + x="107.72998" 18.638 + y="872.99628">to runtime</tspan></text> 18.639 + <text 18.640 + sodipodi:linespacing="100%" 18.641 + id="text5371" 18.642 + y="593.42468" 18.643 + x="604.59662" 18.644 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.645 + xml:space="preserve"><tspan 18.646 + id="tspan5373" 18.647 + y="593.42468" 18.648 + x="604.59662" 18.649 + sodipodi:role="line" 18.650 + style="text-align:center;text-anchor:middle;fill:#800000">Mutex Acquire</tspan><tspan 18.651 + id="tspan5375" 18.652 + y="603.42468" 18.653 + x="604.59662" 18.654 + sodipodi:role="line" 18.655 + style="text-align:center;text-anchor:middle;fill:#800000">wrapper Fn</tspan></text> 18.656 + <path 18.657 + inkscape:connector-curvature="0" 18.658 + id="path5379" 18.659 + d="m 514.24714,608.02605 c 85.56237,0 85.56237,0 85.56237,0" 18.660 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 18.661 + <path 18.662 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 18.663 + d="m 602.77166,708.02605 c -88.41298,0 -88.41298,0 -88.41298,0" 18.664 + id="path5381" 18.665 + inkscape:connector-curvature="0" /> 18.666 + <text 18.667 + xml:space="preserve" 18.668 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.669 + x="604.78461" 18.670 + y="720.71179" 18.671 + id="text5387" 18.672 + sodipodi:linespacing="100%"><tspan 18.673 + style="text-align:center;text-anchor:middle;fill:#800000" 18.674 + sodipodi:role="line" 18.675 + x="604.78461" 18.676 + y="720.71179" 18.677 + id="tspan5389">end VP</tspan><tspan 18.678 + id="tspan5391" 18.679 + style="text-align:center;text-anchor:middle;fill:#800000" 18.680 + sodipodi:role="line" 18.681 + x="604.78461" 18.682 + y="730.71179">wrapper Fn</tspan></text> 18.683 + <path 18.684 + inkscape:connector-curvature="0" 18.685 + id="path5393" 18.686 + d="m 602.289,740.02605 c 65.24023,0 65.24023,0 65.24023,0" 18.687 + style="fill:none;stroke:#000000;stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 18.688 + <path 18.689 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 18.690 + d="m 602.02904,732.31985 c 0,7.35629 0,7.35629 0,7.35629" 18.691 + id="path5401" 18.692 + inkscape:connector-curvature="0" 18.693 + sodipodi:nodetypes="cc" /> 18.694 + <path 18.695 + sodipodi:nodetypes="cc" 18.696 + inkscape:connector-curvature="0" 18.697 + id="path5403" 18.698 + d="m 602.02904,608.21843 c 0,19.4577 0,19.4577 0,19.4577" 18.699 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 18.700 + <path 18.701 + inkscape:connector-curvature="0" 18.702 + id="path5405" 18.703 + d="m 602.6148,628.02605 c 64.1779,0 64.1779,0 64.1779,0" 18.704 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 18.705 + <path 18.706 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 18.707 + d="m 668.13452,704.02605 c -67.06305,0 -67.06305,0 -67.06305,0" 18.708 + id="path5407" 18.709 + inkscape:connector-curvature="0" /> 18.710 + <path 18.711 + sodipodi:nodetypes="cc" 18.712 + inkscape:connector-curvature="0" 18.713 + id="path5409" 18.714 + d="m 668.02904,626.63925 c 0,13.68455 0,13.68455 0,13.68455" 18.715 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 18.716 + <path 18.717 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 18.718 + d="m 602.02904,703.22687 c 0,5.5885 0,5.5885 0,5.5885" 18.719 + id="path5411" 18.720 + inkscape:connector-curvature="0" 18.721 + sodipodi:nodetypes="cc" /> 18.722 + <path 18.723 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 18.724 + d="m 668.02904,690.63925 c 0,13.68455 0,13.68455 0,13.68455" 18.725 + id="path5417" 18.726 + inkscape:connector-curvature="0" 18.727 + sodipodi:nodetypes="cc" /> 18.728 + <text 18.729 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 18.730 + xml:space="preserve" 18.731 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.732 + x="38.175541" 18.733 + y="928.84552" 18.734 + id="text5421" 18.735 + sodipodi:linespacing="100%"><tspan 18.736 + style="font-size:8px;text-align:center;text-anchor:middle" 18.737 + sodipodi:role="line" 18.738 + x="38.175541" 18.739 + y="928.84552" 18.740 + id="tspan5423">suspend</tspan><tspan 18.741 + id="tspan5425" 18.742 + style="font-size:8px;text-align:center;text-anchor:middle" 18.743 + sodipodi:role="line" 18.744 + x="38.175541" 18.745 + y="936.84552">and switch</tspan><tspan 18.746 + id="tspan5427" 18.747 + style="font-size:8px;text-align:center;text-anchor:middle" 18.748 + sodipodi:role="line" 18.749 + x="38.175541" 18.750 + y="944.84552">to runtime</tspan></text> 18.751 + <text 18.752 + sodipodi:linespacing="100%" 18.753 + id="text5431" 18.754 + y="954.75671" 18.755 + x="10.307833" 18.756 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.757 + xml:space="preserve" 18.758 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 18.759 + y="954.75671" 18.760 + x="10.307833" 18.761 + sodipodi:role="line" 18.762 + style="font-size:8px;text-align:center;text-anchor:middle" 18.763 + id="tspan5433">return</tspan><tspan 18.764 + id="tspan5435" 18.765 + y="962.75671" 18.766 + x="10.307833" 18.767 + sodipodi:role="line" 18.768 + style="font-size:8px;text-align:center;text-anchor:middle">from</tspan><tspan 18.769 + id="tspan5437" 18.770 + y="970.75671" 18.771 + x="10.307833" 18.772 + sodipodi:role="line" 18.773 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text> 18.774 + <text 18.775 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 18.776 + xml:space="preserve" 18.777 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.778 + x="556.25635" 18.779 + y="612.71143" 18.780 + id="text5445" 18.781 + sodipodi:linespacing="100%"><tspan 18.782 + style="font-size:8px;text-align:center;text-anchor:middle" 18.783 + sodipodi:role="line" 18.784 + x="556.25635" 18.785 + y="612.71143" 18.786 + id="tspan5447">normal call</tspan></text> 18.787 + <path 18.788 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 18.789 + d="m 668.02904,739.28283 c 0,13.68455 0,13.68455 0,13.68455" 18.790 + id="path5449" 18.791 + inkscape:connector-curvature="0" 18.792 + sodipodi:nodetypes="cc" /> 18.793 + <text 18.794 + sodipodi:linespacing="100%" 18.795 + id="text5453" 18.796 + y="1012.1439" 18.797 + x="-39.679813" 18.798 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.799 + xml:space="preserve" 18.800 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 18.801 + id="tspan5455" 18.802 + y="1012.1439" 18.803 + x="-39.679813" 18.804 + sodipodi:role="line" 18.805 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan 18.806 + y="1020.1439" 18.807 + x="-39.679813" 18.808 + sodipodi:role="line" 18.809 + style="font-size:8px;text-align:center;text-anchor:middle" 18.810 + id="tspan5457">and switch</tspan><tspan 18.811 + y="1028.144" 18.812 + x="-39.679813" 18.813 + sodipodi:role="line" 18.814 + style="font-size:8px;text-align:center;text-anchor:middle" 18.815 + id="tspan5459">to runtime</tspan></text> 18.816 + <path 18.817 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 18.818 + d="m 514.02904,708.31987 c 0,26.21842 0,26.21842 0,26.21842" 18.819 + id="path5461" 18.820 + inkscape:connector-curvature="0" 18.821 + sodipodi:nodetypes="cc" /> 18.822 + <path 18.823 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 18.824 + d="m 514.2471,734.02605 c 87.58783,0 87.58783,0 87.58783,0" 18.825 + id="path5463" 18.826 + inkscape:connector-curvature="0" /> 18.827 + <text 18.828 + sodipodi:linespacing="100%" 18.829 + id="text5465" 18.830 + y="526.71161" 18.831 + x="555.8786" 18.832 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.833 + xml:space="preserve" 18.834 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 18.835 + id="tspan5467" 18.836 + y="526.71161" 18.837 + x="555.8786" 18.838 + sodipodi:role="line" 18.839 + style="font-size:8px;text-align:center;text-anchor:middle">normal call</tspan></text> 18.840 + <text 18.841 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 18.842 + xml:space="preserve" 18.843 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.844 + x="556.80994" 18.845 + y="738.711" 18.846 + id="text5469" 18.847 + sodipodi:linespacing="100%"><tspan 18.848 + style="font-size:8px;text-align:center;text-anchor:middle" 18.849 + sodipodi:role="line" 18.850 + x="556.80994" 18.851 + y="738.711" 18.852 + id="tspan5471">normal call</tspan></text> 18.853 + <g 18.854 + transform="matrix(1,0,0,0.71130685,-16,120.52913)" 18.855 + id="g8395"> 18.856 + <rect 18.857 + y="313.58255" 18.858 + x="310.40247" 18.859 + height="52.250008" 18.860 + width="65.276405" 18.861 + id="rect8397" 18.862 + style="fill:none;stroke:#000000;stroke-width:1.28076112;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 18.863 + </g> 18.864 + <path 18.865 + sodipodi:nodetypes="cc" 18.866 + inkscape:connector-curvature="0" 18.867 + id="path9273" 18.868 + d="m 514.02904,496.31987 c 0,26.21842 0,26.21842 0,26.21842" 18.869 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 18.870 + <path 18.871 + sodipodi:nodetypes="cc" 18.872 + inkscape:connector-curvature="0" 18.873 + id="path9275" 18.874 + d="m 476.02904,382.79398 c 0,35.61575 0,35.61575 0,35.61575" 18.875 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" /> 18.876 + <path 18.877 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 18.878 + d="m 468.24715,418.02605 c 13.34137,0 13.34137,0 13.34137,0" 18.879 + id="path9277" 18.880 + inkscape:connector-curvature="0" /> 18.881 + <path 18.882 + inkscape:connector-curvature="0" 18.883 + id="path9279" 18.884 + d="m 481.57781,480.02605 c -13.14022,0 -13.14022,0 -13.14022,0" 18.885 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 18.886 + <path 18.887 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 18.888 + d="m 476.02904,480.3113 c 0,57.40944 0,57.40944 0,57.40944" 18.889 + id="path9281" 18.890 + inkscape:connector-curvature="0" 18.891 + sodipodi:nodetypes="cc" /> 18.892 + <path 18.893 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 18.894 + d="m 481.57781,539.27417 c -13.14022,0 -13.14022,0 -13.14022,0" 18.895 + id="path9283" 18.896 + inkscape:connector-curvature="0" /> 18.897 + <text 18.898 + transform="matrix(-0.01875541,0.9998241,-0.9998241,-0.01875541,0,0)" 18.899 + xml:space="preserve" 18.900 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.901 + x="453.93332" 18.902 + y="-466.39136" 18.903 + id="text9285" 18.904 + sodipodi:linespacing="100%"><tspan 18.905 + style="text-align:center;text-anchor:middle;fill:#008000" 18.906 + sodipodi:role="line" 18.907 + x="453.93332" 18.908 + y="-466.39136" 18.909 + id="tspan9287">Timeline of SeedVP</tspan></text> 18.910 + <text 18.911 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 18.912 + xml:space="preserve" 18.913 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.914 + x="485.39722" 18.915 + y="417.02103" 18.916 + id="text9289" 18.917 + sodipodi:linespacing="100%"><tspan 18.918 + style="font-size:8px;text-align:start;text-anchor:start" 18.919 + sodipodi:role="line" 18.920 + x="485.39722" 18.921 + y="417.02103" 18.922 + id="tspan9291">suspend</tspan></text> 18.923 + <text 18.924 + sodipodi:linespacing="100%" 18.925 + id="text9293" 18.926 + y="481.02048" 18.927 + x="485.67838" 18.928 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.929 + xml:space="preserve" 18.930 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 18.931 + id="tspan9295" 18.932 + y="481.02048" 18.933 + x="485.67838" 18.934 + sodipodi:role="line" 18.935 + style="font-size:8px;text-align:start;text-anchor:start">resume</tspan></text> 18.936 + <text 18.937 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 18.938 + xml:space="preserve" 18.939 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.940 + x="485.92978" 18.941 + y="538.22565" 18.942 + id="text9297" 18.943 + sodipodi:linespacing="100%"><tspan 18.944 + style="font-size:8px;text-align:start;text-anchor:start" 18.945 + sodipodi:role="line" 18.946 + x="485.92978" 18.947 + y="538.22565" 18.948 + id="tspan9299">end</tspan></text> 18.949 + <text 18.950 + sodipodi:linespacing="100%" 18.951 + id="text9301" 18.952 + y="307.42465" 18.953 + x="63.167969" 18.954 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.955 + xml:space="preserve"><tspan 18.956 + id="tspan9303" 18.957 + y="307.42465" 18.958 + x="63.167969" 18.959 + sodipodi:role="line" 18.960 + style="text-align:center;text-anchor:middle;fill:#000080">Proto-Runtime</tspan><tspan 18.961 + id="tspan9305" 18.962 + y="317.42465" 18.963 + x="63.167969" 18.964 + sodipodi:role="line" 18.965 + style="text-align:center;text-anchor:middle;fill:#000080">Primitive</tspan><tspan 18.966 + y="327.42465" 18.967 + x="63.167969" 18.968 + sodipodi:role="line" 18.969 + style="text-align:center;text-anchor:middle;fill:#000080" 18.970 + id="tspan9307">Code</tspan></text> 18.971 + <text 18.972 + xml:space="preserve" 18.973 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.974 + x="65.380371" 18.975 + y="423.42465" 18.976 + id="text9309" 18.977 + sodipodi:linespacing="100%"><tspan 18.978 + id="tspan9313" 18.979 + style="text-align:center;text-anchor:middle;fill:#000080" 18.980 + sodipodi:role="line" 18.981 + x="65.380371" 18.982 + y="423.42465">PR primitive Fn</tspan><tspan 18.983 + style="text-align:center;text-anchor:middle;fill:#000080" 18.984 + sodipodi:role="line" 18.985 + x="65.380371" 18.986 + y="433.42465" 18.987 + id="tspan9317">to create VP</tspan></text> 18.988 + <path 18.989 + inkscape:connector-curvature="0" 18.990 + id="path9321" 18.991 + d="m 101.87628,425.85467 c 83.54552,12.98474 93.01032,9.74762 154.91834,33.79457 83.60123,32.47325 132.79902,111.74825 132.79902,111.74825" 18.992 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000006, 3.00000006;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 18.993 + sodipodi:nodetypes="csc" /> 18.994 + <g 18.995 + id="g9341" 18.996 + transform="translate(44.002789,174)"> 18.997 + <rect 18.998 + y="389.58255" 18.999 + x="346.40247" 18.1000 + height="37.165791" 18.1001 + width="65.276405" 18.1002 + id="rect9343" 18.1003 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 18.1004 + <text 18.1005 + xml:space="preserve" 18.1006 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.1007 + x="379.35806" 18.1008 + y="400.72159" 18.1009 + id="text9345" 18.1010 + sodipodi:linespacing="100%"><tspan 18.1011 + style="text-align:center;text-anchor:middle;fill:#008000" 18.1012 + sodipodi:role="line" 18.1013 + x="379.35806" 18.1014 + y="400.72159" 18.1015 + id="tspan9347">VP 1</tspan><tspan 18.1016 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000" 18.1017 + sodipodi:role="line" 18.1018 + x="379.35806" 18.1019 + y="409.15637" 18.1020 + id="tspan9349">(created by</tspan><tspan 18.1021 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000" 18.1022 + sodipodi:role="line" 18.1023 + x="379.35806" 18.1024 + y="417.15637" 18.1025 + id="tspan9355">application,</tspan><tspan 18.1026 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000" 18.1027 + sodipodi:role="line" 18.1028 + x="379.35806" 18.1029 + y="425.15637" 18.1030 + id="tspan9746">on core 2)</tspan></text> 18.1031 + </g> 18.1032 + <g 18.1033 + transform="translate(44.002789,370)" 18.1034 + id="g9371" /> 18.1035 + <text 18.1036 + xml:space="preserve" 18.1037 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.1038 + x="202.41257" 18.1039 + y="379.42465" 18.1040 + id="text9512" 18.1041 + sodipodi:linespacing="100%"><tspan 18.1042 + style="text-align:center;text-anchor:middle;fill:#000080" 18.1043 + sodipodi:role="line" 18.1044 + x="202.41257" 18.1045 + y="379.42465" 18.1046 + id="tspan9514">Master Fn</tspan></text> 18.1047 + <path 18.1048 + sodipodi:nodetypes="cc" 18.1049 + inkscape:connector-curvature="0" 18.1050 + id="path9522" 18.1051 + d="m 205.27805,418.31985 c 0,7.35629 0,7.35629 0,7.35629" 18.1052 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 18.1053 + <path 18.1054 + inkscape:connector-curvature="0" 18.1055 + id="path9524" 18.1056 + d="m 205.05995,424.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 18.1057 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 18.1058 + <path 18.1059 + sodipodi:nodetypes="cc" 18.1060 + inkscape:connector-curvature="0" 18.1061 + id="path9548" 18.1062 + d="m 137.27805,423.85824 c 0,11.43122 0,11.43122 0,11.43122" 18.1063 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 18.1064 + <path 18.1065 + inkscape:connector-curvature="0" 18.1066 + id="path9550" 18.1067 + d="m 137.57123,436.02605 c -69.22157,0 -69.22157,0 -69.22157,0" 18.1068 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 18.1069 + <path 18.1070 + sodipodi:nodetypes="cc" 18.1071 + inkscape:connector-curvature="0" 18.1072 + id="path9554" 18.1073 + d="m 205.27805,474.63925 c 0,4.54718 0,4.54718 0,4.54718" 18.1074 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 18.1075 + <text 18.1076 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 18.1077 + xml:space="preserve" 18.1078 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.1079 + x="-187.67645" 18.1080 + y="493.07611" 18.1081 + id="text9566" 18.1082 + sodipodi:linespacing="100%"><tspan 18.1083 + style="font-size:8px;text-align:center;text-anchor:middle" 18.1084 + sodipodi:role="line" 18.1085 + x="-187.67645" 18.1086 + y="493.07611" 18.1087 + id="tspan9568">suspend</tspan><tspan 18.1088 + id="tspan9570" 18.1089 + style="font-size:8px;text-align:center;text-anchor:middle" 18.1090 + sodipodi:role="line" 18.1091 + x="-187.67645" 18.1092 + y="501.07611">and switch</tspan><tspan 18.1093 + id="tspan9572" 18.1094 + style="font-size:8px;text-align:center;text-anchor:middle" 18.1095 + sodipodi:role="line" 18.1096 + x="-187.67645" 18.1097 + y="509.07611">to app VP</tspan></text> 18.1098 + <path 18.1099 + sodipodi:nodetypes="cc" 18.1100 + inkscape:connector-curvature="0" 18.1101 + id="path9614" 18.1102 + d="m 205.27805,418.31985 c 0,7.35629 0,7.35629 0,7.35629" 18.1103 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 18.1104 + <path 18.1105 + sodipodi:nodetypes="cc" 18.1106 + inkscape:connector-curvature="0" 18.1107 + id="path9616" 18.1108 + d="m 205.27805,418.31985 c 0,7.35629 0,7.35629 0,7.35629" 18.1109 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 18.1110 + <path 18.1111 + inkscape:connector-curvature="0" 18.1112 + id="path9648" 18.1113 + d="m 468.24715,383.42364 c 13.34137,0 13.34137,0 13.34137,0" 18.1114 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 18.1115 + <text 18.1116 + sodipodi:linespacing="100%" 18.1117 + id="text9654" 18.1118 + y="385.02261" 18.1119 + x="485.25659" 18.1120 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.1121 + xml:space="preserve" 18.1122 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 18.1123 + id="tspan9656" 18.1124 + y="385.02261" 18.1125 + x="485.25659" 18.1126 + sodipodi:role="line" 18.1127 + style="font-size:8px;text-align:start;text-anchor:start">start</tspan></text> 18.1128 + <path 18.1129 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" 18.1130 + d="m 476.02904,602.79398 c 0,35.61575 0,35.61575 0,35.61575" 18.1131 + id="path9658" 18.1132 + inkscape:connector-curvature="0" 18.1133 + sodipodi:nodetypes="cc" /> 18.1134 + <path 18.1135 + inkscape:connector-curvature="0" 18.1136 + id="path9660" 18.1137 + d="m 468.24715,638.02605 c 13.34137,0 13.34137,0 13.34137,0" 18.1138 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 18.1139 + <path 18.1140 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 18.1141 + d="m 481.57781,692.02605 c -13.14022,0 -13.14022,0 -13.14022,0" 18.1142 + id="path9662" 18.1143 + inkscape:connector-curvature="0" /> 18.1144 + <text 18.1145 + sodipodi:linespacing="100%" 18.1146 + id="text9668" 18.1147 + y="-464.48126" 18.1148 + x="672.00745" 18.1149 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.1150 + xml:space="preserve" 18.1151 + transform="matrix(-0.01875541,0.9998241,-0.9998241,-0.01875541,0,0)"><tspan 18.1152 + y="-464.48126" 18.1153 + x="672.00745" 18.1154 + sodipodi:role="line" 18.1155 + style="text-align:center;text-anchor:middle;fill:#008000" 18.1156 + id="tspan9740">Timeline of VP 1</tspan></text> 18.1157 + <text 18.1158 + sodipodi:linespacing="100%" 18.1159 + id="text9672" 18.1160 + y="637.01904" 18.1161 + x="486.36292" 18.1162 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.1163 + xml:space="preserve" 18.1164 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 18.1165 + id="tspan9674" 18.1166 + y="637.01904" 18.1167 + x="486.36292" 18.1168 + sodipodi:role="line" 18.1169 + style="font-size:8px;text-align:start;text-anchor:start">suspend</tspan></text> 18.1170 + <text 18.1171 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 18.1172 + xml:space="preserve" 18.1173 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.1174 + x="486.6088" 18.1175 + y="693.01855" 18.1176 + id="text9676" 18.1177 + sodipodi:linespacing="100%"><tspan 18.1178 + style="font-size:8px;text-align:start;text-anchor:start" 18.1179 + sodipodi:role="line" 18.1180 + x="486.6088" 18.1181 + y="693.01855" 18.1182 + id="tspan9678">resume</tspan></text> 18.1183 + <path 18.1184 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 18.1185 + d="m 468.24715,603.42364 c 13.34137,0 13.34137,0 13.34137,0" 18.1186 + id="path9684" 18.1187 + inkscape:connector-curvature="0" /> 18.1188 + <text 18.1189 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 18.1190 + xml:space="preserve" 18.1191 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.1192 + x="486.22229" 18.1193 + y="605.02063" 18.1194 + id="text9686" 18.1195 + sodipodi:linespacing="100%"><tspan 18.1196 + style="font-size:8px;text-align:start;text-anchor:start" 18.1197 + sodipodi:role="line" 18.1198 + x="486.22229" 18.1199 + y="605.02063" 18.1200 + id="tspan9688">start</tspan></text> 18.1201 + <path 18.1202 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" 18.1203 + d="m 266.02904,417.4311 c 0,61.88904 0,61.88904 0,61.88904" 18.1204 + id="path9690" 18.1205 + inkscape:connector-curvature="0" 18.1206 + sodipodi:nodetypes="cc" /> 18.1207 + <path 18.1208 + inkscape:connector-curvature="0" 18.1209 + id="path9692" 18.1210 + d="m 258.24715,418.02605 c 13.34137,0 13.34137,0 13.34137,0" 18.1211 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 18.1212 + <path 18.1213 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 18.1214 + d="m 271.57781,480.02605 c -13.14022,0 -13.14022,0 -13.14022,0" 18.1215 + id="path9694" 18.1216 + inkscape:connector-curvature="0" /> 18.1217 + <text 18.1218 + sodipodi:linespacing="100%" 18.1219 + id="text9700" 18.1220 + y="-276.70538" 18.1221 + x="463.34042" 18.1222 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.1223 + xml:space="preserve" 18.1224 + transform="matrix(0.00239328,0.99999714,-0.99999714,0.00239328,0,0)"><tspan 18.1225 + y="-276.70538" 18.1226 + x="463.34042" 18.1227 + sodipodi:role="line" 18.1228 + style="text-align:center;text-anchor:middle;fill:#000080" 18.1229 + id="tspan9736">Timeline of Master on core 1</tspan></text> 18.1230 + <text 18.1231 + sodipodi:linespacing="100%" 18.1232 + id="text9704" 18.1233 + y="480.12692" 18.1234 + x="261.37079" 18.1235 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.1236 + xml:space="preserve" 18.1237 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 18.1238 + id="tspan9706" 18.1239 + y="480.12692" 18.1240 + x="261.37079" 18.1241 + sodipodi:role="line" 18.1242 + style="font-size:8px;text-align:end;text-anchor:end">suspend</tspan></text> 18.1243 + <text 18.1244 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 18.1245 + xml:space="preserve" 18.1246 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.1247 + x="258.65039" 18.1248 + y="420.12738" 18.1249 + id="text9708" 18.1250 + sodipodi:linespacing="100%"><tspan 18.1251 + style="font-size:8px;text-align:end;text-anchor:end" 18.1252 + sodipodi:role="line" 18.1253 + x="258.65039" 18.1254 + y="420.12738" 18.1255 + id="tspan9710">resume</tspan></text> 18.1256 + <path 18.1257 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 18.1258 + d="m 258.24715,383.42364 c 13.34137,0 13.34137,0 13.34137,0" 18.1259 + id="path9716" 18.1260 + inkscape:connector-curvature="0" /> 18.1261 + <text 18.1262 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 18.1263 + xml:space="preserve" 18.1264 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.1265 + x="257.70789" 18.1266 + y="386.09387" 18.1267 + id="text9718" 18.1268 + sodipodi:linespacing="100%"><tspan 18.1269 + style="font-size:8px;text-align:end;text-anchor:end" 18.1270 + sodipodi:role="line" 18.1271 + x="257.70789" 18.1272 + y="386.09387" 18.1273 + id="tspan9720">start</tspan></text> 18.1274 + <path 18.1275 + sodipodi:nodetypes="cc" 18.1276 + inkscape:connector-curvature="0" 18.1277 + id="path9722" 18.1278 + d="m 266.02904,537.43112 c 0,10.33165 0,10.33165 0,10.33165" 18.1279 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 18.1280 + <path 18.1281 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 18.1282 + d="m 258.24715,538.02605 c 13.34137,0 13.34137,0 13.34137,0" 18.1283 + id="path9724" 18.1284 + inkscape:connector-curvature="0" /> 18.1285 + <text 18.1286 + sodipodi:linespacing="100%" 18.1287 + id="text9936" 18.1288 + y="624.93951" 18.1289 + x="641.89471" 18.1290 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.1291 + xml:space="preserve" 18.1292 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 18.1293 + id="tspan9938" 18.1294 + y="624.93951" 18.1295 + x="641.89471" 18.1296 + sodipodi:role="line" 18.1297 + style="font-size:8px;text-align:center;text-anchor:middle">Call to dyn lib</tspan></text> 18.1298 + <text 18.1299 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 18.1300 + xml:space="preserve" 18.1301 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.1302 + x="643.74738" 18.1303 + y="736.927" 18.1304 + id="text9940" 18.1305 + sodipodi:linespacing="100%"><tspan 18.1306 + style="font-size:8px;text-align:center;text-anchor:middle" 18.1307 + sodipodi:role="line" 18.1308 + x="643.74738" 18.1309 + y="736.927" 18.1310 + id="tspan9942">Call to dyn lib</tspan></text> 18.1311 + <text 18.1312 + sodipodi:linespacing="100%" 18.1313 + id="text9944" 18.1314 + y="524.9541" 18.1315 + x="640.23999" 18.1316 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.1317 + xml:space="preserve" 18.1318 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 18.1319 + id="tspan9946" 18.1320 + y="524.9541" 18.1321 + x="640.23999" 18.1322 + sodipodi:role="line" 18.1323 + style="font-size:8px;text-align:center;text-anchor:middle">Call to dyn lib</tspan></text> 18.1324 + <text 18.1325 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 18.1326 + xml:space="preserve" 18.1327 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.1328 + x="112.79035" 18.1329 + y="441.66806" 18.1330 + id="text9948" 18.1331 + sodipodi:linespacing="100%"><tspan 18.1332 + style="font-size:8px;text-align:center;text-anchor:middle" 18.1333 + sodipodi:role="line" 18.1334 + x="112.79035" 18.1335 + y="441.66806" 18.1336 + id="tspan9950">call to dyn lib</tspan></text> 18.1337 + <path 18.1338 + inkscape:connector-curvature="0" 18.1339 + id="path9952" 18.1340 + d="m 701.67453,480.02605 c -669.895225,0 -669.895225,0 -669.895225,0" 18.1341 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" /> 18.1342 + <path 18.1343 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" 18.1344 + d="m 701.67453,417.52981 c -669.895225,0 -669.895225,0 -669.895225,0" 18.1345 + id="path9954" 18.1346 + inkscape:connector-curvature="0" /> 18.1347 + <text 18.1348 + xml:space="preserve" 18.1349 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.1350 + x="326.92542" 18.1351 + y="577.76575" 18.1352 + id="text9956" 18.1353 + sodipodi:linespacing="100%"><tspan 18.1354 + style="text-align:center;text-anchor:middle" 18.1355 + sodipodi:role="line" 18.1356 + id="tspan9958" 18.1357 + x="326.92542" 18.1358 + y="577.76575">Master</tspan><tspan 18.1359 + style="font-size:8px;text-align:center;text-anchor:middle" 18.1360 + id="tspan9960" 18.1361 + sodipodi:role="line" 18.1362 + x="326.92542" 18.1363 + y="586.2005">(runtime system)</tspan><tspan 18.1364 + id="tspan9962" 18.1365 + style="font-size:8px;text-align:center;text-anchor:middle" 18.1366 + sodipodi:role="line" 18.1367 + x="326.92542" 18.1368 + y="594.2005">on core 2</tspan></text> 18.1369 + <path 18.1370 + inkscape:connector-curvature="0" 18.1371 + id="path9970" 18.1372 + d="m 291.99816,596.02605 c -63.44071,0 -63.44071,0 -63.44071,0" 18.1373 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000003, 3.00000003;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 18.1374 + <g 18.1375 + id="g9972" 18.1376 + transform="matrix(1,0,0,0.71130685,-16,342.52913)"> 18.1377 + <rect 18.1378 + style="fill:none;stroke:#000000;stroke-width:1.28076112;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 18.1379 + id="rect9974" 18.1380 + width="65.276405" 18.1381 + height="52.250008" 18.1382 + x="310.40247" 18.1383 + y="313.58255" /> 18.1384 + </g> 18.1385 + <text 18.1386 + sodipodi:linespacing="100%" 18.1387 + id="text9982" 18.1388 + y="599.42468" 18.1389 + x="202.41257" 18.1390 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.1391 + xml:space="preserve"><tspan 18.1392 + id="tspan9984" 18.1393 + y="599.42468" 18.1394 + x="202.41257" 18.1395 + sodipodi:role="line" 18.1396 + style="text-align:center;text-anchor:middle;fill:#000080">Master Fn</tspan></text> 18.1397 + <path 18.1398 + sodipodi:nodetypes="cc" 18.1399 + inkscape:connector-curvature="0" 18.1400 + id="path10010" 18.1401 + d="m 266.02904,637.43113 c 0,54.93536 0,54.93536 0,54.93536" 18.1402 + style="fill:none;stroke:#000000;stroke-width:0.99999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" /> 18.1403 + <path 18.1404 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 18.1405 + d="m 258.24715,638.02605 c 13.34137,0 13.34137,0 13.34137,0" 18.1406 + id="path10012" 18.1407 + inkscape:connector-curvature="0" /> 18.1408 + <path 18.1409 + inkscape:connector-curvature="0" 18.1410 + id="path10014" 18.1411 + d="m 271.57781,692.02605 c -13.14022,0 -13.14022,0 -13.14022,0" 18.1412 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 18.1413 + <text 18.1414 + transform="matrix(0.00962718,0.99995366,-0.99995366,0.00962718,0,0)" 18.1415 + xml:space="preserve" 18.1416 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.1417 + x="675.3847" 18.1418 + y="-275.31226" 18.1419 + id="text10018" 18.1420 + sodipodi:linespacing="100%"><tspan 18.1421 + id="tspan10020" 18.1422 + style="text-align:center;text-anchor:middle;fill:#000080" 18.1423 + sodipodi:role="line" 18.1424 + x="675.3847" 18.1425 + y="-275.31226">Timeline of Master on core 2</tspan></text> 18.1426 + <path 18.1427 + inkscape:connector-curvature="0" 18.1428 + id="path10030" 18.1429 + d="m 258.24715,603.42364 c 13.34137,0 13.34137,0 13.34137,0" 18.1430 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 18.1431 + <path 18.1432 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000002, 3.00000002;stroke-dashoffset:0" 18.1433 + d="m 205.27805,381.45805 c 0,3.23577 0,3.23577 0,3.23577" 18.1434 + id="path10054" 18.1435 + inkscape:connector-curvature="0" 18.1436 + sodipodi:nodetypes="cc" /> 18.1437 + <path 18.1438 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" 18.1439 + d="m 701.67453,692.02605 c -669.895225,0 -669.895225,0 -669.895225,0" 18.1440 + id="path10056" 18.1441 + inkscape:connector-curvature="0" /> 18.1442 + <path 18.1443 + inkscape:connector-curvature="0" 18.1444 + id="path10058" 18.1445 + d="m 701.67453,637.52981 c -669.895225,0 -669.895225,0 -669.895225,0" 18.1446 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" /> 18.1447 + <text 18.1448 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 18.1449 + xml:space="preserve" 18.1450 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.1451 + x="-135.75337" 18.1452 + y="434.7803" 18.1453 + id="text10062" 18.1454 + sodipodi:linespacing="100%"><tspan 18.1455 + id="tspan10068" 18.1456 + style="font-size:8px;text-align:center;text-anchor:middle" 18.1457 + sodipodi:role="line" 18.1458 + x="-135.75337" 18.1459 + y="434.7803">return from</tspan><tspan 18.1460 + style="font-size:8px;text-align:center;text-anchor:middle" 18.1461 + sodipodi:role="line" 18.1462 + x="-135.75337" 18.1463 + y="442.7803" 18.1464 + id="tspan10074">suspend</tspan></text> 18.1465 + <path 18.1466 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" 18.1467 + d="m 701.67453,538.02605 c -669.895225,0 -669.895225,0 -669.895225,0" 18.1468 + id="path10076" 18.1469 + inkscape:connector-curvature="0" /> 18.1470 + <text 18.1471 + xml:space="preserve" 18.1472 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.1473 + x="667.38037" 18.1474 + y="515.42468" 18.1475 + id="text10082" 18.1476 + sodipodi:linespacing="100%"><tspan 18.1477 + style="text-align:center;text-anchor:middle;fill:#000080" 18.1478 + sodipodi:role="line" 18.1479 + x="667.38037" 18.1480 + y="515.42468" 18.1481 + id="tspan10084">PR primitive Fn</tspan><tspan 18.1482 + id="tspan10086" 18.1483 + style="text-align:center;text-anchor:middle;fill:#000080" 18.1484 + sodipodi:role="line" 18.1485 + x="667.38037" 18.1486 + y="525.42468">to send request</tspan></text> 18.1487 + <text 18.1488 + sodipodi:linespacing="100%" 18.1489 + id="text10088" 18.1490 + y="615.42468" 18.1491 + x="667.38037" 18.1492 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.1493 + xml:space="preserve"><tspan 18.1494 + id="tspan10090" 18.1495 + y="615.42468" 18.1496 + x="667.38037" 18.1497 + sodipodi:role="line" 18.1498 + style="text-align:center;text-anchor:middle;fill:#000080">PR primitive Fn</tspan><tspan 18.1499 + y="625.42468" 18.1500 + x="667.38037" 18.1501 + sodipodi:role="line" 18.1502 + style="text-align:center;text-anchor:middle;fill:#000080" 18.1503 + id="tspan10092">to send request</tspan></text> 18.1504 + <text 18.1505 + xml:space="preserve" 18.1506 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.1507 + x="667.38037" 18.1508 + y="727.42468" 18.1509 + id="text10094" 18.1510 + sodipodi:linespacing="100%"><tspan 18.1511 + style="text-align:center;text-anchor:middle;fill:#000080" 18.1512 + sodipodi:role="line" 18.1513 + x="667.38037" 18.1514 + y="727.42468" 18.1515 + id="tspan10096">PR primitive Fn</tspan><tspan 18.1516 + id="tspan10098" 18.1517 + style="text-align:center;text-anchor:middle;fill:#000080" 18.1518 + sodipodi:role="line" 18.1519 + x="667.38037" 18.1520 + y="737.42468">to send request</tspan></text> 18.1521 + <path 18.1522 + sodipodi:nodetypes="cc" 18.1523 + inkscape:connector-curvature="0" 18.1524 + id="path10100" 18.1525 + d="m 476.02904,692.3113 c 0,57.40944 0,57.40944 0,57.40944" 18.1526 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 18.1527 + <path 18.1528 + inkscape:connector-curvature="0" 18.1529 + id="path10102" 18.1530 + d="m 481.57781,751.27417 c -13.14022,0 -13.14022,0 -13.14022,0" 18.1531 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 18.1532 + <text 18.1533 + sodipodi:linespacing="100%" 18.1534 + id="text10104" 18.1535 + y="750.22363" 18.1536 + x="486.86038" 18.1537 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.1538 + xml:space="preserve" 18.1539 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 18.1540 + id="tspan10106" 18.1541 + y="750.22363" 18.1542 + x="486.86038" 18.1543 + sodipodi:role="line" 18.1544 + style="font-size:8px;text-align:start;text-anchor:start">end</tspan></text> 18.1545 + <path 18.1546 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 18.1547 + d="m 266.02904,749.43112 c 0,10.33165 0,10.33165 0,10.33165" 18.1548 + id="path10108" 18.1549 + inkscape:connector-curvature="0" 18.1550 + sodipodi:nodetypes="cc" /> 18.1551 + <path 18.1552 + inkscape:connector-curvature="0" 18.1553 + id="path10110" 18.1554 + d="m 258.24715,750.02605 c 13.34137,0 13.34137,0 13.34137,0" 18.1555 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 18.1556 + <path 18.1557 + inkscape:connector-curvature="0" 18.1558 + id="path10116" 18.1559 + d="m 701.67453,750.02605 c -669.895225,0 -669.895225,0 -669.895225,0" 18.1560 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" /> 18.1561 + <text 18.1562 + sodipodi:linespacing="100%" 18.1563 + id="text10118" 18.1564 + y="540.12653" 18.1565 + x="259.17728" 18.1566 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.1567 + xml:space="preserve" 18.1568 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 18.1569 + id="tspan10120" 18.1570 + y="540.12653" 18.1571 + x="259.17728" 18.1572 + sodipodi:role="line" 18.1573 + style="font-size:8px;text-align:end;text-anchor:end">resume</tspan></text> 18.1574 + <text 18.1575 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 18.1576 + xml:space="preserve" 18.1577 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.1578 + x="259.61627" 18.1579 + y="640.12561" 18.1580 + id="text10122" 18.1581 + sodipodi:linespacing="100%"><tspan 18.1582 + style="font-size:8px;text-align:end;text-anchor:end" 18.1583 + sodipodi:role="line" 18.1584 + x="259.61627" 18.1585 + y="640.12561" 18.1586 + id="tspan10124">resume</tspan></text> 18.1587 + <text 18.1588 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 18.1589 + xml:space="preserve" 18.1590 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.1591 + x="262.3013" 18.1592 + y="692.12494" 18.1593 + id="text10126" 18.1594 + sodipodi:linespacing="100%"><tspan 18.1595 + style="font-size:8px;text-align:end;text-anchor:end" 18.1596 + sodipodi:role="line" 18.1597 + x="262.3013" 18.1598 + y="692.12494" 18.1599 + id="tspan10128">suspend</tspan></text> 18.1600 + <text 18.1601 + sodipodi:linespacing="100%" 18.1602 + id="text10130" 18.1603 + y="606.09192" 18.1604 + x="258.67368" 18.1605 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.1606 + xml:space="preserve" 18.1607 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 18.1608 + id="tspan10132" 18.1609 + y="606.09192" 18.1610 + x="258.67368" 18.1611 + sodipodi:role="line" 18.1612 + style="font-size:8px;text-align:end;text-anchor:end">start</tspan></text> 18.1613 + <text 18.1614 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 18.1615 + xml:space="preserve" 18.1616 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.1617 + x="260.10779" 18.1618 + y="752.12427" 18.1619 + id="text10134" 18.1620 + sodipodi:linespacing="100%"><tspan 18.1621 + style="font-size:8px;text-align:end;text-anchor:end" 18.1622 + sodipodi:role="line" 18.1623 + x="260.10779" 18.1624 + y="752.12427" 18.1625 + id="tspan10136">resume</tspan></text> 18.1626 + <text 18.1627 + xml:space="preserve" 18.1628 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.1629 + x="136.99219" 18.1630 + y="307.42465" 18.1631 + id="text10146" 18.1632 + sodipodi:linespacing="100%"><tspan 18.1633 + style="text-align:center;text-anchor:middle;fill:#800000" 18.1634 + sodipodi:role="line" 18.1635 + x="138.49609" 18.1636 + y="307.42465" 18.1637 + id="tspan10148">Language </tspan><tspan 18.1638 + id="tspan10150" 18.1639 + style="text-align:center;text-anchor:middle;fill:#800000" 18.1640 + sodipodi:role="line" 18.1641 + x="136.99219" 18.1642 + y="317.42465">Plugin</tspan><tspan 18.1643 + id="tspan10152" 18.1644 + style="text-align:center;text-anchor:middle;fill:#800000" 18.1645 + sodipodi:role="line" 18.1646 + x="136.99219" 18.1647 + y="327.42465">Code</tspan></text> 18.1648 + <text 18.1649 + xml:space="preserve" 18.1650 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.1651 + x="203.16797" 18.1652 + y="307.42465" 18.1653 + id="text10154" 18.1654 + sodipodi:linespacing="100%"><tspan 18.1655 + style="text-align:center;text-anchor:middle;fill:#000080" 18.1656 + sodipodi:role="line" 18.1657 + x="203.16797" 18.1658 + y="307.42465" 18.1659 + id="tspan10156">Proto-Runtime</tspan><tspan 18.1660 + style="text-align:center;text-anchor:middle;fill:#000080" 18.1661 + sodipodi:role="line" 18.1662 + x="203.16797" 18.1663 + y="317.42465" 18.1664 + id="tspan10158">Master</tspan><tspan 18.1665 + id="tspan10160" 18.1666 + style="text-align:center;text-anchor:middle;fill:#000080" 18.1667 + sodipodi:role="line" 18.1668 + x="203.16797" 18.1669 + y="327.42465">Code</tspan></text> 18.1670 + <path 18.1671 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 18.1672 + d="m 205.05995,424.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 18.1673 + id="path10162" 18.1674 + inkscape:connector-curvature="0" /> 18.1675 + <path 18.1676 + inkscape:connector-curvature="0" 18.1677 + id="path10164" 18.1678 + d="m 137.04459,474.02605 c 67.19099,0 67.19099,0 67.19099,0" 18.1679 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 18.1680 + <path 18.1681 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 18.1682 + d="m 67.525286,448.02605 c 69.221574,0 69.221574,0 69.221574,0" 18.1683 + id="path10166" 18.1684 + inkscape:connector-curvature="0" /> 18.1685 + <path 18.1686 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 18.1687 + d="m 67.27805,435.85824 c 0,13.94668 0,13.94668 0,13.94668" 18.1688 + id="path10168" 18.1689 + inkscape:connector-curvature="0" 18.1690 + sodipodi:nodetypes="cc" /> 18.1691 + <path 18.1692 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 18.1693 + d="m 137.04459,450.02605 c 67.19099,0 67.19099,0 67.19099,0" 18.1694 + id="path10172" 18.1695 + inkscape:connector-curvature="0" /> 18.1696 + <path 18.1697 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 18.1698 + d="m 205.27805,450.63926 c 0,11.23237 0,11.23237 0,11.23237" 18.1699 + id="path10174" 18.1700 + inkscape:connector-curvature="0" 18.1701 + sodipodi:nodetypes="cc" /> 18.1702 + <path 18.1703 + inkscape:connector-curvature="0" 18.1704 + id="path10176" 18.1705 + d="m 205.05995,462.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 18.1706 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 18.1707 + <text 18.1708 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 18.1709 + xml:space="preserve" 18.1710 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.1711 + x="189.17583" 18.1712 + y="464.4057" 18.1713 + id="text10178" 18.1714 + sodipodi:linespacing="100%"><tspan 18.1715 + style="font-size:7px;text-align:center;text-anchor:middle" 18.1716 + sodipodi:role="line" 18.1717 + x="189.17583" 18.1718 + y="464.4057" 18.1719 + id="tspan10180">call via Ptr to Dyn Lib Fn</tspan></text> 18.1720 + <path 18.1721 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 18.1722 + d="m 137.27805,461.85824 c 0,11.43122 0,11.43122 0,11.43122" 18.1723 + id="path10182" 18.1724 + inkscape:connector-curvature="0" 18.1725 + sodipodi:nodetypes="cc" /> 18.1726 + <text 18.1727 + sodipodi:linespacing="100%" 18.1728 + id="text10184" 18.1729 + y="426.41092" 18.1730 + x="188.54729" 18.1731 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.1732 + xml:space="preserve" 18.1733 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 18.1734 + id="tspan10186" 18.1735 + y="426.41092" 18.1736 + x="188.54729" 18.1737 + sodipodi:role="line" 18.1738 + style="font-size:7px;text-align:center;text-anchor:middle">call via Ptr to Dyn Lib Fn</tspan></text> 18.1739 + <text 18.1740 + sodipodi:linespacing="100%" 18.1741 + id="text10188" 18.1742 + y="629.42468" 18.1743 + x="137.31689" 18.1744 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.1745 + xml:space="preserve"><tspan 18.1746 + id="tspan10190" 18.1747 + y="629.42468" 18.1748 + x="137.31689" 18.1749 + sodipodi:role="line" 18.1750 + style="text-align:center;text-anchor:middle;fill:#800000">Lang Handler</tspan><tspan 18.1751 + id="tspan10192" 18.1752 + y="639.42468" 18.1753 + x="137.31689" 18.1754 + sodipodi:role="line" 18.1755 + style="text-align:center;text-anchor:middle;fill:#800000">for acq Mutex</tspan></text> 18.1756 + <path 18.1757 + sodipodi:nodetypes="cc" 18.1758 + inkscape:connector-curvature="0" 18.1759 + id="path10230" 18.1760 + d="m 205.27805,601.45805 c 0,3.23576 0,3.23576 0,3.23576" 18.1761 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 18.1762 + <path 18.1763 + inkscape:connector-curvature="0" 18.1764 + id="path4879" 18.1765 + d="m 465.78297,538.02605 c -193.92439,0 -193.92439,0 -193.92439,0" 18.1766 + style="fill:none;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 18.1767 + <path 18.1768 + inkscape:connector-curvature="0" 18.1769 + id="path5395" 18.1770 + d="m 466.19516,418.02605 c -193.92439,0 -193.92439,0 -193.92439,0" 18.1771 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 18.1772 + <path 18.1773 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 18.1774 + d="m 466.19516,638.02605 c -193.92439,0 -193.92439,0 -193.92439,0" 18.1775 + id="path5397" 18.1776 + inkscape:connector-curvature="0" /> 18.1777 + <path 18.1778 + inkscape:connector-curvature="0" 18.1779 + id="path5399" 18.1780 + d="m 466.19516,750.02605 c -193.92439,0 -193.92439,0 -193.92439,0" 18.1781 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 18.1782 + <path 18.1783 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 18.1784 + d="m 271.03421,692.02605 c 193.92439,0 193.92439,0 193.92439,0" 18.1785 + id="path5402" 18.1786 + inkscape:connector-curvature="0" /> 18.1787 + <text 18.1788 + sodipodi:linespacing="100%" 18.1789 + id="text5410" 18.1790 + y="671.42468" 18.1791 + x="137.68066" 18.1792 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.1793 + xml:space="preserve"><tspan 18.1794 + id="tspan5412" 18.1795 + y="671.42468" 18.1796 + x="137.68066" 18.1797 + sodipodi:role="line" 18.1798 + style="text-align:center;text-anchor:middle;fill:#800000">Assigner Fn</tspan></text> 18.1799 + <path 18.1800 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 18.1801 + d="m 205.27805,638.31985 c 0,7.35629 0,7.35629 0,7.35629" 18.1802 + id="path5420" 18.1803 + inkscape:connector-curvature="0" 18.1804 + sodipodi:nodetypes="cc" /> 18.1805 + <path 18.1806 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 18.1807 + d="m 205.05995,644.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 18.1808 + id="path5422" 18.1809 + inkscape:connector-curvature="0" /> 18.1810 + <path 18.1811 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 18.1812 + d="m 137.27805,643.85824 c 0,11.43122 0,11.43122 0,11.43122" 18.1813 + id="path5424" 18.1814 + inkscape:connector-curvature="0" 18.1815 + sodipodi:nodetypes="cc" /> 18.1816 + <path 18.1817 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 18.1818 + d="m 205.27805,686.63925 c 0,4.54718 0,4.54718 0,4.54718" 18.1819 + id="path5428" 18.1820 + inkscape:connector-curvature="0" 18.1821 + sodipodi:nodetypes="cc" /> 18.1822 + <text 18.1823 + sodipodi:linespacing="100%" 18.1824 + id="text5430" 18.1825 + y="645.39423" 18.1826 + x="-335.13254" 18.1827 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.1828 + xml:space="preserve" 18.1829 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 18.1830 + id="tspan5432" 18.1831 + y="645.39423" 18.1832 + x="-335.13254" 18.1833 + sodipodi:role="line" 18.1834 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan 18.1835 + y="653.39423" 18.1836 + x="-335.13254" 18.1837 + sodipodi:role="line" 18.1838 + style="font-size:8px;text-align:center;text-anchor:middle" 18.1839 + id="tspan5434">and switch</tspan><tspan 18.1840 + y="661.39423" 18.1841 + x="-335.13254" 18.1842 + sodipodi:role="line" 18.1843 + style="font-size:8px;text-align:center;text-anchor:middle" 18.1844 + id="tspan5436">to app VP</tspan></text> 18.1845 + <path 18.1846 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 18.1847 + d="m 205.27805,638.31985 c 0,7.35629 0,7.35629 0,7.35629" 18.1848 + id="path5438" 18.1849 + inkscape:connector-curvature="0" 18.1850 + sodipodi:nodetypes="cc" /> 18.1851 + <path 18.1852 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 18.1853 + d="m 205.27805,638.31985 c 0,7.35629 0,7.35629 0,7.35629" 18.1854 + id="path5440" 18.1855 + inkscape:connector-curvature="0" 18.1856 + sodipodi:nodetypes="cc" /> 18.1857 + <text 18.1858 + sodipodi:linespacing="100%" 18.1859 + id="text5446" 18.1860 + y="592.84631" 18.1861 + x="-288.77386" 18.1862 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.1863 + xml:space="preserve" 18.1864 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 18.1865 + y="592.84631" 18.1866 + x="-288.77386" 18.1867 + sodipodi:role="line" 18.1868 + style="font-size:8px;text-align:center;text-anchor:middle" 18.1869 + id="tspan5448">return from</tspan><tspan 18.1870 + id="tspan5450" 18.1871 + y="600.84631" 18.1872 + x="-288.77386" 18.1873 + sodipodi:role="line" 18.1874 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text> 18.1875 + <path 18.1876 + inkscape:connector-curvature="0" 18.1877 + id="path5452" 18.1878 + d="m 205.05995,644.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 18.1879 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 18.1880 + <path 18.1881 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 18.1882 + d="m 137.04459,686.02605 c 67.19099,0 67.19099,0 67.19099,0" 18.1883 + id="path5454" 18.1884 + inkscape:connector-curvature="0" /> 18.1885 + <path 18.1886 + inkscape:connector-curvature="0" 18.1887 + id="path5460" 18.1888 + d="m 137.04459,658.02605 c 67.19099,0 67.19099,0 67.19099,0" 18.1889 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 18.1890 + <path 18.1891 + sodipodi:nodetypes="cc" 18.1892 + inkscape:connector-curvature="0" 18.1893 + id="path5462" 18.1894 + d="m 205.27805,658.63927 c 0,14.88618 0,14.88618 0,14.88618" 18.1895 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 18.1896 + <path 18.1897 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 18.1898 + d="m 205.05995,674.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 18.1899 + id="path5464" 18.1900 + inkscape:connector-curvature="0" /> 18.1901 + <text 18.1902 + sodipodi:linespacing="100%" 18.1903 + id="text5466" 18.1904 + y="676.37714" 18.1905 + x="192.68279" 18.1906 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.1907 + xml:space="preserve" 18.1908 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 18.1909 + id="tspan5468" 18.1910 + y="676.37714" 18.1911 + x="192.68279" 18.1912 + sodipodi:role="line" 18.1913 + style="font-size:7px;text-align:center;text-anchor:middle">call via Ptr to Dyn Lib Fn</tspan></text> 18.1914 + <path 18.1915 + sodipodi:nodetypes="cc" 18.1916 + inkscape:connector-curvature="0" 18.1917 + id="path5470" 18.1918 + d="m 137.27805,673.85824 c 0,11.43122 0,11.43122 0,11.43122" 18.1919 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 18.1920 + <text 18.1921 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 18.1922 + xml:space="preserve" 18.1923 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.1924 + x="192.18657" 18.1925 + y="646.38098" 18.1926 + id="text5472" 18.1927 + sodipodi:linespacing="100%"><tspan 18.1928 + style="font-size:7px;text-align:center;text-anchor:middle" 18.1929 + sodipodi:role="line" 18.1930 + x="192.18657" 18.1931 + y="646.38098" 18.1932 + id="tspan5474">call via Ptr to Dyn Lib Fn</tspan></text> 18.1933 + <text 18.1934 + sodipodi:linespacing="100%" 18.1935 + id="text5476" 18.1936 + y="597.08801" 18.1937 + x="-60.107929" 18.1938 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.1939 + xml:space="preserve" 18.1940 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 18.1941 + y="597.08801" 18.1942 + x="-60.107929" 18.1943 + sodipodi:role="line" 18.1944 + style="font-size:18px;text-align:center;text-anchor:middle" 18.1945 + id="tspan5482">core 1</tspan></text> 18.1946 + <text 18.1947 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 18.1948 + xml:space="preserve" 18.1949 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.1950 + x="-208.35422" 18.1951 + y="748.6394" 18.1952 + id="text5488" 18.1953 + sodipodi:linespacing="100%"><tspan 18.1954 + id="tspan5490" 18.1955 + style="font-size:18px;text-align:center;text-anchor:middle" 18.1956 + sodipodi:role="line" 18.1957 + x="-208.35422" 18.1958 + y="748.6394">core 2</tspan></text> 18.1959 + <path 18.1960 + sodipodi:nodetypes="cc" 18.1961 + inkscape:connector-curvature="0" 18.1962 + id="path5492" 18.1963 + d="m 205.27805,752.31985 c 0,7.35629 0,7.35629 0,7.35629" 18.1964 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 18.1965 + <path 18.1966 + sodipodi:nodetypes="cc" 18.1967 + inkscape:connector-curvature="0" 18.1968 + id="path5494" 18.1969 + d="m 205.27805,752.31985 c 0,7.35629 0,7.35629 0,7.35629" 18.1970 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 18.1971 + <path 18.1972 + sodipodi:nodetypes="cc" 18.1973 + inkscape:connector-curvature="0" 18.1974 + id="path5496" 18.1975 + d="m 205.27805,752.31985 c 0,7.35629 0,7.35629 0,7.35629" 18.1976 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 18.1977 + <text 18.1978 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 18.1979 + xml:space="preserve" 18.1980 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.1981 + x="-368.06558" 18.1982 + y="674.7525" 18.1983 + id="text5498" 18.1984 + sodipodi:linespacing="100%"><tspan 18.1985 + id="tspan5500" 18.1986 + style="font-size:8px;text-align:center;text-anchor:middle" 18.1987 + sodipodi:role="line" 18.1988 + x="-368.06558" 18.1989 + y="674.7525">return from</tspan><tspan 18.1990 + style="font-size:8px;text-align:center;text-anchor:middle" 18.1991 + sodipodi:role="line" 18.1992 + x="-368.06558" 18.1993 + y="682.7525" 18.1994 + id="tspan5502">suspend</tspan></text> 18.1995 + <path 18.1996 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 18.1997 + d="m 205.27805,538.31985 c 0,7.35629 0,7.35629 0,7.35629" 18.1998 + id="path5504" 18.1999 + inkscape:connector-curvature="0" 18.2000 + sodipodi:nodetypes="cc" /> 18.2001 + <path 18.2002 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 18.2003 + d="m 205.27805,538.31985 c 0,7.35629 0,7.35629 0,7.35629" 18.2004 + id="path5506" 18.2005 + inkscape:connector-curvature="0" 18.2006 + sodipodi:nodetypes="cc" /> 18.2007 + <path 18.2008 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 18.2009 + d="m 205.27805,538.31985 c 0,7.35629 0,7.35629 0,7.35629" 18.2010 + id="path5508" 18.2011 + inkscape:connector-curvature="0" 18.2012 + sodipodi:nodetypes="cc" /> 18.2013 + <text 18.2014 + sodipodi:linespacing="100%" 18.2015 + id="text5510" 18.2016 + y="520.99878" 18.2017 + x="-219.21922" 18.2018 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 18.2019 + xml:space="preserve" 18.2020 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 18.2021 + y="520.99878" 18.2022 + x="-219.21922" 18.2023 + sodipodi:role="line" 18.2024 + style="font-size:8px;text-align:center;text-anchor:middle" 18.2025 + id="tspan5512">return from</tspan><tspan 18.2026 + id="tspan5514" 18.2027 + y="528.99878" 18.2028 + x="-219.21922" 18.2029 + sodipodi:role="line" 18.2030 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text> 18.2031 + <path 18.2032 + inkscape:connector-curvature="0" 18.2033 + id="path5516" 18.2034 + d="m 271.03421,604.02605 c 193.92439,0 193.92439,0 193.92439,0" 18.2035 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 18.2036 + <path 18.2037 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 18.2038 + d="m 271.03421,384.02605 c 193.92439,0 193.92439,0 193.92439,0" 18.2039 + id="path5518" 18.2040 + inkscape:connector-curvature="0" /> 18.2041 + <path 18.2042 + sodipodi:type="arc" 18.2043 + style="fill:none;stroke:#000000;stroke-width:3.17508554;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 18.2044 + id="path4107" 18.2045 + sodipodi:cx="-177.61905" 18.2046 + sodipodi:cy="432.36218" 18.2047 + sodipodi:rx="21.428572" 18.2048 + sodipodi:ry="21.904762" 18.2049 + d="m -156.19048,432.36218 a 21.428572,21.904762 0 1 1 -42.85714,0 21.428572,21.904762 0 1 1 42.85714,0 z" 18.2050 + transform="matrix(0.46666667,0,0,0.47826088,-94.15873,438.15169)" /> 18.2051 + <path 18.2052 + transform="matrix(0.46666667,0,0,0.47826088,-94.15873,478.15169)" 18.2053 + d="m -156.19048,432.36218 a 21.428572,21.904762 0 1 1 -42.85714,0 21.428572,21.904762 0 1 1 42.85714,0 z" 18.2054 + sodipodi:ry="21.904762" 18.2055 + sodipodi:rx="21.428572" 18.2056 + sodipodi:cy="432.36218" 18.2057 + sodipodi:cx="-177.61905" 18.2058 + id="path4109" 18.2059 + style="fill:none;stroke:#000000;stroke-width:3.17508554;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 18.2060 + sodipodi:type="arc" /> 18.2061 + <path 18.2062 + sodipodi:type="arc" 18.2063 + style="fill:none;stroke:#000000;stroke-width:3.17508554;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 18.2064 + id="path4111" 18.2065 + sodipodi:cx="-177.61905" 18.2066 + sodipodi:cy="432.36218" 18.2067 + sodipodi:rx="21.428572" 18.2068 + sodipodi:ry="21.904762" 18.2069 + d="m -156.19048,432.36218 a 21.428572,21.904762 0 1 1 -42.85714,0 21.428572,21.904762 0 1 1 42.85714,0 z" 18.2070 + transform="matrix(0.46666667,0,0,0.47826088,-54.15873,478.15169)" /> 18.2071 + <path 18.2072 + transform="matrix(0.46666667,0,0,0.47826088,-134.15873,478.15169)" 18.2073 + d="m -156.19048,432.36218 a 21.428572,21.904762 0 1 1 -42.85714,0 21.428572,21.904762 0 1 1 42.85714,0 z" 18.2074 + sodipodi:ry="21.904762" 18.2075 + sodipodi:rx="21.428572" 18.2076 + sodipodi:cy="432.36218" 18.2077 + sodipodi:cx="-177.61905" 18.2078 + id="path4113" 18.2079 + style="fill:none;stroke:#000000;stroke-width:3.17508554;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 18.2080 + sodipodi:type="arc" /> 18.2081 + <path 18.2082 + sodipodi:type="arc" 18.2083 + style="fill:none;stroke:#000000;stroke-width:3.17508554;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 18.2084 + id="path4115" 18.2085 + sodipodi:cx="-177.61905" 18.2086 + sodipodi:cy="432.36218" 18.2087 + sodipodi:rx="21.428572" 18.2088 + sodipodi:ry="21.904762" 18.2089 + d="m -156.19048,432.36218 a 21.428572,21.904762 0 1 1 -42.85714,0 21.428572,21.904762 0 1 1 42.85714,0 z" 18.2090 + transform="matrix(0.46666667,0,0,0.47826088,-174.15873,478.15169)" /> 18.2091 + <path 18.2092 + transform="matrix(0.46666667,0,0,0.47826088,-134.15873,438.15169)" 18.2093 + d="m -156.19048,432.36218 a 21.428572,21.904762 0 1 1 -42.85714,0 21.428572,21.904762 0 1 1 42.85714,0 z" 18.2094 + sodipodi:ry="21.904762" 18.2095 + sodipodi:rx="21.428572" 18.2096 + sodipodi:cy="432.36218" 18.2097 + sodipodi:cx="-177.61905" 18.2098 + id="path4117" 18.2099 + style="fill:none;stroke:#000000;stroke-width:3.17508554;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 18.2100 + sodipodi:type="arc" /> 18.2101 + <path 18.2102 + style="fill:none;stroke:#000000;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 18.2103 + d="m -200.95238,433.31456 c -11.42857,21.90477 -11.42857,21.90477 -11.42857,21.90477" 18.2104 + id="path4121" 18.2105 + inkscape:connector-curvature="0" /> 18.2106 + <path 18.2107 + inkscape:connector-curvature="0" 18.2108 + id="path4305" 18.2109 + d="m -192.50586,433.31456 c 11.42857,21.90477 11.42857,21.90477 11.42857,21.90477" 18.2110 + style="fill:none;stroke:#000000;stroke-width:1.20000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" /> 18.2111 + <path 18.2112 + inkscape:connector-curvature="0" 18.2113 + id="path4307" 18.2114 + d="m -225.71428,651.40978 c -26.50192,23.74125 -26.50192,23.74125 -26.50192,23.74125" 18.2115 + style="fill:none;stroke:#000000;stroke-width:1.20000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" /> 18.2116 + <path 18.2117 + style="fill:none;stroke:#000000;stroke-width:1.20000017;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 18.2118 + d="m -217.42015,655.21934 c -0.30787,19.83147 -0.30787,19.83147 -0.30787,19.83147" 18.2119 + id="path4309" 18.2120 + inkscape:connector-curvature="0" /> 18.2121 + <path 18.2122 + style="fill:none;stroke:#000000;stroke-width:1.20000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 18.2123 + d="m -168.4046,651.40978 c 26.50192,23.74125 26.50192,23.74125 26.50192,23.74125" 18.2124 + id="path4311" 18.2125 + inkscape:connector-curvature="0" /> 18.2126 + <path 18.2127 + inkscape:connector-curvature="0" 18.2128 + id="path4313" 18.2129 + d="m -176.69873,655.21934 c 0.30787,19.83147 0.30787,19.83147 0.30787,19.83147" 18.2130 + style="fill:none;stroke:#000000;stroke-width:1.20000017;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" /> 18.2131 + <path 18.2132 + transform="matrix(0.46666667,0,0,0.47826088,-94.15873,258.15169)" 18.2133 + d="m -156.19048,432.36218 a 21.428572,21.904762 0 1 1 -42.85714,0 21.428572,21.904762 0 1 1 42.85714,0 z" 18.2134 + sodipodi:ry="21.904762" 18.2135 + sodipodi:rx="21.428572" 18.2136 + sodipodi:cy="432.36218" 18.2137 + sodipodi:cx="-177.61905" 18.2138 + id="path4315" 18.2139 + style="fill:none;stroke:#000000;stroke-width:3.17508554;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 18.2140 + sodipodi:type="arc" /> 18.2141 + <path 18.2142 + sodipodi:type="arc" 18.2143 + style="fill:none;stroke:#000000;stroke-width:3.17508554;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 18.2144 + id="path4317" 18.2145 + sodipodi:cx="-177.61905" 18.2146 + sodipodi:cy="432.36218" 18.2147 + sodipodi:rx="21.428572" 18.2148 + sodipodi:ry="21.904762" 18.2149 + d="m -156.19048,432.36218 a 21.428572,21.904762 0 1 1 -42.85714,0 21.428572,21.904762 0 1 1 42.85714,0 z" 18.2150 + transform="matrix(0.46666667,0,0,0.47826088,-134.15873,258.15169)" /> 18.2151 + <path 18.2152 + transform="matrix(0.46666667,0,0,0.47826088,-114.15873,298.15169)" 18.2153 + d="m -156.19048,432.36218 a 21.428572,21.904762 0 1 1 -42.85714,0 21.428572,21.904762 0 1 1 42.85714,0 z" 18.2154 + sodipodi:ry="21.904762" 18.2155 + sodipodi:rx="21.428572" 18.2156 + sodipodi:cy="432.36218" 18.2157 + sodipodi:cx="-177.61905" 18.2158 + id="path4319" 18.2159 + style="fill:none;stroke:#000000;stroke-width:3.17508554;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 18.2160 + sodipodi:type="arc" /> 18.2161 + <path 18.2162 + inkscape:connector-curvature="0" 18.2163 + id="path4321" 18.2164 + d="M -200.95238,496.03367 C -212.38095,474.1289 -212.38095,474.1289 -212.38095,474.1289" 18.2165 + style="fill:none;stroke:#000000;stroke-width:1.20000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow2Mstart);marker-end:none" /> 18.2166 + <path 18.2167 + style="fill:none;stroke:#000000;stroke-width:1.20000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow2Mstart);marker-end:none" 18.2168 + d="m -192.50586,496.03367 c 11.42857,-21.90477 11.42857,-21.90477 11.42857,-21.90477" 18.2169 + id="path4323" 18.2170 + inkscape:connector-curvature="0" /> 18.2171 + <path 18.2172 + style="fill:none;stroke:#000000;stroke-width:1.20000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 18.2173 + d="M -225.71428,716.04005 C -252.2162,692.2988 -252.2162,692.2988 -252.2162,692.2988" 18.2174 + id="path4953" 18.2175 + inkscape:connector-curvature="0" /> 18.2176 + <path 18.2177 + inkscape:connector-curvature="0" 18.2178 + id="path4955" 18.2179 + d="m -217.42015,712.23049 c -0.30787,-19.83147 -0.30787,-19.83147 -0.30787,-19.83147" 18.2180 + style="fill:none;stroke:#000000;stroke-width:1.20000017;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" /> 18.2181 + <path 18.2182 + inkscape:connector-curvature="0" 18.2183 + id="path4957" 18.2184 + d="m -168.4046,716.04005 c 26.50192,-23.74125 26.50192,-23.74125 26.50192,-23.74125" 18.2185 + style="fill:none;stroke:#000000;stroke-width:1.20000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" /> 18.2186 + <path 18.2187 + style="fill:none;stroke:#000000;stroke-width:1.20000017;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 18.2188 + d="m -176.69873,712.23049 c 0.30787,-19.83147 0.30787,-19.83147 0.30787,-19.83147" 18.2189 + id="path4959" 18.2190 + inkscape:connector-curvature="0" /> 18.2191 + <path 18.2192 + sodipodi:nodetypes="ccc" 18.2193 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 18.2194 + d="m -197.36182,516.33087 c -13.85073,9.59482 -52.96579,-1.16125 -54.75298,-45.56715 0.82351,-52.26625 16.71934,-80.84752 48.43875,-56.61916" 18.2195 + id="path4961" 18.2196 + inkscape:connector-curvature="0" /> 18.2197 + <path 18.2198 + style="fill:none;stroke:#000000;stroke-width:1.20000017;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 18.2199 + d="m -196.69873,395.21934 c 0.30787,19.83147 0.30787,19.83147 0.30787,19.83147" 18.2200 + id="path4963" 18.2201 + inkscape:connector-curvature="0" /> 18.2202 + <g 18.2203 + id="g4965" 18.2204 + transform="matrix(0.33573247,0,0,0.33475494,-311.95371,310.77262)"> 18.2205 + <rect 18.2206 + style="fill:none;stroke:#000000;stroke-width:3.22208095;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 18.2207 + id="rect4967" 18.2208 + width="65.276405" 18.2209 + height="52.250008" 18.2210 + x="310.40247" 18.2211 + y="313.58255" /> 18.2212 + </g> 18.2213 + </g> 18.2214 +</svg>
19.1 Binary file 0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/Portability_stack_combined.pdf has changed
20.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 20.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/Portability_stack_combined.svg Fri Sep 13 11:02:18 2013 -0700 20.3 @@ -0,0 +1,2691 @@ 20.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 20.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 20.6 + 20.7 +<svg 20.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 20.9 + xmlns:cc="http://creativecommons.org/ns#" 20.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 20.11 + xmlns:svg="http://www.w3.org/2000/svg" 20.12 + xmlns="http://www.w3.org/2000/svg" 20.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 20.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 20.15 + width="744.09448819" 20.16 + height="1052.3622047" 20.17 + id="svg2" 20.18 + version="1.1" 20.19 + inkscape:version="0.48.1 " 20.20 + sodipodi:docname="Portability_stack_combined.svg"> 20.21 + <defs 20.22 + id="defs4"> 20.23 + <marker 20.24 + inkscape:stockid="Arrow2Mend" 20.25 + orient="auto" 20.26 + refY="0.0" 20.27 + refX="0.0" 20.28 + id="Arrow2Mend" 20.29 + style="overflow:visible;"> 20.30 + <path 20.31 + id="path12287" 20.32 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 20.33 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 20.34 + transform="scale(0.6) rotate(180) translate(0,0)" /> 20.35 + </marker> 20.36 + <marker 20.37 + inkscape:stockid="Arrow1Mend" 20.38 + orient="auto" 20.39 + refY="0.0" 20.40 + refX="0.0" 20.41 + id="Arrow1Mend" 20.42 + style="overflow:visible;"> 20.43 + <path 20.44 + id="path12269" 20.45 + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " 20.46 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;" 20.47 + transform="scale(0.4) rotate(180) translate(10,0)" /> 20.48 + </marker> 20.49 + </defs> 20.50 + <sodipodi:namedview 20.51 + id="base" 20.52 + pagecolor="#ffffff" 20.53 + bordercolor="#666666" 20.54 + borderopacity="1.0" 20.55 + inkscape:pageopacity="0.0" 20.56 + inkscape:pageshadow="2" 20.57 + inkscape:zoom="2.34" 20.58 + inkscape:cx="402.79936" 20.59 + inkscape:cy="516.17556" 20.60 + inkscape:document-units="px" 20.61 + inkscape:current-layer="layer1" 20.62 + showgrid="false" 20.63 + inkscape:window-width="1600" 20.64 + inkscape:window-height="848" 20.65 + inkscape:window-x="-8" 20.66 + inkscape:window-y="-8" 20.67 + inkscape:window-maximized="1" /> 20.68 + <metadata 20.69 + id="metadata7"> 20.70 + <rdf:RDF> 20.71 + <cc:Work 20.72 + rdf:about=""> 20.73 + <dc:format>image/svg+xml</dc:format> 20.74 + <dc:type 20.75 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 20.76 + <dc:title /> 20.77 + </cc:Work> 20.78 + </rdf:RDF> 20.79 + </metadata> 20.80 + <g 20.81 + inkscape:label="Layer 1" 20.82 + inkscape:groupmode="layer" 20.83 + id="layer1"> 20.84 + <path 20.85 + inkscape:connector-curvature="0" 20.86 + id="2" 20.87 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.88 + d="m 328.84735,601.52932 -0.33945,0 -1.77003,-5.30122 0.7274,0 1.23662,3.85381 1.16384,-3.85381 0.70317,0 -1.72155,5.30122 z" /> 20.89 + <path 20.90 + inkscape:connector-curvature="0" 20.91 + id="3" 20.92 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.93 + d="m 334.69087,601.45696 -0.55766,-3.34721 -1.04263,3.41957 -0.16972,0 -1.06688,-3.41957 -0.53343,3.34721 -0.63042,0 0.89713,-5.22886 0.26672,0 1.13961,3.81761 1.06687,-3.81761 0.29096,0 0.96988,5.22886 -0.63043,0 z" /> 20.94 + <path 20.95 + inkscape:connector-curvature="0" 20.96 + id="4" 20.97 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.98 + d="m 335.63652,601.22177 0,0 0.21822,-0.65137 0,0 0,0 c 0.12123,0.0905 0.29096,0.16284 0.46069,0.23522 l 0,0 0,0 c 0.19397,0.0723 0.33945,0.0905 0.48494,0.0905 l 0,0 0,0 c 0.26671,0 0.46068,-0.0723 0.63041,-0.2171 l 0,0 0,0 c 0.14548,-0.16285 0.21823,-0.34378 0.21823,-0.57898 l 0,0 0,0 c 0,-0.18093 -0.0242,-0.34377 -0.12123,-0.48851 l 0,0 0,0 c -0.097,-0.16283 -0.29096,-0.32568 -0.65468,-0.50661 l 0,0 -0.38795,-0.19902 0,0 0,0 c -0.3152,-0.16284 -0.55768,-0.36186 -0.67891,-0.57897 l 0,0 0,0 c -0.12124,-0.23522 -0.19397,-0.5066 -0.19397,-0.83228 l 0,0 0,0 c 0,-0.37995 0.12123,-0.70562 0.38795,-0.95891 l 0,0 0,0 c 0.24246,-0.27142 0.58191,-0.39806 0.96988,-0.39806 l 0,0 0,0 c 0.53343,0 0.87288,0.10858 1.06686,0.28949 l 0,0 -0.16973,0.61517 0,0 0,0 c -0.0727,-0.0723 -0.21822,-0.1267 -0.38795,-0.19902 l 0,0 0,0 c -0.16973,-0.0544 -0.33945,-0.0905 -0.48493,-0.0905 l 0,0 0,0 c -0.24248,0 -0.41222,0.0723 -0.53345,0.19903 l 0,0 0,0 c -0.12122,0.14474 -0.19397,0.32567 -0.19397,0.54279 l 0,0 0,0 c 0,0.1267 0.0242,0.25331 0.0727,0.36187 l 0,0 0,0 c 0.0485,0.10858 0.097,0.19902 0.19397,0.27139 l 0,0 0,0 c 0.0727,0.0723 0.24247,0.18091 0.48495,0.30758 l 0,0 0.41218,0.19902 0,0 0,0 c 0.31522,0.18092 0.53343,0.37995 0.65467,0.61515 l 0,0 0,0 c 0.12125,0.23522 0.19398,0.52471 0.19398,0.88656 l 0,0 0,0 c 0,0.39805 -0.14548,0.72373 -0.43645,0.99511 l 0,0 0,0 c -0.26672,0.2714 -0.65466,0.41613 -1.11536,0.41613 l 0,0 0,0 c -0.43644,0 -0.80015,-0.10857 -1.0911,-0.32564 z" /> 20.99 + <path 20.100 + inkscape:connector-curvature="0" 20.101 + id="5" 20.102 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.103 + d="m 302.22417,590.2936 0,0 c 0,-0.0904 0.0242,-0.16282 0.0727,-0.2352 0.0485,-0.0723 0.12123,-0.1267 0.21821,-0.16284 0.097,-0.0362 0.19399,-0.0543 0.31522,-0.0543 l 0,0 0,0.45232 -0.60618,0 z" /> 20.104 + <path 20.105 + inkscape:connector-curvature="0" 20.106 + id="6" 20.107 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.108 + d="m 302.83035,589.84127 59.40509,0 0,0.45233 0,0.47042 -59.40509,0 0,-0.47042 0,-0.45233 z" /> 20.109 + <path 20.110 + inkscape:connector-curvature="0" 20.111 + id="7" 20.112 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.113 + d="m 362.23544,589.84127 0,0 c 0.12124,0 0.21823,0.0181 0.31521,0.0544 0.097,0.0362 0.16973,0.0905 0.21823,0.16284 0.0485,0.0723 0.097,0.14474 0.097,0.2352 l 0,0 0,0 -0.63042,0 0,-0.45233 z" /> 20.114 + <path 20.115 + inkscape:connector-curvature="0" 20.116 + id="8" 20.117 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.118 + d="m 362.86586,590.2936 0,23.26755 -0.63042,0 -0.58192,0 0,-23.26755 0.58192,0 0.63042,0 z" /> 20.119 + <path 20.120 + inkscape:connector-curvature="0" 20.121 + id="9" 20.122 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.123 + d="m 362.86586,613.56115 0,0 c 0,0.0905 -0.0485,0.16282 -0.097,0.23519 -0.0485,0.0723 -0.12123,0.1267 -0.21823,0.16285 -0.097,0.0362 -0.19397,0.0723 -0.31521,0.0723 l 0,0 0,-0.47041 0.63042,0 z" /> 20.124 + <path 20.125 + inkscape:connector-curvature="0" 20.126 + id="10" 20.127 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.128 + d="m 362.23544,614.03156 -59.40509,0 0,-0.47041 0,-0.45234 59.40509,0 0,0.45234 0,0.47041 z" /> 20.129 + <path 20.130 + inkscape:connector-curvature="0" 20.131 + id="11" 20.132 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.133 + d="m 302.83035,614.03156 0,0 c -0.12123,0 -0.21822,-0.0361 -0.31522,-0.0723 -0.097,-0.0362 -0.16971,-0.0905 -0.21821,-0.16285 -0.0485,-0.0723 -0.0727,-0.14473 -0.0727,-0.23519 l 0,0 0.60618,0 0,0.4704 z" /> 20.134 + <path 20.135 + inkscape:connector-curvature="0" 20.136 + id="12" 20.137 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.138 + d="m 302.22417,613.56115 0,-23.26755 0.60618,0 0.63042,0 0,23.26755 -0.63042,0 -0.60618,0 z" /> 20.139 + <path 20.140 + inkscape:connector-curvature="0" 20.141 + id="13" 20.142 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.143 + d="m 320.06994,612.6384 0,-2.24352 -1.81851,0 0,2.24352 -0.58193,0 0,-4.64989 0.58193,0 0,1.86358 1.81851,0 0,-1.86358 0.58193,0 0,4.64989 -0.58193,0 z" /> 20.144 + <path 20.145 + inkscape:connector-curvature="0" 20.146 + id="14" 20.147 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.148 + d="m 323.2463,612.25845 0,0 0,0 c -0.21822,0.28949 -0.55768,0.45232 -1.01836,0.45232 l 0,0 0,0 c -0.24249,0 -0.4607,-0.10858 -0.63044,-0.28948 l 0,0 0,0 c -0.16973,-0.19903 -0.26671,-0.43424 -0.26671,-0.72373 l 0,0 0,0 c 0,-0.34375 0.14548,-0.63324 0.4122,-0.88655 l 0,0 0,0 c 0.26671,-0.23519 0.63043,-0.34375 1.04261,-0.34375 l 0,0 0,0 c 0.12125,0 0.26673,0.0181 0.41222,0.0723 l 0,0 0,0 c 0,-0.5428 -0.21824,-0.81418 -0.67892,-0.81418 l 0,0 0,0 c -0.33946,0 -0.60618,0.0905 -0.80015,0.30758 l 0,0 -0.21823,-0.52469 0,0 0,0 c 0.097,-0.0905 0.24247,-0.18093 0.4122,-0.23522 l 0,0 0,0 c 0.19397,-0.0723 0.3637,-0.10858 0.53343,-0.10858 l 0,0 0,0 c 0.4607,0 0.80015,0.10858 0.96988,0.34378 l 0,0 0,0 c 0.19397,0.23522 0.31522,0.59706 0.31522,1.08558 l 0,0 0,1.21222 0,0 0,0 c 0,0.28948 0.0727,0.48851 0.24246,0.59706 l 0,0 0,0.28949 0,0 0,0 c -0.24246,0 -0.41219,-0.0181 -0.50919,-0.0905 l 0,0 0,0 c -0.12122,-0.0723 -0.19397,-0.19902 -0.21822,-0.34376 z m -0.0485,-1.2846 0,0 0,0 c -0.16974,-0.0362 -0.29097,-0.0723 -0.36372,-0.0723 l 0,0 0,0 c -0.29095,0 -0.50918,0.0904 -0.67891,0.2352 l 0,0 0,0 c -0.19397,0.16284 -0.26672,0.34378 -0.26672,0.56088 l 0,0 0,0 c 0,0.36187 0.16973,0.52469 0.55768,0.52469 l 0,0 0,0 c 0.29097,0 0.53343,-0.14473 0.75167,-0.43422 l 0,-0.81419 z" /> 20.149 + <path 20.150 + inkscape:connector-curvature="0" 20.151 + id="15" 20.152 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.153 + d="m 326.25293,609.834 0,0 0,0 c -0.12124,-0.0905 -0.24247,-0.14475 -0.3637,-0.14475 l 0,0 0,0 c -0.16974,0 -0.33947,0.0905 -0.48494,0.28949 l 0,0 0,0 c -0.14548,0.19901 -0.21823,0.43423 -0.21823,0.72372 l 0,0 0,1.93594 -0.55768,0 0,-3.40146 0.55768,0 0,0.54277 0,0 0,0 c 0.19398,-0.41615 0.50918,-0.61517 0.8729,-0.61517 l 0,0 0,0 c 0.097,0 0.24247,0.0181 0.43643,0.0544 l -0.24246,0.61517 z" /> 20.154 + <path 20.155 + inkscape:connector-curvature="0" 20.156 + id="16" 20.157 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.158 + d="m 328.84735,612.6384 0,0 0,-0.25329 0,0 0,0 c -0.19396,0.21709 -0.4607,0.30757 -0.82438,0.30757 l 0,0 0,0 c -0.38796,0 -0.70316,-0.14474 -0.94565,-0.45232 l 0,0 0,0 c -0.24246,-0.30758 -0.3637,-0.70562 -0.3637,-1.21223 l 0,0 0,0 c 0,-0.5066 0.12124,-0.94084 0.4122,-1.3027 l 0,0 0,0 c 0.26672,-0.37996 0.60617,-0.56089 0.99413,-0.56089 l 0,0 0,0 c 0.3152,0 0.55769,0.0905 0.7274,0.25331 l 0,0 0,-1.5741 0.55768,0 0,4.79465 -0.55768,0 z m 0,-2.60538 0,0 0,0 c -0.12123,-0.23522 -0.3152,-0.34377 -0.55768,-0.34377 l 0,0 0,0 c -0.3152,0 -0.53343,0.1267 -0.7274,0.36186 l 0,0 0,0 c -0.19398,0.2352 -0.26671,0.54279 -0.26671,0.92274 l 0,0 0,0 c 0,0.81418 0.33945,1.23031 1.01836,1.23031 l 0,0 0,0 c 0.0727,0 0.19398,-0.0362 0.31522,-0.0905 l 0,0 0,0 c 0.12123,-0.0723 0.19398,-0.1267 0.21821,-0.19902 l 0,-1.88167 z" /> 20.159 + <path 20.160 + inkscape:connector-curvature="0" 20.161 + id="17" 20.162 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.163 + d="m 333.04208,612.71077 -0.14547,0 -0.89715,-2.31589 -0.89715,2.31589 -0.14546,0 -1.11537,-3.49194 0.60617,0 0.65466,2.24354 0.80017,-2.24354 0.14548,0 0.84865,2.24354 0.7274,-2.24354 0.53343,0 -1.11536,3.49194 z" /> 20.164 + <path 20.165 + inkscape:connector-curvature="0" 20.166 + id="18" 20.167 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.168 + d="m 336.36392,612.25845 0,0 0,0 c -0.21822,0.28949 -0.55768,0.45232 -1.01838,0.45232 l 0,0 0,0 c -0.24247,0 -0.46069,-0.10858 -0.63042,-0.28948 l 0,0 0,0 c -0.19398,-0.19903 -0.26671,-0.43424 -0.26671,-0.72373 l 0,0 0,0 c 0,-0.34375 0.12123,-0.63324 0.41219,-0.88655 l 0,0 0,0 c 0.26672,-0.23519 0.63044,-0.34375 1.04262,-0.34375 l 0,0 0,0 c 0.12123,0 0.26673,0.0181 0.41221,0.0723 l 0,0 0,0 c 0,-0.5428 -0.24248,-0.81418 -0.67891,-0.81418 l 0,0 0,0 c -0.33947,0 -0.60618,0.0905 -0.80017,0.30758 l 0,0 -0.24246,-0.52469 0,0 0,0 c 0.12123,-0.0905 0.26671,-0.18093 0.43645,-0.23522 l 0,0 0,0 c 0.19396,-0.0723 0.3637,-0.10858 0.53343,-0.10858 l 0,0 0,0 c 0.46068,0 0.77591,0.10858 0.99413,0.34378 l 0,0 0,0 c 0.19397,0.23522 0.3152,0.59706 0.3152,1.08558 l 0,0 0,1.21222 0,0 0,0 c 0,0.28948 0.0727,0.48851 0.24248,0.59706 l 0,0 0,0.28949 0,0 0,0 c -0.24248,0 -0.41221,-0.0181 -0.5092,-0.0905 l 0,0 0,0 c -0.12123,-0.0723 -0.19396,-0.19902 -0.24246,-0.34376 z m -0.0485,-1.2846 0,0 0,0 c -0.16973,-0.0362 -0.29098,-0.0723 -0.36371,-0.0723 l 0,0 0,0 c -0.29095,0 -0.50918,0.0904 -0.70317,0.2352 l 0,0 0,0 c -0.16971,0.16284 -0.24246,0.34378 -0.24246,0.56088 l 0,0 0,0 c 0,0.36187 0.16973,0.52469 0.55768,0.52469 l 0,0 0,0 c 0.29097,0 0.53343,-0.14473 0.75166,-0.43422 l 0,-0.81419 z" /> 20.169 + <path 20.170 + inkscape:connector-curvature="0" 20.171 + id="19" 20.172 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.173 + d="m 339.39479,609.834 0,0 0,0 c -0.12123,-0.0905 -0.24246,-0.14475 -0.3637,-0.14475 l 0,0 0,0 c -0.19398,0 -0.36371,0.0905 -0.50919,0.28949 l 0,0 0,0 c -0.14547,0.19901 -0.21822,0.43423 -0.21822,0.72372 l 0,0 0,1.93594 -0.53343,0 0,-3.40146 0.53343,0 0,0.54277 0,0 0,0 c 0.19398,-0.41615 0.50918,-0.61517 0.89713,-0.61517 l 0,0 0,0 c 0.097,0 0.24247,0.0181 0.43645,0.0544 l -0.24247,0.61517 z" /> 20.174 + <path 20.175 + inkscape:connector-curvature="0" 20.176 + id="20" 20.177 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.178 + d="m 342.64389,611.01003 0,0 -2.25497,0 0,0 0,0 c 0,0.39805 0.12124,0.68753 0.3152,0.90466 l 0,0 0,0 c 0.16974,0.18091 0.38797,0.28947 0.67892,0.28947 l 0,0 0,0 c 0.31521,0 0.58193,-0.10857 0.7759,-0.30755 l 0,0 0.24248,0.43421 0,0 0,0 c -0.0727,0.0905 -0.21823,0.18093 -0.38795,0.23522 l 0,0 0,0 c -0.21823,0.0904 -0.4607,0.14473 -0.75166,0.14473 l 0,0 0,0 c -0.38795,0 -0.70315,-0.14473 -0.99414,-0.43424 l 0,0 0,0 c -0.29094,-0.32566 -0.46068,-0.7599 -0.46068,-1.28459 l 0,0 0,0 c 0,-0.56088 0.16974,-1.0132 0.48493,-1.37507 l 0,0 0,0 c 0.26674,-0.30757 0.60619,-0.45233 0.99414,-0.45233 l 0,0 0,0 c 0.43644,0 0.77589,0.14476 1.04261,0.41615 l 0,0 0,0 c 0.24248,0.2714 0.36372,0.61517 0.36372,1.04939 l 0,0 0,0 c 0,0.14474 -0.0242,0.25332 -0.0485,0.37995 z m -1.33358,-1.32078 0,0 0,0 c -0.24247,0 -0.4607,0.0905 -0.63044,0.25328 l 0,0 0,0 c -0.14546,0.18095 -0.24246,0.37998 -0.2667,0.61517 l 0,0 1.72153,0 0,0 0,0 c 0,-0.23519 -0.0727,-0.43422 -0.21821,-0.59706 l 0,0 0,0 c -0.14549,-0.18093 -0.33947,-0.27139 -0.60618,-0.27139 z" /> 20.179 + <path 20.180 + inkscape:connector-curvature="0" 20.181 + id="21" 20.182 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.183 + d="m 344.85036,612.6384 0,0 0,-0.12669 1.33358,-2.22544 0,0 0,0 c 0.26672,-0.4704 0.4122,-0.88655 0.4122,-1.21223 l 0,0 0,0 c 0,-0.41611 -0.21823,-0.63325 -0.67891,-0.63325 l 0,0 0,0 c -0.14549,0 -0.29097,0.0362 -0.43645,0.12669 l 0,0 0,0 c -0.12123,0.0905 -0.24247,0.19902 -0.29097,0.34377 l 0,0 -0.38795,-0.34377 0,0 0,0 c 0.0728,-0.19902 0.19399,-0.36186 0.38795,-0.48851 l 0,0 0,0 c 0.19399,-0.12669 0.43645,-0.18093 0.70317,-0.18093 l 0,0 0,0 c 0.4122,0 0.72741,0.10858 0.96988,0.30758 l 0,0 0,0 c 0.21821,0.19902 0.33946,0.50661 0.33946,0.86847 l 0,0 0,0 c 0,0.36187 -0.1455,0.81418 -0.46069,1.33888 l 0,0 -0.94564,1.66455 1.67305,0 0,0.56088 -2.61868,0 z" /> 20.184 + <path 20.185 + inkscape:connector-curvature="0" 20.186 + id="22" 20.187 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.188 + d="m 303.36378,606.39634 58.36248,0.34376 0,0.43423 0,0.43423 -58.36248,-0.34378 0,-0.43423 0,-0.43421 z" /> 20.189 + <path 20.190 + inkscape:connector-curvature="0" 20.191 + id="23" 20.192 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.193 + d="m 217.38401,539.83236 0,0 0,0 c 0,-0.74179 0.19397,-1.37506 0.53343,-1.88165 l 0,0 0,0 c 0.33945,-0.50662 0.80015,-0.75991 1.38207,-0.75991 l 0,0 0,0 c 0.65468,0 1.16386,0.23521 1.52756,0.70562 l 0,0 0,0 c 0.3637,0.47043 0.53343,1.12177 0.53343,1.93594 l 0,0 0,0 c 0,0.86846 -0.16973,1.53792 -0.53343,2.02642 l 0,0 0,0 c -0.3637,0.47042 -0.87288,0.72371 -1.52756,0.72371 l 0,0 0,0 c -0.60617,0 -1.04262,-0.25329 -1.40632,-0.778 l 0,0 0,0 c -0.33946,-0.50661 -0.50918,-1.15794 -0.50918,-1.97213 z m 0.70315,0 0,0 0,0 c 0,0.59708 0.097,1.10368 0.29096,1.50172 l 0,0 0,0 c 0.21822,0.39804 0.53344,0.59706 0.92139,0.59706 l 0,0 0,0 c 0.43644,0 0.77591,-0.18091 1.01838,-0.54278 l 0,0 0,0 c 0.24246,-0.36186 0.3637,-0.88656 0.3637,-1.556 l 0,0 0,0 c 0,-1.32077 -0.46069,-1.99021 -1.38208,-1.99021 l 0,0 0,0 c -0.4122,0 -0.70317,0.18092 -0.92139,0.54278 l 0,0 0,0 c -0.19398,0.36186 -0.29096,0.85037 -0.29096,1.44743 z" /> 20.194 + <path 20.195 + inkscape:connector-curvature="0" 20.196 + id="24" 20.197 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.198 + d="m 222.69408,542.27492 0,0 0,1.71883 -0.63041,0 0,-5.30125 0.63041,0 0,0.30758 0,0 0,0 c 0.21823,-0.25329 0.50918,-0.37995 0.84865,-0.37995 l 0,0 0,0 c 0.48495,0 0.84865,0.16284 1.13961,0.50661 l 0,0 0,0 c 0.26672,0.34376 0.4122,0.81418 0.4122,1.46555 l 0,0 0,0 c 0,0.57897 -0.14548,1.04937 -0.4122,1.41123 l 0,0 0,0 c -0.29096,0.37996 -0.67891,0.56089 -1.1881,0.56089 l 0,0 0,0 c -0.14548,0 -0.31521,-0.0362 -0.48494,-0.0904 l 0,0 0,0 c -0.16974,-0.0542 -0.26672,-0.1267 -0.31522,-0.19901 z m 0,-2.76823 0,0 0,2.20734 0,0 0,0 c 0.0242,0.0723 0.12125,0.1267 0.24248,0.19902 l 0,0 0,0 c 0.12124,0.0544 0.24247,0.0723 0.3637,0.0723 l 0,0 0,0 c 0.7759,0 1.13962,-0.47041 1.13962,-1.41123 l 0,0 0,0 c 0,-0.48853 -0.097,-0.83228 -0.24247,-1.04939 l 0,0 0,0 c -0.19398,-0.21713 -0.48495,-0.32569 -0.89715,-0.32569 l 0,0 0,0 c -0.0728,0 -0.19398,0.0181 -0.31521,0.0905 l 0,0 0,0 c -0.12124,0.0723 -0.21822,0.14475 -0.29097,0.21712 z" /> 20.199 + <path 20.200 + inkscape:connector-curvature="0" 20.201 + id="25" 20.202 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.203 + d="m 228.70733,540.64655 0,0 -2.52167,0 0,0 0,0 c 0,0.45231 0.12123,0.79609 0.33944,1.03131 l 0,0 0,0 c 0.19399,0.2171 0.4607,0.30756 0.7759,0.30756 l 0,0 0,0 c 0.33947,0 0.65468,-0.10858 0.8729,-0.32566 l 0,0 0.26672,0.48851 0,0 0,0 c -0.097,0.0905 -0.24247,0.18093 -0.43645,0.27138 l 0,0 0,0 c -0.24247,0.0905 -0.53343,0.14476 -0.82438,0.14476 l 0,0 0,0 c -0.43645,0 -0.8244,-0.16285 -1.11538,-0.48851 l 0,0 0,0 c -0.36369,-0.36187 -0.53342,-0.85038 -0.53342,-1.44744 l 0,0 0,0 c 0,-0.63326 0.19397,-1.12177 0.53342,-1.50172 l 0,0 0,0 c 0.31523,-0.34377 0.67893,-0.50661 1.11538,-0.50661 l 0,0 0,0 c 0.50918,0 0.89713,0.14475 1.16384,0.45232 l 0,0 0,0 c 0.29097,0.30761 0.4122,0.66945 0.4122,1.15797 l 0,0 0,0 c 0,0.16282 0,0.28947 -0.0485,0.41613 z m -1.50331,-1.44745 0,0 0,0 c -0.26672,0 -0.50918,0.0905 -0.67892,0.2895 l 0,0 0,0 c -0.19396,0.18092 -0.29095,0.39804 -0.3152,0.66945 l 0,0 1.93975,0 0,0 0,0 c 0,-0.27141 -0.0727,-0.48853 -0.24247,-0.66945 l 0,0 0,0 c -0.16971,-0.19902 -0.41219,-0.2895 -0.70316,-0.2895 z" /> 20.204 + <path 20.205 + inkscape:connector-curvature="0" 20.206 + id="26" 20.207 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.208 + d="m 231.54423,542.49203 0,0 0,-2.22544 0,0 0,0 c 0,-0.39803 -0.0485,-0.66943 -0.16972,-0.83227 l 0,0 0,0 c -0.097,-0.16282 -0.29097,-0.23522 -0.55768,-0.23522 l 0,0 0,0 c -0.14549,0 -0.29097,0.0362 -0.43645,0.1267 l 0,0 0,0 c -0.14548,0.0905 -0.26672,0.21711 -0.33947,0.34375 l 0,0 0,2.82251 -0.63041,0 0,-3.79953 0.43645,0 0.19396,0.48851 0,0 0,0 c 0.19399,-0.37995 0.5092,-0.56088 0.96988,-0.56088 l 0,0 0,0 c 0.77592,0 1.16387,0.50661 1.16387,1.50172 l 0,0 0,2.37018 -0.63043,0 z" /> 20.209 + <path 20.210 + inkscape:connector-curvature="0" 20.211 + id="27" 20.212 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.213 + d="m 236.6846,542.49203 -0.53344,-3.32909 -1.04263,3.40147 -0.16973,0 -1.0911,-3.40147 -0.53343,3.32909 -0.63043,0 0.89713,-5.21078 0.29098,0 1.1396,3.79954 1.06686,-3.79954 0.26672,0 0.96988,5.21078 -0.63041,0 z" /> 20.214 + <path 20.215 + inkscape:connector-curvature="0" 20.216 + id="28" 20.217 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.218 + d="m 238.47886,540.48371 0,0 0,2.00832 -0.65467,0 0,-5.21078 0,0 0,0 c 0.5092,-0.0181 0.80017,-0.0362 0.89715,-0.0362 l 0,0 0,0 c 1.40633,0 2.08525,0.5066 2.08525,1.51979 l 0,0 0,0 c 0,1.15796 -0.60619,1.75502 -1.84278,1.75502 l 0,0 0,0 c -0.0727,0 -0.21822,-0.0181 -0.48495,-0.0362 z m 0,-2.55109 0,0 0,1.89974 0,0 0,0 c 0.29098,0.0362 0.43646,0.0362 0.43646,0.0362 l 0,0 0,0 c 0.82439,0 1.2366,-0.32567 1.2366,-1.01321 l 0,0 0,0 c 0,-0.65135 -0.43646,-0.95893 -1.30935,-0.95893 l 0,0 0,0 c -0.097,0 -0.19398,0 -0.36371,0.0362 z" /> 20.219 + <path 20.220 + inkscape:connector-curvature="0" 20.221 + id="29" 20.222 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.223 + d="m 243.06155,539.97712 1.13961,0 0,0.50659 -1.13961,0 0,1.23032 -0.4607,0 0,-1.23032 -1.11535,0 0,-0.50659 1.11535,0 0,-1.21224 0.4607,0 0,1.21224 z" /> 20.224 + <path 20.225 + inkscape:connector-curvature="0" 20.226 + id="30" 20.227 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.228 + d="m 245.72872,540.48371 0,0 0,2.00832 -0.65466,0 0,-5.21078 0,0 0,0 c 0.48493,-0.0181 0.80013,-0.0362 0.89713,-0.0362 l 0,0 0,0 c 1.35783,0 2.06098,0.5066 2.06098,1.51979 l 0,0 0,0 c 0,1.15796 -0.63042,1.75502 -1.84276,1.75502 l 0,0 0,0 c -0.0727,0 -0.21822,-0.0181 -0.46069,-0.0362 z m 0,-2.55109 0,0 0,1.89974 0,0 0,0 c 0.2667,0.0362 0.38795,0.0362 0.41219,0.0362 l 0,0 0,0 c 0.80016,0 1.21234,-0.32567 1.21234,-1.01321 l 0,0 0,0 c 0,-0.65135 -0.43643,-0.95893 -1.26083,-0.95893 l 0,0 0,0 c -0.097,0 -0.21823,0 -0.3637,0.0362 z" /> 20.229 + <path 20.230 + inkscape:connector-curvature="0" 20.231 + id="31" 20.232 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.233 + d="m 224.73083,547.77517 0,0 0,1.99023 -0.63042,0 0,-5.19268 0,0 0,0 c 0.46068,-0.0181 0.75166,-0.0362 0.8729,-0.0362 l 0,0 0,0 c 1.38208,0 2.08524,0.50661 2.08524,1.51981 l 0,0 0,0 c 0,1.17605 -0.63043,1.75502 -1.84278,1.75502 l 0,0 0,0 c -0.0727,0 -0.24246,0 -0.48494,-0.0362 z m 0,-2.56919 0,0 0,1.93593 0,0 0,0 c 0.26673,0.0181 0.41219,0.0362 0.43644,0.0362 l 0,0 0,0 c 0.80015,0 1.21237,-0.34377 1.21237,-1.04941 l 0,0 0,0 c 0,-0.63323 -0.43647,-0.95892 -1.30935,-0.95892 l 0,0 0,0 c -0.0727,0 -0.19398,0.0181 -0.33946,0.0362 z" /> 20.234 + <path 20.235 + inkscape:connector-curvature="0" 20.236 + id="32" 20.237 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.238 + d="m 227.8102,548.71599 0,0 0,-4.30612 0.63042,0 0,4.17948 0,0 0,0 c 0,0.21713 0.0485,0.37995 0.14548,0.48851 l 0,0 0,0 c 0.12123,0.10858 0.26672,0.16283 0.43645,0.16283 l 0,0 0,0.59707 0,0 0,0 c -0.80015,0 -1.21235,-0.37995 -1.21235,-1.12177 z" /> 20.239 + <path 20.240 + inkscape:connector-curvature="0" 20.241 + id="33" 20.242 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.243 + d="m 230.30764,545.96588 0,0 0,2.44253 0,0 0,0 c 0,0.59707 0.21822,0.86847 0.70315,0.86847 l 0,0 0,0 c 0.19399,0 0.38795,-0.0723 0.55769,-0.18092 l 0,0 0,0 c 0.16973,-0.1267 0.29096,-0.2714 0.33946,-0.43424 l 0,0 0,-2.69584 0.63042,0 0,3.79952 -0.63042,0 0,-0.52471 0,0 0,0 c -0.0727,0.16285 -0.21823,0.2895 -0.4122,0.41614 l 0,0 0,0 c -0.21821,0.1267 -0.43645,0.18093 -0.63043,0.18093 l 0,0 0,0 c -0.38793,0 -0.65466,-0.10857 -0.84863,-0.34376 l 0,0 0,0 c -0.21822,-0.25331 -0.31522,-0.57897 -0.31522,-1.0132 l 0,0 0,-2.51492 0.60618,0 z" /> 20.244 + <path 20.245 + inkscape:connector-curvature="0" 20.246 + id="34" 20.247 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.248 + d="m 233.24152,550.81479 0,0 0.33945,-0.54279 0,0 0,0 c 0.36372,0.2714 0.70317,0.39804 1.01838,0.39804 l 0,0 0,0 c 0.26672,0 0.48493,-0.0542 0.65467,-0.16284 l 0,0 0,0 c 0.16973,-0.0905 0.24248,-0.2352 0.24248,-0.37993 l 0,0 0,0 c 0,-0.30759 -0.19398,-0.47044 -0.60618,-0.47044 l 0,0 0,0 c -0.0728,0 -0.19397,0.0181 -0.38795,0.0544 l 0,0 0,0 c -0.19398,0.0361 -0.31522,0.0542 -0.43645,0.0542 l 0,0 0,0 c -0.48495,0 -0.72742,-0.19902 -0.72742,-0.61517 l 0,0 0,0 c 0,-0.10857 0.0485,-0.21711 0.16974,-0.32567 l 0,0 0,0 c 0.12123,-0.0905 0.26671,-0.16284 0.43645,-0.2171 l 0,0 0,0 c -0.50919,-0.25332 -0.75165,-0.68754 -0.75165,-1.3027 l 0,0 0,0 c 0,-0.39805 0.12123,-0.74182 0.38793,-0.99513 l 0,0 0,0 c 0.26673,-0.27138 0.58193,-0.39802 0.94565,-0.39802 l 0,0 0,0 c 0.33945,0 0.60616,0.0723 0.80015,0.2171 l 0,0 0.3152,-0.39805 0.41221,0.41615 -0.38796,0.30758 0,0 0,0 c 0.16973,0.21712 0.24248,0.5247 0.24248,0.88656 l 0,0 0,0 c 0,0.37996 -0.097,0.70562 -0.31522,0.95893 l 0,0 0,0 c -0.21821,0.27138 -0.5092,0.41612 -0.8729,0.45231 l 0,0 -0.50918,0.0544 0,0 0,0 c -0.0727,0.0181 -0.14548,0.0361 -0.24246,0.0905 l 0,0 0,0 c -0.12124,0.0362 -0.16974,0.0905 -0.16974,0.16283 l 0,0 0,0 c 0,0.0723 0.12124,0.1267 0.33945,0.1267 l 0,0 0,0 c 0.0727,0 0.21823,-0.0181 0.43645,-0.0544 l 0,0 0,0 c 0.19398,-0.0362 0.33947,-0.0362 0.43645,-0.0362 l 0,0 0,0 c 0.33947,0 0.60617,0.0723 0.80015,0.25329 l 0,0 0,0 c 0.19398,0.18094 0.29096,0.43424 0.29096,0.74182 l 0,0 0,0 c 0,0.36185 -0.14548,0.63326 -0.43644,0.85036 l 0,0 0,0 c -0.29095,0.21712 -0.65467,0.32567 -1.09112,0.32567 l 0,0 0,0 c -0.21822,0 -0.46068,-0.0362 -0.7274,-0.12669 l 0,0 0,0 c -0.24248,-0.0905 -0.43645,-0.19904 -0.60618,-0.32568 z m 1.33358,-4.3604 0,0 0,0 c -0.21822,0 -0.38795,0.0723 -0.53343,0.2352 l 0,0 0,0 c -0.14548,0.18093 -0.19397,0.37995 -0.19397,0.61517 l 0,0 0,0 c 0,0.27139 0.0485,0.48851 0.19397,0.66944 l 0,0 0,0 c 0.12123,0.16284 0.29097,0.25328 0.53343,0.25328 l 0,0 0,0 c 0.21823,0 0.38795,-0.0905 0.50918,-0.25328 l 0,0 0,0 c 0.12125,-0.16285 0.19399,-0.39805 0.19399,-0.66944 l 0,0 0,0 c 0,-0.23522 -0.0727,-0.43424 -0.21822,-0.61517 l 0,0 0,0 c -0.12125,-0.16283 -0.29097,-0.2352 -0.48495,-0.2352 z" /> 20.249 + <path 20.250 + inkscape:connector-curvature="0" 20.251 + id="35" 20.252 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.253 + d="m 237.36351,544.53653 0,0 0,0 c 0.097,0 0.19397,0.0362 0.26672,0.10857 l 0,0 0,0 c 0.0727,0.0905 0.12123,0.18093 0.12123,0.30758 l 0,0 0,0 c 0,0.10858 -0.0485,0.21712 -0.12123,0.2895 l 0,0 0,0 c -0.0728,0.0905 -0.16974,0.12669 -0.26672,0.12669 l 0,0 0,0 c -0.12123,0 -0.19398,-0.0362 -0.26672,-0.12669 l 0,0 0,0 c -0.0727,-0.0723 -0.12123,-0.18093 -0.12123,-0.2895 l 0,0 0,0 c 0,-0.12669 0.0485,-0.21711 0.12123,-0.30758 l 0,0 0,0 c 0.0727,-0.0723 0.14549,-0.10857 0.26672,-0.10857 z m -0.33946,5.22887 0,0 0,-3.22055 -0.48494,0 0,-0.57897 1.09112,0 0,3.79952 -0.60618,0 z" /> 20.254 + <path 20.255 + inkscape:connector-curvature="0" 20.256 + id="36" 20.257 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.258 + d="m 240.78234,549.7654 0,0 0,-2.18925 0,0 0,0 c 0,-0.41614 -0.0485,-0.68752 -0.16974,-0.85037 l 0,0 0,0 c -0.12123,-0.16284 -0.29096,-0.2533 -0.55768,-0.2533 l 0,0 0,0 c -0.14548,0 -0.29096,0.0542 -0.46068,0.14473 l 0,0 0,0 c -0.14548,0.0905 -0.26673,0.19904 -0.33947,0.34378 l 0,0 0,2.80441 -0.63041,0 0,-3.79952 0.43643,0 0.19398,0.5066 0,0 0,0 c 0.19399,-0.37995 0.53344,-0.56088 0.99413,-0.56088 l 0,0 0,0 c 0.7759,0 1.16385,0.50659 1.16385,1.5198 l 0,0 0,2.334 -0.63041,0 z" /> 20.259 + <path 20.260 + inkscape:connector-curvature="0" 20.261 + id="38" 20.262 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.263 + d="m 213.3105,532.19714 39.06189,0 0,0.45232 0,0.47042 -39.06189,0 0,-0.47042 0,-0.45232 z" /> 20.264 + <path 20.265 + inkscape:connector-curvature="0" 20.266 + id="39" 20.267 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.268 + d="m 252.37239,532.19714 0,0 c 0.12123,0 0.21822,0.0181 0.31522,0.0542 0.097,0.0362 0.16971,0.0905 0.21821,0.16285 0.0485,0.0723 0.097,0.14473 0.097,0.23519 l 0,0 0,0 -0.63042,0 0,-0.45231 z" /> 20.269 + <path 20.270 + inkscape:connector-curvature="0" 20.271 + id="40" 20.272 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.273 + d="m 253.00281,532.64946 0,23.24944 -0.63042,0 -0.60618,0 0,-23.24944 0.60618,0 0.63042,0 z" /> 20.274 + <path 20.275 + inkscape:connector-curvature="0" 20.276 + id="41" 20.277 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.278 + d="m 253.00281,555.8989 0,0 c 0,0.0905 -0.0485,0.16285 -0.097,0.23522 -0.0485,0.0723 -0.12123,0.12669 -0.21821,0.16285 -0.097,0.0362 -0.19399,0.0723 -0.31522,0.0723 l 0,0 0,-0.47044 0.63042,0 z" /> 20.279 + <path 20.280 + inkscape:connector-curvature="0" 20.281 + id="42" 20.282 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.283 + d="m 252.37239,556.36933 -39.06189,0 0,-0.47043 0,-0.45232 39.06189,0 0,0.45232 0,0.47043 z" /> 20.284 + <path 20.285 + inkscape:connector-curvature="0" 20.286 + id="43" 20.287 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.288 + d="m 213.3105,556.36933 0,0 c -0.12123,0 -0.21821,-0.0362 -0.31521,-0.0723 -0.097,-0.0362 -0.16974,-0.0905 -0.21822,-0.16285 -0.0485,-0.0723 -0.0727,-0.14473 -0.0727,-0.23521 l 0,0 0.60616,0 0,0.47043 z" /> 20.289 + <path 20.290 + inkscape:connector-curvature="0" 20.291 + id="44" 20.292 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.293 + d="m 212.70434,555.8989 0,-23.24944 0.60616,0 0.63044,0 0,23.24944 -0.63044,0 -0.60616,0 z" /> 20.294 + <path 20.295 + inkscape:connector-curvature="0" 20.296 + id="45" 20.297 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.298 + d="m 287.28804,542.49203 -0.58193,-3.32909 -1.04262,3.40147 -0.16973,0 -1.04261,-3.40147 -0.53344,3.32909 -0.63043,0 0.8729,-5.21078 0.31522,0 1.11534,3.79954 1.04263,-3.79954 0.29095,0 0.9699,5.21078 -0.60618,0 z" /> 20.299 + <path 20.300 + inkscape:connector-curvature="0" 20.301 + id="46" 20.302 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.303 + d="m 289.08232,540.48371 0,0 0,2.00832 -0.65467,0 0,-5.21078 0,0 0,0 c 0.48493,-0.0181 0.80015,-0.0362 0.89713,-0.0362 l 0,0 0,0 c 1.35783,0 2.061,0.5066 2.061,1.51979 l 0,0 0,0 c 0,1.15796 -0.63042,1.75502 -1.81853,1.75502 l 0,0 0,0 c -0.0727,0 -0.24247,-0.0181 -0.48493,-0.0362 z m 0,-2.55109 0,0 0,1.89974 0,0 0,0 c 0.26671,0.0362 0.4122,0.0362 0.43643,0.0362 l 0,0 0,0 c 0.77591,0 1.18811,-0.32567 1.18811,-1.01321 l 0,0 0,0 c 0,-0.65135 -0.43645,-0.95893 -1.26084,-0.95893 l 0,0 0,0 c -0.097,0 -0.21822,0 -0.3637,0.0362 z" /> 20.304 + <path 20.305 + inkscape:connector-curvature="0" 20.306 + id="47" 20.307 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.308 + d="m 292.25866,542.49203 0,-5.21078 0.65468,0 0,5.21078 -0.65468,0 z" /> 20.309 + <path 20.310 + inkscape:connector-curvature="0" 20.311 + id="48" 20.312 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.313 + d="m 295.53202,539.97712 1.11535,0 0,0.50659 -1.11535,0 0,1.23032 -0.48495,0 0,-1.23032 -1.11536,0 0,-0.50659 1.11536,0 0,-1.21224 0.48495,0 0,1.21224 z" /> 20.314 + <path 20.315 + inkscape:connector-curvature="0" 20.316 + id="49" 20.317 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.318 + d="m 298.15068,540.48371 0,0 0,2.00832 -0.65467,0 0,-5.21078 0,0 0,0 c 0.50919,-0.0181 0.80015,-0.0362 0.89715,-0.0362 l 0,0 0,0 c 1.40631,0 2.10948,0.5066 2.10948,1.51979 l 0,0 0,0 c 0,1.15796 -0.63042,1.75502 -1.86703,1.75502 l 0,0 0,0 c -0.0727,0 -0.21822,-0.0181 -0.48493,-0.0362 z m 0,-2.55109 0,0 0,1.89974 0,0 0,0 c 0.29096,0.0362 0.43645,0.0362 0.4607,0.0362 l 0,0 0,0 c 0.80015,0 1.21234,-0.32567 1.21234,-1.01321 l 0,0 0,0 c 0,-0.65135 -0.43644,-0.95893 -1.30934,-0.95893 l 0,0 0,0 c -0.0727,0 -0.19397,0 -0.3637,0.0362 z" /> 20.319 + <path 20.320 + inkscape:connector-curvature="0" 20.321 + id="50" 20.322 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.323 + d="m 284.03893,547.77517 0,0 0,1.99023 -0.65467,0 0,-5.19268 0,0 0,0 c 0.48495,-0.0181 0.75167,-0.0362 0.8729,-0.0362 l 0,0 0,0 c 1.35783,0 2.061,0.50661 2.061,1.51981 l 0,0 0,0 c 0,1.17605 -0.63042,1.75502 -1.81852,1.75502 l 0,0 0,0 c -0.0727,0 -0.24248,0 -0.46071,-0.0362 z m 0,-2.56919 0,0 0,1.93593 0,0 0,0 c 0.24248,0.0181 0.38797,0.0362 0.41222,0.0362 l 0,0 0,0 c 0.77589,0 1.18809,-0.34377 1.18809,-1.04941 l 0,0 0,0 c 0,-0.63323 -0.43645,-0.95892 -1.28509,-0.95892 l 0,0 0,0 c -0.0727,0 -0.19397,0.0181 -0.31522,0.0362 z" /> 20.324 + <path 20.325 + inkscape:connector-curvature="0" 20.326 + id="51" 20.327 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.328 + d="m 287.06982,548.71599 0,0 0,-4.30612 0.63042,0 0,4.17948 0,0 0,0 c 0,0.21713 0.0485,0.37995 0.14548,0.48851 l 0,0 0,0 c 0.12123,0.10858 0.26672,0.16283 0.43643,0.16283 l 0,0 0,0.59707 0,0 0,0 c -0.80015,0 -1.21233,-0.37995 -1.21233,-1.12177 z" /> 20.329 + <path 20.330 + inkscape:connector-curvature="0" 20.331 + id="52" 20.332 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.333 + d="m 289.5915,545.96588 0,0 0,2.44253 0,0 0,0 c 0,0.59707 0.21822,0.86847 0.67891,0.86847 l 0,0 0,0 c 0.19399,0 0.38795,-0.0723 0.55769,-0.18092 l 0,0 0,0 c 0.16971,-0.1267 0.29096,-0.2714 0.33945,-0.43424 l 0,0 0,-2.69584 0.60618,0 0,3.79952 -0.60618,0 0,-0.52471 0,0 0,0 c -0.0727,0.16285 -0.21822,0.2895 -0.43644,0.41614 l 0,0 0,0 c -0.19398,0.1267 -0.41221,0.18093 -0.60618,0.18093 l 0,0 0,0 c -0.3637,0 -0.65466,-0.10857 -0.84863,-0.34376 l 0,0 0,0 c -0.21823,-0.25331 -0.31523,-0.57897 -0.31523,-1.0132 l 0,0 0,-2.51492 0.63043,0 z" /> 20.334 + <path 20.335 + inkscape:connector-curvature="0" 20.336 + id="53" 20.337 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.338 + d="m 292.50114,550.81479 0,0 0.33945,-0.54279 0,0 0,0 c 0.3637,0.2714 0.70317,0.39804 0.99413,0.39804 l 0,0 0,0 c 0.29097,0 0.50918,-0.0542 0.67892,-0.16284 l 0,0 0,0 c 0.16973,-0.0905 0.24246,-0.2352 0.24246,-0.37993 l 0,0 0,0 c 0,-0.30759 -0.21821,-0.47044 -0.60616,-0.47044 l 0,0 0,0 c -0.0728,0 -0.21823,0.0181 -0.38797,0.0544 l 0,0 0,0 c -0.19396,0.0361 -0.33945,0.0542 -0.43643,0.0542 l 0,0 0,0 c -0.48495,0 -0.75166,-0.19902 -0.75166,-0.61517 l 0,0 0,0 c 0,-0.10857 0.0728,-0.21711 0.19398,-0.32567 l 0,0 0,0 c 0.12123,-0.0905 0.24246,-0.16284 0.43643,-0.2171 l 0,0 0,0 c -0.50918,-0.25332 -0.75165,-0.68754 -0.75165,-1.3027 l 0,0 0,0 c 0,-0.39805 0.12124,-0.74182 0.38795,-0.99513 l 0,0 0,0 c 0.24247,-0.27138 0.55768,-0.39802 0.94563,-0.39802 l 0,0 0,0 c 0.33947,0 0.60618,0.0723 0.80015,0.2171 l 0,0 0.31522,-0.39805 0.4122,0.41615 -0.38795,0.30758 0,0 0,0 c 0.16971,0.21712 0.24246,0.5247 0.24246,0.88656 l 0,0 0,0 c 0,0.37996 -0.097,0.70562 -0.3152,0.95893 l 0,0 0,0 c -0.24248,0.27138 -0.5092,0.41612 -0.87289,0.45231 l 0,0 -0.50919,0.0544 0,0 0,0 c -0.0727,0.0181 -0.14548,0.0361 -0.24248,0.0905 l 0,0 0,0 c -0.12123,0.0362 -0.16973,0.0905 -0.16973,0.16283 l 0,0 0,0 c 0,0.0723 0.12125,0.1267 0.31521,0.1267 l 0,0 0,0 c 0.097,0 0.24247,-0.0181 0.43645,-0.0544 l 0,0 0,0 c 0.21823,-0.0362 0.36372,-0.0362 0.4607,-0.0362 l 0,0 0,0 c 0.33945,0 0.60617,0.0723 0.80015,0.25329 l 0,0 0,0 c 0.19397,0.18094 0.29097,0.43424 0.29097,0.74182 l 0,0 0,0 c 0,0.36185 -0.14549,0.63326 -0.43645,0.85036 l 0,0 0,0 c -0.29097,0.21712 -0.65467,0.32567 -1.09112,0.32567 l 0,0 0,0 c -0.24246,0 -0.4607,-0.0362 -0.72741,-0.12669 l 0,0 0,0 c -0.24247,-0.0905 -0.43644,-0.19904 -0.60617,-0.32568 z m 1.33358,-4.3604 0,0 0,0 c -0.21823,0 -0.4122,0.0723 -0.53343,0.2352 l 0,0 0,0 c -0.14548,0.18093 -0.21823,0.37995 -0.21823,0.61517 l 0,0 0,0 c 0,0.27139 0.0727,0.48851 0.21823,0.66944 l 0,0 0,0 c 0.12123,0.16284 0.29097,0.25328 0.53343,0.25328 l 0,0 0,0 c 0.21822,0 0.38795,-0.0905 0.50918,-0.25328 l 0,0 0,0 c 0.12124,-0.16285 0.19399,-0.39805 0.19399,-0.66944 l 0,0 0,0 c 0,-0.23522 -0.0727,-0.43424 -0.21824,-0.61517 l 0,0 0,0 c -0.12123,-0.16283 -0.29095,-0.2352 -0.48493,-0.2352 z" /> 20.339 + <path 20.340 + inkscape:connector-curvature="0" 20.341 + id="54" 20.342 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.343 + d="m 296.62312,544.53653 0,0 0,0 c 0.097,0 0.19398,0.0362 0.26673,0.10857 l 0,0 0,0 c 0.0727,0.0905 0.12123,0.18093 0.12123,0.30758 l 0,0 0,0 c 0,0.10858 -0.0485,0.21712 -0.12123,0.2895 l 0,0 0,0 c -0.0728,0.0905 -0.16973,0.12669 -0.26673,0.12669 l 0,0 0,0 c -0.12124,0 -0.19397,-0.0362 -0.26672,-0.12669 l 0,0 0,0 c -0.097,-0.0723 -0.12122,-0.18093 -0.12122,-0.2895 l 0,0 0,0 c 0,-0.12669 0.0242,-0.21711 0.097,-0.30758 l 0,0 0,0 c 0.097,-0.0723 0.16971,-0.10857 0.29095,-0.10857 z m -0.33945,5.22887 0,0 0,-3.22055 -0.4607,0 0,-0.57897 1.06688,0 0,3.79952 -0.60618,0 z" /> 20.344 + <path 20.345 + inkscape:connector-curvature="0" 20.346 + id="55" 20.347 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.348 + d="m 300.04194,549.7654 0,0 0,-2.18925 0,0 0,0 c 0,-0.41614 -0.0485,-0.68752 -0.16972,-0.85037 l 0,0 0,0 c -0.12123,-0.16284 -0.29096,-0.2533 -0.55769,-0.2533 l 0,0 0,0 c -0.14547,0 -0.29095,0.0542 -0.46069,0.14473 l 0,0 0,0 c -0.14548,0.0905 -0.26671,0.19904 -0.33946,0.34378 l 0,0 0,2.80441 -0.63042,0 0,-3.79952 0.43645,0 0.19397,0.5066 0,0 0,0 c 0.19398,-0.37995 0.53345,-0.56088 0.99413,-0.56088 l 0,0 0,0 c 0.77591,0 1.16386,0.50659 1.16386,1.5198 l 0,0 0,2.334 -0.63043,0 z" /> 20.349 + <path 20.350 + inkscape:connector-curvature="0" 20.351 + id="56" 20.352 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.353 + d="m 272.01244,532.64946 0,0 c 0,-0.0905 0.0242,-0.16283 0.0727,-0.23519 0.0242,-0.0723 0.097,-0.1267 0.19398,-0.16285 0.097,-0.0362 0.19396,-0.0542 0.31521,-0.0542 l 0,0 0,0.45231 -0.58193,0 z" /> 20.354 + <path 20.355 + inkscape:connector-curvature="0" 20.356 + id="57" 20.357 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.358 + d="m 272.59437,532.19714 39.06188,0 0,0.45232 0,0.47042 -39.06188,0 0,-0.47042 0,-0.45232 z" /> 20.359 + <path 20.360 + inkscape:connector-curvature="0" 20.361 + id="58" 20.362 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.363 + d="m 311.65625,532.19714 0,0 c 0.12123,0 0.21823,0.0181 0.31521,0.0542 0.097,0.0362 0.16973,0.0905 0.21822,0.16285 0.0485,0.0723 0.097,0.14473 0.097,0.23519 l 0,0 0,0 -0.63043,0 0,-0.45231 z" /> 20.364 + <path 20.365 + inkscape:connector-curvature="0" 20.366 + id="59" 20.367 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.368 + d="m 312.28668,532.64946 0,23.24944 -0.63043,0 -0.60619,0 0,-23.24944 0.60619,0 0.63043,0 z" /> 20.369 + <path 20.370 + inkscape:connector-curvature="0" 20.371 + id="60" 20.372 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.373 + d="m 312.28668,555.8989 0,0 c 0,0.0905 -0.0485,0.16285 -0.097,0.23522 -0.0485,0.0723 -0.12124,0.12669 -0.21822,0.16285 -0.097,0.0362 -0.19398,0.0723 -0.31521,0.0723 l 0,0 0,-0.47044 0.63043,0 z" /> 20.374 + <path 20.375 + inkscape:connector-curvature="0" 20.376 + id="61" 20.377 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.378 + d="m 311.65625,556.36933 -39.06188,0 0,-0.47043 0,-0.45232 39.06188,0 0,0.45232 0,0.47043 z" /> 20.379 + <path 20.380 + inkscape:connector-curvature="0" 20.381 + id="62" 20.382 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.383 + d="m 272.59437,556.36933 0,0 c -0.12125,0 -0.21823,-0.0362 -0.31521,-0.0723 -0.097,-0.0362 -0.16973,-0.0905 -0.19398,-0.16285 -0.0485,-0.0723 -0.0727,-0.14473 -0.0727,-0.23521 l 0,0 0.58193,0 0,0.47043 z" /> 20.384 + <path 20.385 + inkscape:connector-curvature="0" 20.386 + id="63" 20.387 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.388 + d="m 272.01244,555.8989 0,-23.24944 0.58193,0 0.63042,0 0,23.24944 -0.63042,0 -0.58193,0 z" /> 20.389 + <path 20.390 + inkscape:connector-curvature="0" 20.391 + id="64" 20.392 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.393 + d="m 337.84298,542.56441 -2.47319,-3.79953 0,3.72715 -0.60617,0 0,-5.21078 0.26672,0 2.40044,3.60052 0,-3.60052 0.60618,0 0,5.28316 -0.19398,0 z" /> 20.394 + <path 20.395 + inkscape:connector-curvature="0" 20.396 + id="65" 20.397 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.398 + d="m 341.91649,540.64655 0,0 -2.5217,0 0,0 0,0 c 0,0.45231 0.097,0.79609 0.33947,1.03131 l 0,0 0,0 c 0.19397,0.2171 0.43643,0.30756 0.75165,0.30756 l 0,0 0,0 c 0.3637,0 0.65466,-0.10858 0.89713,-0.32566 l 0,0 0.26671,0.48851 0,0 0,0 c -0.097,0.0905 -0.24246,0.18093 -0.43643,0.27138 l 0,0 0,0 c -0.26673,0.0905 -0.53345,0.14476 -0.84865,0.14476 l 0,0 0,0 c -0.43644,0 -0.80014,-0.16285 -1.11536,-0.48851 l 0,0 0,0 c -0.33947,-0.36187 -0.5092,-0.85038 -0.5092,-1.44744 l 0,0 0,0 c 0,-0.63326 0.16973,-1.12177 0.53345,-1.50172 l 0,0 0,0 c 0.3152,-0.34377 0.67892,-0.50661 1.11536,-0.50661 l 0,0 0,0 c 0.48494,0 0.87289,0.14475 1.16385,0.45232 l 0,0 0,0 c 0.26672,0.30761 0.4122,0.66945 0.4122,1.15797 l 0,0 0,0 c 0,0.16282 -0.0242,0.28947 -0.0485,0.41613 z m -1.50332,-1.44745 0,0 0,0 c -0.29098,0 -0.50919,0.0905 -0.70316,0.2895 l 0,0 0,0 c -0.16973,0.18092 -0.29098,0.39804 -0.31522,0.66945 l 0,0 1.93977,0 0,0 0,0 c 0,-0.27141 -0.0727,-0.48853 -0.21824,-0.66945 l 0,0 0,0 c -0.16973,-0.19902 -0.4122,-0.2895 -0.70315,-0.2895 z" /> 20.399 + <path 20.400 + inkscape:connector-curvature="0" 20.401 + id="66" 20.402 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.403 + d="m 345.82024,542.56441 -0.14548,0 -1.04261,-2.60541 -0.99413,2.60541 -0.16974,0 -1.23659,-3.88999 0.65466,0 0.75167,2.49684 0.89713,-2.49684 0.16973,0 0.96988,2.49684 0.80015,-2.49684 0.60616,0 -1.26083,3.88999 z" /> 20.404 + <path 20.405 + inkscape:connector-curvature="0" 20.406 + id="67" 20.407 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.408 + d="m 347.61452,542.49203 0,-5.21078 0.65467,0 0,4.55943 2.15798,0 0,0.65135 -2.81265,0 z" /> 20.409 + <path 20.410 + inkscape:connector-curvature="0" 20.411 + id="68" 20.412 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.413 + d="m 352.92461,542.05781 0,0 0,0 c -0.24248,0.34375 -0.63041,0.5066 -1.13961,0.5066 l 0,0 0,0 c -0.29097,0 -0.50919,-0.10857 -0.72742,-0.32568 l 0,0 0,0 c -0.19396,-0.21712 -0.29095,-0.4885 -0.29095,-0.81419 l 0,0 0,0 c 0,-0.37994 0.14549,-0.70563 0.46068,-0.97701 l 0,0 0,0 c 0.31522,-0.27139 0.70317,-0.39804 1.1881,-0.39804 l 0,0 0,0 c 0.12123,0 0.29097,0.0181 0.43645,0.0905 l 0,0 0,0 c 0,-0.59707 -0.24247,-0.92274 -0.75165,-0.92274 l 0,0 0,0 c -0.38795,0 -0.67891,0.12669 -0.89715,0.34377 l 0,0 -0.26671,-0.5609 0,0 0,0 c 0.12123,-0.10857 0.29096,-0.19902 0.48495,-0.27138 l 0,0 0,0 c 0.21821,-0.0723 0.4122,-0.10858 0.60616,-0.10858 l 0,0 0,0 c 0.50918,0 0.8729,0.1267 1.11537,0.37995 l 0,0 0,0 c 0.21821,0.25331 0.33946,0.65134 0.33946,1.17606 l 0,0 0,1.37506 0,0 0,0 c 0,0.32565 0.097,0.56087 0.26672,0.66943 l 0,0 0,0.34378 0,0 0,0 c -0.24247,0 -0.43645,-0.0362 -0.55768,-0.1267 l 0,0 0,0 c -0.12124,-0.0723 -0.21822,-0.19902 -0.26672,-0.37993 z m -0.0727,-1.44744 0,0 0,0 c -0.19397,-0.0362 -0.31522,-0.0723 -0.4122,-0.0723 l 0,0 0,0 c -0.3152,0 -0.55768,0.0904 -0.75165,0.27138 l 0,0 0,0 c -0.19398,0.18093 -0.31521,0.37997 -0.31521,0.61516 l 0,0 0,0 c 0,0.39805 0.21823,0.59707 0.65466,0.59707 l 0,0 0,0 c 0.31522,0 0.58193,-0.16284 0.8244,-0.48851 l 0,-0.92274 z" /> 20.414 + <path 20.415 + inkscape:connector-curvature="0" 20.416 + id="69" 20.417 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.418 + d="m 356.5859,542.49203 0,0 0,-2.22544 0,0 0,0 c 0,-0.39803 -0.0485,-0.66943 -0.16973,-0.83227 l 0,0 0,0 c -0.097,-0.16282 -0.29096,-0.23522 -0.55768,-0.23522 l 0,0 0,0 c -0.12124,0 -0.26672,0.0362 -0.4122,0.1267 l 0,0 0,0 c -0.16974,0.0905 -0.29097,0.21711 -0.3637,0.34375 l 0,0 0,2.82251 -0.63042,0 0,-3.79953 0.43644,0 0.19398,0.48851 0,0 0,0 c 0.19396,-0.37995 0.53343,-0.56088 0.96988,-0.56088 l 0,0 0,0 c 0.7759,0 1.16385,0.50661 1.16385,1.50172 l 0,0 0,2.37018 -0.63042,0 z" /> 20.419 + <path 20.420 + inkscape:connector-curvature="0" 20.421 + id="70" 20.422 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.423 + d="m 357.96797,543.54142 0,0 0.33946,-0.5428 0,0 0,0 c 0.36371,0.25331 0.70317,0.39807 0.99413,0.39807 l 0,0 0,0 c 0.29097,0 0.50918,-0.0544 0.67891,-0.16285 l 0,0 0,0 c 0.16973,-0.10858 0.24248,-0.23522 0.24248,-0.39804 l 0,0 0,0 c 0,-0.30758 -0.21823,-0.47042 -0.60617,-0.47042 l 0,0 0,0 c -0.0727,0 -0.21823,0.0362 -0.38796,0.0723 l 0,0 0,0 c -0.19398,0.0362 -0.33946,0.0543 -0.43645,0.0543 l 0,0 0,0 c -0.48494,0 -0.75165,-0.21711 -0.75165,-0.61518 l 0,0 0,0 c 0,-0.12655 0.0727,-0.23519 0.19398,-0.34375 l 0,0 0,0 c 0.097,-0.10857 0.24246,-0.18093 0.43644,-0.21711 l 0,0 0,0 c -0.50919,-0.25329 -0.75165,-0.68753 -0.75165,-1.32079 l 0,0 0,0 c 0,-0.37995 0.12123,-0.70562 0.38794,-0.97701 l 0,0 0,0 c 0.24248,-0.2714 0.55769,-0.39805 0.94564,-0.39805 l 0,0 0,0 c 0.33946,0 0.60617,0.0723 0.80015,0.23521 l 0,0 0.31521,-0.41613 0.4122,0.41613 -0.38795,0.30759 0,0 0,0 c 0.16972,0.2352 0.24247,0.52469 0.24247,0.86846 l 0,0 0,0 c 0,0.37995 -0.097,0.70562 -0.31522,0.97702 l 0,0 0,0 c -0.24246,0.2533 -0.50919,0.41612 -0.87288,0.45232 l 0,0 -0.50919,0.0542 0,0 0,0 c -0.0727,0 -0.14549,0.0362 -0.26672,0.0723 l 0,0 0,0 c -0.097,0.0362 -0.14548,0.10858 -0.14548,0.18095 l 0,0 0,0 c 0,0.0905 0.12123,0.14473 0.31521,0.14473 l 0,0 0,0 c 0.097,0 0.24247,-0.0181 0.43645,-0.0542 l 0,0 0,0 c 0.21821,-0.0362 0.3637,-0.0544 0.46069,-0.0544 l 0,0 0,0 c 0.33946,0 0.60617,0.0723 0.80014,0.25333 l 0,0 0,0 c 0.19398,0.18091 0.29097,0.43422 0.29097,0.75988 l 0,0 0,0 c 0,0.34378 -0.14548,0.63326 -0.43644,0.85037 l 0,0 0,0 c -0.29097,0.21713 -0.65467,0.32569 -1.09112,0.32569 l 0,0 0,0 c -0.24247,0 -0.48494,-0.0544 -0.72741,-0.14475 l 0,0 0,0 c -0.24247,-0.0723 -0.46069,-0.18094 -0.60618,-0.30758 z m 1.33359,-4.37848 0,0 0,0 c -0.21822,0 -0.4122,0.0904 -0.53343,0.25329 l 0,0 0,0 c -0.14549,0.16285 -0.21822,0.34377 -0.21822,0.57897 l 0,0 0,0 c 0,0.27139 0.0727,0.48851 0.19397,0.66945 l 0,0 0,0 c 0.14548,0.18092 0.31521,0.2533 0.55768,0.2533 l 0,0 0,0 c 0.21822,0 0.38795,-0.0723 0.50918,-0.2533 l 0,0 0,0 c 0.12124,-0.16285 0.19398,-0.37995 0.19398,-0.66945 l 0,0 0,0 c 0,-0.2352 -0.0727,-0.41612 -0.21822,-0.57897 l 0,0 0,0 c -0.12124,-0.16284 -0.29097,-0.25329 -0.48494,-0.25329 z" /> 20.424 + <path 20.425 + inkscape:connector-curvature="0" 20.426 + id="71" 20.427 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.428 + d="m 362.96286,539.97712 1.1396,0 0,0.50659 -1.1396,0 0,1.23032 -0.46069,0 0,-1.23032 -1.09112,0 0,-0.50659 1.09112,0 0,-1.21224 0.46069,0 0,1.21224 z" /> 20.429 + <path 20.430 + inkscape:connector-curvature="0" 20.431 + id="72" 20.432 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.433 + d="m 365.63002,540.48371 0,0 0,2.00832 -0.65467,0 0,-5.21078 0,0 0,0 c 0.50919,-0.0181 0.80015,-0.0362 0.89714,-0.0362 l 0,0 0,0 c 1.40632,0 2.061,0.5066 2.061,1.51979 l 0,0 0,0 c 0,1.15796 -0.58193,1.75502 -1.81853,1.75502 l 0,0 0,0 c -0.0727,0 -0.21822,-0.0181 -0.48494,-0.0362 z m 0,-2.55109 0,0 0,1.89974 0,0 0,0 c 0.29096,0.0362 0.43645,0.0362 0.43645,0.0362 l 0,0 0,0 c 0.8244,0 1.23659,-0.32567 1.23659,-1.01321 l 0,0 0,0 c 0,-0.65135 -0.43644,-0.95893 -1.30933,-0.95893 l 0,0 0,0 c -0.097,0 -0.19398,0 -0.36371,0.0362 z" /> 20.434 + <path 20.435 + inkscape:connector-curvature="0" 20.436 + id="73" 20.437 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.438 + d="m 343.27432,547.77517 0,0 0,1.99023 -0.63043,0 0,-5.19268 0,0 0,0 c 0.48494,-0.0181 0.77589,-0.0362 0.87289,-0.0362 l 0,0 0,0 c 1.38207,0 2.08523,0.50661 2.08523,1.51981 l 0,0 0,0 c 0,1.17605 -0.63041,1.75502 -1.84276,1.75502 l 0,0 0,0 c -0.0727,0 -0.21823,0 -0.48493,-0.0362 z m 0,-2.56919 0,0 0,1.93593 0,0 0,0 c 0.29095,0.0181 0.43643,0.0362 0.46068,0.0362 l 0,0 0,0 c 0.7759,0 1.1881,-0.34377 1.1881,-1.04941 l 0,0 0,0 c 0,-0.63323 -0.43644,-0.95892 -1.28508,-0.95892 l 0,0 0,0 c -0.0727,0 -0.19399,0.0181 -0.3637,0.0362 z" /> 20.439 + <path 20.440 + inkscape:connector-curvature="0" 20.441 + id="74" 20.442 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.443 + d="m 346.35368,548.71599 0,0 0,-4.30612 0.60616,0 0,4.17948 0,0 0,0 c 0,0.21713 0.0728,0.37995 0.16973,0.48851 l 0,0 0,0 c 0.12124,0.10858 0.24249,0.16283 0.43645,0.16283 l 0,0 0,0.59707 0,0 0,0 c -0.82439,0 -1.21234,-0.37995 -1.21234,-1.12177 z" /> 20.444 + <path 20.445 + inkscape:connector-curvature="0" 20.446 + id="75" 20.447 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.448 + d="m 348.87537,545.96588 0,0 0,2.44253 0,0 0,0 c 0,0.59707 0.21822,0.86847 0.70315,0.86847 l 0,0 0,0 c 0.19398,0 0.36371,-0.0723 0.53345,-0.18092 l 0,0 0,0 c 0.16971,-0.1267 0.2667,-0.2714 0.33945,-0.43424 l 0,0 0,-2.69584 0.60616,0 0,3.79952 -0.60616,0 0,-0.52471 0,0 0,0 c -0.0727,0.16285 -0.21822,0.2895 -0.43645,0.41614 l 0,0 0,0 c -0.19399,0.1267 -0.38795,0.18093 -0.58192,0.18093 l 0,0 0,0 c -0.38796,0 -0.67891,-0.10857 -0.8729,-0.34376 l 0,0 0,0 c -0.21823,-0.25331 -0.31521,-0.57897 -0.31521,-1.0132 l 0,0 0,-2.51492 0.63043,0 z" /> 20.449 + <path 20.450 + inkscape:connector-curvature="0" 20.451 + id="76" 20.452 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.453 + d="m 351.785,550.81479 0,0 0.33946,-0.54279 0,0 0,0 c 0.3637,0.2714 0.70317,0.39804 0.99412,0.39804 l 0,0 0,0 c 0.29096,0 0.5092,-0.0542 0.67891,-0.16284 l 0,0 0,0 c 0.14548,-0.0905 0.24247,-0.2352 0.24247,-0.37993 l 0,0 0,0 c 0,-0.30759 -0.21822,-0.47044 -0.63042,-0.47044 l 0,0 0,0 c -0.0485,0 -0.19398,0.0181 -0.3637,0.0544 l 0,0 0,0 c -0.19398,0.0361 -0.33946,0.0542 -0.43645,0.0542 l 0,0 0,0 c -0.48493,0 -0.75166,-0.19902 -0.75166,-0.61517 l 0,0 0,0 c 0,-0.10857 0.0727,-0.21711 0.19398,-0.32567 l 0,0 0,0 c 0.097,-0.0905 0.24249,-0.16284 0.4122,-0.2171 l 0,0 0,0 c -0.48493,-0.25332 -0.72741,-0.68754 -0.72741,-1.3027 l 0,0 0,0 c 0,-0.39805 0.12123,-0.74182 0.38796,-0.99513 l 0,0 0,0 c 0.24247,-0.27138 0.55767,-0.39802 0.94563,-0.39802 l 0,0 0,0 c 0.33945,0 0.60617,0.0723 0.80015,0.2171 l 0,0 0.31522,-0.39805 0.41218,0.41615 -0.38795,0.30758 0,0 0,0 c 0.16973,0.21712 0.24248,0.5247 0.24248,0.88656 l 0,0 0,0 c 0,0.37996 -0.097,0.70562 -0.33946,0.95893 l 0,0 0,0 c -0.21824,0.27138 -0.50918,0.41612 -0.84865,0.45231 l 0,0 -0.50918,0.0544 0,0 0,0 c -0.0728,0.0181 -0.14549,0.0361 -0.26672,0.0905 l 0,0 0,0 c -0.097,0.0362 -0.14548,0.0905 -0.14548,0.16283 l 0,0 0,0 c 0,0.0723 0.097,0.1267 0.31521,0.1267 l 0,0 0,0 c 0.097,0 0.24247,-0.0181 0.43644,-0.0544 l 0,0 0,0 c 0.21823,-0.0362 0.36371,-0.0362 0.4607,-0.0362 l 0,0 0,0 c 0.33944,0 0.60618,0.0723 0.80014,0.25329 l 0,0 0,0 c 0.19399,0.18094 0.29097,0.43424 0.29097,0.74182 l 0,0 0,0 c 0,0.36185 -0.14548,0.63326 -0.43645,0.85036 l 0,0 0,0 c -0.29097,0.21712 -0.65466,0.32567 -1.09111,0.32567 l 0,0 0,0 c -0.24247,0 -0.48494,-0.0362 -0.7274,-0.12669 l 0,0 0,0 c -0.24247,-0.0905 -0.4607,-0.19904 -0.60618,-0.32568 z m 1.33358,-4.3604 0,0 0,0 c -0.21822,0 -0.4122,0.0723 -0.53344,0.2352 l 0,0 0,0 c -0.14548,0.18093 -0.21821,0.37995 -0.21821,0.61517 l 0,0 0,0 c 0,0.27139 0.0727,0.48851 0.19396,0.66944 l 0,0 0,0 c 0.14549,0.16284 0.31522,0.25328 0.55769,0.25328 l 0,0 0,0 c 0.21823,0 0.38796,-0.0905 0.5092,-0.25328 l 0,0 0,0 c 0.12123,-0.16285 0.19396,-0.39805 0.19396,-0.66944 l 0,0 0,0 c 0,-0.23522 -0.0727,-0.43424 -0.21821,-0.61517 l 0,0 0,0 c -0.12124,-0.16283 -0.29097,-0.2352 -0.48495,-0.2352 z" /> 20.454 + <path 20.455 + inkscape:connector-curvature="0" 20.456 + id="77" 20.457 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.458 + d="m 355.90699,544.53653 0,0 0,0 c 0.097,0 0.19396,0.0362 0.26671,0.10857 l 0,0 0,0 c 0.0727,0.0905 0.097,0.18093 0.097,0.30758 l 0,0 0,0 c 0,0.10858 -0.0242,0.21712 -0.097,0.2895 l 0,0 0,0 c -0.0727,0.0905 -0.16973,0.12669 -0.26671,0.12669 l 0,0 0,0 c -0.12124,0 -0.19397,-0.0362 -0.26672,-0.12669 l 0,0 0,0 c -0.0727,-0.0723 -0.097,-0.18093 -0.097,-0.2895 l 0,0 0,0 c 0,-0.12669 0.0242,-0.21711 0.097,-0.30758 l 0,0 0,0 c 0.0727,-0.0723 0.14548,-0.10857 0.26672,-0.10857 z m -0.33947,5.22887 0,0 0,-3.22055 -0.46068,0 0,-0.57897 1.06686,0 0,3.79952 -0.60618,0 z" /> 20.459 + <path 20.460 + inkscape:connector-curvature="0" 20.461 + id="78" 20.462 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.463 + d="m 359.3258,549.7654 0,0 0,-2.18925 0,0 0,0 c 0,-0.41614 -0.0727,-0.68752 -0.16972,-0.85037 l 0,0 0,0 c -0.12124,-0.16284 -0.31521,-0.2533 -0.55768,-0.2533 l 0,0 0,0 c -0.14549,0 -0.29097,0.0542 -0.4607,0.14473 l 0,0 0,0 c -0.14548,0.0905 -0.26671,0.19904 -0.3637,0.34378 l 0,0 0,2.80441 -0.60617,0 0,-3.79952 0.4122,0 0.19397,0.5066 0,0 0,0 c 0.21822,-0.37995 0.55768,-0.56088 1.01837,-0.56088 l 0,0 0,0 c 0.77591,0 1.13961,0.50659 1.13961,1.5198 l 0,0 0,2.334 -0.60618,0 z" /> 20.464 + <path 20.465 + inkscape:connector-curvature="0" 20.466 + id="79" 20.467 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.468 + d="m 331.27205,532.64946 0,0 c 0,-0.0905 0.0242,-0.16283 0.0728,-0.23519 0.0485,-0.0723 0.12123,-0.1267 0.21821,-0.16285 0.097,-0.0362 0.19399,-0.0542 0.29097,-0.0542 l 0,0 0,0.45231 -0.58193,0 z" /> 20.469 + <path 20.470 + inkscape:connector-curvature="0" 20.471 + id="80" 20.472 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.473 + d="m 331.85398,532.19714 39.06188,0 0,0.45232 0,0.47042 -39.06188,0 0,-0.47042 0,-0.45232 z" /> 20.474 + <path 20.475 + inkscape:connector-curvature="0" 20.476 + id="81" 20.477 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.478 + d="m 370.91586,532.19714 0,0 c 0.12123,0 0.21823,0.0181 0.31521,0.0542 0.097,0.0362 0.16973,0.0905 0.21823,0.16285 0.0485,0.0723 0.097,0.14473 0.097,0.23519 l 0,0 0,0 -0.63042,0 0,-0.45231 z" /> 20.479 + <path 20.480 + inkscape:connector-curvature="0" 20.481 + id="82" 20.482 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.483 + d="m 371.54628,532.64946 0,23.17707 -0.63042,0 -0.60617,0 0,-23.17707 0.60617,0 0.63042,0 z" /> 20.484 + <path 20.485 + inkscape:connector-curvature="0" 20.486 + id="83" 20.487 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.488 + d="m 371.54628,555.82653 0,0 c 0,0.0905 -0.0485,0.16285 -0.097,0.23522 -0.0485,0.0723 -0.12123,0.12669 -0.21823,0.16282 -0.097,0.0362 -0.19398,0.0723 -0.31521,0.0723 l 0,0 0,-0.47043 0.63042,0 z" /> 20.489 + <path 20.490 + inkscape:connector-curvature="0" 20.491 + id="84" 20.492 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.493 + d="m 370.91586,556.29697 -39.06188,0 0,-0.47044 0,-0.45233 39.06188,0 0,0.45233 0,0.47044 z" /> 20.494 + <path 20.495 + inkscape:connector-curvature="0" 20.496 + id="85" 20.497 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.498 + d="m 331.85398,556.29697 0,0 c -0.097,0 -0.19397,-0.0362 -0.29097,-0.0723 -0.097,-0.0362 -0.16971,-0.0905 -0.21821,-0.16283 -0.0485,-0.0723 -0.0728,-0.14476 -0.0728,-0.23521 l 0,0 0.58193,0 0,0.47043 z" /> 20.499 + <path 20.500 + inkscape:connector-curvature="0" 20.501 + id="86" 20.502 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.503 + d="m 331.27205,555.82653 0,-23.17707 0.58193,0 0.63041,0 0,23.17707 -0.63041,0 -0.58193,0 z" /> 20.504 + <path 20.505 + inkscape:connector-curvature="0" 20.506 + id="87" 20.507 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.508 + d="m 422.36795,539.83236 0,0 0,0 c 0,-0.74179 0.16973,-1.37506 0.50919,-1.88165 l 0,0 0,0 c 0.3637,-0.50662 0.82439,-0.75991 1.40632,-0.75991 l 0,0 0,0 c 0.67892,0 1.1881,0.23521 1.55181,0.70562 l 0,0 0,0 c 0.33946,0.47043 0.50919,1.12177 0.50919,1.93594 l 0,0 0,0 c 0,0.86846 -0.16973,1.53792 -0.53344,2.02642 l 0,0 0,0 c -0.33946,0.47042 -0.84864,0.72371 -1.52756,0.72371 l 0,0 0,0 c -0.58193,0 -1.06687,-0.25329 -1.40632,-0.778 l 0,0 0,0 c -0.33946,-0.50661 -0.50919,-1.15794 -0.50919,-1.97213 z m 0.67891,0 0,0 0,0 c 0,0.59708 0.12124,1.10368 0.33946,1.50172 l 0,0 0,0 c 0.21823,0.39804 0.50919,0.59706 0.89714,0.59706 l 0,0 0,0 c 0.46069,0 0.80015,-0.18091 1.04262,-0.54278 l 0,0 0,0 c 0.21823,-0.36186 0.33946,-0.88656 0.33946,-1.556 l 0,0 0,0 c 0,-1.32077 -0.46069,-1.99021 -1.38208,-1.99021 l 0,0 0,0 c -0.38795,0 -0.70316,0.18092 -0.92139,0.54278 l 0,0 0,0 c -0.19397,0.36186 -0.31521,0.85037 -0.31521,1.44743 z" /> 20.509 + <path 20.510 + inkscape:connector-curvature="0" 20.511 + id="88" 20.512 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.513 + d="m 427.65379,542.27492 0,0 0,1.71883 -0.60617,0 0,-5.30125 0.60617,0 0,0.30758 0,0 0,0 c 0.24247,-0.25329 0.53344,-0.37995 0.84864,-0.37995 l 0,0 0,0 c 0.50919,0 0.89715,0.16284 1.16386,0.50661 l 0,0 0,0 c 0.29097,0.34376 0.4122,0.81418 0.4122,1.46555 l 0,0 0,0 c 0,0.57897 -0.12123,1.04937 -0.4122,1.41123 l 0,0 0,0 c -0.26671,0.37996 -0.67892,0.56089 -1.21235,0.56089 l 0,0 0,0 c -0.14548,0 -0.29096,-0.0362 -0.46069,-0.0904 l 0,0 0,0 c -0.16973,-0.0542 -0.29096,-0.1267 -0.33946,-0.19901 z m 0,-2.76823 0,0 0,2.20734 0,0 0,0 c 0.0485,0.0723 0.12123,0.1267 0.24247,0.19902 l 0,0 0,0 c 0.14548,0.0544 0.26672,0.0723 0.38795,0.0723 l 0,0 0,0 c 0.75166,0 1.13961,-0.47041 1.13961,-1.41123 l 0,0 0,0 c 0,-0.48853 -0.0727,-0.83228 -0.26672,-1.04939 l 0,0 0,0 c -0.19397,-0.21713 -0.48494,-0.32569 -0.87289,-0.32569 l 0,0 0,0 c -0.097,0 -0.19397,0.0181 -0.31521,0.0905 l 0,0 0,0 c -0.14548,0.0723 -0.24247,0.14475 -0.31521,0.21712 z" /> 20.514 + <path 20.515 + inkscape:connector-curvature="0" 20.516 + id="89" 20.517 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.518 + d="m 433.69129,540.64655 0,0 -2.49744,0 0,0 0,0 c 0,0.45231 0.097,0.79609 0.33946,1.03131 l 0,0 0,0 c 0.19397,0.2171 0.43645,0.30756 0.75166,0.30756 l 0,0 0,0 c 0.3637,0 0.65466,-0.10858 0.89714,-0.32566 l 0,0 0.24246,0.48851 0,0 0,0 c -0.0727,0.0905 -0.21822,0.18093 -0.41219,0.27138 l 0,0 0,0 c -0.26672,0.0905 -0.53344,0.14476 -0.84865,0.14476 l 0,0 0,0 c -0.43645,0 -0.80015,-0.16285 -1.11536,-0.48851 l 0,0 0,0 c -0.33946,-0.36187 -0.50919,-0.85038 -0.50919,-1.44744 l 0,0 0,0 c 0,-0.63326 0.16973,-1.12177 0.53343,-1.50172 l 0,0 0,0 c 0.31521,-0.34377 0.67892,-0.50661 1.11537,-0.50661 l 0,0 0,0 c 0.48494,0 0.87289,0.14475 1.16385,0.45232 l 0,0 0,0 c 0.24247,0.30761 0.38795,0.66945 0.38795,1.15797 l 0,0 0,0 c 0,0.16282 -0.0242,0.28947 -0.0485,0.41613 z m -1.47907,-1.44745 0,0 0,0 c -0.29096,0 -0.50919,0.0905 -0.70316,0.2895 l 0,0 0,0 c -0.16973,0.18092 -0.29096,0.39804 -0.31521,0.66945 l 0,0 1.93976,0 0,0 0,0 c 0,-0.27141 -0.0727,-0.48853 -0.21823,-0.66945 l 0,0 0,0 c -0.16972,-0.19902 -0.41219,-0.2895 -0.70316,-0.2895 z" /> 20.519 + <path 20.520 + inkscape:connector-curvature="0" 20.521 + id="90" 20.522 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.523 + d="m 436.55243,542.49203 0,0 0,-2.22544 0,0 0,0 c 0,-0.39803 -0.0727,-0.66943 -0.16972,-0.83227 l 0,0 0,0 c -0.12124,-0.16282 -0.31521,-0.23522 -0.55769,-0.23522 l 0,0 0,0 c -0.14548,0 -0.29096,0.0362 -0.46069,0.1267 l 0,0 0,0 c -0.14548,0.0905 -0.26672,0.21711 -0.3637,0.34375 l 0,0 0,2.82251 -0.60617,0 0,-3.79953 0.41219,0 0.19398,0.48851 0,0 0,0 c 0.21822,-0.37995 0.55768,-0.56088 1.01837,-0.56088 l 0,0 0,0 c 0.7759,0 1.13961,0.50661 1.13961,1.50172 l 0,0 0,2.37018 -0.60618,0 z" /> 20.524 + <path 20.525 + inkscape:connector-curvature="0" 20.526 + id="91" 20.527 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.528 + d="m 441.66855,542.49203 -0.58193,-3.32909 -1.04262,3.40147 -0.16973,0 -1.01838,-3.40147 -0.55767,3.32909 -0.63043,0 0.89714,-5.21078 0.31521,0 1.09112,3.79954 1.04262,-3.79954 0.29096,0 0.96988,5.21078 -0.60617,0 z" /> 20.529 + <path 20.530 + inkscape:connector-curvature="0" 20.531 + id="92" 20.532 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.533 + d="m 443.46282,540.48371 0,0 0,2.00832 -0.65467,0 0,-5.21078 0,0 0,0 c 0.48494,-0.0181 0.80015,-0.0362 0.89714,-0.0362 l 0,0 0,0 c 1.38208,0 2.061,0.5066 2.061,1.51979 l 0,0 0,0 c 0,1.15796 -0.58193,1.75502 -1.81853,1.75502 l 0,0 0,0 c -0.0727,0 -0.24247,-0.0181 -0.48494,-0.0362 z m 0,-2.55109 0,0 0,1.89974 0,0 0,0 c 0.26672,0.0362 0.4122,0.0362 0.43645,0.0362 l 0,0 0,0 c 0.80015,0 1.21234,-0.32567 1.21234,-1.01321 l 0,0 0,0 c 0,-0.65135 -0.43644,-0.95893 -1.28508,-0.95893 l 0,0 0,0 c -0.097,0 -0.21823,0 -0.36371,0.0362 z" /> 20.534 + <path 20.535 + inkscape:connector-curvature="0" 20.536 + id="93" 20.537 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.538 + d="m 448.02125,539.97712 1.13962,0 0,0.50659 -1.13962,0 0,1.23032 -0.46069,0 0,-1.23032 -1.1396,0 0,-0.50659 1.1396,0 0,-1.21224 0.46069,0 0,1.21224 z" /> 20.539 + <path 20.540 + inkscape:connector-curvature="0" 20.541 + id="94" 20.542 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.543 + d="m 450.68843,540.48371 0,0 0,2.00832 -0.65468,0 0,-5.21078 0,0 0,0 c 0.50919,-0.0181 0.80015,-0.0362 0.89714,-0.0362 l 0,0 0,0 c 1.38208,0 2.06099,0.5066 2.06099,1.51979 l 0,0 0,0 c 0,1.15796 -0.60617,1.75502 -1.81852,1.75502 l 0,0 0,0 c -0.0727,0 -0.21822,-0.0181 -0.48493,-0.0362 z m 0,-2.55109 0,0 0,1.89974 0,0 0,0 c 0.29096,0.0362 0.43644,0.0362 0.43644,0.0362 l 0,0 0,0 c 0.80014,0 1.21235,-0.32567 1.21235,-1.01321 l 0,0 0,0 c 0,-0.65135 -0.43645,-0.95893 -1.2851,-0.95893 l 0,0 0,0 c -0.097,0 -0.19397,0 -0.36369,0.0362 z" /> 20.544 + <path 20.545 + inkscape:connector-curvature="0" 20.546 + id="95" 20.547 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.548 + d="m 429.71478,547.77517 0,0 0,1.99023 -0.65466,0 0,-5.19268 0,0 0,0 c 0.50918,-0.0181 0.80014,-0.0362 0.89714,-0.0362 l 0,0 0,0 c 1.40632,0 2.08523,0.50661 2.08523,1.51981 l 0,0 0,0 c 0,1.17605 -0.60617,1.75502 -1.84277,1.75502 l 0,0 0,0 c -0.0727,0 -0.24246,0 -0.48494,-0.0362 z m 0,-2.56919 0,0 0,1.93593 0,0 0,0 c 0.29097,0.0181 0.43645,0.0362 0.43645,0.0362 l 0,0 0,0 c 0.8244,0 1.23659,-0.34377 1.23659,-1.04941 l 0,0 0,0 c 0,-0.63323 -0.43644,-0.95892 -1.30933,-0.95892 l 0,0 0,0 c -0.097,0 -0.21823,0.0181 -0.36371,0.0362 z" /> 20.549 + <path 20.550 + inkscape:connector-curvature="0" 20.551 + id="96" 20.552 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.553 + d="m 432.8184,548.71599 0,0 0,-4.30612 0.58192,0 0,4.17948 0,0 0,0 c 0,0.21713 0.0485,0.37995 0.16973,0.48851 l 0,0 0,0 c 0.097,0.10858 0.24247,0.16283 0.4122,0.16283 l 0,0 0,0.59707 0,0 0,0 c -0.7759,0 -1.16385,-0.37995 -1.16385,-1.12177 z" /> 20.554 + <path 20.555 + inkscape:connector-curvature="0" 20.556 + id="97" 20.557 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.558 + d="m 435.29159,545.96588 0,0 0,2.44253 0,0 0,0 c 0,0.59707 0.24247,0.86847 0.70316,0.86847 l 0,0 0,0 c 0.21823,0 0.4122,-0.0723 0.58193,-0.18092 l 0,0 0,0 c 0.16973,-0.1267 0.26672,-0.2714 0.31521,-0.43424 l 0,0 0,-2.69584 0.63042,0 0,3.79952 -0.63042,0 0,-0.52471 0,0 0,0 c -0.0485,0.16285 -0.19398,0.2895 -0.4122,0.41614 l 0,0 0,0 c -0.21822,0.1267 -0.41219,0.18093 -0.60617,0.18093 l 0,0 0,0 c -0.38795,0 -0.67892,-0.10857 -0.89714,-0.34376 l 0,0 0,0 c -0.19398,-0.25331 -0.29096,-0.57897 -0.29096,-1.0132 l 0,0 0,-2.51492 0.60617,0 z" /> 20.559 + <path 20.560 + inkscape:connector-curvature="0" 20.561 + id="98" 20.562 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.563 + d="m 438.24972,550.81479 0,0 0.33946,-0.54279 0,0 0,0 c 0.36371,0.2714 0.65467,0.39804 0.94563,0.39804 l 0,0 0,0 c 0.29097,0 0.50919,-0.0542 0.67891,-0.16284 l 0,0 0,0 c 0.14549,-0.0905 0.24248,-0.2352 0.24248,-0.37993 l 0,0 0,0 c 0,-0.30759 -0.21823,-0.47044 -0.63042,-0.47044 l 0,0 0,0 c -0.0727,0 -0.19398,0.0181 -0.36371,0.0544 l 0,0 0,0 c -0.16973,0.0361 -0.31521,0.0542 -0.4122,0.0542 l 0,0 0,0 c -0.48494,0 -0.72741,-0.19902 -0.72741,-0.61517 l 0,0 0,0 c 0,-0.10857 0.0727,-0.21711 0.16973,-0.32567 l 0,0 0,0 c 0.12124,-0.0905 0.26672,-0.16284 0.43645,-0.2171 l 0,0 0,0 c -0.48494,-0.25332 -0.72741,-0.68754 -0.72741,-1.3027 l 0,0 0,0 c 0,-0.39805 0.12123,-0.74182 0.38795,-0.99513 l 0,0 0,0 c 0.24247,-0.27138 0.53344,-0.39802 0.89714,-0.39802 l 0,0 0,0 c 0.33946,0 0.60617,0.0723 0.80015,0.2171 l 0,0 0.31521,-0.39805 0.38795,0.41615 -0.3637,0.30758 0,0 0,0 c 0.16973,0.21712 0.24246,0.5247 0.24246,0.88656 l 0,0 0,0 c 0,0.37996 -0.12123,0.70562 -0.33946,0.95893 l 0,0 0,0 c -0.21821,0.27138 -0.50918,0.41612 -0.87288,0.45231 l 0,0 -0.48495,0.0544 0,0 0,0 c -0.0485,0.0181 -0.14548,0.0361 -0.21821,0.0905 l 0,0 0,0 c -0.097,0.0362 -0.14548,0.0905 -0.14548,0.16283 l 0,0 0,0 c 0,0.0723 0.097,0.1267 0.29096,0.1267 l 0,0 0,0 c 0.097,0 0.24246,-0.0181 0.41219,-0.0544 l 0,0 0,0 c 0.19398,-0.0362 0.33946,-0.0362 0.43645,-0.0362 l 0,0 0,0 c 0.36371,0 0.63042,0.0723 0.8244,0.25329 l 0,0 0,0 c 0.19397,0.18094 0.29096,0.43424 0.29096,0.74182 l 0,0 0,0 c 0,0.36185 -0.14548,0.63326 -0.43644,0.85036 l 0,0 0,0 c -0.29096,0.21712 -0.65467,0.32567 -1.11537,0.32567 l 0,0 0,0 c -0.19397,0 -0.43644,-0.0362 -0.65467,-0.12669 l 0,0 0,0 c -0.24246,-0.0905 -0.46069,-0.19904 -0.60617,-0.32568 z m 1.26084,-4.3604 0,0 0,0 c -0.19397,0 -0.3637,0.0723 -0.50919,0.2352 l 0,0 0,0 c -0.097,0.18093 -0.16972,0.37995 -0.16972,0.61517 l 0,0 0,0 c 0,0.27139 0.0727,0.48851 0.16972,0.66944 l 0,0 0,0 c 0.14549,0.16284 0.31522,0.25328 0.50919,0.25328 l 0,0 0,0 c 0.21823,0 0.38795,-0.0905 0.53344,-0.25328 l 0,0 0,0 c 0.12124,-0.16285 0.16972,-0.39805 0.16972,-0.66944 l 0,0 0,0 c 0,-0.23522 -0.0727,-0.43424 -0.19397,-0.61517 l 0,0 0,0 c -0.14548,-0.16283 -0.29096,-0.2352 -0.50919,-0.2352 z" /> 20.564 + <path 20.565 + inkscape:connector-curvature="0" 20.566 + id="99" 20.567 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.568 + d="m 442.32322,544.53653 0,0 0,0 c 0.12123,0 0.19397,0.0362 0.29096,0.10857 l 0,0 0,0 c 0.0727,0.0905 0.097,0.18093 0.097,0.30758 l 0,0 0,0 c 0,0.10858 -0.0242,0.21712 -0.097,0.2895 l 0,0 0,0 c -0.097,0.0905 -0.16973,0.12669 -0.29096,0.12669 l 0,0 0,0 c -0.097,0 -0.19398,-0.0362 -0.26673,-0.12669 l 0,0 0,0 c -0.0727,-0.0723 -0.12123,-0.18093 -0.12123,-0.2895 l 0,0 0,0 c 0,-0.12669 0.0485,-0.21711 0.12123,-0.30758 l 0,0 0,0 c 0.0727,-0.0723 0.16973,-0.10857 0.26673,-0.10857 z m -0.33946,5.22887 0,0 0,-3.22055 -0.48494,0 0,-0.57897 1.11536,0 0,3.79952 -0.63042,0 z" /> 20.569 + <path 20.570 + inkscape:connector-curvature="0" 20.571 + id="100" 20.572 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.573 + d="m 445.74204,549.7654 0,0 0,-2.18925 0,0 0,0 c 0,-0.41614 -0.0727,-0.68752 -0.16973,-0.85037 l 0,0 0,0 c -0.12124,-0.16284 -0.29097,-0.2533 -0.55768,-0.2533 l 0,0 0,0 c -0.14548,0 -0.29096,0.0542 -0.43644,0.14473 l 0,0 0,0 c -0.14549,0.0905 -0.26673,0.19904 -0.36371,0.34378 l 0,0 0,2.80441 -0.60618,0 0,-3.79952 0.4122,0 0.19398,0.5066 0,0 0,0 c 0.21822,-0.37995 0.55767,-0.56088 1.01837,-0.56088 l 0,0 0,0 c 0.72741,0 1.11536,0.50659 1.11536,1.5198 l 0,0 0,2.334 -0.60617,0 z" /> 20.574 + <path 20.575 + inkscape:connector-curvature="0" 20.576 + id="101" 20.577 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.578 + d="m 417.71253,532.64946 0,0 c 0,-0.0905 0.0242,-0.16283 0.0727,-0.23519 0.0485,-0.0723 0.12124,-0.1267 0.21823,-0.16285 0.097,-0.0362 0.19397,-0.0542 0.3152,-0.0542 l 0,0 0,0.45231 -0.60617,0 z" /> 20.579 + <path 20.580 + inkscape:connector-curvature="0" 20.581 + id="102" 20.582 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.583 + d="m 418.3187,532.19714 39.0134,0 0,0.45232 0,0.47042 -39.0134,0 0,-0.47042 0,-0.45232 z" /> 20.584 + <path 20.585 + inkscape:connector-curvature="0" 20.586 + id="103" 20.587 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.588 + d="m 457.3321,532.19714 0,0 c 0.12123,0 0.21821,0.0181 0.31521,0.0542 0.097,0.0362 0.16973,0.0905 0.21821,0.16285 0.0485,0.0723 0.097,0.14473 0.097,0.23519 l 0,0 0,0 -0.63042,0 0,-0.45231 z" /> 20.589 + <path 20.590 + inkscape:connector-curvature="0" 20.591 + id="104" 20.592 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.593 + d="m 457.96252,532.64946 0,23.24944 -0.63042,0 -0.58193,0 0,-23.24944 0.58193,0 0.63042,0 z" /> 20.594 + <path 20.595 + inkscape:connector-curvature="0" 20.596 + id="105" 20.597 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.598 + d="m 457.96252,555.8989 0,0 c 0,0.0905 -0.0485,0.16285 -0.097,0.23522 -0.0485,0.0723 -0.12123,0.12669 -0.21821,0.16285 -0.097,0.0362 -0.19398,0.0723 -0.31521,0.0723 l 0,0 0,-0.47044 0.63042,0 z" /> 20.599 + <path 20.600 + inkscape:connector-curvature="0" 20.601 + id="106" 20.602 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.603 + d="m 457.3321,556.36933 -39.0134,0 0,-0.47043 0,-0.45232 39.0134,0 0,0.45232 0,0.47043 z" /> 20.604 + <path 20.605 + inkscape:connector-curvature="0" 20.606 + id="107" 20.607 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.608 + d="m 418.3187,556.36933 0,0 c -0.12123,0 -0.21822,-0.0362 -0.3152,-0.0723 -0.097,-0.0362 -0.16973,-0.0905 -0.21823,-0.16285 -0.0485,-0.0723 -0.0727,-0.14473 -0.0727,-0.23521 l 0,0 0.60617,0 0,0.47043 z" /> 20.609 + <path 20.610 + inkscape:connector-curvature="0" 20.611 + id="108" 20.612 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.613 + d="m 417.71253,555.8989 0,-23.24944 0.60617,0 0.63042,0 0,23.24944 -0.63042,0 -0.60617,0 z" /> 20.614 + <path 20.615 + inkscape:connector-curvature="0" 20.616 + id="109" 20.617 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.618 + d="m 492.27199,542.49203 -0.55768,-3.32909 -1.04262,3.40147 -0.16973,0 -1.09111,-3.40147 -0.53344,3.32909 -0.63042,0 0.89714,-5.21078 0.29097,0 1.1396,3.79954 1.06687,-3.79954 0.29096,0 0.96988,5.21078 -0.63042,0 z" /> 20.619 + <path 20.620 + inkscape:connector-curvature="0" 20.621 + id="110" 20.622 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.623 + d="m 494.04201,540.48371 0,0 0,2.00832 -0.65466,0 0,-5.21078 0,0 0,0 c 0.50918,-0.0181 0.80015,-0.0362 0.89714,-0.0362 l 0,0 0,0 c 1.40632,0 2.08524,0.5066 2.08524,1.51979 l 0,0 0,0 c 0,1.15796 -0.60618,1.75502 -1.84277,1.75502 l 0,0 0,0 c -0.0727,0 -0.21822,-0.0181 -0.48495,-0.0362 z m 0,-2.55109 0,0 0,1.89974 0,0 0,0 c 0.29097,0.0362 0.43645,0.0362 0.43645,0.0362 l 0,0 0,0 c 0.8244,0 1.2366,-0.32567 1.2366,-1.01321 l 0,0 0,0 c 0,-0.65135 -0.43645,-0.95893 -1.30934,-0.95893 l 0,0 0,0 c -0.097,0 -0.19398,0 -0.36371,0.0362 z" /> 20.624 + <path 20.625 + inkscape:connector-curvature="0" 20.626 + id="111" 20.627 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.628 + d="m 497.24262,542.49203 0,-5.21078 0.65467,0 0,5.21078 -0.65467,0 z" /> 20.629 + <path 20.630 + inkscape:connector-curvature="0" 20.631 + id="112" 20.632 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.633 + d="m 500.49172,539.97712 1.1396,0 0,0.50659 -1.1396,0 0,1.23032 -0.4607,0 0,-1.23032 -1.11536,0 0,-0.50659 1.11536,0 0,-1.21224 0.4607,0 0,1.21224 z" /> 20.634 + <path 20.635 + inkscape:connector-curvature="0" 20.636 + id="113" 20.637 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.638 + d="m 503.15888,540.48371 0,0 0,2.00832 -0.65466,0 0,-5.21078 0,0 0,0 c 0.48493,-0.0181 0.80014,-0.0362 0.89713,-0.0362 l 0,0 0,0 c 1.38208,0 2.06099,0.5066 2.06099,1.51979 l 0,0 0,0 c 0,1.15796 -0.58192,1.75502 -1.81852,1.75502 l 0,0 0,0 c -0.0727,0 -0.24247,-0.0181 -0.48494,-0.0362 z m 0,-2.55109 0,0 0,1.89974 0,0 0,0 c 0.26672,0.0362 0.4122,0.0362 0.43644,0.0362 l 0,0 0,0 c 0.80016,0 1.21235,-0.32567 1.21235,-1.01321 l 0,0 0,0 c 0,-0.65135 -0.43644,-0.95893 -1.28508,-0.95893 l 0,0 0,0 c -0.097,0 -0.21823,0 -0.36371,0.0362 z" /> 20.639 + <path 20.640 + inkscape:connector-curvature="0" 20.641 + id="114" 20.642 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.643 + d="m 488.9744,547.77517 0,0 0,1.99023 -0.65467,0 0,-5.19268 0,0 0,0 c 0.50919,-0.0181 0.80015,-0.0362 0.89714,-0.0362 l 0,0 0,0 c 1.38208,0 2.08524,0.50661 2.08524,1.51981 l 0,0 0,0 c 0,1.17605 -0.60618,1.75502 -1.84278,1.75502 l 0,0 0,0 c -0.0727,0 -0.24246,0 -0.48493,-0.0362 z m 0,-2.56919 0,0 0,1.93593 0,0 0,0 c 0.29097,0.0181 0.43645,0.0362 0.43645,0.0362 l 0,0 0,0 c 0.82439,0 1.21235,-0.34377 1.21235,-1.04941 l 0,0 0,0 c 0,-0.63323 -0.41221,-0.95892 -1.2851,-0.95892 l 0,0 0,0 c -0.097,0 -0.21822,0.0181 -0.3637,0.0362 z" /> 20.644 + <path 20.645 + inkscape:connector-curvature="0" 20.646 + id="115" 20.647 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.648 + d="m 492.05376,548.71599 0,0 0,-4.30612 0.63042,0 0,4.17948 0,0 0,0 c 0,0.21713 0.0485,0.37995 0.16973,0.48851 l 0,0 0,0 c 0.097,0.10858 0.24248,0.16283 0.38796,0.16283 l 0,0 0,0.59707 0,0 0,0 c -0.7759,0 -1.18811,-0.37995 -1.18811,-1.12177 z" /> 20.649 + <path 20.650 + inkscape:connector-curvature="0" 20.651 + id="116" 20.652 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.653 + d="m 494.5512,545.96588 0,0 0,2.44253 0,0 0,0 c 0,0.59707 0.24247,0.86847 0.70316,0.86847 l 0,0 0,0 c 0.21823,0 0.38796,-0.0723 0.55769,-0.18092 l 0,0 0,0 c 0.16973,-0.1267 0.29096,-0.2714 0.33946,-0.43424 l 0,0 0,-2.69584 0.63041,0 0,3.79952 -0.63041,0 0,-0.52471 0,0 0,0 c -0.0727,0.16285 -0.19398,0.2895 -0.4122,0.41614 l 0,0 0,0 c -0.21823,0.1267 -0.4122,0.18093 -0.60618,0.18093 l 0,0 0,0 c -0.38795,0 -0.67891,-0.10857 -0.89714,-0.34376 l 0,0 0,0 c -0.19398,-0.25331 -0.29096,-0.57897 -0.29096,-1.0132 l 0,0 0,-2.51492 0.60617,0 z" /> 20.654 + <path 20.655 + inkscape:connector-curvature="0" 20.656 + id="117" 20.657 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.658 + d="m 497.50934,550.81479 0,0 0.33945,-0.54279 0,0 0,0 c 0.36371,0.2714 0.67892,0.39804 0.99413,0.39804 l 0,0 0,0 c 0.26672,0 0.48494,-0.0542 0.63043,-0.16284 l 0,0 0,0 c 0.16972,-0.0905 0.24246,-0.2352 0.24246,-0.37993 l 0,0 0,0 c 0,-0.30759 -0.19398,-0.47044 -0.60617,-0.47044 l 0,0 0,0 c -0.0485,0 -0.16973,0.0181 -0.36371,0.0544 l 0,0 0,0 c -0.16973,0.0361 -0.31521,0.0542 -0.4122,0.0542 l 0,0 0,0 c -0.50919,0 -0.75165,-0.19902 -0.75165,-0.61517 l 0,0 0,0 c 0,-0.10857 0.0485,-0.21711 0.16973,-0.32567 l 0,0 0,0 c 0.12123,-0.0905 0.26671,-0.16284 0.43644,-0.2171 l 0,0 0,0 c -0.48494,-0.25332 -0.72741,-0.68754 -0.72741,-1.3027 l 0,0 0,0 c 0,-0.39805 0.12124,-0.74182 0.3637,-0.99513 l 0,0 0,0 c 0.26673,-0.27138 0.58194,-0.39802 0.94564,-0.39802 l 0,0 0,0 c 0.33946,0 0.60617,0.0723 0.80015,0.2171 l 0,0 0.31521,-0.39805 0.38795,0.41615 -0.3637,0.30758 0,0 0,0 c 0.14548,0.21712 0.24247,0.5247 0.24247,0.88656 l 0,0 0,0 c 0,0.37996 -0.12124,0.70562 -0.33946,0.95893 l 0,0 0,0 c -0.21822,0.27138 -0.50918,0.41612 -0.84864,0.45231 l 0,0 -0.50919,0.0544 0,0 0,0 c -0.0485,0.0181 -0.14549,0.0361 -0.24247,0.0905 l 0,0 0,0 c -0.097,0.0362 -0.14548,0.0905 -0.14548,0.16283 l 0,0 0,0 c 0,0.0723 0.097,0.1267 0.31521,0.1267 l 0,0 0,0 c 0.097,0 0.24247,-0.0181 0.43644,-0.0544 l 0,0 0,0 c 0.19398,-0.0362 0.31522,-0.0362 0.4122,-0.0362 l 0,0 0,0 c 0.33946,0 0.63042,0.0723 0.80015,0.25329 l 0,0 0,0 c 0.19398,0.18094 0.29097,0.43424 0.29097,0.74182 l 0,0 0,0 c 0,0.36185 -0.14549,0.63326 -0.4122,0.85036 l 0,0 0,0 c -0.29096,0.21712 -0.65467,0.32567 -1.09112,0.32567 l 0,0 0,0 c -0.21822,0 -0.46069,-0.0362 -0.70315,-0.12669 l 0,0 0,0 c -0.26673,-0.0905 -0.4607,-0.19904 -0.60618,-0.32568 z m 1.30933,-4.3604 0,0 0,0 c -0.21822,0 -0.38795,0.0723 -0.53343,0.2352 l 0,0 0,0 c -0.12124,0.18093 -0.19397,0.37995 -0.19397,0.61517 l 0,0 0,0 c 0,0.27139 0.0727,0.48851 0.19397,0.66944 l 0,0 0,0 c 0.14548,0.16284 0.31521,0.25328 0.53343,0.25328 l 0,0 0,0 c 0.21822,0 0.36371,-0.0905 0.48495,-0.25328 l 0,0 0,0 c 0.14548,-0.16285 0.19397,-0.39805 0.19397,-0.66944 l 0,0 0,0 c 0,-0.23522 -0.0727,-0.43424 -0.19397,-0.61517 l 0,0 0,0 c -0.14549,-0.16283 -0.29097,-0.2352 -0.48495,-0.2352 z" /> 20.659 + <path 20.660 + inkscape:connector-curvature="0" 20.661 + id="118" 20.662 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.663 + d="m 501.60707,544.53653 0,0 0,0 c 0.12124,0 0.19398,0.0362 0.26672,0.10857 l 0,0 0,0 c 0.097,0.0905 0.12124,0.18093 0.12124,0.30758 l 0,0 0,0 c 0,0.10858 -0.0242,0.21712 -0.12124,0.2895 l 0,0 0,0 c -0.0727,0.0905 -0.14548,0.12669 -0.26672,0.12669 l 0,0 0,0 c -0.097,0 -0.19397,-0.0362 -0.26671,-0.12669 l 0,0 0,0 c -0.0727,-0.0723 -0.12124,-0.18093 -0.12124,-0.2895 l 0,0 0,0 c 0,-0.12669 0.0485,-0.21711 0.12124,-0.30758 l 0,0 0,0 c 0.0727,-0.0723 0.16973,-0.10857 0.26671,-0.10857 z m -0.33945,5.22887 0,0 0,-3.22055 -0.48494,0 0,-0.57897 1.11536,0 0,3.79952 -0.63042,0 z" /> 20.664 + <path 20.665 + inkscape:connector-curvature="0" 20.666 + id="119" 20.667 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.668 + d="m 505.0259,549.7654 0,0 0,-2.18925 0,0 0,0 c 0,-0.41614 -0.0485,-0.68752 -0.16973,-0.85037 l 0,0 0,0 c -0.097,-0.16284 -0.29096,-0.2533 -0.55768,-0.2533 l 0,0 0,0 c -0.14548,0 -0.29096,0.0542 -0.43644,0.14473 l 0,0 0,0 c -0.16973,0.0905 -0.26673,0.19904 -0.36371,0.34378 l 0,0 0,2.80441 -0.63042,0 0,-3.79952 0.43644,0 0.19398,0.5066 0,0 0,0 c 0.21823,-0.37995 0.53344,-0.56088 1.01837,-0.56088 l 0,0 0,0 c 0.72742,0 1.11536,0.50659 1.11536,1.5198 l 0,0 0,2.334 -0.60617,0 z" /> 20.669 + <path 20.670 + inkscape:connector-curvature="0" 20.671 + id="120" 20.672 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.673 + d="m 476.97215,532.64946 0,0 c 0,-0.0905 0.0242,-0.16283 0.0727,-0.23519 0.0485,-0.0723 0.12123,-0.1267 0.21822,-0.16285 0.097,-0.0362 0.19397,-0.0542 0.31521,-0.0542 l 0,0 0,0.45231 -0.60617,0 z" /> 20.674 + <path 20.675 + inkscape:connector-curvature="0" 20.676 + id="121" 20.677 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.678 + d="m 477.57832,532.19714 39.03764,0 0,0.45232 0,0.47042 -39.03764,0 0,-0.47042 0,-0.45232 z" /> 20.679 + <path 20.680 + inkscape:connector-curvature="0" 20.681 + id="122" 20.682 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.683 + d="m 516.61596,532.19714 0,0 c 0.12123,0 0.21821,0.0181 0.31521,0.0542 0.0727,0.0362 0.14548,0.0905 0.19397,0.16285 0.0485,0.0723 0.097,0.14473 0.097,0.23519 l 0,0 0,0 -0.60617,0 0,-0.45231 z" /> 20.684 + <path 20.685 + inkscape:connector-curvature="0" 20.686 + id="123" 20.687 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.688 + d="m 517.22213,532.64946 0,23.24944 -0.60617,0 -0.60618,0 0,-23.24944 0.60618,0 0.60617,0 z" /> 20.689 + <path 20.690 + inkscape:connector-curvature="0" 20.691 + id="124" 20.692 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.693 + d="m 517.22213,555.8989 0,0 c 0,0.0905 -0.0485,0.16285 -0.097,0.23522 -0.0485,0.0723 -0.12124,0.12669 -0.19397,0.16285 -0.097,0.0362 -0.19398,0.0723 -0.31521,0.0723 l 0,0 0,-0.47044 0.60617,0 z" /> 20.694 + <path 20.695 + inkscape:connector-curvature="0" 20.696 + id="125" 20.697 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.698 + d="m 516.61596,556.36933 -39.03764,0 0,-0.47043 0,-0.45232 39.03764,0 0,0.45232 0,0.47043 z" /> 20.699 + <path 20.700 + inkscape:connector-curvature="0" 20.701 + id="126" 20.702 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.703 + d="m 477.57832,556.36933 0,0 c -0.12124,0 -0.21822,-0.0362 -0.31521,-0.0723 -0.097,-0.0362 -0.16973,-0.0905 -0.21822,-0.16285 -0.0485,-0.0723 -0.0727,-0.14473 -0.0727,-0.23521 l 0,0 0.60617,0 0,0.47043 z" /> 20.704 + <path 20.705 + inkscape:connector-curvature="0" 20.706 + id="127" 20.707 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.708 + d="m 476.97215,555.8989 0,-23.24944 0.60617,0 0.63042,0 0,23.24944 -0.63042,0 -0.60617,0 z" /> 20.709 + <path 20.710 + inkscape:connector-curvature="0" 20.711 + id="128" 20.712 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.713 + d="m 542.82693,542.56441 -2.44894,-3.79953 0,3.72715 -0.63041,0 0,-5.21078 0.26671,0 2.40045,3.60052 0,-3.60052 0.60617,0 0,5.28316 -0.19398,0 z" /> 20.714 + <path 20.715 + inkscape:connector-curvature="0" 20.716 + id="129" 20.717 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.718 + d="m 546.87619,540.64655 0,0 -2.49745,0 0,0 0,0 c 0,0.45231 0.12124,0.79609 0.33946,1.03131 l 0,0 0,0 c 0.19398,0.2171 0.4607,0.30756 0.77591,0.30756 l 0,0 0,0 c 0.33946,0 0.65467,-0.10858 0.87289,-0.32566 l 0,0 0.26671,0.48851 0,0 0,0 c -0.097,0.0905 -0.24247,0.18093 -0.43644,0.27138 l 0,0 0,0 c -0.24247,0.0905 -0.53343,0.14476 -0.8244,0.14476 l 0,0 0,0 c -0.43644,0 -0.8244,-0.16285 -1.11536,-0.48851 l 0,0 0,0 c -0.36371,-0.36187 -0.53344,-0.85038 -0.53344,-1.44744 l 0,0 0,0 c 0,-0.63326 0.19398,-1.12177 0.53344,-1.50172 l 0,0 0,0 c 0.31521,-0.34377 0.67892,-0.50661 1.11536,-0.50661 l 0,0 0,0 c 0.50918,0 0.89714,0.14475 1.1881,0.45232 l 0,0 0,0 c 0.26672,0.30761 0.38795,0.66945 0.38795,1.15797 l 0,0 0,0 c 0,0.16282 -0.0242,0.28947 -0.0727,0.41613 z m -1.47907,-1.44745 0,0 0,0 c -0.26672,0 -0.50919,0.0905 -0.67892,0.2895 l 0,0 0,0 c -0.19398,0.18092 -0.29096,0.39804 -0.31521,0.66945 l 0,0 1.93976,0 0,0 0,0 c 0,-0.27141 -0.0727,-0.48853 -0.24247,-0.66945 l 0,0 0,0 c -0.16973,-0.19902 -0.38795,-0.2895 -0.70316,-0.2895 z" /> 20.719 + <path 20.720 + inkscape:connector-curvature="0" 20.721 + id="130" 20.722 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.723 + d="m 550.82844,542.56441 -0.16973,0 -1.01837,-2.60541 -1.01838,2.60541 -0.16973,0 -1.26083,-3.88999 0.67891,0 0.7274,2.49684 0.94564,-2.49684 0.16973,0 0.94563,2.49684 0.80016,-2.49684 0.63041,0 -1.26084,3.88999 z" /> 20.724 + <path 20.725 + inkscape:connector-curvature="0" 20.726 + id="131" 20.727 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.728 + d="m 552.62272,542.49203 0,-5.21078 0.63042,0 0,4.55943 2.13373,0 0,0.65135 -2.76415,0 z" /> 20.729 + <path 20.730 + inkscape:connector-curvature="0" 20.731 + id="132" 20.732 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.733 + d="m 557.88431,542.05781 0,0 0,0 c -0.24247,0.34375 -0.63042,0.5066 -1.13961,0.5066 l 0,0 0,0 c -0.26671,0 -0.50919,-0.10857 -0.70316,-0.32568 l 0,0 0,0 c -0.21822,-0.21712 -0.31521,-0.4885 -0.31521,-0.81419 l 0,0 0,0 c 0,-0.37994 0.16972,-0.70563 0.48494,-0.97701 l 0,0 0,0 c 0.29096,-0.27139 0.70316,-0.39804 1.1881,-0.39804 l 0,0 0,0 c 0.12124,0 0.26672,0.0181 0.43645,0.0905 l 0,0 0,0 c 0,-0.59707 -0.26672,-0.92274 -0.75166,-0.92274 l 0,0 0,0 c -0.38795,0 -0.70316,0.12669 -0.89714,0.34377 l 0,0 -0.26672,-0.5609 0,0 0,0 c 0.12124,-0.10857 0.26672,-0.19902 0.48494,-0.27138 l 0,0 0,0 c 0.21823,-0.0723 0.4122,-0.10858 0.60618,-0.10858 l 0,0 0,0 c 0.50919,0 0.87289,0.1267 1.09112,0.37995 l 0,0 0,0 c 0.24246,0.25331 0.3637,0.65134 0.3637,1.17606 l 0,0 0,1.37506 0,0 0,0 c 0,0.32565 0.0727,0.56087 0.26672,0.66943 l 0,0 0,0.34378 0,0 0,0 c -0.26672,0 -0.43645,-0.0362 -0.58193,-0.1267 l 0,0 0,0 c -0.12124,-0.0723 -0.19398,-0.19902 -0.26672,-0.37993 z m -0.0485,-1.44744 0,0 0,0 c -0.19398,-0.0362 -0.33946,-0.0723 -0.41221,-0.0723 l 0,0 0,0 c -0.3152,0 -0.58192,0.0904 -0.7759,0.27138 l 0,0 0,0 c -0.19397,0.18093 -0.29096,0.37997 -0.29096,0.61516 l 0,0 0,0 c 0,0.39805 0.21822,0.59707 0.63042,0.59707 l 0,0 0,0 c 0.31521,0 0.60618,-0.16284 0.84865,-0.48851 l 0,-0.92274 z" /> 20.734 + <path 20.735 + inkscape:connector-curvature="0" 20.736 + id="133" 20.737 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.738 + d="m 561.56985,542.49203 0,0 0,-2.22544 0,0 0,0 c 0,-0.39803 -0.0727,-0.66943 -0.16973,-0.83227 l 0,0 0,0 c -0.12123,-0.16282 -0.31521,-0.23522 -0.55768,-0.23522 l 0,0 0,0 c -0.14548,0 -0.29096,0.0362 -0.46069,0.1267 l 0,0 0,0 c -0.14548,0.0905 -0.26671,0.21711 -0.36371,0.34375 l 0,0 0,2.82251 -0.60617,0 0,-3.79953 0.4122,0 0.19397,0.48851 0,0 0,0 c 0.21823,-0.37995 0.55769,-0.56088 1.01838,-0.56088 l 0,0 0,0 c 0.77591,0 1.13961,0.50661 1.13961,1.50172 l 0,0 0,2.37018 -0.60618,0 z" /> 20.739 + <path 20.740 + inkscape:connector-curvature="0" 20.741 + id="134" 20.742 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.743 + d="m 562.95193,543.54142 0,0 0.33946,-0.5428 0,0 0,0 c 0.3637,0.25331 0.67891,0.39807 0.99412,0.39807 l 0,0 0,0 c 0.26672,0 0.48494,-0.0544 0.63042,-0.16285 l 0,0 0,0 c 0.16973,-0.10858 0.24248,-0.23522 0.24248,-0.39804 l 0,0 0,0 c 0,-0.30758 -0.19398,-0.47042 -0.58194,-0.47042 l 0,0 0,0 c -0.0727,0 -0.19396,0.0362 -0.38794,0.0723 l 0,0 0,0 c -0.16973,0.0362 -0.31521,0.0543 -0.4122,0.0543 l 0,0 0,0 c -0.50919,0 -0.75166,-0.21711 -0.75166,-0.61518 l 0,0 0,0 c 0,-0.12655 0.0485,-0.23519 0.16973,-0.34375 l 0,0 0,0 c 0.12124,-0.10857 0.26672,-0.18093 0.43645,-0.21711 l 0,0 0,0 c -0.48494,-0.25329 -0.72742,-0.68753 -0.72742,-1.32079 l 0,0 0,0 c 0,-0.37995 0.12124,-0.70562 0.36371,-0.97701 l 0,0 0,0 c 0.26672,-0.2714 0.58193,-0.39805 0.94564,-0.39805 l 0,0 0,0 c 0.36369,0 0.60617,0.0723 0.80014,0.23521 l 0,0 0.29097,-0.41613 0.4122,0.41613 -0.36371,0.30759 0,0 0,0 c 0.14548,0.2352 0.24247,0.52469 0.24247,0.86846 l 0,0 0,0 c 0,0.37995 -0.12124,0.70562 -0.33946,0.97702 l 0,0 0,0 c -0.21822,0.2533 -0.48494,0.41612 -0.84865,0.45232 l 0,0 -0.50918,0.0542 0,0 0,0 c -0.0485,0 -0.14548,0.0362 -0.24247,0.0723 l 0,0 0,0 c -0.097,0.0362 -0.14548,0.10858 -0.14548,0.18095 l 0,0 0,0 c 0,0.0905 0.097,0.14473 0.31521,0.14473 l 0,0 0,0 c 0.097,0 0.24247,-0.0181 0.43644,-0.0542 l 0,0 0,0 c 0.19398,-0.0362 0.33946,-0.0544 0.43645,-0.0544 l 0,0 0,0 c 0.31521,0 0.58193,0.0723 0.7759,0.25333 l 0,0 0,0 c 0.19398,0.18091 0.29097,0.43422 0.29097,0.75988 l 0,0 0,0 c 0,0.34378 -0.14549,0.63326 -0.43645,0.85037 l 0,0 0,0 c -0.26671,0.21713 -0.63042,0.32569 -1.06687,0.32569 l 0,0 0,0 c -0.21821,0 -0.46069,-0.0544 -0.70316,-0.14475 l 0,0 0,0 c -0.26671,-0.0723 -0.46069,-0.18094 -0.60617,-0.30758 z m 1.30933,-4.37848 0,0 0,0 c -0.21821,0 -0.38794,0.0904 -0.53343,0.25329 l 0,0 0,0 c -0.12123,0.16285 -0.19397,0.34377 -0.19397,0.57897 l 0,0 0,0 c 0,0.27139 0.0727,0.48851 0.19397,0.66945 l 0,0 0,0 c 0.12124,0.18092 0.31522,0.2533 0.53343,0.2533 l 0,0 0,0 c 0.21823,0 0.38796,-0.0723 0.50919,-0.2533 l 0,0 0,0 c 0.12124,-0.16285 0.16973,-0.37995 0.16973,-0.66945 l 0,0 0,0 c 0,-0.2352 -0.0727,-0.41612 -0.16973,-0.57897 l 0,0 0,0 c -0.14548,-0.16284 -0.31521,-0.25329 -0.50919,-0.25329 z" /> 20.744 + <path 20.745 + inkscape:connector-curvature="0" 20.746 + id="135" 20.747 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.748 + d="m 567.97105,539.97712 1.13961,0 0,0.50659 -1.13961,0 0,1.23032 -0.46069,0 0,-1.23032 -1.13961,0 0,-0.50659 1.13961,0 0,-1.21224 0.46069,0 0,1.21224 z" /> 20.749 + <path 20.750 + inkscape:connector-curvature="0" 20.751 + id="136" 20.752 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.753 + d="m 570.63822,540.48371 0,0 0,2.00832 -0.65466,0 0,-5.21078 0,0 0,0 c 0.48494,-0.0181 0.7759,-0.0362 0.87288,-0.0362 l 0,0 0,0 c 1.38208,0 2.08524,0.5066 2.08524,1.51979 l 0,0 0,0 c 0,1.15796 -0.63042,1.75502 -1.84277,1.75502 l 0,0 0,0 c -0.0727,0 -0.24247,-0.0181 -0.46069,-0.0362 z m 0,-2.55109 0,0 0,1.89974 0,0 0,0 c 0.24247,0.0362 0.38795,0.0362 0.4122,0.0362 l 0,0 0,0 c 0.80015,0 1.21235,-0.32567 1.21235,-1.01321 l 0,0 0,0 c 0,-0.65135 -0.43644,-0.95893 -1.28509,-0.95893 l 0,0 0,0 c -0.097,0 -0.21822,0 -0.33946,0.0362 z" /> 20.754 + <path 20.755 + inkscape:connector-curvature="0" 20.756 + id="137" 20.757 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.758 + d="m 548.25826,547.77517 0,0 0,1.99023 -0.65467,0 0,-5.19268 0,0 0,0 c 0.48494,-0.0181 0.80016,-0.0362 0.89714,-0.0362 l 0,0 0,0 c 1.38208,0 2.08524,0.50661 2.08524,1.51981 l 0,0 0,0 c 0,1.17605 -0.60618,1.75502 -1.84277,1.75502 l 0,0 0,0 c -0.0727,0 -0.24247,0 -0.48494,-0.0362 z m 0,-2.56919 0,0 0,1.93593 0,0 0,0 c 0.26672,0.0181 0.4122,0.0362 0.43645,0.0362 l 0,0 0,0 c 0.82439,0 1.21235,-0.34377 1.21235,-1.04941 l 0,0 0,0 c 0,-0.63323 -0.43645,-0.95892 -1.2851,-0.95892 l 0,0 0,0 c -0.097,0 -0.21821,0.0181 -0.3637,0.0362 z" /> 20.759 + <path 20.760 + inkscape:connector-curvature="0" 20.761 + id="138" 20.762 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.763 + d="m 551.33762,548.71599 0,0 0,-4.30612 0.63043,0 0,4.17948 0,0 0,0 c 0,0.21713 0.0485,0.37995 0.16973,0.48851 l 0,0 0,0 c 0.097,0.10858 0.24247,0.16283 0.41219,0.16283 l 0,0 0,0.59707 0,0 0,0 c -0.80014,0 -1.21235,-0.37995 -1.21235,-1.12177 z" /> 20.764 + <path 20.765 + inkscape:connector-curvature="0" 20.766 + id="139" 20.767 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.768 + d="m 553.83507,545.96588 0,0 0,2.44253 0,0 0,0 c 0,0.59707 0.24246,0.86847 0.70315,0.86847 l 0,0 0,0 c 0.19398,0 0.36371,-0.0723 0.53344,-0.18092 l 0,0 0,0 c 0.16973,-0.1267 0.29097,-0.2714 0.33946,-0.43424 l 0,0 0,-2.69584 0.63042,0 0,3.79952 -0.63042,0 0,-0.52471 0,0 0,0 c -0.0727,0.16285 -0.19398,0.2895 -0.4122,0.41614 l 0,0 0,0 c -0.21822,0.1267 -0.38795,0.18093 -0.60618,0.18093 l 0,0 0,0 c -0.3637,0 -0.67891,-0.10857 -0.87289,-0.34376 l 0,0 0,0 c -0.19397,-0.25331 -0.31521,-0.57897 -0.31521,-1.0132 l 0,0 0,-2.51492 0.63043,0 z" /> 20.769 + <path 20.770 + inkscape:connector-curvature="0" 20.771 + id="140" 20.772 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.773 + d="m 556.76895,550.81479 0,0 0.33946,-0.54279 0,0 0,0 c 0.33945,0.2714 0.67891,0.39804 0.99413,0.39804 l 0,0 0,0 c 0.26671,0 0.50918,-0.0542 0.65467,-0.16284 l 0,0 0,0 c 0.14548,-0.0905 0.21821,-0.2352 0.21821,-0.37993 l 0,0 0,0 c 0,-0.30759 -0.16973,-0.47044 -0.58192,-0.47044 l 0,0 0,0 c -0.0727,0 -0.19398,0.0181 -0.38796,0.0544 l 0,0 0,0 c -0.16972,0.0361 -0.3152,0.0542 -0.41219,0.0542 l 0,0 0,0 c -0.50919,0 -0.75166,-0.19902 -0.75166,-0.61517 l 0,0 0,0 c 0,-0.10857 0.0485,-0.21711 0.16973,-0.32567 l 0,0 0,0 c 0.12123,-0.0905 0.26671,-0.16284 0.43644,-0.2171 l 0,0 0,0 c -0.48494,-0.25332 -0.75165,-0.68754 -0.75165,-1.3027 l 0,0 0,0 c 0,-0.39805 0.14548,-0.74182 0.38795,-0.99513 l 0,0 0,0 c 0.26672,-0.27138 0.58193,-0.39802 0.94563,-0.39802 l 0,0 0,0 c 0.33946,0 0.63042,0.0723 0.80015,0.2171 l 0,0 0.29097,-0.39805 0.41219,0.41615 -0.3637,0.30758 0,0 0,0 c 0.14548,0.21712 0.24247,0.5247 0.24247,0.88656 l 0,0 0,0 c 0,0.37996 -0.12123,0.70562 -0.33945,0.95893 l 0,0 0,0 c -0.21823,0.27138 -0.48494,0.41612 -0.84865,0.45231 l 0,0 -0.50919,0.0544 0,0 0,0 c -0.0485,0.0181 -0.14548,0.0361 -0.24247,0.0905 l 0,0 0,0 c -0.097,0.0362 -0.14548,0.0905 -0.14548,0.16283 l 0,0 0,0 c 0,0.0723 0.097,0.1267 0.31521,0.1267 l 0,0 0,0 c 0.097,0 0.24247,-0.0181 0.43645,-0.0544 l 0,0 0,0 c 0.19398,-0.0362 0.33946,-0.0362 0.43644,-0.0362 l 0,0 0,0 c 0.31521,0 0.58193,0.0723 0.77591,0.25329 l 0,0 0,0 c 0.19397,0.18094 0.29096,0.43424 0.29096,0.74182 l 0,0 0,0 c 0,0.36185 -0.14548,0.63326 -0.43645,0.85036 l 0,0 0,0 c -0.29096,0.21712 -0.63042,0.32567 -1.06686,0.32567 l 0,0 0,0 c -0.21822,0 -0.4607,-0.0362 -0.70316,-0.12669 l 0,0 0,0 c -0.26672,-0.0905 -0.4607,-0.19904 -0.60618,-0.32568 z m 1.30934,-4.3604 0,0 0,0 c -0.21822,0 -0.38795,0.0723 -0.53343,0.2352 l 0,0 0,0 c -0.12125,0.18093 -0.19398,0.37995 -0.19398,0.61517 l 0,0 0,0 c 0,0.27139 0.0727,0.48851 0.19398,0.66944 l 0,0 0,0 c 0.12123,0.16284 0.31521,0.25328 0.53343,0.25328 l 0,0 0,0 c 0.21822,0 0.38795,-0.0905 0.50919,-0.25328 l 0,0 0,0 c 0.12123,-0.16285 0.19397,-0.39805 0.19397,-0.66944 l 0,0 0,0 c 0,-0.23522 -0.0727,-0.43424 -0.19397,-0.61517 l 0,0 0,0 c -0.14548,-0.16283 -0.31521,-0.2352 -0.50919,-0.2352 z" /> 20.774 + <path 20.775 + inkscape:connector-curvature="0" 20.776 + id="141" 20.777 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.778 + d="m 560.86669,544.53653 0,0 0,0 c 0.097,0 0.19397,0.0362 0.26672,0.10857 l 0,0 0,0 c 0.0727,0.0905 0.12123,0.18093 0.12123,0.30758 l 0,0 0,0 c 0,0.10858 -0.0485,0.21712 -0.12123,0.2895 l 0,0 0,0 c -0.0728,0.0905 -0.16973,0.12669 -0.26672,0.12669 l 0,0 0,0 c -0.097,0 -0.19398,-0.0362 -0.26672,-0.12669 l 0,0 0,0 c -0.0727,-0.0723 -0.12123,-0.18093 -0.12123,-0.2895 l 0,0 0,0 c 0,-0.12669 0.0485,-0.21711 0.12123,-0.30758 l 0,0 0,0 c 0.0727,-0.0723 0.16973,-0.10857 0.26672,-0.10857 z m -0.33946,5.22887 0,0 0,-3.22055 -0.48494,0 0,-0.57897 1.11537,0 0,3.79952 -0.63043,0 z" /> 20.779 + <path 20.780 + inkscape:connector-curvature="0" 20.781 + id="142" 20.782 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.783 + d="m 564.28551,549.7654 0,0 0,-2.18925 0,0 0,0 c 0,-0.41614 -0.0485,-0.68752 -0.16973,-0.85037 l 0,0 0,0 c -0.097,-0.16284 -0.29096,-0.2533 -0.55768,-0.2533 l 0,0 0,0 c -0.14548,0 -0.29096,0.0542 -0.43644,0.14473 l 0,0 0,0 c -0.16973,0.0905 -0.29096,0.19904 -0.36371,0.34378 l 0,0 0,2.80441 -0.63042,0 0,-3.79952 0.43645,0 0.19397,0.5066 0,0 0,0 c 0.19398,-0.37995 0.53344,-0.56088 0.99413,-0.56088 l 0,0 0,0 c 0.77591,0 1.13961,0.50659 1.13961,1.5198 l 0,0 0,2.334 -0.60618,0 z" /> 20.784 + <path 20.785 + inkscape:connector-curvature="0" 20.786 + id="143" 20.787 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.788 + d="m 536.23176,532.64946 0,0 c 0,-0.0905 0.0242,-0.16283 0.0727,-0.23519 0.0485,-0.0723 0.12123,-0.1267 0.21822,-0.16285 0.097,-0.0362 0.19398,-0.0542 0.31522,-0.0542 l 0,0 0,0.45231 -0.60618,0 z" /> 20.789 + <path 20.790 + inkscape:connector-curvature="0" 20.791 + id="144" 20.792 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.793 + d="m 536.83794,532.19714 39.06188,0 0,0.45232 0,0.47042 -39.06188,0 0,-0.47042 0,-0.45232 z" /> 20.794 + <path 20.795 + inkscape:connector-curvature="0" 20.796 + id="145" 20.797 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.798 + d="m 575.89982,532.19714 0,0 c 0.12123,0 0.21822,0.0181 0.31521,0.0542 0.097,0.0362 0.16973,0.0905 0.21822,0.16285 0.0485,0.0723 0.097,0.14473 0.097,0.23519 l 0,0 0,0 -0.63042,0 0,-0.45231 z" /> 20.799 + <path 20.800 + inkscape:connector-curvature="0" 20.801 + id="146" 20.802 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.803 + d="m 576.53024,532.64946 0,23.17707 -0.63042,0 -0.60618,0 0,-23.17707 0.60618,0 0.63042,0 z" /> 20.804 + <path 20.805 + inkscape:connector-curvature="0" 20.806 + id="147" 20.807 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.808 + d="m 576.53024,555.82653 0,0 c 0,0.0905 -0.0485,0.16285 -0.097,0.23522 -0.0485,0.0723 -0.12124,0.12669 -0.21822,0.16282 -0.097,0.0362 -0.19398,0.0723 -0.31521,0.0723 l 0,0 0,-0.47043 0.63042,0 z" /> 20.809 + <path 20.810 + inkscape:connector-curvature="0" 20.811 + id="148" 20.812 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.813 + d="m 575.89982,556.29697 -39.06188,0 0,-0.47044 0,-0.45233 39.06188,0 0,0.45233 0,0.47044 z" /> 20.814 + <path 20.815 + inkscape:connector-curvature="0" 20.816 + id="149" 20.817 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.818 + d="m 536.83794,556.29697 0,0 c -0.12124,0 -0.21823,-0.0362 -0.31522,-0.0723 -0.097,-0.0362 -0.16973,-0.0905 -0.21822,-0.16283 -0.0485,-0.0723 -0.0727,-0.14476 -0.0727,-0.23521 l 0,0 0.60618,0 0,0.47043 z" /> 20.819 + <path 20.820 + inkscape:connector-curvature="0" 20.821 + id="150" 20.822 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.823 + d="m 536.23176,555.82653 0,-23.17707 0.60618,0 0.63042,0 0,23.17707 -0.63042,0 -0.60618,0 z" /> 20.824 + <path 20.825 + inkscape:connector-curvature="0" 20.826 + id="151" 20.827 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.828 + d="m 234.30839,556.22457 16.00301,17.17023 -0.48494,0.25328 -0.48495,0.2533 -16.00301,-17.1702 0.48495,-0.2533 0.48494,-0.25331 z" /> 20.829 + <path 20.830 + inkscape:connector-curvature="0" 20.831 + id="152" 20.832 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.833 + d="m 248.6626,568.79917 0,0 2.03674,5.75357 -6.49818,-3.40148 0,0 0,0 c 1.98825,0.0542 3.80677,-0.92273 4.46144,-2.35209 z" /> 20.834 + <path 20.835 + inkscape:connector-curvature="0" 20.836 + id="153" 20.837 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.838 + d="m 350.88787,556.64072 -9.43208,17.17021 -0.53343,-0.16285 -0.53344,-0.16283 9.43206,-17.17021 0.53345,0.16284 0.53344,0.16284 z" /> 20.839 + <path 20.840 + inkscape:connector-curvature="0" 20.841 + id="154" 20.842 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.843 + d="m 345.72324,570.28282 0,0 -5.35857,4.39658 0.29097,-5.95259 0,0 0,0 c 1.06686,1.28459 3.10361,1.93593 5.0676,1.55601 z" /> 20.844 + <path 20.845 + inkscape:connector-curvature="0" 20.846 + id="190" 20.847 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.848 + d="m 262.58037,442.96271 20.70691,11.39855 -0.33945,0.34377 -0.33946,0.34377 -20.70692,-11.39856 0.33947,-0.34377 0.33945,-0.34376 z" /> 20.849 + <path 20.850 + inkscape:connector-curvature="0" 20.851 + id="191" 20.852 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.853 + d="m 279.77147,450.38082 0,0 4.38871,4.97556 -7.61357,-1.64646 0,0 0,0 c 1.89128,-0.47041 3.20061,-1.80929 3.22486,-3.3291 z" /> 20.854 + <path 20.855 + inkscape:connector-curvature="0" 20.856 + id="192" 20.857 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.858 + d="m 292.67087,443.30647 -0.0727,11.39856 -0.58194,0 -0.58191,0 0.0727,-11.39856 0.58193,0 0.58193,0 z" /> 20.859 + <path 20.860 + inkscape:connector-curvature="0" 20.861 + id="193" 20.862 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.863 + d="m 294.8046,450.23607 0,0 -2.78841,5.57264 -2.69141,-5.59073 0,0 0,0 c 1.6003,0.90464 3.83103,0.90464 5.47982,0.0181 z" /> 20.864 + <path 20.865 + inkscape:connector-curvature="0" 20.866 + id="194" 20.867 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.868 + d="m 322.20369,443.65024 -20.68269,11.39856 -0.33945,-0.34377 -0.33946,-0.34377 20.68268,-11.39855 0.33947,0.34376 0.33945,0.34377 z" /> 20.869 + <path 20.870 + inkscape:connector-curvature="0" 20.871 + id="195" 20.872 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.873 + d="m 307.60701,453.72802 0,0 -7.6378,1.64645 4.36445,-4.97556 0,0 0,0 c 0,1.50172 1.33358,2.8406 3.27335,3.32911 z" /> 20.874 + <path 20.875 + inkscape:connector-curvature="0" 20.876 + id="220" 20.877 + style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.878 + d="m 257.22178,441.15341 -0.3637,-1.21223 -1.98825,0 -0.38796,1.21223 -0.80015,0 2.15798,-5.86212 0.19398,0 1.98825,5.86212 -0.80015,0 z m -1.33358,-4.34231 -0.8244,2.53302 1.57606,0 -0.75166,-2.53302 z" /> 20.879 + <path 20.880 + inkscape:connector-curvature="0" 20.881 + id="221" 20.882 + style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.883 + d="m 259.23427,440.9182 0,0 0,1.89976 -0.70316,0 0,-5.8983 0.70316,0 0,0.34377 0,0 0,0 c 0.24249,-0.28949 0.58194,-0.43424 0.94565,-0.43424 l 0,0 0,0 c 0.53343,0 0.94563,0.19904 1.26083,0.56089 l 0,0 0,0 c 0.31522,0.37995 0.4607,0.94083 0.4607,1.66455 l 0,0 0,0 c 0,0.63325 -0.14548,1.15795 -0.4607,1.57408 l 0,0 0,0 c -0.3152,0.39806 -0.75165,0.61517 -1.33358,0.61517 l 0,0 0,0 c -0.14548,0 -0.33945,-0.0362 -0.50918,-0.10858 l 0,0 0,0 c -0.19398,-0.0542 -0.31522,-0.12669 -0.36372,-0.21711 z m 0,-3.09389 0,0 0,2.47874 0,0 0,0 c 0.0242,0.0723 0.12125,0.14473 0.26674,0.19902 l 0,0 0,0 c 0.14548,0.0723 0.29095,0.10858 0.41218,0.10858 l 0,0 0,0 c 0.8244,0 1.26085,-0.54279 1.26085,-1.59218 l 0,0 0,0 c 0,-0.54279 -0.097,-0.92274 -0.3152,-1.17604 l 0,0 0,0 c -0.19399,-0.2533 -0.5092,-0.37995 -0.94565,-0.37995 l 0,0 0,0 c -0.097,0 -0.21822,0.0362 -0.3637,0.12669 l 0,0 0,0 c -0.12123,0.0723 -0.24247,0.14475 -0.31522,0.23521 z" /> 20.884 + <path 20.885 + inkscape:connector-curvature="0" 20.886 + id="222" 20.887 + style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.888 + d="m 263.35626,440.9182 0,0 0,1.89976 -0.70316,0 0,-5.8983 0.70316,0 0,0.34377 0,0 0,0 c 0.24249,-0.28949 0.55769,-0.43424 0.94563,-0.43424 l 0,0 0,0 c 0.53344,0 0.96989,0.19904 1.2851,0.56089 l 0,0 0,0 c 0.31522,0.37995 0.46068,0.94083 0.46068,1.66455 l 0,0 0,0 c 0,0.63325 -0.14546,1.15795 -0.46068,1.57408 l 0,0 0,0 c -0.31521,0.39806 -0.7759,0.61517 -1.35783,0.61517 l 0,0 0,0 c -0.16973,0 -0.33946,-0.0362 -0.53343,-0.10858 l 0,0 0,0 c -0.16973,-0.0542 -0.29097,-0.12669 -0.33947,-0.21711 z m 0,-3.09389 0,0 0,2.47874 0,0 0,0 c 0.0242,0.0723 0.12124,0.14473 0.26672,0.19902 l 0,0 0,0 c 0.14548,0.0723 0.26672,0.10858 0.4122,0.10858 l 0,0 0,0 c 0.84865,0 1.2851,-0.54279 1.2851,-1.59218 l 0,0 0,0 c 0,-0.54279 -0.097,-0.92274 -0.31522,-1.17604 l 0,0 0,0 c -0.19397,-0.2533 -0.50918,-0.37995 -0.96988,-0.37995 l 0,0 0,0 c -0.097,0 -0.21822,0.0362 -0.3637,0.12669 l 0,0 0,0 c -0.12123,0.0723 -0.24247,0.14475 -0.31522,0.23521 z" /> 20.889 + <path 20.890 + inkscape:connector-curvature="0" 20.891 + id="223" 20.892 + style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.893 + d="m 270.3394,441.15341 0,0 0,-4.43277 -1.09112,0.72372 0,-0.72372 0,0 0,0 c 0.26672,-0.14474 0.55768,-0.36185 0.8729,-0.61516 l 0,0 0,0 c 0.3152,-0.27139 0.55768,-0.5247 0.7274,-0.7599 l 0,0 0.21823,0 0,5.80783 -0.72741,0 z" /> 20.894 + <path 20.895 + inkscape:connector-curvature="0" 20.896 + id="224" 20.897 + style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.898 + d="m 286.85159,441.15341 -0.3637,-1.21223 -1.96401,0 -0.38795,1.21223 -0.80015,0 2.13373,-5.86212 0.19398,0 1.98825,5.86212 -0.80015,0 z m -1.33358,-4.34231 -0.8244,2.53302 1.57605,0 -0.75165,-2.53302 z" /> 20.899 + <path 20.900 + inkscape:connector-curvature="0" 20.901 + id="225" 20.902 + style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.903 + d="m 288.86408,440.9182 0,0 0,1.89976 -0.70316,0 0,-5.8983 0.70316,0 0,0.34377 0,0 0,0 c 0.24249,-0.28949 0.55769,-0.43424 0.94564,-0.43424 l 0,0 0,0 c 0.53343,0 0.94564,0.19904 1.26084,0.56089 l 0,0 0,0 c 0.31522,0.37995 0.4607,0.94083 0.4607,1.66455 l 0,0 0,0 c 0,0.63325 -0.14548,1.15795 -0.4607,1.57408 l 0,0 0,0 c -0.3152,0.39806 -0.75166,0.61517 -1.33358,0.61517 l 0,0 0,0 c -0.14548,0 -0.33945,-0.0362 -0.50918,-0.10858 l 0,0 0,0 c -0.19398,-0.0542 -0.31522,-0.12669 -0.36372,-0.21711 z m 0,-3.09389 0,0 0,2.47874 0,0 0,0 c 0.0242,0.0723 0.12124,0.14473 0.26672,0.19902 l 0,0 0,0 c 0.1455,0.0723 0.26673,0.10858 0.4122,0.10858 l 0,0 0,0 c 0.8244,0 1.26085,-0.54279 1.26085,-1.59218 l 0,0 0,0 c 0,-0.54279 -0.097,-0.92274 -0.31522,-1.17604 l 0,0 0,0 c -0.19397,-0.2533 -0.48493,-0.37995 -0.94563,-0.37995 l 0,0 0,0 c -0.097,0 -0.21822,0.0362 -0.3637,0.12669 l 0,0 0,0 c -0.12123,0.0723 -0.24247,0.14475 -0.31522,0.23521 z" /> 20.904 + <path 20.905 + inkscape:connector-curvature="0" 20.906 + id="226" 20.907 + style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.908 + d="m 292.96182,440.9182 0,0 0,1.89976 -0.67891,0 0,-5.8983 0.67891,0 0,0.34377 0,0 0,0 c 0.26672,-0.28949 0.58194,-0.43424 0.96989,-0.43424 l 0,0 0,0 c 0.53343,0 0.96988,0.19904 1.28509,0.56089 l 0,0 0,0 c 0.31522,0.37995 0.46068,0.94083 0.46068,1.66455 l 0,0 0,0 c 0,0.63325 -0.16971,1.15795 -0.46068,1.57408 l 0,0 0,0 c -0.31521,0.39806 -0.77591,0.61517 -1.35783,0.61517 l 0,0 0,0 c -0.16973,0 -0.33946,-0.0362 -0.53343,-0.10858 l 0,0 0,0 c -0.16973,-0.0542 -0.29097,-0.12669 -0.36372,-0.21711 z m 0,-3.09389 0,0 0,2.47874 0,0 0,0 c 0.0485,0.0723 0.14549,0.14473 0.29097,0.19902 l 0,0 0,0 c 0.14548,0.0723 0.26672,0.10858 0.4122,0.10858 l 0,0 0,0 c 0.84865,0 1.2851,-0.54279 1.2851,-1.59218 l 0,0 0,0 c 0,-0.54279 -0.097,-0.92274 -0.31522,-1.17604 l 0,0 0,0 c -0.19398,-0.2533 -0.53343,-0.37995 -0.96988,-0.37995 l 0,0 0,0 c -0.097,0 -0.21822,0.0362 -0.3637,0.12669 l 0,0 0,0 c -0.14548,0.0723 -0.24248,0.14475 -0.33947,0.23521 z" /> 20.909 + <path 20.910 + inkscape:connector-curvature="0" 20.911 + id="227" 20.912 + style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.913 + d="m 298.39316,441.15341 0,0 0,-0.16283 1.67303,-2.76823 0,0 0,0 c 0.36372,-0.59706 0.53343,-1.08557 0.53343,-1.48362 l 0,0 0,0 c 0,-0.52469 -0.29095,-0.79609 -0.84863,-0.79609 l 0,0 0,0 c -0.19398,0 -0.36371,0.0544 -0.53345,0.16284 l 0,0 0,0 c -0.16971,0.12669 -0.3152,0.25331 -0.38795,0.43423 l 0,0 -0.46068,-0.41614 0,0 0,0 c 0.0727,-0.27139 0.24247,-0.47041 0.48493,-0.61515 l 0,0 0,0 c 0.24247,-0.16284 0.53344,-0.23522 0.8729,-0.23522 l 0,0 0,0 c 0.50918,0 0.89713,0.12669 1.1881,0.37996 l 0,0 0,0 c 0.29096,0.2533 0.43645,0.61515 0.43645,1.08557 l 0,0 0,0 c 0,0.43423 -0.19399,0.97701 -0.55768,1.64646 l 0,0 -1.21235,2.06259 2.08524,0 0,0.70563 -3.27334,0 z" /> 20.914 + <path 20.915 + inkscape:connector-curvature="0" 20.916 + id="228" 20.917 + style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.918 + d="m 316.50565,441.15341 -0.36372,-1.21223 -1.98824,0 -0.36372,1.21223 -0.82438,0 2.15798,-5.86212 0.16972,0 2.01251,5.86212 -0.80015,0 z m -1.3336,-4.34231 -0.82438,2.53302 1.57605,0 -0.75167,-2.53302 z" /> 20.919 + <path 20.920 + inkscape:connector-curvature="0" 20.921 + id="229" 20.922 + style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.923 + d="m 318.51814,440.9182 0,0 0,1.89976 -0.70316,0 0,-5.8983 0.70316,0 0,0.34377 0,0 0,0 c 0.24247,-0.28949 0.55769,-0.43424 0.94564,-0.43424 l 0,0 0,0 c 0.50918,0 0.94563,0.19904 1.26084,0.56089 l 0,0 0,0 c 0.31522,0.37995 0.4607,0.94083 0.4607,1.66455 l 0,0 0,0 c 0,0.63325 -0.14548,1.15795 -0.4607,1.57408 l 0,0 0,0 c -0.31521,0.39806 -0.77591,0.61517 -1.33359,0.61517 l 0,0 0,0 c -0.16972,0 -0.33945,-0.0362 -0.53344,-0.10858 l 0,0 0,0 c -0.16973,-0.0542 -0.29096,-0.12669 -0.33945,-0.21711 z m 0,-3.09389 0,0 0,2.47874 0,0 0,0 c 0.0242,0.0723 0.12124,0.14473 0.26672,0.19902 l 0,0 0,0 c 0.14548,0.0723 0.26672,0.10858 0.4122,0.10858 l 0,0 0,0 c 0.8244,0 1.26085,-0.54279 1.26085,-1.59218 l 0,0 0,0 c 0,-0.54279 -0.097,-0.92274 -0.31522,-1.17604 l 0,0 0,0 c -0.19398,-0.2533 -0.48493,-0.37995 -0.94563,-0.37995 l 0,0 0,0 c -0.097,0 -0.21822,0.0362 -0.3637,0.12669 l 0,0 0,0 c -0.12125,0.0723 -0.24248,0.14475 -0.31522,0.23521 z" /> 20.924 + <path 20.925 + inkscape:connector-curvature="0" 20.926 + id="230" 20.927 + style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.928 + d="m 322.61588,440.9182 0,0 0,1.89976 -0.67891,0 0,-5.8983 0.67891,0 0,0.34377 0,0 0,0 c 0.26672,-0.28949 0.58194,-0.43424 0.94564,-0.43424 l 0,0 0,0 c 0.53343,0 0.96988,0.19904 1.28508,0.56089 l 0,0 0,0 c 0.29096,0.37995 0.46069,0.94083 0.46069,1.66455 l 0,0 0,0 c 0,0.63325 -0.16973,1.15795 -0.46069,1.57408 l 0,0 0,0 c -0.3152,0.39806 -0.7759,0.61517 -1.35783,0.61517 l 0,0 0,0 c -0.16972,0 -0.3152,-0.0362 -0.50919,-0.10858 l 0,0 0,0 c -0.16973,-0.0542 -0.29096,-0.12669 -0.3637,-0.21711 z m 0,-3.09389 0,0 0,2.47874 0,0 0,0 c 0.0485,0.0723 0.14549,0.14473 0.29097,0.19902 l 0,0 0,0 c 0.14548,0.0723 0.26672,0.10858 0.38795,0.10858 l 0,0 0,0 c 0.84865,0 1.2851,-0.54279 1.2851,-1.59218 l 0,0 0,0 c 0,-0.54279 -0.097,-0.92274 -0.31522,-1.17604 l 0,0 0,0 c -0.19398,-0.2533 -0.53343,-0.37995 -0.96988,-0.37995 l 0,0 0,0 c -0.0727,0 -0.19398,0.0362 -0.33947,0.12669 l 0,0 0,0 c -0.14548,0.0723 -0.24246,0.14475 -0.33945,0.23521 z" /> 20.929 + <path 20.930 + inkscape:connector-curvature="0" 20.931 + id="231" 20.932 + style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.933 + d="m 328.16844,440.73727 0,0 0.36371,-0.59706 0,0 0,0 c 0.21822,0.28948 0.53342,0.41613 0.89713,0.41613 l 0,0 0,0 c 0.67892,0 1.01837,-0.34376 1.01837,-1.06748 l 0,0 0,0 c 0,-0.32567 -0.12123,-0.59707 -0.3152,-0.79609 l 0,0 0,0 c -0.19398,-0.21711 -0.43645,-0.30758 -0.7759,-0.30758 l 0,0 -0.0485,0 0,-0.65134 0.0242,0 0,0 0,0 c 0.60617,0 0.92138,-0.28949 0.92138,-0.88657 l 0,0 0,0 c 0,-0.59706 -0.29096,-0.90464 -0.87288,-0.90464 l 0,0 0,0 c -0.31523,0 -0.55768,0.10858 -0.75166,0.34377 l 0,0 -0.31522,-0.54279 0,0 0,0 c 0.21823,-0.30758 0.60618,-0.47042 1.13961,-0.47042 l 0,0 0,0 c 0.46069,0 0.8244,0.12669 1.1396,0.39805 l 0,0 0,0 c 0.29097,0.27139 0.43645,0.61516 0.43645,1.04939 l 0,0 0,0 c 0,0.30759 -0.097,0.57897 -0.24247,0.83228 l 0,0 0,0 c -0.16973,0.2533 -0.36371,0.41613 -0.58193,0.5066 l 0,0 0,0 c 0.29097,0.10858 0.53345,0.28948 0.72742,0.54279 l 0,0 0,0 c 0.16971,0.27139 0.26671,0.57897 0.26671,0.94083 l 0,0 0,0 c 0,0.54278 -0.14548,0.95893 -0.46068,1.24841 l 0,0 0,0 c -0.31523,0.30758 -0.75166,0.45233 -1.3336,0.45233 l 0,0 0,0 c -0.21821,0 -0.46069,-0.0542 -0.67891,-0.14475 l 0,0 0,0 c -0.24247,-0.10857 -0.4122,-0.21711 -0.55768,-0.36186 z" /> 20.934 + <path 20.935 + inkscape:connector-curvature="0" 20.936 + id="264" 20.937 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.938 + d="m 364.80562,442.96271 20.73117,11.39855 -0.33946,0.34377 -0.33945,0.34377 -20.73117,-11.39856 0.33946,-0.34377 0.33945,-0.34376 z" /> 20.939 + <path 20.940 + inkscape:connector-curvature="0" 20.941 + id="265" 20.942 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.943 + d="m 382.02098,450.38082 0,0 4.36445,4.97556 -7.61354,-1.64646 0,0 0,0 c 1.91551,-0.47041 3.22484,-1.80929 3.24909,-3.3291 z" /> 20.944 + <path 20.945 + inkscape:connector-curvature="0" 20.946 + id="266" 20.947 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.948 + d="m 394.92037,443.30647 -0.0485,11.39856 -0.58193,0 -0.58193,0 0.0485,-11.39856 0.58192,0 0.58193,0 z" /> 20.949 + <path 20.950 + inkscape:connector-curvature="0" 20.951 + id="267" 20.952 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.953 + d="m 397.07835,450.23607 0,0 -2.7884,5.57264 -2.71566,-5.59073 0,0 0,0 c 1.6003,0.90464 3.83102,0.90464 5.50406,0.0181 z" /> 20.954 + <path 20.955 + inkscape:connector-curvature="0" 20.956 + id="268" 20.957 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.958 + d="m 424.45319,443.65024 -20.73117,11.39856 -0.31521,-0.34377 -0.33945,-0.34377 20.70692,-11.39855 0.33945,0.34376 0.33946,0.34377 z" /> 20.959 + <path 20.960 + inkscape:connector-curvature="0" 20.961 + id="269" 20.962 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.963 + d="m 409.80801,453.72802 0,0 -7.61355,1.64645 4.38871,-4.97556 0,0 0,0 c 0,1.50172 1.30933,2.8406 3.22484,3.32911 z" /> 20.964 + <path 20.965 + inkscape:connector-curvature="0" 20.966 + id="294" 20.967 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.968 + d="m 359.49553,441.15341 -0.38794,-1.21223 -1.96401,0 -0.38796,1.21223 -0.82438,0 2.15798,-5.86212 0.19396,0 2.01251,5.86212 -0.80016,0 z m -1.33358,-4.34231 -0.82439,2.53302 1.57605,0 -0.75166,-2.53302 z" /> 20.969 + <path 20.970 + inkscape:connector-curvature="0" 20.971 + id="295" 20.972 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.973 + d="m 361.48379,440.9182 0,0 0,1.89976 -0.67891,0 0,-5.8983 0.67891,0 0,0.34377 0,0 0,0 c 0.24247,-0.28949 0.53343,-0.43424 0.89713,-0.43424 l 0,0 0,0 c 0.55769,0 0.99413,0.19904 1.30935,0.56089 l 0,0 0,0 c 0.29096,0.37995 0.46069,0.94083 0.46069,1.66455 l 0,0 0,0 c 0,0.63325 -0.16973,1.15795 -0.48494,1.57408 l 0,0 0,0 c -0.29097,0.39806 -0.75166,0.61517 -1.33358,0.61517 l 0,0 0,0 c -0.16973,0 -0.33946,-0.0362 -0.53344,-0.10858 l 0,0 0,0 c -0.14548,-0.0542 -0.26672,-0.12669 -0.31521,-0.21711 z m 0,-3.09389 0,0 0,2.47874 0,0 0,0 c 0.0485,0.0723 0.14548,0.14473 0.26672,0.19902 l 0,0 0,0 c 0.097,0.0723 0.24247,0.10858 0.38795,0.10858 l 0,0 0,0 c 0.84864,0 1.28509,-0.54279 1.28509,-1.59218 l 0,0 0,0 c 0,-0.54279 -0.12124,-0.92274 -0.31521,-1.17604 l 0,0 0,0 c -0.19398,-0.2533 -0.53344,-0.37995 -0.96988,-0.37995 l 0,0 0,0 c -0.097,0 -0.21823,0.0362 -0.33946,0.12669 l 0,0 0,0 c -0.12124,0.0723 -0.21822,0.14475 -0.31521,0.23521 z" /> 20.974 + <path 20.975 + inkscape:connector-curvature="0" 20.976 + id="296" 20.977 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.978 + d="m 365.58152,440.9182 0,0 0,1.89976 -0.67891,0 0,-5.8983 0.67891,0 0,0.34377 0,0 0,0 c 0.26673,-0.28949 0.58193,-0.43424 0.94564,-0.43424 l 0,0 0,0 c 0.55768,0 0.99413,0.19904 1.26084,0.56089 l 0,0 0,0 c 0.31522,0.37995 0.4607,0.94083 0.4607,1.66455 l 0,0 0,0 c 0,0.63325 -0.14548,1.15795 -0.4607,1.57408 l 0,0 0,0 c -0.29096,0.39806 -0.7274,0.61517 -1.30933,0.61517 l 0,0 0,0 c -0.16973,0 -0.33946,-0.0362 -0.53344,-0.10858 l 0,0 0,0 c -0.19398,-0.0542 -0.31521,-0.12669 -0.36371,-0.21711 z m 0,-3.09389 0,0 0,2.47874 0,0 0,0 c 0.0485,0.0723 0.14549,0.14473 0.26673,0.19902 l 0,0 0,0 c 0.14548,0.0723 0.29096,0.10858 0.41219,0.10858 l 0,0 0,0 c 0.87289,0 1.28509,-0.54279 1.28509,-1.59218 l 0,0 0,0 c 0,-0.54279 -0.097,-0.92274 -0.29096,-1.17604 l 0,0 0,0 c -0.21822,-0.2533 -0.53343,-0.37995 -0.96988,-0.37995 l 0,0 0,0 c -0.097,0 -0.21822,0.0362 -0.36371,0.12669 l 0,0 0,0 c -0.14548,0.0723 -0.26671,0.14475 -0.33946,0.23521 z" /> 20.979 + <path 20.980 + inkscape:connector-curvature="0" 20.981 + id="297" 20.982 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.983 + d="m 373.94673,439.57932 0,1.57409 -0.67891,0 0,-1.57409 -2.42469,0 0,-0.45231 2.83689,-3.78143 0.26671,0 0,3.61859 0.53344,0 0,0.61515 -0.53344,0 z m -0.67891,-2.65966 -1.55181,2.04451 1.55181,0 0,-2.04451 z" /> 20.984 + <path 20.985 + inkscape:connector-curvature="0" 20.986 + id="298" 20.987 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.988 + d="m 389.12534,441.15341 -0.38795,-1.21223 -1.964,0 -0.38796,1.21223 -0.80014,0 2.13373,-5.86212 0.19397,0 2.0125,5.86212 -0.80015,0 z m -1.33358,-4.34231 -0.82439,2.53302 1.57604,0 -0.75165,-2.53302 z" /> 20.989 + <path 20.990 + inkscape:connector-curvature="0" 20.991 + id="299" 20.992 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.993 + d="m 391.11359,440.9182 0,0 0,1.89976 -0.67891,0 0,-5.8983 0.67891,0 0,0.34377 0,0 0,0 c 0.26673,-0.28949 0.55769,-0.43424 0.92139,-0.43424 l 0,0 0,0 c 0.55769,0 0.99413,0.19904 1.28509,0.56089 l 0,0 0,0 c 0.31521,0.37995 0.4607,0.94083 0.4607,1.66455 l 0,0 0,0 c 0,0.63325 -0.14549,1.15795 -0.4607,1.57408 l 0,0 0,0 c -0.29096,0.39806 -0.75165,0.61517 -1.33358,0.61517 l 0,0 0,0 c -0.16973,0 -0.33946,-0.0362 -0.50919,-0.10858 l 0,0 0,0 c -0.19398,-0.0542 -0.31521,-0.12669 -0.36371,-0.21711 z m 0,-3.09389 0,0 0,2.47874 0,0 0,0 c 0.0485,0.0723 0.14548,0.14473 0.29097,0.19902 l 0,0 0,0 c 0.12124,0.0723 0.24247,0.10858 0.3637,0.10858 l 0,0 0,0 c 0.87289,0 1.30934,-0.54279 1.30934,-1.59218 l 0,0 0,0 c 0,-0.54279 -0.12124,-0.92274 -0.3152,-1.17604 l 0,0 0,0 c -0.19398,-0.2533 -0.53344,-0.37995 -0.96989,-0.37995 l 0,0 0,0 c -0.097,0 -0.21822,0.0362 -0.33946,0.12669 l 0,0 0,0 c -0.14548,0.0723 -0.24246,0.14475 -0.33946,0.23521 z" /> 20.994 + <path 20.995 + inkscape:connector-curvature="0" 20.996 + id="300" 20.997 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.998 + d="m 395.23558,440.9182 0,0 0,1.89976 -0.67891,0 0,-5.8983 0.67891,0 0,0.34377 0,0 0,0 c 0.26672,-0.28949 0.58193,-0.43424 0.94563,-0.43424 l 0,0 0,0 c 0.55768,0 0.99413,0.19904 1.2851,0.56089 l 0,0 0,0 c 0.29096,0.37995 0.43644,0.94083 0.43644,1.66455 l 0,0 0,0 c 0,0.63325 -0.14548,1.15795 -0.43644,1.57408 l 0,0 0,0 c -0.31521,0.39806 -0.75166,0.61517 -1.33359,0.61517 l 0,0 0,0 c -0.16973,0 -0.33946,-0.0362 -0.53343,-0.10858 l 0,0 0,0 c -0.19398,-0.0542 -0.31521,-0.12669 -0.36371,-0.21711 z m 0,-3.09389 0,0 0,2.47874 0,0 0,0 c 0.0485,0.0723 0.14548,0.14473 0.26672,0.19902 l 0,0 0,0 c 0.14549,0.0723 0.29096,0.10858 0.4122,0.10858 l 0,0 0,0 c 0.87289,0 1.28508,-0.54279 1.28508,-1.59218 l 0,0 0,0 c 0,-0.54279 -0.097,-0.92274 -0.29096,-1.17604 l 0,0 0,0 c -0.21822,-0.2533 -0.53343,-0.37995 -0.99412,-0.37995 l 0,0 0,0 c -0.097,0 -0.19398,0.0362 -0.33946,0.12669 l 0,0 0,0 c -0.14548,0.0723 -0.26671,0.14475 -0.33946,0.23521 z" /> 20.999 + <path 20.1000 + inkscape:connector-curvature="0" 20.1001 + id="301" 20.1002 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1003 + d="m 401.22459,438.33091 0,0 -0.24247,-0.19902 0,-2.78631 2.61867,0 0,0.66944 -1.91551,0 0,1.39316 0,0 0,0 c 0.16973,-0.14475 0.38795,-0.21712 0.67891,-0.21712 l 0,0 0,0 c 0.48494,0 0.8729,0.16284 1.11536,0.4885 l 0,0 0,0 c 0.24247,0.32568 0.38796,0.77801 0.38796,1.37507 l 0,0 0,0 c 0,1.44744 -0.58193,2.18925 -1.77003,2.18925 l 0,0 0,0 c -0.50919,0 -0.92139,-0.16284 -1.2366,-0.45233 l 0,0 0.29096,-0.66944 0,0 0,0 c 0.31521,0.28949 0.63042,0.43423 0.94564,0.43423 l 0,0 0,0 c 0.67892,0 1.01837,-0.45232 1.01837,-1.39315 l 0,0 0,0 c 0,-0.86846 -0.33945,-1.28461 -1.01837,-1.28461 l 0,0 0,0 c -0.31522,0 -0.60618,0.14475 -0.87289,0.45233 z" /> 20.1004 + <path 20.1005 + inkscape:connector-curvature="0" 20.1006 + id="302" 20.1007 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1008 + d="m 418.73091,441.15341 -0.36371,-1.21223 -1.96401,0 -0.41219,1.21223 -0.77591,0 2.13374,-5.86212 0.19397,0 2.0125,5.86212 -0.82439,0 z m -1.30935,-4.34231 -0.82439,2.53302 1.57605,0 -0.75166,-2.53302 z" /> 20.1009 + <path 20.1010 + inkscape:connector-curvature="0" 20.1011 + id="303" 20.1012 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1013 + d="m 420.74341,440.9182 0,0 0,1.89976 -0.67892,0 0,-5.8983 0.67892,0 0,0.34377 0,0 0,0 c 0.26671,-0.28949 0.58192,-0.43424 0.92137,-0.43424 l 0,0 0,0 c 0.55769,0 0.99414,0.19904 1.2851,0.56089 l 0,0 0,0 c 0.31521,0.37995 0.46069,0.94083 0.46069,1.66455 l 0,0 0,0 c 0,0.63325 -0.14548,1.15795 -0.46069,1.57408 l 0,0 0,0 c -0.31521,0.39806 -0.75166,0.61517 -1.33358,0.61517 l 0,0 0,0 c -0.16973,0 -0.31521,-0.0362 -0.50919,-0.10858 l 0,0 0,0 c -0.19398,-0.0542 -0.31521,-0.12669 -0.3637,-0.21711 z m 0,-3.09389 0,0 0,2.47874 0,0 0,0 c 0.0485,0.0723 0.14548,0.14473 0.26671,0.19902 l 0,0 0,0 c 0.14548,0.0723 0.29097,0.10858 0.4122,0.10858 l 0,0 0,0 c 0.84864,0 1.26084,-0.54279 1.26084,-1.59218 l 0,0 0,0 c 0,-0.54279 -0.097,-0.92274 -0.29096,-1.17604 l 0,0 0,0 c -0.21823,-0.2533 -0.53344,-0.37995 -0.96988,-0.37995 l 0,0 0,0 c -0.0727,0 -0.19398,0.0362 -0.33946,0.12669 l 0,0 0,0 c -0.14548,0.0723 -0.26672,0.14475 -0.33945,0.23521 z" /> 20.1014 + <path 20.1015 + inkscape:connector-curvature="0" 20.1016 + id="304" 20.1017 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1018 + d="m 424.86539,440.9182 0,0 0,1.89976 -0.70316,0 0,-5.8983 0.70316,0 0,0.34377 0,0 0,0 c 0.26672,-0.28949 0.58193,-0.43424 0.94563,-0.43424 l 0,0 0,0 c 0.55768,0 0.99413,0.19904 1.28509,0.56089 l 0,0 0,0 c 0.31522,0.37995 0.43645,0.94083 0.43645,1.66455 l 0,0 0,0 c 0,0.63325 -0.12123,1.15795 -0.43645,1.57408 l 0,0 0,0 c -0.31521,0.39806 -0.75165,0.61517 -1.33359,0.61517 l 0,0 0,0 c -0.16972,0 -0.33945,-0.0362 -0.53343,-0.10858 l 0,0 0,0 c -0.19397,-0.0542 -0.31521,-0.12669 -0.3637,-0.21711 z m 0,-3.09389 0,0 0,2.47874 0,0 0,0 c 0.0485,0.0723 0.14548,0.14473 0.26672,0.19902 l 0,0 0,0 c 0.14548,0.0723 0.29096,0.10858 0.4122,0.10858 l 0,0 0,0 c 0.87288,0 1.28508,-0.54279 1.28508,-1.59218 l 0,0 0,0 c 0,-0.54279 -0.097,-0.92274 -0.29096,-1.17604 l 0,0 0,0 c -0.21822,-0.2533 -0.53343,-0.37995 -0.99412,-0.37995 l 0,0 0,0 c -0.097,0 -0.19398,0.0362 -0.33946,0.12669 l 0,0 0,0 c -0.14549,0.0723 -0.26672,0.14475 -0.33946,0.23521 z" /> 20.1019 + <path 20.1020 + inkscape:connector-curvature="0" 20.1021 + id="305" 20.1022 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1023 + d="m 432.47894,435.2732 0,0 0.36371,0.41614 0,0 0,0 c -0.21823,0.0905 -0.53344,0.41614 -0.92139,0.94083 l 0,0 0,0 c -0.4122,0.50661 -0.63042,0.92275 -0.67892,1.21223 l 0,0 0,0 c 0.19398,-0.21711 0.48494,-0.32568 0.84865,-0.32568 l 0,0 0,0 c 0.46069,0 0.82439,0.18093 1.11536,0.50661 l 0,0 0,0 c 0.26672,0.32567 0.4122,0.778 0.4122,1.33888 l 0,0 0,0 c 0,0.57897 -0.14548,1.0313 -0.4122,1.37506 l 0,0 0,0 c -0.29097,0.34377 -0.67891,0.5247 -1.11536,0.5247 l 0,0 0,0 c -1.16385,0 -1.74579,-0.85037 -1.74579,-2.53302 l 0,0 0,0 c 0,-0.70562 0.21823,-1.42934 0.67892,-2.13496 l 0,0 0,0 c 0.4607,-0.74181 0.94564,-1.17605 1.45482,-1.32079 z m -1.35783,4.07092 0,0 0,0 c 0,0.83228 0.29096,1.23032 0.92138,1.23032 l 0,0 0,0 c 0.26672,0 0.4607,-0.0905 0.63043,-0.30759 l 0,0 0,0 c 0.14548,-0.21711 0.21822,-0.5066 0.21822,-0.86846 l 0,0 0,0 c 0,-0.36186 -0.0727,-0.65133 -0.24247,-0.86846 l 0,0 0,0 c -0.16973,-0.21711 -0.3637,-0.32567 -0.60618,-0.32567 l 0,0 0,0 c -0.63042,0 -0.92138,0.37996 -0.92138,1.13986 z" /> 20.1024 + <path 20.1025 + inkscape:connector-curvature="0" 20.1026 + id="366" 20.1027 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1028 + d="m 461.81778,441.15341 -0.3637,-1.21223 -1.964,0 -0.41221,1.21223 -0.80014,0 2.15797,-5.86212 0.19398,0 2.0125,5.86212 -0.8244,0 z m -1.30933,-4.34231 -0.8244,2.53302 1.57605,0 -0.75165,-2.53302 z" /> 20.1029 + <path 20.1030 + inkscape:connector-curvature="0" 20.1031 + id="367" 20.1032 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1033 + d="m 463.80603,440.9182 0,0 0,1.89976 -0.65466,0 0,-5.8983 0.65466,0 0,0.34377 0,0 0,0 c 0.26672,-0.28949 0.58193,-0.43424 0.94564,-0.43424 l 0,0 0,0 c 0.55768,0 0.99412,0.19904 1.28509,0.56089 l 0,0 0,0 c 0.31521,0.37995 0.46069,0.94083 0.46069,1.66455 l 0,0 0,0 c 0,0.63325 -0.14548,1.15795 -0.46069,1.57408 l 0,0 0,0 c -0.31521,0.39806 -0.75166,0.61517 -1.33359,0.61517 l 0,0 0,0 c -0.16973,0 -0.33946,-0.0362 -0.53343,-0.10858 l 0,0 0,0 c -0.19398,-0.0542 -0.31521,-0.12669 -0.36371,-0.21711 z m 0,-3.09389 0,0 0,2.47874 0,0 0,0 c 0.0485,0.0723 0.14549,0.14473 0.26672,0.19902 l 0,0 0,0 c 0.14549,0.0723 0.29096,0.10858 0.4122,0.10858 l 0,0 0,0 c 0.87289,0 1.28509,-0.54279 1.28509,-1.59218 l 0,0 0,0 c 0,-0.54279 -0.097,-0.92274 -0.29096,-1.17604 l 0,0 0,0 c -0.21822,-0.2533 -0.53343,-0.37995 -0.96988,-0.37995 l 0,0 0,0 c -0.097,0 -0.21822,0.0362 -0.36371,0.12669 l 0,0 0,0 c -0.14548,0.0723 -0.26671,0.14475 -0.33946,0.23521 z" /> 20.1034 + <path 20.1035 + inkscape:connector-curvature="0" 20.1036 + id="368" 20.1037 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1038 + d="m 467.95227,440.9182 0,0 0,1.89976 -0.70316,0 0,-5.8983 0.70316,0 0,0.34377 0,0 0,0 c 0.26671,-0.28949 0.58193,-0.43424 0.94563,-0.43424 l 0,0 0,0 c 0.53343,0 0.96988,0.19904 1.26084,0.56089 l 0,0 0,0 c 0.31521,0.37995 0.46069,0.94083 0.46069,1.66455 l 0,0 0,0 c 0,0.63325 -0.14548,1.15795 -0.46069,1.57408 l 0,0 0,0 c -0.31521,0.39806 -0.75166,0.61517 -1.30933,0.61517 l 0,0 0,0 c -0.16973,0 -0.33946,-0.0362 -0.53343,-0.10858 l 0,0 0,0 c -0.19398,-0.0542 -0.31521,-0.12669 -0.36371,-0.21711 z m 0,-3.09389 0,0 0,2.47874 0,0 0,0 c 0.0485,0.0723 0.14548,0.14473 0.26671,0.19902 l 0,0 0,0 c 0.14549,0.0723 0.29097,0.10858 0.4122,0.10858 l 0,0 0,0 c 0.84865,0 1.26085,-0.54279 1.26085,-1.59218 l 0,0 0,0 c 0,-0.54279 -0.097,-0.92274 -0.29097,-1.17604 l 0,0 0,0 c -0.21822,-0.2533 -0.50919,-0.37995 -0.96988,-0.37995 l 0,0 0,0 c -0.097,0 -0.19397,0.0362 -0.33945,0.12669 l 0,0 0,0 c -0.14548,0.0723 -0.26672,0.14475 -0.33946,0.23521 z" /> 20.1039 + <path 20.1040 + inkscape:connector-curvature="0" 20.1041 + id="369" 20.1042 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1043 + d="m 474.69293,441.15341 0,0 -0.8244,0 0,0 0,0 c 0.19398,-0.61516 0.48494,-1.42934 0.92139,-2.46064 l 0,0 0,0 c 0.38795,-1.01321 0.7759,-1.88167 1.1396,-2.58729 l 0,0 -2.49743,0 0,-0.7599 3.41882,0 0,0.30758 -0.46069,1.01319 0,0 0,0 c -0.14549,0.32568 -0.31522,0.68755 -0.48494,1.10368 l 0,0 0,0 c -0.16973,0.39804 -0.33946,0.81419 -0.50919,1.24841 l 0,0 0,0 c -0.16973,0.41615 -0.29096,0.81419 -0.41219,1.17605 l 0,0 0,0 c -0.12124,0.36185 -0.21823,0.66944 -0.29097,0.95892 z" /> 20.1044 + <path 20.1045 + inkscape:connector-curvature="0" 20.1046 + id="370" 20.1047 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1048 + d="m 491.44759,441.15341 -0.3637,-1.21223 -1.96401,0 -0.4122,1.21223 -0.80014,0 2.15797,-5.86212 0.19398,0 2.0125,5.86212 -0.8244,0 z m -1.30934,-4.34231 -0.84864,2.53302 1.6003,0 -0.75166,-2.53302 z" /> 20.1049 + <path 20.1050 + inkscape:connector-curvature="0" 20.1051 + id="371" 20.1052 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1053 + d="m 493.43584,440.9182 0,0 0,1.89976 -0.67891,0 0,-5.8983 0.67891,0 0,0.34377 0,0 0,0 c 0.26672,-0.28949 0.58193,-0.43424 0.94563,-0.43424 l 0,0 0,0 c 0.55768,0 0.99414,0.19904 1.2851,0.56089 l 0,0 0,0 c 0.31521,0.37995 0.46069,0.94083 0.46069,1.66455 l 0,0 0,0 c 0,0.63325 -0.14548,1.15795 -0.46069,1.57408 l 0,0 0,0 c -0.31521,0.39806 -0.75166,0.61517 -1.33359,0.61517 l 0,0 0,0 c -0.16973,0 -0.33945,-0.0362 -0.53343,-0.10858 l 0,0 0,0 c -0.19398,-0.0542 -0.31521,-0.12669 -0.36371,-0.21711 z m 0,-3.09389 0,0 0,2.47874 0,0 0,0 c 0.0485,0.0723 0.14548,0.14473 0.26672,0.19902 l 0,0 0,0 c 0.14549,0.0723 0.29097,0.10858 0.4122,0.10858 l 0,0 0,0 c 0.87289,0 1.28509,-0.54279 1.28509,-1.59218 l 0,0 0,0 c 0,-0.54279 -0.097,-0.92274 -0.29097,-1.17604 l 0,0 0,0 c -0.21821,-0.2533 -0.53343,-0.37995 -0.99412,-0.37995 l 0,0 0,0 c -0.097,0 -0.19398,0.0362 -0.33946,0.12669 l 0,0 0,0 c -0.14548,0.0723 -0.26671,0.14475 -0.33946,0.23521 z" /> 20.1054 + <path 20.1055 + inkscape:connector-curvature="0" 20.1056 + id="372" 20.1057 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1058 + d="m 497.58208,440.9182 0,0 0,1.89976 -0.70316,0 0,-5.8983 0.70316,0 0,0.34377 0,0 0,0 c 0.26671,-0.28949 0.58192,-0.43424 0.94563,-0.43424 l 0,0 0,0 c 0.53343,0 0.96988,0.19904 1.26084,0.56089 l 0,0 0,0 c 0.31521,0.37995 0.46069,0.94083 0.46069,1.66455 l 0,0 0,0 c 0,0.63325 -0.14548,1.15795 -0.46069,1.57408 l 0,0 0,0 c -0.3152,0.39806 -0.72741,0.61517 -1.30934,0.61517 l 0,0 0,0 c -0.16973,0 -0.33946,-0.0362 -0.53342,-0.10858 l 0,0 0,0 c -0.19398,-0.0542 -0.31522,-0.12669 -0.36371,-0.21711 z m 0,-3.09389 0,0 0,2.47874 0,0 0,0 c 0.0485,0.0723 0.12123,0.14473 0.26671,0.19902 l 0,0 0,0 c 0.14548,0.0723 0.29096,0.10858 0.4122,0.10858 l 0,0 0,0 c 0.84865,0 1.26084,-0.54279 1.26084,-1.59218 l 0,0 0,0 c 0,-0.54279 -0.097,-0.92274 -0.29096,-1.17604 l 0,0 0,0 c -0.19398,-0.2533 -0.50918,-0.37995 -0.96988,-0.37995 l 0,0 0,0 c -0.097,0 -0.21822,0.0362 -0.33945,0.12669 l 0,0 0,0 c -0.14548,0.0723 -0.26672,0.14475 -0.33946,0.23521 z" /> 20.1059 + <path 20.1060 + inkscape:connector-curvature="0" 20.1061 + id="373" 20.1062 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1063 + d="m 504.03178,437.93287 0,0 0,0 c -0.21823,-0.12669 -0.41221,-0.32567 -0.55769,-0.56088 l 0,0 0,0 c -0.12123,-0.23521 -0.19397,-0.47042 -0.19397,-0.70564 l 0,0 0,0 c 0,-0.43422 0.12123,-0.77799 0.38795,-1.01319 l 0,0 0,0 c 0.26671,-0.25331 0.63042,-0.37996 1.04262,-0.37996 l 0,0 0,0 c 0.43644,0 0.80015,0.12669 1.04262,0.37996 l 0,0 0,0 c 0.24247,0.2352 0.38795,0.57897 0.38795,1.01319 l 0,0 0,0 c 0,0.23522 -0.097,0.50661 -0.24247,0.75992 l 0,0 0,0 c -0.14548,0.27138 -0.33945,0.45231 -0.53343,0.57897 l 0,0 0,0 c 0.65467,0.39805 0.96987,0.90464 0.96987,1.5379 l 0,0 0,0 c 0,0.54278 -0.14548,0.95893 -0.46069,1.24841 l 0,0 0,0 c -0.29096,0.28949 -0.67891,0.45233 -1.1881,0.45233 l 0,0 0,0 c -1.06687,0 -1.6003,-0.56088 -1.6003,-1.70074 l 0,0 0,0 c 0,-0.32568 0.0727,-0.63326 0.26672,-0.95892 l 0,0 0,0 c 0.19398,-0.30758 0.41219,-0.5247 0.67892,-0.65135 z m 0.89713,-0.25331 0,0 0,0 c 0.31522,-0.32566 0.4607,-0.68753 0.4607,-1.0313 l 0,0 0,0 c 0,-0.21711 -0.0485,-0.37995 -0.19398,-0.5066 l 0,0 0,0 c -0.12123,-0.1267 -0.26672,-0.19902 -0.48494,-0.19902 l 0,0 0,0 c -0.48494,0 -0.70316,0.23522 -0.70316,0.72371 l 0,0 0,0 c 0,0.32568 0.29096,0.66945 0.92138,1.01321 z m -0.31521,0.59708 0,0 0,0 c -0.53344,0.30758 -0.80015,0.7418 -0.80015,1.2665 l 0,0 0,0 c 0,0.28949 0.0727,0.54278 0.24247,0.72371 l 0,0 0,0 c 0.16973,0.19902 0.3637,0.28949 0.63042,0.28949 l 0,0 0,0 c 0.26672,0 0.48494,-0.0904 0.65467,-0.2714 l 0,0 0,0 c 0.16973,-0.19902 0.26671,-0.43422 0.26671,-0.7418 l 0,0 0,0 c 0,-0.19902 -0.0727,-0.41613 -0.19397,-0.59706 l 0,0 0,0 c -0.12124,-0.18093 -0.3637,-0.41615 -0.80015,-0.66944 z" /> 20.1064 + <path 20.1065 + inkscape:connector-curvature="0" 20.1066 + id="374" 20.1067 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1068 + d="m 521.0774,441.15341 -0.3637,-1.21223 -1.98826,0 -0.38795,1.21223 -0.80015,0 2.15799,-5.86212 0.19396,0 2.01251,5.86212 -0.8244,0 z m -1.33359,-4.34231 -0.82439,2.53302 1.6003,0 -0.77591,-2.53302 z" /> 20.1069 + <path 20.1070 + inkscape:connector-curvature="0" 20.1071 + id="375" 20.1072 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1073 + d="m 523.06565,440.9182 0,0 0,1.89976 -0.67891,0 0,-5.8983 0.67891,0 0,0.34377 0,0 0,0 c 0.26672,-0.28949 0.58193,-0.43424 0.94563,-0.43424 l 0,0 0,0 c 0.55768,0 0.99413,0.19904 1.2851,0.56089 l 0,0 0,0 c 0.31521,0.37995 0.46069,0.94083 0.46069,1.66455 l 0,0 0,0 c 0,0.63325 -0.14548,1.15795 -0.46069,1.57408 l 0,0 0,0 c -0.31522,0.39806 -0.75166,0.61517 -1.33359,0.61517 l 0,0 0,0 c -0.16973,0 -0.33946,-0.0362 -0.53343,-0.10858 l 0,0 0,0 c -0.19398,-0.0542 -0.31522,-0.12669 -0.36371,-0.21711 z m 0,-3.09389 0,0 0,2.47874 0,0 0,0 c 0.0485,0.0723 0.14548,0.14473 0.26672,0.19902 l 0,0 0,0 c 0.14548,0.0723 0.29096,0.10858 0.4122,0.10858 l 0,0 0,0 c 0.87289,0 1.28508,-0.54279 1.28508,-1.59218 l 0,0 0,0 c 0,-0.54279 -0.097,-0.92274 -0.29096,-1.17604 l 0,0 0,0 c -0.21822,-0.2533 -0.53343,-0.37995 -0.99412,-0.37995 l 0,0 0,0 c -0.097,0 -0.19398,0.0362 -0.33946,0.12669 l 0,0 0,0 c -0.14548,0.0723 -0.26672,0.14475 -0.33946,0.23521 z" /> 20.1074 + <path 20.1075 + inkscape:connector-curvature="0" 20.1076 + id="376" 20.1077 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1078 + d="m 527.21188,440.9182 0,0 0,1.89976 -0.70316,0 0,-5.8983 0.70316,0 0,0.34377 0,0 0,0 c 0.26672,-0.28949 0.58193,-0.43424 0.94564,-0.43424 l 0,0 0,0 c 0.55767,0 0.94563,0.19904 1.26084,0.56089 l 0,0 0,0 c 0.31521,0.37995 0.4607,0.94083 0.4607,1.66455 l 0,0 0,0 c 0,0.63325 -0.14549,1.15795 -0.4607,1.57408 l 0,0 0,0 c -0.31521,0.39806 -0.72741,0.61517 -1.30934,0.61517 l 0,0 0,0 c -0.16973,0 -0.3637,-0.0362 -0.53343,-0.10858 l 0,0 0,0 c -0.19398,-0.0542 -0.31521,-0.12669 -0.36371,-0.21711 z m 0,-3.09389 0,0 0,2.47874 0,0 0,0 c 0.0485,0.0723 0.12124,0.14473 0.26672,0.19902 l 0,0 0,0 c 0.14548,0.0723 0.29096,0.10858 0.4122,0.10858 l 0,0 0,0 c 0.87289,0 1.26084,-0.54279 1.26084,-1.59218 l 0,0 0,0 c 0,-0.54279 -0.097,-0.92274 -0.26672,-1.17604 l 0,0 0,0 c -0.21821,-0.2533 -0.53342,-0.37995 -0.99412,-0.37995 l 0,0 0,0 c -0.097,0 -0.21822,0.0362 -0.33946,0.12669 l 0,0 0,0 c -0.14548,0.0723 -0.26671,0.14475 -0.33946,0.23521 z" /> 20.1079 + <path 20.1080 + inkscape:connector-curvature="0" 20.1081 + id="377" 20.1082 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1083 + d="m 533.80706,441.26197 0,0 -0.3637,-0.43422 0,0 0,0 c 0.21822,-0.0905 0.53343,-0.39806 0.94563,-0.92275 l 0,0 0,0 c 0.38795,-0.54279 0.58193,-0.94083 0.63042,-1.23032 l 0,0 0,0 c -0.16973,0.19902 -0.46069,0.30758 -0.80015,0.30758 l 0,0 0,0 c -0.48494,0 -0.84864,-0.16284 -1.13961,-0.48851 l 0,0 0,0 c -0.29097,-0.32568 -0.43645,-0.77801 -0.43645,-1.35697 l 0,0 0,0 c 0,-0.54279 0.14548,-0.99512 0.43645,-1.35698 l 0,0 0,0 c 0.29097,-0.34376 0.67892,-0.5066 1.11536,-0.5066 l 0,0 0,0 c 1.13961,0 1.72154,0.83228 1.72154,2.51492 l 0,0 0,0 c 0,0.70563 -0.21823,1.41125 -0.67892,2.15306 l 0,0 0,0 c -0.43644,0.74182 -0.92139,1.17604 -1.43057,1.32079 z m 1.35783,-4.08901 0,0 0,0 c 0,-0.81417 -0.29096,-1.23032 -0.92138,-1.23032 l 0,0 0,0 c -0.26672,0 -0.46069,0.10858 -0.63042,0.32567 l 0,0 0,0 c -0.14549,0.21712 -0.21823,0.48852 -0.21823,0.83228 l 0,0 0,0 c 0,0.36186 0.0727,0.66944 0.24247,0.88655 l 0,0 0,0 c 0.16973,0.21712 0.3637,0.32568 0.60618,0.32568 l 0,0 0,0 c 0.63042,0 0.92138,-0.37995 0.92138,-1.13986 z" /> 20.1084 + <path 20.1085 + inkscape:connector-curvature="0" 20.1086 + id="378" 20.1087 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1088 + d="m 467.63706,442.96271 20.68267,11.39855 -0.33946,0.34377 -0.33946,0.34377 -20.68266,-11.39856 0.33945,-0.34377 0.33946,-0.34376 z" /> 20.1089 + <path 20.1090 + inkscape:connector-curvature="0" 20.1091 + id="379" 20.1092 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1093 + d="m 484.82817,450.38082 0,0 4.36445,4.97556 -7.6378,-1.64646 0,0 0,0 c 1.93977,-0.47041 3.2491,-1.80929 3.27335,-3.3291 z" /> 20.1094 + <path 20.1095 + inkscape:connector-curvature="0" 20.1096 + id="380" 20.1097 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1098 + d="m 497.72756,443.30647 -0.0485,11.39856 -0.58192,0 -0.58193,0 0.0485,-11.39856 0.58192,0 0.58193,0 z" /> 20.1099 + <path 20.1100 + inkscape:connector-curvature="0" 20.1101 + id="381" 20.1102 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1103 + d="m 499.86129,450.23607 0,0 -2.76415,5.57264 -2.71567,-5.59073 0,0 0,0 c 1.60031,0.90464 3.83103,0.90464 5.47982,0.0181 z" /> 20.1104 + <path 20.1105 + inkscape:connector-curvature="0" 20.1106 + id="382" 20.1107 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1108 + d="m 527.26038,443.65024 -20.70692,11.39856 -0.33946,-0.34377 -0.33946,-0.34377 20.70692,-11.39855 0.33946,0.34376 0.33946,0.34377 z" /> 20.1109 + <path 20.1110 + inkscape:connector-curvature="0" 20.1111 + id="383" 20.1112 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1113 + d="m 512.63945,453.72802 0,0 -7.61355,1.64645 4.3887,-4.97556 0,0 0,0 c 0,1.50172 1.30934,2.8406 3.22485,3.32911 z" /> 20.1114 + <path 20.1115 + inkscape:connector-curvature="0" 20.1116 + id="384" 20.1117 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1118 + d="m 269.93937,497.76592 -36.08647,34.26838 -0.3542,-0.27594 -0.35416,-0.29319 36.10617,-34.25113 0.35416,0.27593 0.3345,0.27595 z" /> 20.1119 + <path 20.1120 + inkscape:connector-curvature="0" 20.1121 + id="385" 20.1122 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1123 + d="m 239.64272,529.88124 0,0 -7.08011,2.69585 3.05511,-5.50024 0,0 0,0 c 0.38796,1.48361 1.98826,2.60538 4.025,2.80439 z" /> 20.1124 + <path 20.1125 + inkscape:connector-curvature="0" 20.1126 + id="386" 20.1127 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1128 + d="m 372.77081,497.0111 -79.52566,35.18604 -0.2629,-0.37112 -0.26289,-0.38879 79.52566,-35.16835 0.2629,0.3711 0.26289,0.37112 z" /> 20.1129 + <path 20.1130 + inkscape:connector-curvature="0" 20.1131 + id="387" 20.1132 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1133 + d="m 299.53276,531.47343 0,0 -7.85603,0.90464 5.21312,-4.48706 0,0 0,0 c -0.26673,1.50171 0.8244,2.93107 2.64291,3.58242 z" /> 20.1134 + <path 20.1135 + inkscape:connector-curvature="0" 20.1136 + id="388" 20.1137 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1138 + d="m 473.50489,497.75866 -120.9015,34.45656 -0.17886,-0.37526 -0.17883,-0.39232 120.90149,-34.43951 0.17885,0.37527 0.17885,0.37526 z" /> 20.1139 + <path 20.1140 + inkscape:connector-curvature="0" 20.1141 + id="389" 20.1142 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1143 + d="m 358.9621,532.19714 0,0 -7.92875,0.0362 6.01325,-3.87189 0,0 0,0 c -0.55769,1.44743 0.24246,2.96724 1.9155,3.83571 z" /> 20.1144 + <path 20.1145 + inkscape:connector-curvature="0" 20.1146 + id="390" 20.1147 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1148 + d="m 317.90247,496.23268 122.26277,35.18809 -0.18017,0.42418 -0.18016,0.40647 -122.26276,-35.20575 0.18015,-0.4065 0.18017,-0.40649 z" /> 20.1149 + <path 20.1150 + inkscape:connector-curvature="0" 20.1151 + id="391" 20.1152 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1153 + d="m 435.36433,528.36144 0,0 6.01325,3.85378 -7.90451,0 0,0 0,0 c 1.67304,-0.85036 2.4247,-2.38826 1.89126,-3.85378 z" /> 20.1154 + <path 20.1155 + inkscape:connector-curvature="0" 20.1156 + id="392" 20.1157 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1158 + d="m 420.00549,496.69623 79.61334,34.7681 -0.23423,0.38421 -0.23421,0.36668 -79.61334,-34.78558 0.23422,-0.36671 0.23422,-0.3667 z" /> 20.1159 + <path 20.1160 + inkscape:connector-curvature="0" 20.1161 + id="393" 20.1162 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1163 + d="m 495.39985,527.9272 0,0 5.31008,4.41469 -7.85602,-0.7961 0,0 0,0 c 1.79428,-0.66943 2.8369,-2.11687 2.54594,-3.61859 z" /> 20.1164 + <path 20.1165 + inkscape:connector-curvature="0" 20.1166 + id="394" 20.1167 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1168 + d="m 521.32171,496.34125 37.84769,35.2008 -0.31182,0.30042 -0.33132,0.30038 -37.86718,-35.20079 0.33131,-0.30042 0.33132,-0.30039 z" /> 20.1169 + <path 20.1170 + inkscape:connector-curvature="0" 20.1171 + id="395" 20.1172 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1173 + d="m 556.59922,527.20349 0,0 3.22485,5.42787 -7.10437,-2.55109 0,0 0,0 c 1.93976,-0.21711 3.51581,-1.37505 3.87952,-2.87678 z" /> 20.1174 + <path 20.1175 + inkscape:connector-curvature="0" 20.1176 + id="396" 20.1177 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1178 + d="m 483.85828,574.46227 0,-2.53302 -2.08523,0 0,2.53302 -0.63043,0 0,-5.24695 0.63043,0 0,2.11687 2.08523,0 0,-2.11687 0.65468,0 0,5.24695 -0.65468,0 z" /> 20.1179 + <path 20.1180 + inkscape:connector-curvature="0" 20.1181 + id="397" 20.1182 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1183 + d="m 489.16837,574.53464 -0.21822,0 -1.13961,-3.60049 -1.04262,3.60049 -0.19397,0 -1.52756,-5.31932 0.67891,0 0.96989,3.67285 1.04262,-3.67285 0.21821,0 1.04262,3.65477 0.96988,-3.65477 0.67892,0 -1.47907,5.31932 z" /> 20.1184 + <path 20.1185 + inkscape:connector-curvature="0" 20.1186 + id="398" 20.1187 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1188 + d="m 496.22425,569.41434 0,0 -0.21823,0.59706 0,0 0,0 c -0.19397,-0.16282 -0.53343,-0.23522 -0.96987,-0.23522 l 0,0 0,0 c -0.43645,0 -0.77591,0.18096 -1.01838,0.57899 l 0,0 0,0 c -0.26672,0.41613 -0.38795,0.92275 -0.38795,1.55599 l 0,0 0,0 c 0,0.57898 0.12123,1.0675 0.38795,1.42935 l 0,0 0,0 c 0.26672,0.37995 0.60618,0.56087 1.01838,0.56087 l 0,0 0,0 c 0.43644,0 0.80014,-0.16283 1.04262,-0.52468 l 0,0 0.33946,0.56087 0,0 0,0 c -0.36371,0.39805 -0.84865,0.61517 -1.45483,0.61517 l 0,0 0,0 c -0.63042,0 -1.11535,-0.25329 -1.47906,-0.74181 l 0,0 0,0 c -0.36371,-0.48852 -0.50919,-1.13986 -0.50919,-1.95404 l 0,0 0,0 c 0,-0.77801 0.16973,-1.44745 0.55768,-1.95404 l 0,0 0,0 c 0.3637,-0.52469 0.87289,-0.778 1.47907,-0.778 l 0,0 0,0 c 0.50918,0 0.92138,0.0905 1.21235,0.28949 z" /> 20.1189 + <path 20.1190 + inkscape:connector-curvature="0" 20.1191 + id="399" 20.1192 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1193 + d="m 497.16988,573.3767 0,0 0,-4.32422 0.63042,0 0,4.21567 0,0 0,0 c 0,0.19902 0.0485,0.36184 0.16973,0.4704 l 0,0 0,0 c 0.097,0.1267 0.24247,0.18093 0.4122,0.18093 l 0,0 0,0.61516 0,0 0,0 c -0.80015,0 -1.21235,-0.39804 -1.21235,-1.15794 z" /> 20.1194 + <path 20.1195 + inkscape:connector-curvature="0" 20.1196 + id="400" 20.1197 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1198 + d="m 501.04939,574.00994 0,0 0,0 c -0.24246,0.34378 -0.63042,0.5247 -1.1396,0.5247 l 0,0 0,0 c -0.26672,0 -0.50919,-0.10858 -0.70317,-0.32568 l 0,0 0,0 c -0.16973,-0.2171 -0.29096,-0.4885 -0.29096,-0.81416 l 0,0 0,0 c 0,-0.39807 0.14548,-0.72373 0.46069,-0.99513 l 0,0 0,0 c 0.29096,-0.25329 0.70317,-0.39804 1.1881,-0.39804 l 0,0 0,0 c 0.12124,0 0.26673,0.0362 0.43645,0.0905 l 0,0 0,0 c 0,-0.61515 -0.24247,-0.92272 -0.75166,-0.92272 l 0,0 0,0 c -0.38795,0 -0.70316,0.12669 -0.89714,0.34375 l 0,0 -0.26671,-0.56088 0,0 0,0 c 0.12123,-0.10857 0.29096,-0.19902 0.48494,-0.27138 l 0,0 0,0 c 0.21822,-0.0723 0.4122,-0.1267 0.60617,-0.1267 l 0,0 0,0 c 0.50919,0 0.87289,0.14473 1.09112,0.39804 l 0,0 0,0 c 0.24247,0.2533 0.3637,0.65134 0.3637,1.19414 l 0,0 0,1.37505 0,0 0,0 c 0,0.32569 0.0727,0.56089 0.26672,0.66944 l 0,0 0,0.32567 0,0 0,0 c -0.24247,0 -0.43644,-0.0362 -0.55768,-0.10857 l 0,0 0,0 c -0.14549,-0.0723 -0.21822,-0.21714 -0.29097,-0.39807 z m -0.0485,-1.42934 0,0 0,0 c -0.19397,-0.0542 -0.33945,-0.0723 -0.4122,-0.0723 l 0,0 0,0 c -0.31521,0 -0.58193,0.0905 -0.7759,0.27142 l 0,0 0,0 c -0.19397,0.16282 -0.29097,0.37995 -0.29097,0.61516 l 0,0 0,0 c 0,0.39804 0.21823,0.59706 0.65467,0.59706 l 0,0 0,0 c 0.31522,0 0.58193,-0.16285 0.8244,-0.48851 l 0,-0.92275 z" /> 20.1199 + <path 20.1200 + inkscape:connector-curvature="0" 20.1201 + id="401" 20.1202 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1203 + d="m 502.38297,574.22707 0,0 0.21823,-0.63326 0,0 0,0 c 0.33946,0.2352 0.60618,0.36186 0.8244,0.36186 l 0,0 0,0 c 0.38795,0 0.58193,-0.18092 0.58193,-0.5247 l 0,0 0,0 c 0,-0.25331 -0.19398,-0.47041 -0.55769,-0.65133 l 0,0 0,0 c -0.29096,-0.14475 -0.48493,-0.25331 -0.58192,-0.32568 l 0,0 0,0 c -0.097,-0.0723 -0.19397,-0.16285 -0.26672,-0.25329 l 0,0 0,0 c -0.0727,-0.0905 -0.12123,-0.18095 -0.14548,-0.28951 l 0,0 0,0 c -0.0485,-0.10858 -0.0727,-0.21711 -0.0727,-0.34375 l 0,0 0,0 c 0,-0.3076 0.12125,-0.56089 0.31522,-0.74182 l 0,0 0,0 c 0.21822,-0.16285 0.48494,-0.27139 0.8244,-0.27139 l 0,0 0,0 c 0.26671,0 0.58192,0.10858 0.96988,0.27139 l 0,0 -0.16973,0.63326 0,0 0,0 c -0.24248,-0.21712 -0.50919,-0.32568 -0.75166,-0.32568 l 0,0 0,0 c -0.14548,0 -0.26672,0.0362 -0.3637,0.1267 l 0,0 0,0 c -0.097,0.0723 -0.16973,0.16283 -0.16973,0.2714 l 0,0 0,0 c 0,0.2533 0.14548,0.43423 0.38795,0.56087 l 0,0 0.46069,0.21714 0,0 0,0 c 0.26672,0.14474 0.4607,0.28948 0.58193,0.47041 l 0,0 0,0 c 0.12123,0.18093 0.19397,0.39803 0.19397,0.65134 l 0,0 0,0 c 0,0.34378 -0.12123,0.61516 -0.33945,0.81418 l 0,0 0,0 c -0.21823,0.18093 -0.50919,0.28948 -0.92139,0.28948 l 0,0 0,0 c -0.3637,0 -0.70316,-0.10858 -1.01838,-0.30757 z" /> 20.1204 + <path 20.1205 + inkscape:connector-curvature="0" 20.1206 + id="402" 20.1207 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1208 + d="m 505.05015,574.22707 0,0 0.21822,-0.63326 0,0 0,0 c 0.3637,0.2352 0.63042,0.36186 0.84864,0.36186 l 0,0 0,0 c 0.38795,0 0.58193,-0.18092 0.58193,-0.5247 l 0,0 0,0 c 0,-0.25331 -0.19398,-0.47041 -0.55768,-0.65133 l 0,0 0,0 c -0.29096,-0.14475 -0.48494,-0.25331 -0.58192,-0.32568 l 0,0 0,0 c -0.097,-0.0723 -0.19398,-0.16285 -0.26673,-0.25329 l 0,0 0,0 c -0.0727,-0.0905 -0.12123,-0.18095 -0.16973,-0.28951 l 0,0 0,0 c -0.0242,-0.10858 -0.0485,-0.21711 -0.0485,-0.34375 l 0,0 0,0 c 0,-0.3076 0.097,-0.56089 0.31521,-0.74182 l 0,0 0,0 c 0.21821,-0.16285 0.48493,-0.27139 0.82439,-0.27139 l 0,0 0,0 c 0.26672,0 0.58192,0.10858 0.96988,0.27139 l 0,0 -0.19398,0.63326 0,0 0,0 c -0.24246,-0.21712 -0.48494,-0.32568 -0.7274,-0.32568 l 0,0 0,0 c -0.14549,0 -0.26672,0.0362 -0.38796,0.1267 l 0,0 0,0 c -0.097,0.0723 -0.14548,0.16283 -0.14548,0.2714 l 0,0 0,0 c 0,0.2533 0.12124,0.43423 0.38795,0.56087 l 0,0 0.43645,0.21714 0,0 0,0 c 0.29096,0.14474 0.48494,0.28948 0.60617,0.47041 l 0,0 0,0 c 0.12124,0.18093 0.19398,0.39803 0.19398,0.65134 l 0,0 0,0 c 0,0.34378 -0.12123,0.61516 -0.33946,0.81418 l 0,0 0,0 c -0.21823,0.18093 -0.53343,0.28948 -0.92138,0.28948 l 0,0 0,0 c -0.36371,0 -0.70316,-0.10858 -1.04262,-0.30757 z" /> 20.1209 + <path 20.1210 + inkscape:connector-curvature="0" 20.1211 + id="403" 20.1212 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1213 + d="m 511.40285,574.46227 0,0 -1.35783,0 0,-5.24695 0,0 0,0 c 0.60618,-0.0362 0.99413,-0.0544 1.2366,-0.0544 l 0,0 0,0 c 0.48494,0 0.84864,0.1267 1.11536,0.34377 l 0,0 0,0 c 0.24247,0.21713 0.38795,0.5428 0.38795,0.95893 l 0,0 0,0 c 0,0.2533 -0.097,0.47042 -0.24246,0.66944 l 0,0 0,0 c -0.16973,0.19902 -0.36371,0.32568 -0.55769,0.37995 l 0,0 0,0 c 0.38796,0.0905 0.65467,0.2714 0.8244,0.48851 l 0,0 0,0 c 0.16973,0.23521 0.26671,0.54279 0.26671,0.94083 l 0,0 0,0 c 0,0.47042 -0.16973,0.83229 -0.46069,1.10368 l 0,0 0,0 c -0.31521,0.27139 -0.72741,0.41613 -1.21235,0.41613 z m -0.70316,-4.66797 0,0 0,1.50172 0,0 0,0 c 0.14549,0.0181 0.31522,0.0362 0.50918,0.0362 l 0,0 0,0 c 0.60618,0 0.92139,-0.27139 0.92139,-0.85037 l 0,0 0,0 c 0,-0.48851 -0.29096,-0.72373 -0.84864,-0.72373 l 0,0 0,0 c -0.21823,0 -0.38796,0.0181 -0.58193,0.0362 z m 0,2.06259 0,0 0,1.99023 0,0 0,0 c 0.24247,0.0181 0.38795,0.0362 0.50918,0.0362 l 0,0 0,0 c 0.41221,0 0.70317,-0.0723 0.89715,-0.2533 l 0,0 0,0 c 0.19397,-0.16283 0.26672,-0.43421 0.26672,-0.79609 l 0,0 0,0 c 0,-0.34376 -0.0728,-0.59707 -0.26672,-0.75989 l 0,0 0,0 c -0.16973,-0.14476 -0.4607,-0.23522 -0.89715,-0.23522 l -0.50918,0.0181 z" /> 20.1214 + <path 20.1215 + inkscape:connector-curvature="0" 20.1216 + id="404" 20.1217 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1218 + d="m 278.82584,573.43097 0,-2.51492 -2.08524,0 0,2.51492 -0.65467,0 0,-5.22886 0.65467,0 0,2.08071 2.08524,0 0,-2.08071 0.65467,0 0,5.22886 -0.65467,0 z" /> 20.1219 + <path 20.1220 + inkscape:connector-curvature="0" 20.1221 + id="405" 20.1222 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1223 + d="m 284.11168,573.50335 -0.19397,0 -1.13961,-3.6186 -1.06686,3.6186 -0.19399,0 -1.50331,-5.30124 0.67891,0 0.94564,3.65478 1.06686,-3.65478 0.21823,0 1.04262,3.65478 0.92138,-3.65478 0.70316,0 -1.47906,5.30124 z" /> 20.1224 + <path 20.1225 + inkscape:connector-curvature="0" 20.1226 + id="406" 20.1227 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1228 + d="m 291.16755,568.38304 0,0 -0.21822,0.61515 0,0 0,0 c -0.21822,-0.16282 -0.55768,-0.25329 -0.96988,-0.25329 l 0,0 0,0 c -0.43645,0 -0.75165,0.19903 -1.01838,0.59707 l 0,0 0,0 c -0.24247,0.39805 -0.38794,0.90465 -0.38794,1.53791 l 0,0 0,0 c 0,0.59706 0.14547,1.08557 0.38794,1.44743 l 0,0 0,0 c 0.26673,0.36184 0.60618,0.56086 1.01838,0.56086 l 0,0 0,0 c 0.43645,0 0.77591,-0.18091 1.01836,-0.52468 l 0,0 0.36372,0.5428 0,0 0,0 c -0.38795,0.41612 -0.8729,0.61514 -1.45481,0.61514 l 0,0 0,0 c -0.63042,0 -1.11537,-0.23519 -1.47907,-0.74179 l 0,0 0,0 c -0.36371,-0.48853 -0.53343,-1.13987 -0.53343,-1.93596 l 0,0 0,0 c 0,-0.79608 0.19397,-1.44743 0.58192,-1.97214 l 0,0 0,0 c 0.38794,-0.50658 0.87289,-0.7599 1.47907,-0.7599 l 0,0 0,0 c 0.50919,0 0.89714,0.0905 1.21234,0.2714 z" /> 20.1229 + <path 20.1230 + inkscape:connector-curvature="0" 20.1231 + id="407" 20.1232 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1233 + d="m 292.11319,572.36349 0,0 0,-4.32421 0.60617,0 0,4.19756 0,0 0,0 c 0,0.21712 0.0485,0.36187 0.16973,0.48851 l 0,0 0,0 c 0.097,0.10857 0.24247,0.18094 0.4122,0.18094 l 0,0 0,0.59706 0,0 0,0 c -0.80015,0 -1.1881,-0.37996 -1.1881,-1.13986 z" /> 20.1234 + <path 20.1235 + inkscape:connector-curvature="0" 20.1236 + id="408" 20.1237 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1238 + d="m 296.01695,572.99673 0,0 0,0 c -0.26672,0.34378 -0.63042,0.50662 -1.13961,0.50662 l 0,0 0,0 c -0.29097,0 -0.53344,-0.10858 -0.7274,-0.32569 l 0,0 0,0 c -0.19398,-0.2171 -0.29097,-0.48851 -0.29097,-0.81417 l 0,0 0,0 c 0,-0.37996 0.14549,-0.70562 0.46068,-0.97702 l 0,0 0,0 c 0.31522,-0.27139 0.70317,-0.39803 1.18812,-0.39803 l 0,0 0,0 c 0.12123,0 0.26671,0.0361 0.43643,0.0905 l 0,0 0,0 c 0,-0.63325 -0.24247,-0.94083 -0.75165,-0.94083 l 0,0 0,0 c -0.38795,0 -0.67891,0.10858 -0.89713,0.34377 l 0,0 -0.26672,-0.57897 0,0 0,0 c 0.12124,-0.0905 0.29095,-0.18093 0.48494,-0.2714 l 0,0 0,0 c 0.21821,-0.0723 0.4122,-0.10858 0.60616,-0.10858 l 0,0 0,0 c 0.5092,0 0.8729,0.12669 1.09113,0.37995 l 0,0 0,0 c 0.21822,0.25331 0.33945,0.65135 0.33945,1.23032 l 0,0 0,1.35697 0,0 0,0 c 0,0.34377 0.097,0.56088 0.26672,0.66944 l 0,0 0,0.34377 0,0 0,0 c -0.24247,0 -0.43645,-0.0362 -0.55768,-0.1267 l 0,0 0,0 c -0.12124,-0.0723 -0.21822,-0.19903 -0.24247,-0.37996 z m -0.0727,-1.42932 0,0 0,0 c -0.19397,-0.0544 -0.33945,-0.0723 -0.41218,-0.0723 l 0,0 0,0 c -0.31522,0 -0.55768,0.0905 -0.75167,0.25331 l 0,0 0,0 c -0.21823,0.18091 -0.31521,0.37995 -0.31521,0.63326 l 0,0 0,0 c 0,0.39804 0.21823,0.59706 0.65466,0.59706 l 0,0 0,0 c 0.31522,0 0.58193,-0.16285 0.8244,-0.48852 l 0,-0.92273 z" /> 20.1239 + <path 20.1240 + inkscape:connector-curvature="0" 20.1241 + id="409" 20.1242 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1243 + d="m 297.30203,573.21387 0,0 0.21823,-0.65136 0,0 0,0 c 0.33945,0.2533 0.63042,0.37995 0.8244,0.37995 l 0,0 0,0 c 0.38795,0 0.58193,-0.18092 0.58193,-0.54279 l 0,0 0,0 c 0,-0.2352 -0.19398,-0.45231 -0.55768,-0.63324 l 0,0 0,0 c -0.29096,-0.14475 -0.48495,-0.25331 -0.58193,-0.32568 l 0,0 0,0 c -0.097,-0.0723 -0.16973,-0.16283 -0.24247,-0.2533 l 0,0 0,0 c -0.0727,-0.0905 -0.14548,-0.19901 -0.16973,-0.30757 l 0,0 0,0 c -0.0485,-0.10858 -0.0485,-0.21714 -0.0485,-0.36188 l 0,0 0,0 c 0,-0.30758 0.097,-0.54277 0.31522,-0.7237 l 0,0 0,0 c 0.19396,-0.18094 0.48493,-0.2714 0.82439,-0.2714 l 0,0 0,0 c 0.24247,0 0.55769,0.0905 0.94564,0.2714 l 0,0 -0.16974,0.63325 0,0 0,0 c -0.24246,-0.21713 -0.48493,-0.32568 -0.75165,-0.32568 l 0,0 0,0 c -0.14548,0 -0.26671,0.0362 -0.36371,0.10858 l 0,0 0,0 c -0.097,0.0723 -0.14548,0.18094 -0.14548,0.28949 l 0,0 0,0 c 0,0.27139 0.12124,0.45233 0.36371,0.57897 l 0,0 0.46068,0.21714 0,0 0,0 c 0.26674,0.12656 0.4607,0.28948 0.58194,0.47041 l 0,0 0,0 c 0.14548,0.16282 0.19398,0.37995 0.19398,0.65133 l 0,0 0,0 c 0,0.34378 -0.097,0.59706 -0.33947,0.79611 l 0,0 0,0 c -0.21821,0.19901 -0.50918,0.28948 -0.89713,0.28948 l 0,0 0,0 c -0.38796,0 -0.72741,-0.0905 -1.04263,-0.28948 z" /> 20.1244 + <path 20.1245 + inkscape:connector-curvature="0" 20.1246 + id="410" 20.1247 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1248 + d="m 299.99344,573.21387 0,0 0.24248,-0.65136 0,0 0,0 c 0.33945,0.2533 0.60617,0.37995 0.8244,0.37995 l 0,0 0,0 c 0.38795,0 0.58193,-0.18092 0.58193,-0.54279 l 0,0 0,0 c 0,-0.2352 -0.19398,-0.45231 -0.55768,-0.63324 l 0,0 0,0 c -0.29096,-0.14475 -0.48495,-0.25331 -0.58193,-0.32568 l 0,0 0,0 c -0.097,-0.0723 -0.19397,-0.16283 -0.26672,-0.2533 l 0,0 0,0 c -0.0728,-0.0905 -0.12123,-0.19901 -0.14548,-0.30757 l 0,0 0,0 c -0.0485,-0.10858 -0.0727,-0.21714 -0.0727,-0.36188 l 0,0 0,0 c 0,-0.30758 0.12125,-0.54277 0.31522,-0.7237 l 0,0 0,0 c 0.21823,-0.18094 0.48494,-0.2714 0.82439,-0.2714 l 0,0 0,0 c 0.26672,0 0.58194,0.0905 0.94564,0.2714 l 0,0 -0.14549,0.63325 0,0 0,0 c -0.24246,-0.21713 -0.50918,-0.32568 -0.75165,-0.32568 l 0,0 0,0 c -0.14548,0 -0.26671,0.0362 -0.36371,0.10858 l 0,0 0,0 c -0.12123,0.0723 -0.16972,0.18094 -0.16972,0.28949 l 0,0 0,0 c 0,0.27139 0.14548,0.45233 0.38795,0.57897 l 0,0 0.46068,0.21714 0,0 0,0 c 0.26674,0.12656 0.4607,0.28948 0.55769,0.47041 l 0,0 0,0 c 0.12123,0.16282 0.19398,0.37995 0.19398,0.65133 l 0,0 0,0 c 0,0.34378 -0.12123,0.59706 -0.31522,0.79611 l 0,0 0,0 c -0.21821,0.19901 -0.53343,0.28948 -0.92138,0.28948 l 0,0 0,0 c -0.3637,0 -0.70316,-0.0905 -1.04263,-0.28948 z" /> 20.1249 + <path 20.1250 + inkscape:connector-curvature="0" 20.1251 + id="411" 20.1252 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1253 + d="m 307.70399,573.43097 -0.33945,-1.10366 -1.77005,0 -0.36368,1.10366 -0.72741,0 1.93974,-5.30122 0.16973,0 1.79428,5.30122 -0.70316,0 z m -1.1881,-3.94425 -0.75166,2.31588 1.43058,0 -0.67892,-2.31588 z" /> 20.1254 + <path 20.1255 + inkscape:connector-curvature="0" 20.1256 + id="412" 20.1257 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1258 + d="m 254.7486,601.52932 -0.31521,0 -1.77003,-5.30122 0.72741,0 1.21235,3.85381 1.1881,-3.85381 0.70314,0 -1.74576,5.30122 z" /> 20.1259 + <path 20.1260 + inkscape:connector-curvature="0" 20.1261 + id="413" 20.1262 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1263 + d="m 260.61635,601.45696 -0.55768,-3.34721 -1.04261,3.41957 -0.16972,0 -1.06688,-3.41957 -0.55768,3.34721 -0.63042,0 0.89715,-5.22886 0.29095,0 1.16386,3.81761 1.04262,-3.81761 0.26671,0 0.96989,5.22886 -0.60619,0 z" /> 20.1264 + <path 20.1265 + inkscape:connector-curvature="0" 20.1266 + id="414" 20.1267 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1268 + d="m 261.53775,601.22177 0,0 0.24247,-0.65137 0,0 0,0 c 0.12123,0.0905 0.26671,0.16284 0.43645,0.23522 l 0,0 0,0 c 0.19396,0.0723 0.3637,0.0905 0.50918,0.0905 l 0,0 0,0 c 0.24246,0 0.4607,-0.0723 0.60616,-0.2171 l 0,0 0,0 c 0.14549,-0.16285 0.24249,-0.34378 0.24249,-0.57898 l 0,0 0,0 c 0,-0.18093 -0.0485,-0.34377 -0.14549,-0.48851 l 0,0 0,0 c -0.0727,-0.16283 -0.29096,-0.32568 -0.65468,-0.50661 l 0,0 -0.38793,-0.19902 0,0 0,0 c -0.31522,-0.16284 -0.53345,-0.36186 -0.67892,-0.57897 l 0,0 0,0 c -0.12125,-0.23522 -0.19398,-0.5066 -0.19398,-0.83228 l 0,0 0,0 c 0,-0.37995 0.12123,-0.70562 0.38795,-0.95891 l 0,0 0,0 c 0.24247,-0.27142 0.58193,-0.39806 0.96988,-0.39806 l 0,0 0,0 c 0.53343,0 0.89713,0.10858 1.11535,0.28949 l 0,0 -0.19397,0.61517 0,0 0,0 c -0.097,-0.0723 -0.21821,-0.1267 -0.4122,-0.19902 l 0,0 0,0 c -0.16973,-0.0544 -0.33945,-0.0905 -0.48493,-0.0905 l 0,0 0,0 c -0.21823,0 -0.4122,0.0723 -0.53343,0.19903 l 0,0 0,0 c -0.12123,0.14474 -0.19398,0.32567 -0.19398,0.54279 l 0,0 0,0 c 0,0.1267 0.0243,0.25331 0.0728,0.36187 l 0,0 0,0 c 0.0485,0.10858 0.12123,0.19902 0.19396,0.27139 l 0,0 0,0 c 0.0727,0.0723 0.24247,0.18091 0.50918,0.30758 l 0,0 0.38795,0.19902 0,0 0,0 c 0.31522,0.18092 0.55769,0.37995 0.67892,0.61515 l 0,0 0,0 c 0.14548,0.23522 0.19398,0.52471 0.19398,0.88656 l 0,0 0,0 c 0,0.39805 -0.14548,0.72373 -0.43645,0.99511 l 0,0 0,0 c -0.26671,0.2714 -0.65466,0.41613 -1.13961,0.41613 l 0,0 0,0 c -0.43643,0 -0.80015,-0.10857 -1.0911,-0.32564 z" /> 20.1269 + <path 20.1270 + inkscape:connector-curvature="0" 20.1271 + id="415" 20.1272 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1273 + d="m 228.14965,590.2936 0,0 c 0,-0.0904 0.0242,-0.16282 0.0727,-0.2352 0.0485,-0.0723 0.12123,-0.1267 0.21822,-0.16284 0.097,-0.0362 0.19398,-0.0543 0.31521,-0.0543 l 0,0 0,0.45232 -0.60618,0 z" /> 20.1274 + <path 20.1275 + inkscape:connector-curvature="0" 20.1276 + id="416" 20.1277 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1278 + d="m 228.75583,589.84127 59.40509,0 0,0.45233 0,0.47042 -59.40509,0 0,-0.47042 0,-0.45233 z" /> 20.1279 + <path 20.1280 + inkscape:connector-curvature="0" 20.1281 + id="417" 20.1282 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1283 + d="m 288.16092,589.84127 0,0 c 0.12123,0 0.21823,0.0181 0.31522,0.0544 0.097,0.0362 0.16973,0.0905 0.21823,0.16284 0.0485,0.0723 0.097,0.14474 0.097,0.2352 l 0,0 0,0 -0.63043,0 0,-0.45233 z" /> 20.1284 + <path 20.1285 + inkscape:connector-curvature="0" 20.1286 + id="418" 20.1287 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1288 + d="m 288.79135,590.2936 0,23.26755 -0.63043,0 -0.60617,0 0,-23.26755 0.60617,0 0.63043,0 z" /> 20.1289 + <path 20.1290 + inkscape:connector-curvature="0" 20.1291 + id="419" 20.1292 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1293 + d="m 288.79135,613.56115 0,0 c 0,0.0905 -0.0485,0.16282 -0.097,0.23519 -0.0485,0.0723 -0.12124,0.1267 -0.21823,0.16285 -0.097,0.0362 -0.19399,0.0723 -0.31522,0.0723 l 0,0 0,-0.47041 0.63043,0 z" /> 20.1294 + <path 20.1295 + inkscape:connector-curvature="0" 20.1296 + id="420" 20.1297 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1298 + d="m 288.16092,614.03156 -59.40509,0 0,-0.47041 0,-0.45234 59.40509,0 0,0.45234 0,0.47041 z" /> 20.1299 + <path 20.1300 + inkscape:connector-curvature="0" 20.1301 + id="421" 20.1302 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1303 + d="m 228.75583,614.03156 0,0 c -0.12123,0 -0.21821,-0.0361 -0.31521,-0.0723 -0.097,-0.0362 -0.16972,-0.0905 -0.21822,-0.16285 -0.0485,-0.0723 -0.0727,-0.14473 -0.0727,-0.23519 l 0,0 0.60618,0 0,0.4704 z" /> 20.1304 + <path 20.1305 + inkscape:connector-curvature="0" 20.1306 + id="422" 20.1307 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1308 + d="m 228.14965,613.56115 0,-23.26755 0.60618,0 0.63042,0 0,23.26755 -0.63042,0 -0.60618,0 z" /> 20.1309 + <path 20.1310 + inkscape:connector-curvature="0" 20.1311 + id="423" 20.1312 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1313 + d="m 245.99542,612.6384 0,-2.24352 -1.84276,0 0,2.24352 -0.58193,0 0,-4.64989 0.58193,0 0,1.86358 1.84276,0 0,-1.86358 0.55769,0 0,4.64989 -0.55769,0 z" /> 20.1314 + <path 20.1315 + inkscape:connector-curvature="0" 20.1316 + id="424" 20.1317 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1318 + d="m 249.1233,612.25845 0,0 0,0 c -0.21823,0.28949 -0.55768,0.45232 -0.99413,0.45232 l 0,0 0,0 c -0.24247,0 -0.4607,-0.10858 -0.63043,-0.28948 l 0,0 0,0 c -0.16972,-0.19903 -0.2667,-0.43424 -0.2667,-0.72373 l 0,0 0,0 c 0,-0.34375 0.14546,-0.63324 0.4122,-0.88655 l 0,0 0,0 c 0.26671,-0.23519 0.60616,-0.34375 1.04261,-0.34375 l 0,0 0,0 c 0.097,0 0.24247,0.0181 0.38795,0.0723 l 0,0 0,0 c 0,-0.5428 -0.21823,-0.81418 -0.67892,-0.81418 l 0,0 0,0 c -0.31521,0 -0.58193,0.0905 -0.77589,0.30758 l 0,0 -0.21824,-0.52469 0,0 0,0 c 0.097,-0.0905 0.24249,-0.18093 0.43645,-0.23522 l 0,0 0,0 c 0.16973,-0.0723 0.3637,-0.10858 0.48495,-0.10858 l 0,0 0,0 c 0.46068,0 0.80015,0.10858 0.99411,0.34378 l 0,0 0,0 c 0.21822,0.23522 0.31522,0.59706 0.31522,1.08558 l 0,0 0,1.21222 0,0 0,0 c 0,0.28948 0.0727,0.48851 0.24247,0.59706 l 0,0 0,0.28949 0,0 0,0 c -0.21822,0 -0.38795,-0.0181 -0.50919,-0.0905 l 0,0 0,0 c -0.12123,-0.0723 -0.19396,-0.19902 -0.24246,-0.34376 z m -0.0485,-1.2846 0,0 0,0 c -0.16973,-0.0362 -0.29097,-0.0723 -0.3637,-0.0723 l 0,0 0,0 c -0.29097,0 -0.48495,0.0904 -0.65468,0.2352 l 0,0 0,0 c -0.19397,0.16284 -0.2667,0.34378 -0.2667,0.56088 l 0,0 0,0 c 0,0.36187 0.19396,0.52469 0.53343,0.52469 l 0,0 0,0 c 0.29095,0 0.53342,-0.14473 0.75165,-0.43422 l 0,-0.81419 z" /> 20.1319 + <path 20.1320 + inkscape:connector-curvature="0" 20.1321 + id="425" 20.1322 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1323 + d="m 252.17841,609.834 0,0 0,0 c -0.12124,-0.0905 -0.24247,-0.14475 -0.3637,-0.14475 l 0,0 0,0 c -0.19398,0 -0.36372,0.0905 -0.50918,0.28949 l 0,0 0,0 c -0.14549,0.19901 -0.21824,0.43423 -0.21824,0.72372 l 0,0 0,1.93594 -0.55766,0 0,-3.40146 0.55766,0 0,0.54277 0,0 0,0 c 0.19399,-0.41615 0.50919,-0.61517 0.89715,-0.61517 l 0,0 0,0 c 0.097,0 0.24247,0.0181 0.43643,0.0544 l -0.24246,0.61517 z" /> 20.1324 + <path 20.1325 + inkscape:connector-curvature="0" 20.1326 + id="426" 20.1327 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1328 + d="m 254.7486,612.6384 0,0 0,-0.25329 0,0 0,0 c -0.16973,0.21709 -0.4607,0.30757 -0.80016,0.30757 l 0,0 0,0 c -0.38795,0 -0.70315,-0.14474 -0.94563,-0.45232 l 0,0 0,0 c -0.24247,-0.30758 -0.3637,-0.70562 -0.3637,-1.21223 l 0,0 0,0 c 0,-0.5066 0.14548,-0.94084 0.4122,-1.3027 l 0,0 0,0 c 0.29096,-0.37996 0.60616,-0.56089 0.99413,-0.56089 l 0,0 0,0 c 0.3152,0 0.55768,0.0905 0.70316,0.25331 l 0,0 0,-1.5741 0.55767,0 0,4.79465 -0.55767,0 z m 0,-2.60538 0,0 0,0 c -0.12125,-0.23522 -0.31521,-0.34377 -0.53345,-0.34377 l 0,0 0,0 c -0.29095,0 -0.53343,0.1267 -0.7274,0.36186 l 0,0 0,0 c -0.16973,0.2352 -0.26671,0.54279 -0.26671,0.92274 l 0,0 0,0 c 0,0.81418 0.33945,1.23031 0.99411,1.23031 l 0,0 0,0 c 0.097,0 0.19399,-0.0362 0.31522,-0.0905 l 0,0 0,0 c 0.12123,-0.0723 0.19398,-0.1267 0.21823,-0.19902 l 0,-1.88167 z" /> 20.1329 + <path 20.1330 + inkscape:connector-curvature="0" 20.1331 + id="427" 20.1332 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1333 + d="m 258.96757,612.71077 -0.14548,0 -0.89715,-2.31589 -0.92138,2.31589 -0.14548,0 -1.11536,-3.49194 0.60618,0 0.65466,2.24354 0.8244,-2.24354 0.14548,0 0.8729,2.24354 0.70315,-2.24354 0.55768,0 -1.1396,3.49194 z" /> 20.1334 + <path 20.1335 + inkscape:connector-curvature="0" 20.1336 + id="428" 20.1337 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1338 + d="m 262.26515,612.25845 0,0 0,0 c -0.21822,0.28949 -0.55767,0.45232 -1.01836,0.45232 l 0,0 0,0 c -0.24247,0 -0.4607,-0.10858 -0.63044,-0.28948 l 0,0 0,0 c -0.16971,-0.19903 -0.26671,-0.43424 -0.26671,-0.72373 l 0,0 0,0 c 0,-0.34375 0.14548,-0.63324 0.4122,-0.88655 l 0,0 0,0 c 0.26671,-0.23519 0.63043,-0.34375 1.06686,-0.34375 l 0,0 0,0 c 0.097,0 0.24248,0.0181 0.38797,0.0723 l 0,0 0,0 c 0,-0.5428 -0.21824,-0.81418 -0.67892,-0.81418 l 0,0 0,0 c -0.33946,0 -0.60618,0.0905 -0.80016,0.30758 l 0,0 -0.21822,-0.52469 0,0 0,0 c 0.097,-0.0905 0.24247,-0.18093 0.43645,-0.23522 l 0,0 0,0 c 0.16973,-0.0723 0.33945,-0.10858 0.50918,-0.10858 l 0,0 0,0 c 0.4607,0 0.80015,0.10858 0.99413,0.34378 l 0,0 0,0 c 0.19397,0.23522 0.3152,0.59706 0.3152,1.08558 l 0,0 0,1.21222 0,0 0,0 c 0,0.28948 0.0727,0.48851 0.24248,0.59706 l 0,0 0,0.28949 0,0 0,0 c -0.24248,0 -0.38796,-0.0181 -0.50919,-0.0905 l 0,0 0,0 c -0.12122,-0.0723 -0.19397,-0.19902 -0.24247,-0.34376 z m -0.0485,-1.2846 0,0 0,0 c -0.16974,-0.0362 -0.29097,-0.0723 -0.36372,-0.0723 l 0,0 0,0 c -0.29095,0 -0.50918,0.0904 -0.67891,0.2352 l 0,0 0,0 c -0.19397,0.16284 -0.26672,0.34378 -0.26672,0.56088 l 0,0 0,0 c 0,0.36187 0.19398,0.52469 0.55768,0.52469 l 0,0 0,0 c 0.29097,0 0.53343,-0.14473 0.75167,-0.43422 l 0,-0.81419 z" /> 20.1339 + <path 20.1340 + inkscape:connector-curvature="0" 20.1341 + id="429" 20.1342 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1343 + d="m 265.32028,609.834 0,0 0,0 c -0.12124,-0.0905 -0.24247,-0.14475 -0.3637,-0.14475 l 0,0 0,0 c -0.19399,0 -0.36372,0.0905 -0.5092,0.28949 l 0,0 0,0 c -0.14549,0.19901 -0.21822,0.43423 -0.21822,0.72372 l 0,0 0,1.93594 -0.55768,0 0,-3.40146 0.55768,0 0,0.54277 0,0 0,0 c 0.19398,-0.41615 0.50918,-0.61517 0.89715,-0.61517 l 0,0 0,0 c 0.097,0 0.24245,0.0181 0.43643,0.0544 l -0.24246,0.61517 z" /> 20.1344 + <path 20.1345 + inkscape:connector-curvature="0" 20.1346 + id="430" 20.1347 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1348 + d="m 268.54513,611.01003 0,0 -2.23072,0 0,0 0,0 c 0,0.39805 0.097,0.68753 0.29096,0.90466 l 0,0 0,0 c 0.16972,0.18091 0.4122,0.28947 0.67892,0.28947 l 0,0 0,0 c 0.3152,0 0.58191,-0.10857 0.80015,-0.30755 l 0,0 0.21821,0.43421 0,0 0,0 c -0.0728,0.0905 -0.21821,0.18093 -0.38795,0.23522 l 0,0 0,0 c -0.21821,0.0904 -0.4607,0.14473 -0.72741,0.14473 l 0,0 0,0 c -0.4122,0 -0.7274,-0.14473 -1.01837,-0.43424 l 0,0 0,0 c -0.26671,-0.32566 -0.4122,-0.7599 -0.4122,-1.28459 l 0,0 0,0 c 0,-0.56088 0.14549,-1.0132 0.43644,-1.37507 l 0,0 0,0 c 0.26673,-0.30757 0.60618,-0.45233 0.99413,-0.45233 l 0,0 0,0 c 0.43645,0 0.77591,0.14476 1.04261,0.41615 l 0,0 0,0 c 0.24248,0.2714 0.36372,0.61517 0.36372,1.04939 l 0,0 0,0 c 0,0.14474 -0.0242,0.25332 -0.0485,0.37995 z m -1.33359,-1.32078 0,0 0,0 c -0.24247,0 -0.4607,0.0905 -0.63042,0.25328 l 0,0 0,0 c -0.14548,0.18095 -0.24246,0.37998 -0.26671,0.61517 l 0,0 1.72153,0 0,0 0,0 c 0,-0.23519 -0.0727,-0.43422 -0.19397,-0.59706 l 0,0 0,0 c -0.16973,-0.18093 -0.36372,-0.27139 -0.63043,-0.27139 z" /> 20.1349 + <path 20.1350 + inkscape:connector-curvature="0" 20.1351 + id="431" 20.1352 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1353 + d="m 272.01244,612.6384 0,0 0,-3.58241 -0.8729,0.61516 0,-0.61516 0,0 0,0 c 0.24249,-0.10857 0.4607,-0.28949 0.70317,-0.48851 l 0,0 0,0 c 0.26672,-0.2171 0.4122,-0.41614 0.55768,-0.61516 l 0,0 0.16973,0 0,4.68608 -0.55768,0 z" /> 20.1354 + <path 20.1355 + inkscape:connector-curvature="0" 20.1356 + id="432" 20.1357 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1358 + d="m 229.28926,606.39634 58.33823,0.34376 0,0.43423 0,0.43423 -58.33823,-0.34378 0,-0.43423 0,-0.43421 z" /> 20.1359 + <path 20.1360 + inkscape:connector-curvature="0" 20.1361 + id="433" 20.1362 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1363 + d="m 419.33708,601.52932 -0.33946,0 -1.79427,-5.30122 0.7274,0 1.2366,3.85381 1.1881,-3.85381 0.70316,0 -1.72153,5.30122 z" /> 20.1364 + <path 20.1365 + inkscape:connector-curvature="0" 20.1366 + id="434" 20.1367 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1368 + d="m 425.1806,601.45696 -0.58193,-3.34721 -1.04262,3.41957 -0.14548,0 -1.09111,-3.41957 -0.55768,3.34721 -0.58193,0 0.87289,-5.22886 0.29096,0 1.13961,3.81761 1.04263,-3.81761 0.31521,0 0.96987,5.22886 -0.63042,0 z" /> 20.1369 + <path 20.1370 + inkscape:connector-curvature="0" 20.1371 + id="435" 20.1372 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1373 + d="m 426.10198,601.22177 0,0 0.24248,-0.65137 0,0 0,0 c 0.12123,0.0905 0.26671,0.16284 0.46069,0.23522 l 0,0 0,0 c 0.16973,0.0723 0.33945,0.0905 0.48493,0.0905 l 0,0 0,0 c 0.24248,0 0.43645,-0.0723 0.58194,-0.2171 l 0,0 0,0 c 0.16972,-0.16285 0.24246,-0.34378 0.24246,-0.57898 l 0,0 0,0 c 0,-0.18093 -0.0485,-0.34377 -0.12123,-0.48851 l 0,0 0,0 c -0.097,-0.16283 -0.31521,-0.32568 -0.63042,-0.50661 l 0,0 -0.38795,-0.19902 0,0 0,0 c -0.33946,-0.16284 -0.55769,-0.36186 -0.67892,-0.57897 l 0,0 0,0 c -0.14548,-0.23522 -0.19398,-0.5066 -0.19398,-0.83228 l 0,0 0,0 c 0,-0.37995 0.12124,-0.70562 0.36371,-0.95891 l 0,0 0,0 c 0.26672,-0.27142 0.58193,-0.39806 0.94564,-0.39806 l 0,0 0,0 c 0.53342,0 0.92138,0.10858 1.11535,0.28949 l 0,0 -0.19397,0.61517 0,0 0,0 c -0.097,-0.0723 -0.21823,-0.1267 -0.38796,-0.19902 l 0,0 0,0 c -0.19397,-0.0544 -0.36369,-0.0905 -0.50918,-0.0905 l 0,0 0,0 c -0.19397,0 -0.3637,0.0723 -0.50919,0.19903 l 0,0 0,0 c -0.12123,0.14474 -0.16973,0.32567 -0.16973,0.54279 l 0,0 0,0 c 0,0.1267 0.0242,0.25331 0.0485,0.36187 l 0,0 0,0 c 0.0485,0.10858 0.12123,0.19902 0.19397,0.27139 l 0,0 0,0 c 0.097,0.0723 0.26672,0.18091 0.48494,0.30758 l 0,0 0.38796,0.19902 0,0 0,0 c 0.33945,0.18092 0.55768,0.37995 0.70316,0.61515 l 0,0 0,0 c 0.12123,0.23522 0.19398,0.52471 0.19398,0.88656 l 0,0 0,0 c 0,0.39805 -0.14549,0.72373 -0.43645,0.99511 l 0,0 0,0 c -0.29097,0.2714 -0.67892,0.41613 -1.13961,0.41613 l 0,0 0,0 c -0.4122,0 -0.77591,-0.10857 -1.09112,-0.32564 z" /> 20.1374 + <path 20.1375 + inkscape:connector-curvature="0" 20.1376 + id="436" 20.1377 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1378 + d="m 392.68965,590.2936 0,0 c 0,-0.0904 0.0243,-0.16282 0.0728,-0.2352 0.0485,-0.0723 0.12123,-0.1267 0.21821,-0.16284 0.097,-0.0362 0.19398,-0.0543 0.31521,-0.0543 l 0,0 0,0.45232 -0.60617,0 z" /> 20.1379 + <path 20.1380 + inkscape:connector-curvature="0" 20.1381 + id="437" 20.1382 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1383 + d="m 393.29582,589.84127 59.42935,0 0,0.45233 0,0.47042 -59.42935,0 0,-0.47042 0,-0.45233 z" /> 20.1384 + <path 20.1385 + inkscape:connector-curvature="0" 20.1386 + id="438" 20.1387 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1388 + d="m 452.72517,589.84127 0,0 c 0.12123,0 0.21822,0.0181 0.31521,0.0544 0.097,0.0362 0.16973,0.0905 0.21823,0.16284 0.0485,0.0723 0.097,0.14474 0.097,0.2352 l 0,0 0,0 -0.63042,0 0,-0.45233 z" /> 20.1389 + <path 20.1390 + inkscape:connector-curvature="0" 20.1391 + id="439" 20.1392 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1393 + d="m 453.35559,590.2936 0,23.26755 -0.63042,0 -0.60618,0 0,-23.26755 0.60618,0 0.63042,0 z" /> 20.1394 + <path 20.1395 + inkscape:connector-curvature="0" 20.1396 + id="440" 20.1397 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1398 + d="m 453.35559,613.56115 0,0 c 0,0.0905 -0.0485,0.16282 -0.097,0.23519 -0.0485,0.0723 -0.12125,0.1267 -0.21823,0.16285 -0.097,0.0362 -0.19398,0.0723 -0.31521,0.0723 l 0,0 0,-0.47041 0.63042,0 z" /> 20.1399 + <path 20.1400 + inkscape:connector-curvature="0" 20.1401 + id="441" 20.1402 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1403 + d="m 452.72517,614.03156 -59.42935,0 0,-0.47041 0,-0.45234 59.42935,0 0,0.45234 0,0.47041 z" /> 20.1404 + <path 20.1405 + inkscape:connector-curvature="0" 20.1406 + id="442" 20.1407 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1408 + d="m 393.29582,614.03156 0,0 c -0.12123,0 -0.21822,-0.0361 -0.31521,-0.0723 -0.097,-0.0362 -0.16973,-0.0905 -0.21821,-0.16285 -0.0485,-0.0723 -0.0728,-0.14473 -0.0728,-0.23519 l 0,0 0.60617,0 0,0.4704 z" /> 20.1409 + <path 20.1410 + inkscape:connector-curvature="0" 20.1411 + id="443" 20.1412 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1413 + d="m 392.68965,613.56115 0,-23.26755 0.60617,0 0.63043,0 0,23.26755 -0.63043,0 -0.60617,0 z" /> 20.1414 + <path 20.1415 + inkscape:connector-curvature="0" 20.1416 + id="444" 20.1417 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1418 + d="m 410.53543,612.6384 0,-2.24352 -1.84277,0 0,2.24352 -0.58193,0 0,-4.64989 0.58193,0 0,1.86358 1.84277,0 0,-1.86358 0.58192,0 0,4.64989 -0.58192,0 z" /> 20.1419 + <path 20.1420 + inkscape:connector-curvature="0" 20.1421 + id="445" 20.1422 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1423 + d="m 413.71178,612.25845 0,0 0,0 c -0.24247,0.28949 -0.58192,0.45232 -1.01837,0.45232 l 0,0 0,0 c -0.24247,0 -0.4607,-0.10858 -0.65467,-0.28948 l 0,0 0,0 c -0.16973,-0.19903 -0.26672,-0.43424 -0.26672,-0.72373 l 0,0 0,0 c 0,-0.34375 0.14549,-0.63324 0.4122,-0.88655 l 0,0 0,0 c 0.29097,-0.23519 0.63043,-0.34375 1.06687,-0.34375 l 0,0 0,0 c 0.12123,0 0.24247,0.0181 0.38795,0.0723 l 0,0 0,0 c 0,-0.5428 -0.21822,-0.81418 -0.65467,-0.81418 l 0,0 0,0 c -0.3637,0 -0.63042,0.0905 -0.80015,0.30758 l 0,0 -0.24247,-0.52469 0,0 0,0 c 0.097,-0.0905 0.24247,-0.18093 0.43645,-0.23522 l 0,0 0,0 c 0.19397,-0.0723 0.3637,-0.10858 0.53343,-0.10858 l 0,0 0,0 c 0.46069,0 0.7759,0.10858 0.96988,0.34378 l 0,0 0,0 c 0.21822,0.23522 0.31521,0.59706 0.31521,1.08558 l 0,0 0,1.21222 0,0 0,0 c 0,0.28948 0.097,0.48851 0.24247,0.59706 l 0,0 0,0.28949 0,0 0,0 c -0.21823,0 -0.38795,-0.0181 -0.50919,-0.0905 l 0,0 0,0 c -0.097,-0.0723 -0.16973,-0.19902 -0.21822,-0.34376 z m -0.0727,-1.2846 0,0 0,0 c -0.16973,-0.0362 -0.29097,-0.0723 -0.3637,-0.0723 l 0,0 0,0 c -0.26673,0 -0.50919,0.0904 -0.67892,0.2352 l 0,0 0,0 c -0.16973,0.16284 -0.26672,0.34378 -0.26672,0.56088 l 0,0 0,0 c 0,0.36187 0.19398,0.52469 0.58193,0.52469 l 0,0 0,0 c 0.26671,0 0.50919,-0.14473 0.72741,-0.43422 l 0,-0.81419 z" /> 20.1424 + <path 20.1425 + inkscape:connector-curvature="0" 20.1426 + id="446" 20.1427 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1428 + d="m 416.74265,609.834 0,0 0,0 c -0.12123,-0.0905 -0.24247,-0.14475 -0.3637,-0.14475 l 0,0 0,0 c -0.19398,0 -0.3637,0.0905 -0.50918,0.28949 l 0,0 0,0 c -0.14549,0.19901 -0.21823,0.43423 -0.21823,0.72372 l 0,0 0,1.93594 -0.53344,0 0,-3.40146 0.53344,0 0,0.54277 0,0 0,0 c 0.19398,-0.41615 0.48494,-0.61517 0.89714,-0.61517 l 0,0 0,0 c 0.097,0 0.24247,0.0181 0.41219,0.0544 l -0.21822,0.61517 z" /> 20.1429 + <path 20.1430 + inkscape:connector-curvature="0" 20.1431 + id="447" 20.1432 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1433 + d="m 419.33708,612.6384 0,0 0,-0.25329 0,0 0,0 c -0.19398,0.21709 -0.48494,0.30757 -0.84865,0.30757 l 0,0 0,0 c -0.38795,0 -0.70316,-0.14474 -0.94563,-0.45232 l 0,0 0,0 c -0.24247,-0.30758 -0.3637,-0.70562 -0.3637,-1.21223 l 0,0 0,0 c 0,-0.5066 0.14548,-0.94084 0.43644,-1.3027 l 0,0 0,0 c 0.26672,-0.37996 0.60618,-0.56089 0.99413,-0.56089 l 0,0 0,0 c 0.31521,0 0.55768,0.0905 0.72741,0.25331 l 0,0 0,-1.5741 0.55768,0 0,4.79465 -0.55768,0 z m 0,-2.60538 0,0 0,0 c -0.14548,-0.23522 -0.33946,-0.34377 -0.58192,-0.34377 l 0,0 0,0 c -0.29098,0 -0.53344,0.1267 -0.70317,0.36186 l 0,0 0,0 c -0.19398,0.2352 -0.29097,0.54279 -0.29097,0.92274 l 0,0 0,0 c 0,0.81418 0.33946,1.23031 1.01838,1.23031 l 0,0 0,0 c 0.097,0 0.19397,-0.0362 0.31521,-0.0905 l 0,0 0,0 c 0.12124,-0.0723 0.21822,-0.1267 0.24247,-0.19902 l 0,-1.88167 z" /> 20.1434 + <path 20.1435 + inkscape:connector-curvature="0" 20.1436 + id="448" 20.1437 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1438 + d="m 423.5318,612.71077 -0.14548,0 -0.92138,-2.31589 -0.89714,2.31589 -0.14548,0 -1.09112,-3.49194 0.58193,0 0.65467,2.24354 0.8244,-2.24354 0.14548,0 0.84864,2.24354 0.72741,-2.24354 0.53344,0 -1.11537,3.49194 z" /> 20.1439 + <path 20.1440 + inkscape:connector-curvature="0" 20.1441 + id="449" 20.1442 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1443 + d="m 426.82939,612.25845 0,0 0,0 c -0.21822,0.28949 -0.55768,0.45232 -0.99412,0.45232 l 0,0 0,0 c -0.24247,0 -0.46069,-0.10858 -0.65467,-0.28948 l 0,0 0,0 c -0.16973,-0.19903 -0.26672,-0.43424 -0.26672,-0.72373 l 0,0 0,0 c 0,-0.34375 0.14548,-0.63324 0.4122,-0.88655 l 0,0 0,0 c 0.29097,-0.23519 0.63042,-0.34375 1.06687,-0.34375 l 0,0 0,0 c 0.12123,0 0.24247,0.0181 0.38795,0.0723 l 0,0 0,0 c 0,-0.5428 -0.21822,-0.81418 -0.67892,-0.81418 l 0,0 0,0 c -0.33946,0 -0.60617,0.0905 -0.7759,0.30758 l 0,0 -0.24247,-0.52469 0,0 0,0 c 0.097,-0.0905 0.24247,-0.18093 0.43645,-0.23522 l 0,0 0,0 c 0.19398,-0.0723 0.36371,-0.10858 0.53344,-0.10858 l 0,0 0,0 c 0.43644,0 0.77589,0.10858 0.96987,0.34378 l 0,0 0,0 c 0.21823,0.23522 0.31521,0.59706 0.31521,1.08558 l 0,0 0,1.21222 0,0 0,0 c 0,0.28948 0.0728,0.48851 0.21823,0.59706 l 0,0 0,0.28949 0,0 0,0 c -0.19398,0 -0.36371,-0.0181 -0.48494,-0.0905 l 0,0 0,0 c -0.097,-0.0723 -0.19398,-0.19902 -0.24248,-0.34376 z m -0.0485,-1.2846 0,0 0,0 c -0.16973,-0.0362 -0.29096,-0.0723 -0.36371,-0.0723 l 0,0 0,0 c -0.26671,0 -0.50918,0.0904 -0.67891,0.2352 l 0,0 0,0 c -0.16973,0.16284 -0.26672,0.34378 -0.26672,0.56088 l 0,0 0,0 c 0,0.36187 0.19398,0.52469 0.58194,0.52469 l 0,0 0,0 c 0.26671,0 0.50918,-0.14473 0.7274,-0.43422 l 0,-0.81419 z" /> 20.1444 + <path 20.1445 + inkscape:connector-curvature="0" 20.1446 + id="450" 20.1447 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1448 + d="m 429.88451,609.834 0,0 0,0 c -0.12123,-0.0905 -0.24247,-0.14475 -0.3637,-0.14475 l 0,0 0,0 c -0.19398,0 -0.36371,0.0905 -0.50919,0.28949 l 0,0 0,0 c -0.14548,0.19901 -0.21822,0.43423 -0.21822,0.72372 l 0,0 0,1.93594 -0.55768,0 0,-3.40146 0.55768,0 0,0.54277 0,0 0,0 c 0.19397,-0.41615 0.48494,-0.61517 0.89714,-0.61517 l 0,0 0,0 c 0.097,0 0.24247,0.0181 0.4122,0.0544 l -0.21823,0.61517 z" /> 20.1449 + <path 20.1450 + inkscape:connector-curvature="0" 20.1451 + id="451" 20.1452 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1453 + d="m 433.13361,611.01003 0,0 -2.25497,0 0,0 0,0 c 0,0.39805 0.097,0.68753 0.29096,0.90466 l 0,0 0,0 c 0.19398,0.18091 0.4122,0.28947 0.67891,0.28947 l 0,0 0,0 c 0.31522,0 0.58194,-0.10857 0.80016,-0.30755 l 0,0 0.24247,0.43421 0,0 0,0 c -0.097,0.0905 -0.21822,0.18093 -0.4122,0.23522 l 0,0 0,0 c -0.21822,0.0904 -0.4607,0.14473 -0.72741,0.14473 l 0,0 0,0 c -0.38795,0 -0.72741,-0.14473 -0.99412,-0.43424 l 0,0 0,0 c -0.31521,-0.32566 -0.46069,-0.7599 -0.46069,-1.28459 l 0,0 0,0 c 0,-0.56088 0.14548,-1.0132 0.46069,-1.37507 l 0,0 0,0 c 0.29096,-0.30757 0.60617,-0.45233 0.99412,-0.45233 l 0,0 0,0 c 0.46069,0 0.80015,0.14476 1.04262,0.41615 l 0,0 0,0 c 0.24248,0.2714 0.36371,0.61517 0.36371,1.04939 l 0,0 0,0 c 0,0.14474 0,0.25332 -0.0243,0.37995 z m -1.35783,-1.32078 0,0 0,0 c -0.24247,0 -0.43645,0.0905 -0.60618,0.25328 l 0,0 0,0 c -0.16973,0.18095 -0.26671,0.37998 -0.26671,0.61517 l 0,0 1.72153,0 0,0 0,0 c 0,-0.23519 -0.0727,-0.43422 -0.21822,-0.59706 l 0,0 0,0 c -0.14548,-0.18093 -0.36371,-0.27139 -0.63042,-0.27139 z" /> 20.1454 + <path 20.1455 + inkscape:connector-curvature="0" 20.1456 + id="452" 20.1457 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1458 + d="m 435.43707,612.31273 0,0 0.26672,-0.48852 0,0 0,0 c 0.19398,0.23522 0.43644,0.34376 0.72741,0.34376 l 0,0 0,0 c 0.53343,0 0.8244,-0.28948 0.8244,-0.86845 l 0,0 0,0 c 0,-0.2533 -0.097,-0.47041 -0.24247,-0.63326 l 0,0 0,0 c -0.16973,-0.16284 -0.36371,-0.25329 -0.63042,-0.25329 l 0,0 -0.0485,0 0,-0.50661 0.0242,0 0,0 0,0 c 0.50918,0 0.75166,-0.23521 0.75166,-0.72371 l 0,0 0,0 c 0,-0.50661 -0.24248,-0.74182 -0.70317,-0.74182 l 0,0 0,0 c -0.24247,0 -0.4607,0.0905 -0.60617,0.2714 l 0,0 -0.24247,-0.43424 0,0 0,0 c 0.16973,-0.25331 0.46069,-0.37995 0.89713,-0.37995 l 0,0 0,0 c 0.36371,0 0.67892,0.10858 0.89714,0.32569 l 0,0 0,0 c 0.24248,0.2171 0.36371,0.4885 0.36371,0.83226 l 0,0 0,0 c 0,0.25331 -0.0728,0.48852 -0.19398,0.70563 l 0,0 0,0 c -0.14548,0.19902 -0.29096,0.32567 -0.46069,0.39805 l 0,0 0,0 c 0.24247,0.0905 0.43644,0.23521 0.58192,0.43423 l 0,0 0,0 c 0.14549,0.21711 0.21823,0.47042 0.21823,0.75991 l 0,0 0,0 c 0,0.43422 -0.12123,0.7599 -0.38796,0.99511 l 0,0 0,0 c -0.24246,0.23519 -0.60617,0.36185 -1.04261,0.36185 l 0,0 0,0 c -0.19397,0 -0.38795,-0.0542 -0.55768,-0.1267 l 0,0 0,0 c -0.19398,-0.0723 -0.33946,-0.16282 -0.43645,-0.27138 z" /> 20.1459 + <path 20.1460 + inkscape:connector-curvature="0" 20.1461 + id="453" 20.1462 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1463 + d="m 393.82925,606.39634 58.33824,0.34376 0,0.43423 0,0.43423 -58.33824,-0.34378 0,-0.43423 0,-0.43421 z" /> 20.1464 + <path 20.1465 + inkscape:connector-curvature="0" 20.1466 + id="454" 20.1467 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1468 + d="m 493.38735,601.52932 -0.29096,0 -1.79428,-5.30122 0.72741,0 1.21235,3.85381 1.1881,-3.85381 0.70316,0 -1.74578,5.30122 z" /> 20.1469 + <path 20.1470 + inkscape:connector-curvature="0" 20.1471 + id="455" 20.1472 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1473 + d="m 499.25512,601.45696 -0.55768,-3.34721 -1.04262,3.41957 -0.16973,0 -1.06686,-3.41957 -0.55769,3.34721 -0.63042,0 0.89714,-5.22886 0.31521,0 1.13961,3.81761 1.04262,-3.81761 0.29096,0 0.94563,5.22886 -0.60617,0 z" /> 20.1474 + <path 20.1475 + inkscape:connector-curvature="0" 20.1476 + id="456" 20.1477 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1478 + d="m 500.1765,601.22177 0,0 0.24247,-0.65137 0,0 0,0 c 0.12124,0.0905 0.26672,0.16284 0.46069,0.23522 l 0,0 0,0 c 0.16973,0.0723 0.33946,0.0905 0.48494,0.0905 l 0,0 0,0 c 0.24247,0 0.4607,-0.0723 0.60618,-0.2171 l 0,0 0,0 c 0.16973,-0.16285 0.24247,-0.34378 0.24247,-0.57898 l 0,0 0,0 c 0,-0.18093 -0.0485,-0.34377 -0.14548,-0.48851 l 0,0 0,0 c -0.0727,-0.16283 -0.29097,-0.32568 -0.63042,-0.50661 l 0,0 -0.38796,-0.19902 0,0 0,0 c -0.33946,-0.16284 -0.55767,-0.36186 -0.70316,-0.57897 l 0,0 0,0 c -0.12123,-0.23522 -0.19397,-0.5066 -0.19397,-0.83228 l 0,0 0,0 c 0,-0.37995 0.14548,-0.70562 0.38795,-0.95891 l 0,0 0,0 c 0.26672,-0.27142 0.58193,-0.39806 0.96988,-0.39806 l 0,0 0,0 c 0.53343,0 0.89713,0.10858 1.11536,0.28949 l 0,0 -0.19398,0.61517 0,0 0,0 c -0.097,-0.0723 -0.21822,-0.1267 -0.41219,-0.19902 l 0,0 0,0 c -0.16973,-0.0544 -0.33946,-0.0905 -0.48495,-0.0905 l 0,0 0,0 c -0.21822,0 -0.38794,0.0723 -0.53343,0.19903 l 0,0 0,0 c -0.12124,0.14474 -0.19397,0.32567 -0.19397,0.54279 l 0,0 0,0 c 0,0.1267 0.0242,0.25331 0.0727,0.36187 l 0,0 0,0 c 0.0485,0.10858 0.12124,0.19902 0.19398,0.27139 l 0,0 0,0 c 0.097,0.0723 0.24247,0.18091 0.50919,0.30758 l 0,0 0.38795,0.19902 0,0 0,0 c 0.33946,0.18092 0.55768,0.37995 0.67892,0.61515 l 0,0 0,0 c 0.14548,0.23522 0.21822,0.52471 0.21822,0.88656 l 0,0 0,0 c 0,0.39805 -0.14549,0.72373 -0.43645,0.99511 l 0,0 0,0 c -0.29096,0.2714 -0.67891,0.41613 -1.16385,0.41613 l 0,0 0,0 c -0.43644,0 -0.80015,-0.10857 -1.09112,-0.32564 z" /> 20.1479 + <path 20.1480 + inkscape:connector-curvature="0" 20.1481 + id="457" 20.1482 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1483 + d="m 466.78842,590.2936 0,0 c 0,-0.0904 0.0242,-0.16282 0.0727,-0.2352 0.0485,-0.0723 0.12124,-0.1267 0.21823,-0.16284 0.097,-0.0362 0.19397,-0.0543 0.31521,-0.0543 l 0,0 0,0.45232 -0.60617,0 z" /> 20.1484 + <path 20.1485 + inkscape:connector-curvature="0" 20.1486 + id="458" 20.1487 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1488 + d="m 467.39459,589.84127 59.42935,0 0,0.45233 0,0.47042 -59.42935,0 0,-0.47042 0,-0.45233 z" /> 20.1489 + <path 20.1490 + inkscape:connector-curvature="0" 20.1491 + id="459" 20.1492 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1493 + d="m 526.82394,589.84127 0,0 c 0.12123,0 0.21821,0.0181 0.31521,0.0544 0.097,0.0362 0.16972,0.0905 0.21821,0.16284 0.0485,0.0723 0.097,0.14474 0.097,0.2352 l 0,0 0,0 -0.63041,0 0,-0.45233 z" /> 20.1494 + <path 20.1495 + inkscape:connector-curvature="0" 20.1496 + id="460" 20.1497 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1498 + d="m 527.45435,590.2936 0,23.26755 -0.63041,0 -0.60618,0 0,-23.26755 0.60618,0 0.63041,0 z" /> 20.1499 + <path 20.1500 + inkscape:connector-curvature="0" 20.1501 + id="461" 20.1502 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1503 + d="m 527.45435,613.56115 0,0 c 0,0.0905 -0.0485,0.16282 -0.097,0.23519 -0.0485,0.0723 -0.12123,0.1267 -0.21821,0.16285 -0.097,0.0362 -0.19398,0.0723 -0.31521,0.0723 l 0,0 0,-0.47041 0.63041,0 z" /> 20.1504 + <path 20.1505 + inkscape:connector-curvature="0" 20.1506 + id="462" 20.1507 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1508 + d="m 526.82394,614.03156 -59.42935,0 0,-0.47041 0,-0.45234 59.42935,0 0,0.45234 0,0.47041 z" /> 20.1509 + <path 20.1510 + inkscape:connector-curvature="0" 20.1511 + id="463" 20.1512 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1513 + d="m 467.39459,614.03156 0,0 c -0.12124,0 -0.21822,-0.0361 -0.31521,-0.0723 -0.097,-0.0362 -0.16973,-0.0905 -0.21823,-0.16285 -0.0485,-0.0723 -0.0727,-0.14473 -0.0727,-0.23519 l 0,0 0.60617,0 0,0.4704 z" /> 20.1514 + <path 20.1515 + inkscape:connector-curvature="0" 20.1516 + id="464" 20.1517 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1518 + d="m 466.78842,613.56115 0,-23.26755 0.60617,0 0.63042,0 0,23.26755 -0.63042,0 -0.60617,0 z" /> 20.1519 + <path 20.1520 + inkscape:connector-curvature="0" 20.1521 + id="465" 20.1522 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1523 + d="m 484.63419,612.6384 0,-2.24352 -1.86702,0 0,2.24352 -0.58193,0 0,-4.64989 0.58193,0 0,1.86358 1.86702,0 0,-1.86358 0.58192,0 0,4.64989 -0.58192,0 z" /> 20.1524 + <path 20.1525 + inkscape:connector-curvature="0" 20.1526 + id="466" 20.1527 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1528 + d="m 487.76205,612.25845 0,0 0,0 c -0.21822,0.28949 -0.55768,0.45232 -0.96988,0.45232 l 0,0 0,0 c -0.26671,0 -0.46069,-0.10858 -0.65467,-0.28948 l 0,0 0,0 c -0.16973,-0.19903 -0.26671,-0.43424 -0.26671,-0.72373 l 0,0 0,0 c 0,-0.34375 0.14548,-0.63324 0.41219,-0.88655 l 0,0 0,0 c 0.29097,-0.23519 0.63042,-0.34375 1.04263,-0.34375 l 0,0 0,0 c 0.12123,0 0.24247,0.0181 0.38795,0.0723 l 0,0 0,0 c 0,-0.5428 -0.21823,-0.81418 -0.65467,-0.81418 l 0,0 0,0 c -0.33946,0 -0.60618,0.0905 -0.77591,0.30758 l 0,0 -0.24246,-0.52469 0,0 0,0 c 0.097,-0.0905 0.24246,-0.18093 0.43644,-0.23522 l 0,0 0,0 c 0.19398,-0.0723 0.36371,-0.10858 0.53344,-0.10858 l 0,0 0,0 c 0.41219,0 0.75165,0.10858 0.94562,0.34378 l 0,0 0,0 c 0.21823,0.23522 0.31521,0.59706 0.31521,1.08558 l 0,0 0,1.21222 0,0 0,0 c 0,0.28948 0.0727,0.48851 0.24248,0.59706 l 0,0 0,0.28949 0,0 0,0 c -0.21823,0 -0.38796,-0.0181 -0.50919,-0.0905 l 0,0 0,0 c -0.097,-0.0723 -0.19398,-0.19902 -0.24247,-0.34376 z m -0.0485,-1.2846 0,0 0,0 c -0.16973,-0.0362 -0.29097,-0.0723 -0.36371,-0.0723 l 0,0 0,0 c -0.24247,0 -0.48494,0.0904 -0.65466,0.2352 l 0,0 0,0 c -0.16973,0.16284 -0.26673,0.34378 -0.26673,0.56088 l 0,0 0,0 c 0,0.36187 0.19398,0.52469 0.58194,0.52469 l 0,0 0,0 c 0.24246,0 0.48493,-0.14473 0.70316,-0.43422 l 0,-0.81419 z" /> 20.1529 + <path 20.1530 + inkscape:connector-curvature="0" 20.1531 + id="467" 20.1532 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1533 + d="m 490.84141,609.834 0,0 0,0 c -0.12123,-0.0905 -0.24246,-0.14475 -0.3637,-0.14475 l 0,0 0,0 c -0.19397,0 -0.3637,0.0905 -0.53343,0.28949 l 0,0 0,0 c -0.14549,0.19901 -0.21822,0.43423 -0.21822,0.72372 l 0,0 0,1.93594 -0.53344,0 0,-3.40146 0.53344,0 0,0.54277 0,0 0,0 c 0.21822,-0.41615 0.50918,-0.61517 0.89714,-0.61517 l 0,0 0,0 c 0.12123,0 0.24246,0.0181 0.43644,0.0544 l -0.21823,0.61517 z" /> 20.1534 + <path 20.1535 + inkscape:connector-curvature="0" 20.1536 + id="468" 20.1537 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1538 + d="m 493.4116,612.6384 0,0 0,-0.25329 0,0 0,0 c -0.19398,0.21709 -0.4607,0.30757 -0.8244,0.30757 l 0,0 0,0 c -0.38796,0 -0.70316,-0.14474 -0.94563,-0.45232 l 0,0 0,0 c -0.24247,-0.30758 -0.3637,-0.70562 -0.3637,-1.21223 l 0,0 0,0 c 0,-0.5066 0.14548,-0.94084 0.41219,-1.3027 l 0,0 0,0 c 0.29097,-0.37996 0.63043,-0.56089 1.01837,-0.56089 l 0,0 0,0 c 0.31521,0 0.53344,0.0905 0.70317,0.25331 l 0,0 0,-1.5741 0.55768,0 0,4.79465 -0.55768,0 z m 0,-2.60538 0,0 0,0 c -0.14549,-0.23522 -0.31521,-0.34377 -0.55769,-0.34377 l 0,0 0,0 c -0.29096,0 -0.53342,0.1267 -0.7274,0.36186 l 0,0 0,0 c -0.16973,0.2352 -0.26672,0.54279 -0.26672,0.92274 l 0,0 0,0 c 0,0.81418 0.33945,1.23031 1.01837,1.23031 l 0,0 0,0 c 0.097,0 0.19398,-0.0362 0.29097,-0.0905 l 0,0 0,0 c 0.12123,-0.0723 0.19397,-0.1267 0.24247,-0.19902 l 0,-1.88167 z" /> 20.1539 + <path 20.1540 + inkscape:connector-curvature="0" 20.1541 + id="469" 20.1542 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1543 + d="m 497.63057,612.71077 -0.14548,0 -0.92138,-2.31589 -0.89714,2.31589 -0.14549,0 -1.11536,-3.49194 0.58193,0 0.65467,2.24354 0.84864,-2.24354 0.14548,0 0.84865,2.24354 0.70316,-2.24354 0.55768,0 -1.11536,3.49194 z" /> 20.1544 + <path 20.1545 + inkscape:connector-curvature="0" 20.1546 + id="470" 20.1547 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1548 + d="m 500.90391,612.25845 0,0 0,0 c -0.21822,0.28949 -0.55768,0.45232 -1.01837,0.45232 l 0,0 0,0 c -0.24247,0 -0.43644,-0.10858 -0.63042,-0.28948 l 0,0 0,0 c -0.16973,-0.19903 -0.24247,-0.43424 -0.24247,-0.72373 l 0,0 0,0 c 0,-0.34375 0.12124,-0.63324 0.38795,-0.88655 l 0,0 0,0 c 0.29096,-0.23519 0.63042,-0.34375 1.06687,-0.34375 l 0,0 0,0 c 0.12123,0 0.24246,0.0181 0.38795,0.0723 l 0,0 0,0 c 0,-0.5428 -0.21822,-0.81418 -0.67892,-0.81418 l 0,0 0,0 c -0.33946,0 -0.60617,0.0905 -0.80015,0.30758 l 0,0 -0.21822,-0.52469 0,0 0,0 c 0.097,-0.0905 0.24247,-0.18093 0.43645,-0.23522 l 0,0 0,0 c 0.16973,-0.0723 0.3637,-0.10858 0.53343,-0.10858 l 0,0 0,0 c 0.43644,0 0.7759,0.10858 0.96988,0.34378 l 0,0 0,0 c 0.21822,0.23522 0.31521,0.59706 0.31521,1.08558 l 0,0 0,1.21222 0,0 0,0 c 0,0.28948 0.0727,0.48851 0.24247,0.59706 l 0,0 0,0.28949 0,0 0,0 c -0.21822,0 -0.38795,-0.0181 -0.50918,-0.0905 l 0,0 0,0 c -0.097,-0.0723 -0.19398,-0.19902 -0.24248,-0.34376 z m -0.0485,-1.2846 0,0 0,0 c -0.16973,-0.0362 -0.29097,-0.0723 -0.3637,-0.0723 l 0,0 0,0 c -0.26672,0 -0.50919,0.0904 -0.67892,0.2352 l 0,0 0,0 c -0.16973,0.16284 -0.26672,0.34378 -0.26672,0.56088 l 0,0 0,0 c 0,0.36187 0.19398,0.52469 0.58193,0.52469 l 0,0 0,0 c 0.26671,0 0.50919,-0.14473 0.72741,-0.43422 l 0,-0.81419 z" /> 20.1549 + <path 20.1550 + inkscape:connector-curvature="0" 20.1551 + id="471" 20.1552 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1553 + d="m 503.98328,609.834 0,0 0,0 c -0.12123,-0.0905 -0.24247,-0.14475 -0.36371,-0.14475 l 0,0 0,0 c -0.19397,0 -0.38795,0.0905 -0.53343,0.28949 l 0,0 0,0 c -0.14548,0.19901 -0.21822,0.43423 -0.21822,0.72372 l 0,0 0,1.93594 -0.53343,0 0,-3.40146 0.53343,0 0,0.54277 0,0 0,0 c 0.21822,-0.41615 0.50919,-0.61517 0.89713,-0.61517 l 0,0 0,0 c 0.12124,0 0.24248,0.0181 0.43645,0.0544 l -0.21822,0.61517 z" /> 20.1554 + <path 20.1555 + inkscape:connector-curvature="0" 20.1556 + id="472" 20.1557 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1558 + d="m 507.18388,611.01003 0,0 -2.20648,0 0,0 0,0 c 0,0.39805 0.0727,0.68753 0.26673,0.90466 l 0,0 0,0 c 0.16972,0.18091 0.41219,0.28947 0.67891,0.28947 l 0,0 0,0 c 0.31521,0 0.58192,-0.10857 0.80015,-0.30755 l 0,0 0.21822,0.43421 0,0 0,0 c -0.0727,0.0905 -0.19397,0.18093 -0.38795,0.23522 l 0,0 0,0 c -0.21823,0.0904 -0.46069,0.14473 -0.72741,0.14473 l 0,0 0,0 c -0.38796,0 -0.72741,-0.14473 -0.96988,-0.43424 l 0,0 0,0 c -0.31521,-0.32566 -0.46069,-0.7599 -0.46069,-1.28459 l 0,0 0,0 c 0,-0.56088 0.14548,-1.0132 0.46069,-1.37507 l 0,0 0,0 c 0.26671,-0.30757 0.58192,-0.45233 0.96988,-0.45233 l 0,0 0,0 c 0.43645,0 0.80015,0.14476 1.04262,0.41615 l 0,0 0,0 c 0.24247,0.2714 0.36371,0.61517 0.36371,1.04939 l 0,0 0,0 c 0,0.14474 0,0.25332 -0.0485,0.37995 z m -1.33358,-1.32078 0,0 0,0 c -0.24248,0 -0.46069,0.0905 -0.60617,0.25328 l 0,0 0,0 c -0.16973,0.18095 -0.24248,0.37998 -0.26673,0.61517 l 0,0 1.72154,0 0,0 0,0 c 0,-0.23519 -0.0727,-0.43422 -0.21822,-0.59706 l 0,0 0,0 c -0.14549,-0.18093 -0.36371,-0.27139 -0.63042,-0.27139 z" /> 20.1559 + <path 20.1560 + inkscape:connector-curvature="0" 20.1561 + id="473" 20.1562 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1563 + d="m 511.76656,611.37189 0,1.26651 -0.55769,0 0,-1.26651 -1.9155,0 0,-0.36186 2.25496,-3.05771 0.21823,0 0,2.93108 0.4122,0 0,0.48849 -0.4122,0 z m -0.55769,-2.15306 -1.23659,1.66457 1.23659,0 0,-1.66457 z" /> 20.1564 + <path 20.1565 + inkscape:connector-curvature="0" 20.1566 + id="474" 20.1567 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1568 + d="m 467.92802,606.39634 58.33823,0.34376 0,0.43423 0,0.43423 -58.33823,-0.34378 0,-0.43423 0,-0.43421 z" /> 20.1569 + <path 20.1570 + inkscape:connector-curvature="0" 20.1571 + id="475" 20.1572 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1573 + d="m 567.48611,601.52932 -0.31521,0 -1.79427,-5.30122 0.7274,0 1.2366,3.85381 1.1881,-3.85381 0.70317,0 -1.74579,5.30122 z" /> 20.1574 + <path 20.1575 + inkscape:connector-curvature="0" 20.1576 + id="476" 20.1577 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1578 + d="m 573.35389,601.45696 -0.58194,-3.34721 -1.04262,3.41957 -0.16973,0 -1.04262,-3.41957 -0.55767,3.34721 -0.63043,0 0.89714,-5.22886 0.31521,0 1.11537,3.81761 1.04262,-3.81761 0.29096,0 0.96988,5.22886 -0.60617,0 z" /> 20.1579 + <path 20.1580 + inkscape:connector-curvature="0" 20.1581 + id="477" 20.1582 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1583 + d="m 574.27526,601.22177 0,0 0.24248,-0.65137 0,0 0,0 c 0.12123,0.0905 0.26671,0.16284 0.46069,0.23522 l 0,0 0,0 c 0.16973,0.0723 0.33946,0.0905 0.48494,0.0905 l 0,0 0,0 c 0.24247,0 0.4607,-0.0723 0.60618,-0.2171 l 0,0 0,0 c 0.14548,-0.16285 0.24246,-0.34378 0.24246,-0.57898 l 0,0 0,0 c 0,-0.18093 -0.0485,-0.34377 -0.14548,-0.48851 l 0,0 0,0 c -0.0727,-0.16283 -0.29096,-0.32568 -0.63042,-0.50661 l 0,0 -0.38795,-0.19902 0,0 0,0 c -0.33946,-0.16284 -0.55768,-0.36186 -0.70317,-0.57897 l 0,0 0,0 c -0.12123,-0.23522 -0.19397,-0.5066 -0.19397,-0.83228 l 0,0 0,0 c 0,-0.37995 0.14549,-0.70562 0.38795,-0.95891 l 0,0 0,0 c 0.24247,-0.27142 0.58193,-0.39806 0.96988,-0.39806 l 0,0 0,0 c 0.53343,0 0.89714,0.10858 1.11536,0.28949 l 0,0 -0.19397,0.61517 0,0 0,0 c -0.097,-0.0723 -0.21823,-0.1267 -0.4122,-0.19902 l 0,0 0,0 c -0.16973,-0.0544 -0.33946,-0.0905 -0.48494,-0.0905 l 0,0 0,0 c -0.21822,0 -0.4122,0.0723 -0.53344,0.19903 l 0,0 0,0 c -0.12123,0.14474 -0.19397,0.32567 -0.19397,0.54279 l 0,0 0,0 c 0,0.1267 0.0242,0.25331 0.0727,0.36187 l 0,0 0,0 c 0.0485,0.10858 0.12123,0.19902 0.19398,0.27139 l 0,0 0,0 c 0.0727,0.0723 0.24247,0.18091 0.50918,0.30758 l 0,0 0.38796,0.19902 0,0 0,0 c 0.31521,0.18092 0.55767,0.37995 0.65466,0.61515 l 0,0 0,0 c 0.14549,0.23522 0.19398,0.52471 0.19398,0.88656 l 0,0 0,0 c 0,0.39805 -0.12124,0.72373 -0.38795,0.99511 l 0,0 0,0 c -0.29097,0.2714 -0.67892,0.41613 -1.16386,0.41613 l 0,0 0,0 c -0.43645,0 -0.80014,-0.10857 -1.09112,-0.32564 z" /> 20.1584 + <path 20.1585 + inkscape:connector-curvature="0" 20.1586 + id="478" 20.1587 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1588 + d="m 540.88718,590.2936 0,0 c 0,-0.0904 0,-0.16282 0.0485,-0.2352 0.0485,-0.0723 0.12123,-0.1267 0.21821,-0.16284 0.097,-0.0362 0.19398,-0.0543 0.31521,-0.0543 l 0,0 0,0.45232 -0.58192,0 z" /> 20.1589 + <path 20.1590 + inkscape:connector-curvature="0" 20.1591 + id="479" 20.1592 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1593 + d="m 541.4691,589.84127 59.42935,0 0,0.45233 0,0.47042 -59.42935,0 0,-0.47042 0,-0.45233 z" /> 20.1594 + <path 20.1595 + inkscape:connector-curvature="0" 20.1596 + id="480" 20.1597 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1598 + d="m 600.89845,589.84127 0,0 c 0.12124,0 0.21822,0.0181 0.31521,0.0544 0.097,0.0362 0.16973,0.0905 0.21823,0.16284 0.0485,0.0723 0.097,0.14474 0.097,0.2352 l 0,0 0,0 -0.63042,0 0,-0.45233 z" /> 20.1599 + <path 20.1600 + inkscape:connector-curvature="0" 20.1601 + id="481" 20.1602 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1603 + d="m 601.52887,590.2936 0,23.26755 -0.63042,0 -0.58193,0 0,-23.26755 0.58193,0 0.63042,0 z" /> 20.1604 + <path 20.1605 + inkscape:connector-curvature="0" 20.1606 + id="482" 20.1607 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1608 + d="m 601.52887,613.56115 0,0 c 0,0.0905 -0.0485,0.16282 -0.097,0.23519 -0.0485,0.0723 -0.12124,0.1267 -0.21823,0.16285 -0.097,0.0362 -0.19397,0.0723 -0.31521,0.0723 l 0,0 0,-0.47041 0.63042,0 z" /> 20.1609 + <path 20.1610 + inkscape:connector-curvature="0" 20.1611 + id="483" 20.1612 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1613 + d="m 600.89845,614.03156 -59.42935,0 0,-0.47041 0,-0.45234 59.42935,0 0,0.45234 0,0.47041 z" /> 20.1614 + <path 20.1615 + inkscape:connector-curvature="0" 20.1616 + id="484" 20.1617 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1618 + d="m 541.4691,614.03156 0,0 c -0.12123,0 -0.21821,-0.0361 -0.31521,-0.0723 -0.097,-0.0362 -0.16973,-0.0905 -0.21821,-0.16285 -0.0485,-0.0723 -0.0485,-0.14473 -0.0485,-0.23519 l 0,0 0.58192,0 0,0.4704 z" /> 20.1619 + <path 20.1620 + inkscape:connector-curvature="0" 20.1621 + id="485" 20.1622 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1623 + d="m 540.88718,613.56115 0,-23.26755 0.58192,0 0.63043,0 0,23.26755 -0.63043,0 -0.58192,0 z" /> 20.1624 + <path 20.1625 + inkscape:connector-curvature="0" 20.1626 + id="486" 20.1627 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1628 + d="m 558.73296,612.6384 0,-2.24352 -1.86702,0 0,2.24352 -0.58193,0 0,-4.64989 0.58193,0 0,1.86358 1.86702,0 0,-1.86358 0.55768,0 0,4.64989 -0.55768,0 z" /> 20.1629 + <path 20.1630 + inkscape:connector-curvature="0" 20.1631 + id="487" 20.1632 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1633 + d="m 561.86081,612.25845 0,0 0,0 c -0.21821,0.28949 -0.55767,0.45232 -1.01837,0.45232 l 0,0 0,0 c -0.24247,0 -0.43644,-0.10858 -0.63042,-0.28948 l 0,0 0,0 c -0.16973,-0.19903 -0.26671,-0.43424 -0.26671,-0.72373 l 0,0 0,0 c 0,-0.34375 0.14548,-0.63324 0.41219,-0.88655 l 0,0 0,0 c 0.29097,-0.23519 0.63043,-0.34375 1.06687,-0.34375 l 0,0 0,0 c 0.12123,0 0.24247,0.0181 0.38796,0.0723 l 0,0 0,0 c 0,-0.5428 -0.21823,-0.81418 -0.67892,-0.81418 l 0,0 0,0 c -0.33946,0 -0.60618,0.0905 -0.80016,0.30758 l 0,0 -0.21821,-0.52469 0,0 0,0 c 0.097,-0.0905 0.24246,-0.18093 0.43644,-0.23522 l 0,0 0,0 c 0.16973,-0.0723 0.3637,-0.10858 0.53343,-0.10858 l 0,0 0,0 c 0.43644,0 0.7759,0.10858 0.96988,0.34378 l 0,0 0,0 c 0.21822,0.23522 0.31521,0.59706 0.31521,1.08558 l 0,0 0,1.21222 0,0 0,0 c 0,0.28948 0.0727,0.48851 0.24247,0.59706 l 0,0 0,0.28949 0,0 0,0 c -0.21822,0 -0.38795,-0.0181 -0.50918,-0.0905 l 0,0 0,0 c -0.097,-0.0723 -0.19398,-0.19902 -0.24248,-0.34376 z m -0.0485,-1.2846 0,0 0,0 c -0.16973,-0.0362 -0.29098,-0.0723 -0.36371,-0.0723 l 0,0 0,0 c -0.29096,0 -0.50919,0.0904 -0.67892,0.2352 l 0,0 0,0 c -0.16973,0.16284 -0.26672,0.34378 -0.26672,0.56088 l 0,0 0,0 c 0,0.36187 0.19398,0.52469 0.55768,0.52469 l 0,0 0,0 c 0.29096,0 0.53344,-0.14473 0.75167,-0.43422 l 0,-0.81419 z" /> 20.1634 + <path 20.1635 + inkscape:connector-curvature="0" 20.1636 + id="488" 20.1637 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1638 + d="m 564.89169,609.834 0,0 0,0 c -0.097,-0.0905 -0.19398,-0.14475 -0.31522,-0.14475 l 0,0 0,0 c -0.21821,0 -0.38794,0.0905 -0.53342,0.28949 l 0,0 0,0 c -0.14549,0.19901 -0.21823,0.43423 -0.21823,0.72372 l 0,0 0,1.93594 -0.53343,0 0,-3.40146 0.53343,0 0,0.54277 0,0 0,0 c 0.21823,-0.41615 0.50919,-0.61517 0.89714,-0.61517 l 0,0 0,0 c 0.0727,0 0.21822,0.0181 0.4122,0.0544 l -0.24247,0.61517 z" /> 20.1639 + <path 20.1640 + inkscape:connector-curvature="0" 20.1641 + id="489" 20.1642 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1643 + d="m 567.51036,612.6384 0,0 0,-0.25329 0,0 0,0 c -0.19398,0.21709 -0.48494,0.30757 -0.84864,0.30757 l 0,0 0,0 c -0.38796,0 -0.70317,-0.14474 -0.94563,-0.45232 l 0,0 0,0 c -0.24248,-0.30758 -0.36371,-0.70562 -0.36371,-1.21223 l 0,0 0,0 c 0,-0.5066 0.14548,-0.94084 0.4122,-1.3027 l 0,0 0,0 c 0.29096,-0.37996 0.60617,-0.56089 0.99413,-0.56089 l 0,0 0,0 c 0.33946,0 0.58192,0.0905 0.75165,0.25331 l 0,0 0,-1.5741 0.53344,0 0,4.79465 -0.53344,0 z m 0,-2.60538 0,0 0,0 c -0.14548,-0.23522 -0.33946,-0.34377 -0.58192,-0.34377 l 0,0 0,0 c -0.29097,0 -0.53344,0.1267 -0.72741,0.36186 l 0,0 0,0 c -0.16973,0.2352 -0.26673,0.54279 -0.26673,0.92274 l 0,0 0,0 c 0,0.81418 0.33946,1.23031 1.01838,1.23031 l 0,0 0,0 c 0.097,0 0.19397,-0.0362 0.31522,-0.0905 l 0,0 0,0 c 0.12123,-0.0723 0.19396,-0.1267 0.24246,-0.19902 l 0,-1.88167 z" /> 20.1644 + <path 20.1645 + inkscape:connector-curvature="0" 20.1646 + id="490" 20.1647 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1648 + d="m 571.70508,612.71077 -0.14548,0 -0.89713,-2.31589 -0.92139,2.31589 -0.14548,0 -1.11536,-3.49194 0.60618,0 0.65466,2.24354 0.8244,-2.24354 0.14548,0 0.84864,2.24354 0.70317,-2.24354 0.55768,0 -1.11537,3.49194 z" /> 20.1649 + <path 20.1650 + inkscape:connector-curvature="0" 20.1651 + id="491" 20.1652 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1653 + d="m 575.00268,612.25845 0,0 0,0 c -0.21823,0.28949 -0.55769,0.45232 -1.01838,0.45232 l 0,0 0,0 c -0.24247,0 -0.43644,-0.10858 -0.63041,-0.28948 l 0,0 0,0 c -0.16973,-0.19903 -0.26673,-0.43424 -0.26673,-0.72373 l 0,0 0,0 c 0,-0.34375 0.14548,-0.63324 0.41221,-0.88655 l 0,0 0,0 c 0.29096,-0.23519 0.63042,-0.34375 1.06687,-0.34375 l 0,0 0,0 c 0.097,0 0.24246,0.0181 0.38794,0.0723 l 0,0 0,0 c 0,-0.5428 -0.21821,-0.81418 -0.67892,-0.81418 l 0,0 0,0 c -0.33945,0 -0.60617,0.0905 -0.80014,0.30758 l 0,0 -0.21823,-0.52469 0,0 0,0 c 0.097,-0.0905 0.24248,-0.18093 0.43645,-0.23522 l 0,0 0,0 c 0.16973,-0.0723 0.36371,-0.10858 0.53344,-0.10858 l 0,0 0,0 c 0.43644,0 0.7759,0.10858 0.96987,0.34378 l 0,0 0,0 c 0.21823,0.23522 0.31521,0.59706 0.31521,1.08558 l 0,0 0,1.21222 0,0 0,0 c 0,0.28948 0.0728,0.48851 0.24248,0.59706 l 0,0 0,0.28949 0,0 0,0 c -0.21823,0 -0.38796,-0.0181 -0.50919,-0.0905 l 0,0 0,0 c -0.12124,-0.0723 -0.19398,-0.19902 -0.24247,-0.34376 z m -0.0485,-1.2846 0,0 0,0 c -0.16973,-0.0362 -0.29096,-0.0723 -0.3637,-0.0723 l 0,0 0,0 c -0.29097,0 -0.50919,0.0904 -0.67892,0.2352 l 0,0 0,0 c -0.19397,0.16284 -0.26671,0.34378 -0.26671,0.56088 l 0,0 0,0 c 0,0.36187 0.19397,0.52469 0.55768,0.52469 l 0,0 0,0 c 0.29096,0 0.53344,-0.14473 0.75165,-0.43422 l 0,-0.81419 z" /> 20.1654 + <path 20.1655 + inkscape:connector-curvature="0" 20.1656 + id="492" 20.1657 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1658 + d="m 578.03355,609.834 0,0 0,0 c -0.12123,-0.0905 -0.24247,-0.14475 -0.36371,-0.14475 l 0,0 0,0 c -0.19397,0 -0.3637,0.0905 -0.50918,0.28949 l 0,0 0,0 c -0.14549,0.19901 -0.21822,0.43423 -0.21822,0.72372 l 0,0 0,1.93594 -0.53344,0 0,-3.40146 0.53344,0 0,0.54277 0,0 0,0 c 0.21822,-0.41615 0.50919,-0.61517 0.89713,-0.61517 l 0,0 0,0 c 0.097,0 0.24248,0.0181 0.43645,0.0544 l -0.24247,0.61517 z" /> 20.1659 + <path 20.1660 + inkscape:connector-curvature="0" 20.1661 + id="493" 20.1662 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1663 + d="m 581.28264,611.01003 0,0 -2.23072,0 0,0 0,0 c 0,0.39805 0.097,0.68753 0.29097,0.90466 l 0,0 0,0 c 0.16973,0.18091 0.41219,0.28947 0.67892,0.28947 l 0,0 0,0 c 0.31521,0 0.58192,-0.10857 0.80014,-0.30755 l 0,0 0.21823,0.43421 0,0 0,0 c -0.0727,0.0905 -0.21823,0.18093 -0.38795,0.23522 l 0,0 0,0 c -0.21823,0.0904 -0.46069,0.14473 -0.72742,0.14473 l 0,0 0,0 c -0.38795,0 -0.72741,-0.14473 -0.99412,-0.43424 l 0,0 0,0 c -0.31521,-0.32566 -0.46069,-0.7599 -0.46069,-1.28459 l 0,0 0,0 c 0,-0.56088 0.14548,-1.0132 0.46069,-1.37507 l 0,0 0,0 c 0.29096,-0.30757 0.60617,-0.45233 0.99412,-0.45233 l 0,0 0,0 c 0.43645,0 0.80015,0.14476 1.04262,0.41615 l 0,0 0,0 c 0.24248,0.2714 0.36371,0.61517 0.36371,1.04939 l 0,0 0,0 c 0,0.14474 -0.0243,0.25332 -0.0485,0.37995 z m -1.33358,-1.32078 0,0 0,0 c -0.24247,0 -0.46069,0.0905 -0.63042,0.25328 l 0,0 0,0 c -0.14548,0.18095 -0.24247,0.37998 -0.26672,0.61517 l 0,0 1.72154,0 0,0 0,0 c 0,-0.23519 -0.0485,-0.43422 -0.19398,-0.59706 l 0,0 0,0 c -0.16973,-0.18093 -0.3637,-0.27139 -0.63042,-0.27139 z" /> 20.1664 + <path 20.1665 + inkscape:connector-curvature="0" 20.1666 + id="494" 20.1667 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1668 + d="m 583.94981,610.37677 0,0 -0.19397,-0.14473 0,-2.27972 2.13373,0 0,0.5428 -1.57605,0 0,1.13986 0,0 0,0 c 0.14548,-0.1267 0.3152,-0.18095 0.55768,-0.18095 l 0,0 0,0 c 0.38795,0 0.67891,0.1267 0.89714,0.39806 l 0,0 0,0 c 0.21822,0.27139 0.31521,0.63324 0.31521,1.10368 l 0,0 0,0 c 0,1.15794 -0.48494,1.755 -1.43058,1.755 l 0,0 0,0 c -0.38794,0 -0.7274,-0.1267 -0.99412,-0.36185 l 0,0 0.21822,-0.5428 0,0 0,0 c 0.26672,0.23522 0.53344,0.36185 0.7759,0.36185 l 0,0 0,0 c 0.53344,0 0.8244,-0.37994 0.8244,-1.12175 l 0,0 0,0 c 0,-0.68754 -0.26671,-1.03129 -0.8244,-1.03129 l 0,0 0,0 c -0.24246,0 -0.48494,0.10857 -0.70316,0.36184 z" /> 20.1669 + <path 20.1670 + inkscape:connector-curvature="0" 20.1671 + id="495" 20.1672 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1673 + d="m 542.00254,606.39634 58.36248,0.34376 0,0.43423 0,0.43423 -58.36248,-0.34378 0,-0.43423 0,-0.43421 z" /> 20.1674 + <g 20.1675 + id="g4970" 20.1676 + transform="translate(0,3.3686829)"> 20.1677 + <path 20.1678 + d="m 149.92891,441.33435 0,0 3.73404,-8.86555 1.40631,0 4.00076,8.86555 -1.45483,0 -1.1396,-2.69586 -4.09774,0 -1.06688,2.69586 -1.38206,0 z m 2.81264,-3.65479 0,0 3.32184,0 -1.01838,-2.42445 0,0 0,0 c -0.31521,-0.7599 -0.55768,-1.37507 -0.70315,-1.84547 l 0,0 0,0 c -0.12124,0.56087 -0.29098,1.13984 -0.53344,1.70072 l -1.06687,2.5692 z" 20.1679 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1680 + id="533" 20.1681 + inkscape:connector-curvature="0" /> 20.1682 + <path 20.1683 + d="m 159.96715,443.79499 0,0 0,-8.86556 1.09112,0 0,0.83228 0,0 0,0 c 0.26671,-0.32567 0.55768,-0.57897 0.87289,-0.74181 l 0,0 0,0 c 0.33945,-0.16283 0.72742,-0.2533 1.1881,-0.2533 l 0,0 0,0 c 0.60617,0 1.16385,0.14474 1.60031,0.43423 l 0,0 0,0 c 0.46069,0.27139 0.80015,0.68753 1.0426,1.19414 l 0,0 0,0 c 0.24248,0.48851 0.36372,1.06748 0.36372,1.66455 l 0,0 0,0 c 0,0.66943 -0.14549,1.24841 -0.38795,1.7912 l 0,0 0,0 c -0.26672,0.5247 -0.65468,0.92274 -1.11537,1.19414 l 0,0 0,0 c -0.50918,0.28949 -1.04261,0.43422 -1.57606,0.43422 l 0,0 0,0 c -0.41218,0 -0.7759,-0.0905 -1.0911,-0.2352 l 0,0 0,0 c -0.31521,-0.14475 -0.58193,-0.34377 -0.77591,-0.57897 l 0,0 0,3.13008 -1.21235,0 z m 1.09112,-5.64501 0,0 0,0 c 0,0.83228 0.19398,1.44745 0.55768,1.8274 l 0,0 0,0 c 0.36371,0.39804 0.8244,0.59706 1.33358,0.59706 l 0,0 0,0 c 0.55768,0 0.99413,-0.19902 1.38208,-0.61517 l 0,0 0,0 c 0.36371,-0.39804 0.55768,-1.03128 0.55768,-1.89975 l 0,0 0,0 c 0,-0.81418 -0.19397,-1.41126 -0.53343,-1.82739 l 0,0 0,0 c -0.38795,-0.39804 -0.8244,-0.59707 -1.33358,-0.59707 l 0,0 0,0 c -0.53344,0 -0.96988,0.21712 -1.38208,0.65135 l 0,0 0,0 c -0.38795,0.43423 -0.58193,1.03129 -0.58193,1.86357 z" 20.1684 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1685 + id="534" 20.1686 + inkscape:connector-curvature="0" /> 20.1687 + <path 20.1688 + d="m 167.58072,443.79499 0,0 0,-8.86556 1.09109,0 0,0.83228 0,0 0,0 c 0.26674,-0.32567 0.53344,-0.57897 0.84865,-0.74181 l 0,0 0,0 c 0.33947,-0.16283 0.72742,-0.2533 1.16385,-0.2533 l 0,0 0,0 c 0.60618,0 1.13961,0.14474 1.62456,0.43423 l 0,0 0,0 c 0.46068,0.27139 0.80015,0.68753 1.04261,1.19414 l 0,0 0,0 c 0.24247,0.48851 0.36372,1.06748 0.36372,1.66455 l 0,0 0,0 c 0,0.66943 -0.1455,1.24841 -0.41221,1.7912 l 0,0 0,0 c -0.24247,0.5247 -0.63042,0.92274 -1.11535,1.19414 l 0,0 0,0 c -0.50918,0.28949 -1.04263,0.43422 -1.57606,0.43422 l 0,0 0,0 c -0.38795,0 -0.75165,-0.0905 -1.06687,-0.2352 l 0,0 0,0 c -0.31521,-0.14475 -0.55768,-0.34377 -0.75165,-0.57897 l 0,0 0,3.13008 -1.21234,0 z m 1.09109,-5.64501 0,0 0,0 c 0,0.83228 0.19399,1.44745 0.53344,1.8274 l 0,0 0,0 c 0.36371,0.39804 0.82439,0.59706 1.33359,0.59706 l 0,0 0,0 c 0.53343,0 0.96988,-0.19902 1.35783,-0.61517 l 0,0 0,0 c 0.38795,-0.39804 0.58193,-1.03128 0.58193,-1.89975 l 0,0 0,0 c 0,-0.81418 -0.19398,-1.41126 -0.55769,-1.82739 l 0,0 0,0 c -0.38795,-0.39804 -0.82439,-0.59707 -1.33358,-0.59707 l 0,0 0,0 c -0.50919,0 -0.94562,0.21712 -1.35783,0.65135 l 0,0 0,0 c -0.3637,0.43423 -0.55769,1.03129 -0.55769,1.86357 z" 20.1689 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1690 + id="535" 20.1691 + inkscape:connector-curvature="0" /> 20.1692 + <path 20.1693 + d="m 175.14576,441.33435 0,-8.86555 1.1881,0 0,8.86555 -1.1881,0 z" 20.1694 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1695 + id="536" 20.1696 + inkscape:connector-curvature="0" /> 20.1697 + <path 20.1698 + d="m 178.20087,433.7353 0,-1.2665 1.21237,0 0,1.2665 -1.21237,0 z m 0,7.59905 0,-6.40492 1.21237,0 0,6.40492 -1.21237,0 z" 20.1699 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1700 + id="537" 20.1701 + inkscape:connector-curvature="0" /> 20.1702 + <path 20.1703 + d="m 185.86292,438.98226 0,0 1.18811,0.1267 0,0 0,0 c -0.12123,0.7418 -0.46069,1.32077 -0.99413,1.73692 l 0,0 0,0 c -0.53343,0.41613 -1.18809,0.63324 -1.96399,0.63324 l 0,0 0,0 c -0.9699,0 -1.72155,-0.28948 -2.32773,-0.86846 l 0,0 0,0 c -0.58191,-0.57897 -0.87288,-1.39316 -0.87288,-2.47873 l 0,0 0,0 c 0,-0.68753 0.12123,-1.28461 0.3637,-1.7912 l 0,0 0,0 c 0.26671,-0.52469 0.65466,-0.92274 1.16385,-1.17604 l 0,0 0,0 c 0.50919,-0.25331 1.06688,-0.39805 1.67306,-0.39805 l 0,0 0,0 c 0.7759,0 1.40631,0.18093 1.91549,0.5428 l 0,0 0,0 c 0.48495,0.34376 0.80017,0.85037 0.9214,1.5017 l 0,0 -1.16386,0.14475 0,0 0,0 c -0.097,-0.41613 -0.3152,-0.74181 -0.58193,-0.95892 l 0,0 0,0 c -0.29095,-0.21713 -0.63042,-0.32568 -1.04262,-0.32568 l 0,0 0,0 c -0.60616,0 -1.09111,0.19902 -1.47906,0.59707 l 0,0 0,0 c -0.33947,0.37994 -0.53343,0.99511 -0.53343,1.84548 l 0,0 0,0 c 0,0.85037 0.16971,1.48363 0.50918,1.88167 l 0,0 0,0 c 0.38795,0.37995 0.84865,0.57897 1.45483,0.57897 l 0,0 0,0 c 0.46068,0 0.84863,-0.1267 1.16385,-0.39804 l 0,0 0,0 c 0.33944,-0.25331 0.53343,-0.65135 0.60616,-1.19414 z" 20.1704 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1705 + id="538" 20.1706 + inkscape:connector-curvature="0" /> 20.1707 + <path 20.1708 + d="m 192.70057,440.53825 0,0 0,0 c -0.43645,0.34377 -0.87288,0.57897 -1.2851,0.72372 l 0,0 0,0 c -0.41218,0.14474 -0.84863,0.21711 -1.33358,0.21711 l 0,0 0,0 c -0.77589,0 -1.38208,-0.18093 -1.77001,-0.52469 l 0,0 0,0 c -0.41221,-0.34377 -0.63043,-0.77799 -0.63043,-1.32078 l 0,0 0,0 c 0,-0.30758 0.0727,-0.59708 0.24247,-0.86846 l 0,0 0,0 c 0.14548,-0.25331 0.36371,-0.47042 0.58193,-0.61517 l 0,0 0,0 c 0.26671,-0.16284 0.55768,-0.28949 0.87288,-0.36186 l 0,0 0,0 c 0.24248,-0.0542 0.60618,-0.10857 1.06688,-0.16283 l 0,0 0,0 c 0.99411,-0.10858 1.69728,-0.23521 2.15798,-0.37995 l 0,0 0,0 c 0,-0.14475 0,-0.23522 0,-0.2714 l 0,0 0,0 c 0,-0.43423 -0.097,-0.74181 -0.33947,-0.92274 l 0,0 0,0 c -0.29096,-0.25331 -0.75165,-0.37995 -1.35783,-0.37995 l 0,0 0,0 c -0.58191,0 -0.99411,0.0905 -1.26083,0.27139 l 0,0 0,0 c -0.26673,0.18093 -0.48495,0.5066 -0.60618,0.94084 l 0,0 -1.16386,-0.12669 0,0 0,0 c 0.12123,-0.45233 0.29096,-0.83228 0.53344,-1.10367 l 0,0 0,0 c 0.21822,-0.28949 0.58194,-0.5066 1.04262,-0.65135 l 0,0 0,0 c 0.4607,-0.14474 1.01838,-0.23522 1.62454,-0.23522 l 0,0 0,0 c 0.60619,0 1.09112,0.0723 1.47907,0.19904 l 0,0 0,0 c 0.36371,0.12669 0.65468,0.28948 0.8244,0.4885 l 0,0 0,0 c 0.19398,0.19903 0.31521,0.45233 0.38796,0.74182 l 0,0 0,0 c 0.0485,0.18093 0.0485,0.52469 0.0485,0.99511 l 0,0 0,1.44743 0,0 0,0 c 0,1.01321 0.0242,1.64645 0.097,1.91785 l 0,0 0,0 c 0.0485,0.2714 0.14548,0.5247 0.29096,0.77801 l 0,0 -1.26084,0 0,0 0,0 c -0.12124,-0.23522 -0.19397,-0.48851 -0.24247,-0.7961 z m -0.097,-2.44254 0,0 0,0 c -0.43645,0.16283 -1.09112,0.30758 -1.96401,0.41613 l 0,0 0,0 c -0.50919,0.0723 -0.84864,0.14475 -1.06687,0.21711 l 0,0 0,0 c -0.19398,0.0905 -0.3637,0.19904 -0.46068,0.36187 l 0,0 0,0 c -0.12123,0.14474 -0.16973,0.32566 -0.16973,0.50661 l 0,0 0,0 c 0,0.28947 0.12123,0.54278 0.3637,0.7418 l 0,0 0,0 c 0.24246,0.18093 0.60618,0.28948 1.06688,0.28948 l 0,0 0,0 c 0.46068,0 0.87288,-0.10858 1.23658,-0.28948 l 0,0 0,0 c 0.3637,-0.18093 0.63043,-0.43423 0.80016,-0.7418 l 0,0 0,0 c 0.12123,-0.25331 0.19397,-0.61517 0.19397,-1.10368 l 0,-0.39804 z" 20.1709 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1710 + id="539" 20.1711 + inkscape:connector-curvature="0" /> 20.1712 + <path 20.1713 + d="m 198.30162,440.35732 0,0 0.16974,0.95892 0,0 0,0 c -0.33947,0.0723 -0.63042,0.0905 -0.89715,0.0905 l 0,0 0,0 c -0.43643,0 -0.7759,-0.0542 -1.01837,-0.18093 l 0,0 0,0 c -0.24246,-0.12669 -0.41219,-0.28949 -0.50918,-0.48851 l 0,0 0,0 c -0.097,-0.21711 -0.14548,-0.63326 -0.14548,-1.28459 l 0,0 0,-3.69097 -0.89715,0 0,-0.83228 0.89715,0 0,-1.59218 1.1881,-0.66944 0,2.26162 1.21234,0 0,0.83228 -1.21234,0 0,3.74524 0,0 0,0 c 0,0.30758 0.0242,0.5066 0.0727,0.59706 l 0,0 0,0 c 0.0485,0.0905 0.097,0.16284 0.19396,0.21713 l 0,0 0,0 c 0.097,0.0542 0.24247,0.0723 0.4122,0.0723 l 0,0 0,0 c 0.14548,0 0.31522,-0.0181 0.53343,-0.0362 z" 20.1714 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1715 + id="540" 20.1716 + inkscape:connector-curvature="0" /> 20.1717 + <path 20.1718 + d="m 199.48974,433.7353 0,-1.2665 1.18809,0 0,1.2665 -1.18809,0 z m 0,7.59905 0,-6.40492 1.18809,0 0,6.40492 -1.18809,0 z" 20.1719 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1720 + id="541" 20.1721 + inkscape:connector-curvature="0" /> 20.1722 + <path 20.1723 + d="m 202.05991,438.1138 0,0 0,0 c 0,-1.19414 0.3637,-2.04451 1.0911,-2.62348 l 0,0 0,0 c 0.63043,-0.47042 1.35783,-0.72372 2.25498,-0.72372 l 0,0 0,0 c 0.96988,0 1.74578,0.28949 2.35196,0.86846 l 0,0 0,0 c 0.60618,0.57898 0.92138,1.37506 0.92138,2.38827 l 0,0 0,0 c 0,0.83228 -0.14548,1.48363 -0.4122,1.95405 l 0,0 0,0 c -0.26671,0.4704 -0.67891,0.83226 -1.16384,1.10366 l 0,0 0,0 c -0.53345,0.25331 -1.09112,0.39804 -1.6973,0.39804 l 0,0 0,0 c -0.99413,0 -1.81851,-0.28948 -2.42469,-0.86846 l 0,0 0,0 c -0.60619,-0.57897 -0.92139,-1.41125 -0.92139,-2.49682 z m 1.2366,0 0,0 0,0 c 0,0.83228 0.19397,1.44743 0.60617,1.84547 l 0,0 0,0 c 0.38795,0.41615 0.89714,0.61517 1.50331,0.61517 l 0,0 0,0 c 0.58193,0 1.06686,-0.19902 1.45483,-0.61517 l 0,0 0,0 c 0.41218,-0.41613 0.60616,-1.03128 0.60616,-1.88165 l 0,0 0,0 c 0,-0.7961 -0.19398,-1.37507 -0.60616,-1.79121 l 0,0 0,0 c -0.38797,-0.39805 -0.8729,-0.61516 -1.45483,-0.61516 l 0,0 0,0 c -0.60617,0 -1.11536,0.21711 -1.50331,0.61516 l 0,0 0,0 c -0.4122,0.41614 -0.60617,1.0132 -0.60617,1.82739 z" 20.1724 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1725 + id="542" 20.1726 + inkscape:connector-curvature="0" /> 20.1727 + <path 20.1728 + d="m 210.10989,441.33435 0,0 0,-6.40492 1.06689,0 0,0.90466 0,0 0,0 c 0.53343,-0.70562 1.26084,-1.06749 2.25496,-1.06749 l 0,0 0,0 c 0.4122,0 0.82439,0.0723 1.16386,0.21712 l 0,0 0,0 c 0.3637,0.14475 0.63042,0.32568 0.8244,0.54279 l 0,0 0,0 c 0.16971,0.2352 0.29095,0.5066 0.3637,0.81418 l 0,0 0,0 c 0.0485,0.19902 0.0727,0.5247 0.0727,1.0313 l 0,0 0,3.96236 -1.21235,0 0,-3.90808 0,0 0,0 c 0,-0.45233 -0.0485,-0.75992 -0.14548,-0.97703 l 0,0 0,0 c -0.0727,-0.2352 -0.24249,-0.39804 -0.48495,-0.52469 l 0,0 0,0 c -0.24247,-0.14475 -0.53343,-0.19902 -0.84865,-0.19902 l 0,0 0,0 c -0.50918,0 -0.92138,0.14474 -1.30933,0.43424 l 0,0 0,0 c -0.36372,0.28947 -0.55768,0.83226 -0.55768,1.66454 l 0,0 0,3.51004 -1.18812,0 z" 20.1729 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1730 + id="543" 20.1731 + inkscape:connector-curvature="0" /> 20.1732 + </g> 20.1733 + <g 20.1734 + id="g5020" 20.1735 + transform="translate(0,9.3637848)"> 20.1736 + <path 20.1737 + d="m 151.04427,580.57768 0,-8.84745 1.30933,0 0,3.6367 5.06762,0 0,-3.6367 1.28508,0 0,8.84745 -1.28508,0 0,-4.16138 -5.06762,0 0,4.16138 -1.30933,0 z" 20.1738 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1739 + id="544" 20.1740 + inkscape:connector-curvature="0" /> 20.1741 + <path 20.1742 + d="m 165.32574,579.7816 0,0 0,0 c -0.43645,0.34376 -0.84865,0.59706 -1.26085,0.72371 l 0,0 0,0 c -0.4122,0.14476 -0.84865,0.21713 -1.33358,0.21713 l 0,0 0,0 c -0.7759,0 -1.38208,-0.16285 -1.79428,-0.5066 l 0,0 0,0 c -0.4122,-0.34378 -0.63041,-0.7961 -0.63041,-1.32079 l 0,0 0,0 c 0,-0.32568 0.0727,-0.61517 0.24246,-0.86848 l 0,0 0,0 c 0.14549,-0.27138 0.3637,-0.47041 0.63042,-0.63324 l 0,0 0,0 c 0.24248,-0.14475 0.53343,-0.25331 0.84865,-0.32568 l 0,0 0,0 c 0.24246,-0.0723 0.60618,-0.12669 1.09111,-0.18093 l 0,0 0,0 c 0.96988,-0.0904 1.6488,-0.21711 2.10949,-0.36185 l 0,0 0,0 c 0,-0.16284 0,-0.2533 0,-0.2895 l 0,0 0,0 c 0,-0.43422 -0.097,-0.75989 -0.33946,-0.94082 l 0,0 0,0 c -0.26672,-0.23521 -0.7274,-0.36186 -1.33358,-0.36186 l 0,0 0,0 c -0.58193,0 -0.99413,0.0905 -1.26085,0.2714 l 0,0 0,0 c -0.26671,0.18093 -0.46068,0.48851 -0.60618,0.94083 l 0,0 -1.16385,-0.14476 0,0 0,0 c 0.097,-0.45232 0.26672,-0.81416 0.50919,-1.10365 l 0,0 0,0 c 0.26673,-0.2714 0.60618,-0.4885 1.06688,-0.63326 l 0,0 0,0 c 0.48493,-0.16282 1.01836,-0.23522 1.62453,-0.23522 l 0,0 0,0 c 0.60618,0 1.06688,0.0723 1.45483,0.19904 l 0,0 0,0 c 0.38794,0.12669 0.65466,0.28947 0.84864,0.48851 l 0,0 0,0 c 0.16974,0.18093 0.29097,0.43422 0.3637,0.7418 l 0,0 0,0 c 0.0485,0.18093 0.0727,0.50661 0.0727,0.99512 l 0,0 0,1.42934 0,0 0,0 c 0,1.01321 0.0242,1.66454 0.0728,1.93596 l 0,0 0,0 c 0.0485,0.25329 0.14548,0.52469 0.29096,0.75988 l 0,0 -1.26085,0 0,0 0,0 c -0.12123,-0.21711 -0.19396,-0.4885 -0.24246,-0.79608 z m -0.097,-2.42446 0,0 0,0 c -0.43644,0.16286 -1.06686,0.28951 -1.93976,0.41614 l 0,0 0,0 c -0.48495,0.0543 -0.84864,0.12669 -1.04263,0.21712 l 0,0 0,0 c -0.21821,0.0723 -0.3637,0.19902 -0.48493,0.34375 l 0,0 0,0 c -0.12123,0.16286 -0.16973,0.32568 -0.16973,0.5247 l 0,0 0,0 c 0,0.2895 0.12123,0.52471 0.36371,0.72373 l 0,0 0,0 c 0.24247,0.19902 0.60617,0.28948 1.06687,0.28948 l 0,0 0,0 c 0.4607,0 0.87288,-0.0905 1.23659,-0.27139 l 0,0 0,0 c 0.3637,-0.18093 0.60617,-0.43424 0.7759,-0.7599 l 0,0 0,0 c 0.14549,-0.2352 0.19398,-0.59706 0.19398,-1.08558 l 0,-0.39805 z" 20.1743 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1744 + id="545" 20.1745 + inkscape:connector-curvature="0" /> 20.1746 + <path 20.1747 + d="m 168.30811,580.57768 0,0 0,-6.40489 1.06687,0 0,0.97701 0,0 0,0 c 0.26673,-0.45231 0.53343,-0.7599 0.77591,-0.90464 l 0,0 0,0 c 0.21822,-0.14473 0.46069,-0.21713 0.75165,-0.21713 l 0,0 0,0 c 0.38795,0 0.80015,0.10858 1.2366,0.34378 l 0,0 -0.4122,1.01321 0,0 0,0 c -0.31522,-0.14476 -0.60618,-0.23522 -0.89713,-0.23522 l 0,0 0,0 c -0.24248,0 -0.48495,0.0723 -0.67892,0.21713 l 0,0 0,0 c -0.21823,0.14473 -0.36371,0.34375 -0.4607,0.59706 l 0,0 0,0 c -0.12123,0.37995 -0.19398,0.81418 -0.19398,1.24842 l 0,0 0,3.36527 -1.1881,0 z" 20.1748 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1749 + id="546" 20.1750 + inkscape:connector-curvature="0" /> 20.1751 + <path 20.1752 + d="m 177.44922,580.57768 0,0 0,-0.81417 0,0 0,0 c -0.43644,0.65135 -1.09111,0.95893 -1.96401,0.95893 l 0,0 0,0 c -0.55766,0 -1.09109,-0.14476 -1.55179,-0.41615 l 0,0 0,0 c -0.48495,-0.28947 -0.84865,-0.68751 -1.11537,-1.19412 l 0,0 0,0 c -0.26671,-0.5066 -0.38795,-1.0856 -0.38795,-1.73693 l 0,0 0,0 c 0,-0.63326 0.12124,-1.21223 0.3637,-1.73693 l 0,0 0,0 c 0.21824,-0.50659 0.58193,-0.92273 1.04263,-1.19413 l 0,0 0,0 c 0.48494,-0.27139 1.01837,-0.41615 1.6003,-0.41615 l 0,0 0,0 c 0.43645,0 0.80015,0.0723 1.11536,0.25332 l 0,0 0,0 c 0.33945,0.16283 0.60617,0.36185 0.8244,0.63323 l 0,0 0,-3.18435 1.1881,0 0,8.84745 -1.11537,0 z m -3.78252,-3.20244 0,0 0,0 c 0,0.81418 0.19397,1.42935 0.58193,1.84548 l 0,0 0,0 c 0.38795,0.39806 0.8244,0.61515 1.35783,0.61515 l 0,0 0,0 c 0.53342,0 0.94563,-0.199 1.30933,-0.59707 l 0,0 0,0 c 0.3637,-0.37995 0.55768,-0.97701 0.55768,-1.77309 l 0,0 0,0 c 0,-0.86848 -0.19398,-1.50172 -0.55768,-1.91787 l 0,0 0,0 c -0.3637,-0.41612 -0.8244,-0.61515 -1.35783,-0.61515 l 0,0 0,0 c -0.53343,0 -0.99413,0.19903 -1.35783,0.59706 l 0,0 0,0 c -0.3637,0.37996 -0.53343,1.01321 -0.53343,1.84549 z" 20.1753 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1754 + id="547" 20.1755 + inkscape:connector-curvature="0" /> 20.1756 + <path 20.1757 + d="m 181.78943,580.57768 0,0 -2.18223,-6.40489 1.26085,0 1.11536,3.69096 0.43644,1.37505 0,0 0,0 c 0,-0.0723 0.12125,-0.50658 0.33946,-1.32078 l 0,0 1.13962,-3.74523 1.23658,0 1.06688,3.70905 0.33945,1.23033 0.41221,-1.24842 1.21233,-3.69096 1.16387,0 -2.20648,6.40489 -1.26085,0 -1.11535,-3.8357 -0.29098,-1.08557 -1.43056,4.92127 -1.2366,0 z" 20.1758 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1759 + id="548" 20.1760 + inkscape:connector-curvature="0" /> 20.1761 + <path 20.1762 + d="m 194.95555,579.7816 0,0 0,0 c -0.43645,0.34376 -0.84865,0.59706 -1.26085,0.72371 l 0,0 0,0 c -0.4122,0.14476 -0.84865,0.21713 -1.33358,0.21713 l 0,0 0,0 c -0.77591,0 -1.38208,-0.16285 -1.79428,-0.5066 l 0,0 0,0 c -0.43645,-0.34378 -0.63043,-0.7961 -0.63043,-1.32079 l 0,0 0,0 c 0,-0.32568 0.0728,-0.61517 0.24248,-0.86848 l 0,0 0,0 c 0.14549,-0.27138 0.3637,-0.47041 0.60617,-0.63324 l 0,0 0,0 c 0.26673,-0.14475 0.55768,-0.25331 0.8729,-0.32568 l 0,0 0,0 c 0.24246,-0.0723 0.60616,-0.12669 1.06686,-0.18093 l 0,0 0,0 c 0.96988,-0.0904 1.6973,-0.21711 2.13373,-0.36185 l 0,0 0,0 c 0,-0.16284 0,-0.2533 0,-0.2895 l 0,0 0,0 c 0,-0.43422 -0.097,-0.75989 -0.33945,-0.94082 l 0,0 0,0 c -0.29097,-0.23521 -0.72742,-0.36186 -1.33358,-0.36186 l 0,0 0,0 c -0.58193,0 -0.99413,0.0905 -1.26085,0.2714 l 0,0 0,0 c -0.26671,0.18093 -0.48495,0.48851 -0.60618,0.94083 l 0,0 -1.1881,-0.14476 0,0 0,0 c 0.12124,-0.45232 0.29097,-0.81416 0.53344,-1.10365 l 0,0 0,0 c 0.24246,-0.2714 0.60618,-0.4885 1.06688,-0.63326 l 0,0 0,0 c 0.46068,-0.16282 0.99411,-0.23522 1.62453,-0.23522 l 0,0 0,0 c 0.60618,0 1.09113,0.0723 1.45483,0.19904 l 0,0 0,0 c 0.36369,0.12669 0.65466,0.28947 0.82439,0.48851 l 0,0 0,0 c 0.19399,0.18093 0.31522,0.43422 0.38795,0.7418 l 0,0 0,0 c 0.0242,0.18093 0.0485,0.50661 0.0485,0.99512 l 0,0 0,1.42934 0,0 0,0 c 0,1.01321 0.0242,1.66454 0.0727,1.93596 l 0,0 0,0 c 0.0727,0.25329 0.16973,0.52469 0.31521,0.75988 l 0,0 -1.26085,0 0,0 0,0 c -0.12123,-0.21711 -0.19398,-0.4885 -0.24246,-0.79608 z m -0.097,-2.42446 0,0 0,0 c -0.41218,0.16286 -1.06687,0.28951 -1.93975,0.41614 l 0,0 0,0 c -0.50918,0.0543 -0.84864,0.12669 -1.06686,0.21712 l 0,0 0,0 c -0.19398,0.0723 -0.36372,0.19902 -0.4607,0.34375 l 0,0 0,0 c -0.12123,0.16286 -0.16973,0.32568 -0.16973,0.5247 l 0,0 0,0 c 0,0.2895 0.12123,0.52471 0.3637,0.72373 l 0,0 0,0 c 0.24248,0.19902 0.60618,0.28948 1.06688,0.28948 l 0,0 0,0 c 0.46068,0 0.87288,-0.0905 1.23659,-0.27139 l 0,0 0,0 c 0.3637,-0.18093 0.60617,-0.43424 0.7759,-0.7599 l 0,0 0,0 c 0.12124,-0.2352 0.19397,-0.59706 0.19397,-1.08558 l 0,-0.39805 z" 20.1763 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1764 + id="549" 20.1765 + inkscape:connector-curvature="0" /> 20.1766 + <path 20.1767 + d="m 197.93792,580.57768 0,0 0,-6.40489 1.09112,0 0,0.97701 0,0 0,0 c 0.26671,-0.45231 0.53343,-0.7599 0.75165,-0.90464 l 0,0 0,0 c 0.24248,-0.14473 0.50918,-0.21713 0.75166,-0.21713 l 0,0 0,0 c 0.4122,0 0.8244,0.10858 1.2366,0.34378 l 0,0 -0.4122,1.01321 0,0 0,0 c -0.29097,-0.14476 -0.58193,-0.23522 -0.8729,-0.23522 l 0,0 0,0 c -0.24246,0 -0.48493,0.0723 -0.67891,0.21713 l 0,0 0,0 c -0.21822,0.14473 -0.3637,0.34375 -0.46069,0.59706 l 0,0 0,0 c -0.12123,0.37995 -0.19398,0.81418 -0.19398,1.24842 l 0,0 0,3.36527 -1.21235,0 z" 20.1768 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1769 + id="550" 20.1770 + inkscape:connector-curvature="0" /> 20.1771 + <path 20.1772 + d="m 207.34575,578.51508 0,0 1.2366,0.1267 0,0 0,0 c -0.19398,0.66945 -0.55768,1.17606 -1.06687,1.5379 l 0,0 0,0 c -0.53343,0.36187 -1.18809,0.5428 -2.01249,0.5428 l 0,0 0,0 c -1.04263,0 -1.86703,-0.2895 -2.47321,-0.86847 l 0,0 0,0 c -0.60617,-0.57897 -0.92137,-1.39316 -0.92137,-2.42446 l 0,0 0,0 c 0,-1.06748 0.3152,-1.91785 0.92137,-2.51492 l 0,0 0,0 c 0.63043,-0.59707 1.43058,-0.88656 2.40046,-0.88656 l 0,0 0,0 c 0.94563,0 1.69728,0.28949 2.27921,0.86848 l 0,0 0,0 c 0.60618,0.59707 0.89713,1.41125 0.89713,2.46064 l 0,0 0,0 c 0,0.0543 0,0.16285 0,0.2895 l 0,0 -5.26159,0 0,0 0,0 c 0.0485,0.7056 0.26672,1.2484 0.67892,1.62835 l 0,0 0,0 c 0.38795,0.36187 0.89715,0.56087 1.47908,0.56087 l 0,0 0,0 c 0.43643,0 0.8244,-0.10857 1.11535,-0.32566 l 0,0 0,0 c 0.31521,-0.19902 0.55768,-0.5428 0.72741,-0.99513 z m -3.92801,-1.75501 0,0 3.95226,0 0,0 0,0 c -0.0485,-0.5247 -0.19398,-0.94083 -0.4607,-1.21223 l 0,0 0,0 c -0.38795,-0.41612 -0.84865,-0.63326 -1.45481,-0.63326 l 0,0 0,0 c -0.55768,0 -1.01838,0.18093 -1.40633,0.50664 l 0,0 0,0 c -0.38795,0.34375 -0.58192,0.77799 -0.63042,1.33885 z" 20.1773 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1774 + id="551" 20.1775 + inkscape:connector-curvature="0" /> 20.1776 + <path 20.1777 + d="m 149.92891,592.8259 0,0 3.73404,-8.84745 1.40631,0 4.00076,8.84745 -1.45483,0 -1.1396,-2.65967 -4.09774,0 -1.06688,2.65967 -1.38206,0 z m 2.81264,-3.61859 0,0 3.32184,0 -1.01838,-2.46065 0,0 0,0 c -0.31521,-0.74181 -0.55768,-1.35699 -0.70315,-1.8274 l 0,0 0,0 c -0.12124,0.5609 -0.29098,1.12177 -0.53344,1.68266 l -1.06687,2.60539 z" 20.1778 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1779 + id="552" 20.1780 + inkscape:connector-curvature="0" /> 20.1781 + <path 20.1782 + d="m 161.08252,592.8259 0,0 -1.11537,0 0,-8.84745 1.18811,0 0,3.16625 0,0 0,0 c 0.50917,-0.57897 1.16385,-0.86845 1.964,-0.86845 l 0,0 0,0 c 0.43645,0 0.84865,0.0905 1.2366,0.2352 l 0,0 0,0 c 0.36371,0.16284 0.67891,0.39806 0.94563,0.66944 l 0,0 0,0 c 0.24246,0.28948 0.43645,0.65134 0.58193,1.04939 l 0,0 0,0 c 0.14548,0.41614 0.21822,0.85037 0.21822,1.30269 l 0,0 0,0 c 0,1.10368 -0.29097,1.95405 -0.89714,2.5692 l 0,0 0,0 c -0.58193,0.579 -1.30934,0.86846 -2.15799,0.86846 l 0,0 0,0 c -0.82438,0 -1.47906,-0.28946 -1.96399,-0.92275 l 0,0.77802 z m -0.0242,-3.23864 0,0 0,0 c 0,0.77799 0.12123,1.32079 0.36371,1.66455 l 0,0 0,0 c 0.3637,0.56088 0.87288,0.85036 1.52755,0.85036 l 0,0 0,0 c 0.53345,0 0.99413,-0.21711 1.38208,-0.61515 l 0,0 0,0 c 0.33946,-0.41615 0.53343,-1.03129 0.53343,-1.86358 l 0,0 0,0 c 0,-0.83228 -0.16972,-1.44743 -0.50918,-1.84548 l 0,0 0,0 c -0.38795,-0.39805 -0.8244,-0.59707 -1.35783,-0.59707 l 0,0 0,0 c -0.50919,0 -0.96988,0.19902 -1.35783,0.61517 l 0,0 0,0 c -0.38795,0.41612 -0.58193,1.01318 -0.58193,1.7912 z" 20.1783 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1784 + id="553" 20.1785 + inkscape:connector-curvature="0" /> 20.1786 + <path 20.1787 + d="m 167.09577,590.92614 0,0 1.18809,-0.16284 0,0 0,0 c 0.0727,0.43422 0.26672,0.7599 0.55769,0.9951 l 0,0 0,0 c 0.29096,0.23522 0.72741,0.34377 1.26084,0.34377 l 0,0 0,0 c 0.53343,0 0.94563,-0.10858 1.21235,-0.30758 l 0,0 0,0 c 0.26672,-0.19902 0.4122,-0.43421 0.4122,-0.72372 l 0,0 0,0 c 0,-0.2352 -0.12123,-0.43422 -0.36372,-0.57897 l 0,0 0,0 c -0.16971,-0.0905 -0.58191,-0.21712 -1.21233,-0.36187 l 0,0 0,0 c -0.8729,-0.19901 -1.47908,-0.37995 -1.81853,-0.52468 l 0,0 0,0 c -0.33946,-0.14475 -0.58193,-0.34377 -0.77589,-0.61517 l 0,0 0,0 c -0.16974,-0.25331 -0.26674,-0.54278 -0.26674,-0.86845 l 0,0 0,0 c 0,-0.27141 0.0728,-0.5428 0.21824,-0.7961 l 0,0 0,0 c 0.14548,-0.23521 0.33945,-0.43424 0.60618,-0.59706 l 0,0 0,0 c 0.16971,-0.1267 0.43643,-0.23521 0.75165,-0.32569 l 0,0 0,0 c 0.3152,-0.0723 0.65466,-0.12656 1.01836,-0.12656 l 0,0 0,0 c 0.55768,0 1.04263,0.0723 1.45483,0.21711 l 0,0 0,0 c 0.4122,0.14473 0.7274,0.34375 0.94563,0.59706 l 0,0 0,0 c 0.19398,0.2352 0.33945,0.57898 0.4122,0.99512 l 0,0 -1.1881,0.14474 0,0 0,0 c -0.0485,-0.32569 -0.21823,-0.59707 -0.4607,-0.778 l 0,0 0,0 c -0.26671,-0.18093 -0.60618,-0.27139 -1.06686,-0.27139 l 0,0 0,0 c -0.55768,0 -0.94563,0.0723 -1.16386,0.23522 l 0,0 0,0 c -0.24247,0.16282 -0.3637,0.36184 -0.3637,0.57897 l 0,0 0,0 c 0,0.14473 0.0485,0.27139 0.14548,0.39804 l 0,0 0,0 c 0.12123,0.10858 0.26672,0.19902 0.4607,0.28948 l 0,0 0,0 c 0.097,0.0362 0.46068,0.12669 1.04261,0.2714 l 0,0 0,0 c 0.84865,0.19902 1.43057,0.37996 1.77003,0.5066 l 0,0 0,0 c 0.33945,0.1267 0.60618,0.32568 0.80015,0.56089 l 0,0 0,0 c 0.19398,0.25328 0.29097,0.56087 0.29097,0.94082 l 0,0 0,0 c 0,0.36185 -0.12124,0.70562 -0.36372,1.03131 l 0,0 0,0 c -0.21822,0.30757 -0.55768,0.56089 -1.01836,0.72371 l 0,0 0,0 c -0.43645,0.18093 -0.94564,0.2533 -1.47907,0.2533 l 0,0 0,0 c -0.92139,0 -1.60031,-0.16284 -2.08524,-0.48851 l 0,0 0,0 c -0.48493,-0.36185 -0.7759,-0.86845 -0.92138,-1.55598 z" 20.1788 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1789 + id="554" 20.1790 + inkscape:connector-curvature="0" /> 20.1791 + <path 20.1792 + d="m 176.98853,591.86695 0,0 0.19398,0.95895 0,0 0,0 c -0.33947,0.0542 -0.63042,0.0905 -0.89715,0.0905 l 0,0 0,0 c -0.43643,0 -0.7759,-0.0542 -1.01836,-0.18093 l 0,0 0,0 c -0.24247,-0.10858 -0.4122,-0.2714 -0.50919,-0.4885 l 0,0 0,0 c -0.097,-0.19905 -0.14548,-0.63326 -0.14548,-1.28462 l 0,0 0,-3.69096 -0.89713,0 0,-0.85037 0.89713,0 0,-1.59217 1.1881,-0.65134 0,2.24351 1.1881,0 0,0.85037 -1.1881,0 0,3.76332 0,0 0,0 c 0,0.3076 0.0242,0.50663 0.0727,0.59708 l 0,0 0,0 c 0.0485,0.0905 0.12123,0.16284 0.21821,0.19903 l 0,0 0,0 c 0.097,0.0542 0.21822,0.0905 0.4122,0.0905 l 0,0 0,0 c 0.097,0 0.26672,-0.0181 0.48494,-0.0544 z" 20.1793 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1794 + id="555" 20.1795 + inkscape:connector-curvature="0" /> 20.1796 + <path 20.1797 + d="m 178.15239,592.8259 0,0 0,-6.40492 1.09111,0 0,0.97703 0,0 0,0 c 0.26672,-0.45233 0.53344,-0.75992 0.7759,-0.90465 l 0,0 0,0 c 0.21822,-0.14474 0.48495,-0.21711 0.75167,-0.21711 l 0,0 0,0 c 0.4122,0 0.82439,0.12656 1.26084,0.36184 l 0,0 -0.43645,0.99512 0,0 0,0 c -0.29096,-0.14473 -0.58193,-0.2352 -0.87289,-0.2352 l 0,0 0,0 c -0.26672,0 -0.50919,0.0723 -0.70317,0.21711 l 0,0 0,0 c -0.21821,0.14474 -0.3637,0.34376 -0.4607,0.59706 l 0,0 0,0 c -0.12121,0.39805 -0.19396,0.8142 -0.19396,1.26651 l 0,0 0,3.34721 -1.21235,0 z" 20.1798 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1799 + id="556" 20.1800 + inkscape:connector-curvature="0" /> 20.1801 + <path 20.1802 + d="m 187.36623,592.06599 0,0 0,0 c -0.43643,0.32567 -0.87288,0.57897 -1.28508,0.70562 l 0,0 0,0 c -0.4122,0.12669 -0.84864,0.19902 -1.33358,0.19902 l 0,0 0,0 c -0.77591,0 -1.38208,-0.16284 -1.79428,-0.48851 l 0,0 0,0 c -0.41219,-0.34375 -0.60618,-0.79608 -0.60618,-1.32079 l 0,0 0,0 c 0,-0.32566 0.0727,-0.61515 0.21824,-0.86845 l 0,0 0,0 c 0.14548,-0.25329 0.36369,-0.47043 0.60616,-0.63326 l 0,0 0,0 c 0.26672,-0.14473 0.55768,-0.27138 0.8729,-0.34375 l 0,0 0,0 c 0.24246,-0.0544 0.60616,-0.10858 1.06686,-0.16285 l 0,0 0,0 c 0.96988,-0.10858 1.6973,-0.2352 2.15798,-0.37995 l 0,0 0,0 c 0,-0.14476 0,-0.25331 0,-0.28949 l 0,0 0,0 c 0,-0.43424 -0.097,-0.75991 -0.33945,-0.94084 l 0,0 0,0 c -0.29096,-0.23521 -0.75166,-0.36185 -1.35783,-0.36185 l 0,0 0,0 c -0.58193,0 -0.99413,0.0905 -1.26085,0.27139 l 0,0 0,0 c -0.26671,0.18093 -0.48494,0.48853 -0.60618,0.95893 l 0,0 -1.16384,-0.16283 0,0 0,0 c 0.097,-0.45232 0.26671,-0.81419 0.50918,-1.10368 l 0,0 0,0 c 0.24246,-0.27139 0.60616,-0.4885 1.06686,-0.63325 l 0,0 0,0 c 0.4607,-0.16283 1.01837,-0.2352 1.62455,-0.2352 l 0,0 0,0 c 0.60618,0 1.09111,0.0723 1.47906,0.19902 l 0,0 0,0 c 0.36372,0.1267 0.65467,0.28948 0.8244,0.4885 l 0,0 0,0 c 0.19398,0.19903 0.31521,0.43424 0.38796,0.74182 l 0,0 0,0 c 0.0242,0.18093 0.0485,0.50659 0.0485,0.99511 l 0,0 0,1.46553 0,0 0,0 c 0,0.9951 0.0243,1.64646 0.0485,1.91785 l 0,0 0,0 c 0.0727,0.27138 0.16971,0.52469 0.31521,0.74182 l 0,0 -1.23659,0 0,0 0,0 c -0.12124,-0.19902 -0.19399,-0.47044 -0.24249,-0.75991 z m -0.097,-2.44255 0,0 0,0 c -0.43645,0.16284 -1.09111,0.30758 -1.96401,0.41615 l 0,0 0,0 c -0.50918,0.0542 -0.84865,0.12669 -1.06687,0.21709 l 0,0 0,0 c -0.19396,0.0723 -0.36369,0.19905 -0.46069,0.34378 l 0,0 0,0 c -0.12124,0.16284 -0.16972,0.34377 -0.16972,0.5247 l 0,0 0,0 c 0,0.28949 0.12123,0.52469 0.3637,0.72371 l 0,0 0,0 c 0.24248,0.19901 0.60618,0.2895 1.06686,0.2895 l 0,0 0,0 c 0.4607,0 0.8729,-0.0905 1.23662,-0.27142 l 0,0 0,0 c 0.3637,-0.18091 0.63041,-0.43421 0.80013,-0.75988 l 0,0 0,0 c 0.12123,-0.23522 0.19398,-0.59708 0.19398,-1.08558 l 0,-0.39805 z" 20.1803 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1804 + id="557" 20.1805 + inkscape:connector-curvature="0" /> 20.1806 + <path 20.1807 + d="m 194.95555,590.4919 0,0 1.1881,0.14475 0,0 0,0 c -0.12124,0.7418 -0.4607,1.32079 -0.99412,1.73691 l 0,0 0,0 c -0.53345,0.39805 -1.16386,0.59707 -1.93976,0.59707 l 0,0 0,0 c -0.96988,0 -1.77005,-0.28946 -2.35196,-0.83226 l 0,0 0,0 c -0.58193,-0.57899 -0.89715,-1.41128 -0.89715,-2.47875 l 0,0 0,0 c 0,-0.68753 0.14548,-1.3027 0.38797,-1.82739 l 0,0 0,0 c 0.2667,-0.5066 0.65466,-0.90463 1.16384,-1.15794 l 0,0 0,0 c 0.53344,-0.27141 1.09112,-0.39804 1.6973,-0.39804 l 0,0 0,0 c 0.7759,0 1.38208,0.18092 1.86701,0.5247 l 0,0 0,0 c 0.50918,0.36185 0.8244,0.86846 0.94563,1.51979 l 0,0 -1.16386,0.16284 0,0 0,0 c -0.12123,-0.43424 -0.3152,-0.75991 -0.55768,-0.97701 l 0,0 0,0 c -0.29095,-0.21711 -0.63042,-0.32568 -1.04262,-0.32568 l 0,0 0,0 c -0.60616,0 -1.09111,0.19902 -1.47906,0.57897 l 0,0 0,0 c -0.38795,0.39804 -0.55768,1.01321 -0.55768,1.86358 l 0,0 0,0 c 0,0.86846 0.16973,1.50172 0.53343,1.88167 l 0,0 0,0 c 0.3637,0.39804 0.84865,0.59706 1.43058,0.59706 l 0,0 0,0 c 0.48493,0 0.87288,-0.1267 1.1881,-0.39804 l 0,0 0,0 c 0.29096,-0.25331 0.50918,-0.66946 0.58193,-1.21223 z" 20.1808 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1809 + id="558" 20.1810 + inkscape:connector-curvature="0" /> 20.1811 + <path 20.1812 + d="m 199.80494,591.86695 0,0 0.16973,0.95895 0,0 0,0 c -0.33947,0.0542 -0.63042,0.0905 -0.89715,0.0905 l 0,0 0,0 c -0.43643,0 -0.7759,-0.0542 -1.01836,-0.18093 l 0,0 0,0 c -0.24247,-0.10858 -0.4122,-0.2714 -0.50918,-0.4885 l 0,0 0,0 c -0.097,-0.19905 -0.14549,-0.63326 -0.14549,-1.28462 l 0,0 0,-3.69096 -0.89713,0 0,-0.85037 0.89713,0 0,-1.59217 1.1881,-0.65134 0,2.24351 1.21235,0 0,0.85037 -1.21235,0 0,3.76332 0,0 0,0 c 0,0.3076 0.0242,0.50663 0.0727,0.59708 l 0,0 0,0 c 0.0485,0.0905 0.097,0.16284 0.19397,0.19903 l 0,0 0,0 c 0.097,0.0542 0.24246,0.0905 0.41219,0.0905 l 0,0 0,0 c 0.14549,0 0.31522,-0.0181 0.53344,-0.0544 z" 20.1813 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1814 + id="559" 20.1815 + inkscape:connector-curvature="0" /> 20.1816 + <path 20.1817 + d="m 200.9688,585.22685 0,-1.2484 1.21235,0 0,1.2484 -1.21235,0 z m 0,7.59905 0,-6.40492 1.21235,0 0,6.40492 -1.21235,0 z" 20.1818 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1819 + id="560" 20.1820 + inkscape:connector-curvature="0" /> 20.1821 + <path 20.1822 + d="m 203.56323,589.64152 0,0 0,0 c 0,-1.19412 0.3637,-2.08068 1.09109,-2.64155 l 0,0 0,0 c 0.63044,-0.48852 1.35785,-0.72372 2.23073,-0.72372 l 0,0 0,0 c 0.94563,0 1.74578,0.28948 2.35196,0.86845 l 0,0 0,0 c 0.63042,0.57897 0.94563,1.37506 0.94563,2.40636 l 0,0 0,0 c 0,0.81419 -0.14548,1.46554 -0.41219,1.95405 l 0,0 0,0 c -0.26672,0.4704 -0.67892,0.83228 -1.21235,1.10366 l 0,0 0,0 c -0.50918,0.23522 -1.06687,0.36186 -1.67305,0.36186 l 0,0 0,0 c -0.99413,0 -1.79428,-0.28946 -2.40044,-0.83226 l 0,0 0,0 c -0.60618,-0.57899 -0.92138,-1.41128 -0.92138,-2.49685 z m 1.23659,0 0,0 0,0 c 0,0.81421 0.19397,1.42935 0.60617,1.8455 l 0,0 0,0 c 0.38795,0.41613 0.89715,0.61515 1.47906,0.61515 l 0,0 0,0 c 0.58193,0 1.06687,-0.21711 1.45483,-0.61515 l 0,0 0,0 c 0.41218,-0.41615 0.60617,-1.04941 0.60617,-1.88167 l 0,0 0,0 c 0,-0.79611 -0.19399,-1.39317 -0.60617,-1.80929 l 0,0 0,0 c -0.38796,-0.41615 -0.8729,-0.61517 -1.45483,-0.61517 l 0,0 0,0 c -0.58191,0 -1.09111,0.19902 -1.47906,0.61517 l 0,0 0,0 c -0.4122,0.39804 -0.60617,1.01318 -0.60617,1.84546 z" 20.1823 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1824 + id="561" 20.1825 + inkscape:connector-curvature="0" /> 20.1826 + <path 20.1827 + d="m 211.58897,592.8259 0,0 0,-6.40492 1.06687,0 0,0.92277 0,0 0,0 c 0.53343,-0.70566 1.2851,-1.0675 2.27921,-1.0675 l 0,0 0,0 c 0.4122,0 0.8244,0.0723 1.16386,0.21711 l 0,0 0,0 c 0.3637,0.1267 0.63042,0.30759 0.82438,0.54277 l 0,0 0,0 c 0.16974,0.21713 0.29099,0.48853 0.36372,0.7961 l 0,0 0,0 c 0.0485,0.21711 0.0727,0.56089 0.0727,1.06749 l 0,0 0,3.92618 -1.21236,0 0,-3.89001 0,0 0,0 c 0,-0.43421 -0.0485,-0.77799 -0.14547,-0.99508 l 0,0 0,0 c -0.097,-0.21714 -0.24248,-0.39807 -0.48495,-0.5247 l 0,0 0,0 c -0.24246,-0.12669 -0.53343,-0.19902 -0.84865,-0.19902 l 0,0 0,0 c -0.50918,0 -0.94563,0.14473 -1.33358,0.45232 l 0,0 0,0 c -0.3637,0.28947 -0.55768,0.85035 -0.55768,1.66455 l 0,0 0,3.49194 -1.1881,0 z" 20.1828 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1829 + id="562" 20.1830 + inkscape:connector-curvature="0" /> 20.1831 + </g> 20.1832 + <path 20.1833 + inkscape:connector-curvature="0" 20.1834 + id="563" 20.1835 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1836 + d="m 310.27417,577.12194 23.42259,12.32129 -0.33947,0.36187 -0.33945,0.36185 -23.42259,-12.32131 0.33947,-0.36184 0.33945,-0.36186 z" /> 20.1837 + <path 20.1838 + inkscape:connector-curvature="0" 20.1839 + id="564" 20.1840 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1841 + d="m 330.08395,585.57135 0,0 4.53419,4.867 -7.6863,-1.5198 0,0 0,0 c 1.91551,-0.48852 3.17636,-1.84548 3.15211,-3.3472 z" /> 20.1842 + <path 20.1843 + inkscape:connector-curvature="0" 20.1844 + id="565" 20.1845 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1846 + d="m 280.7171,577.82756 -21.77378,12.3213 -0.33946,-0.34376 -0.33945,-0.34378 21.77378,-12.3213 0.33947,0.34378 0.33944,0.34376 z" /> 20.1847 + <path 20.1848 + inkscape:connector-curvature="0" 20.1849 + id="566" 20.1850 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1851 + d="m 265.00506,588.7557 0,0 -7.5893,1.73694 4.26747,-4.99366 0,0 0,0 c 0.0242,1.48362 1.38208,2.80439 3.32183,3.25672 z" /> 20.1852 + <path 20.1853 + inkscape:connector-curvature="0" 20.1854 + id="567" 20.1855 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1856 + d="m 292.79211,556.47788 0.3152,17.1702 -0.58193,0 -0.58192,0 -0.31522,-17.1702 0.58194,0 0.58193,0 z" /> 20.1857 + <path 20.1858 + inkscape:connector-curvature="0" 20.1859 + id="568" 20.1860 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1861 + d="m 295.2168,569.14295 0,0 -2.64292,5.6269 -2.8369,-5.57263 0,0 0,0 c 1.62455,0.86846 3.83103,0.85038 5.47982,-0.0542 z" /> 20.1862 + <path 20.1863 + inkscape:connector-curvature="0" 20.1864 + id="570" 20.1865 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1866 + d="m 438.66192,556.22457 16.003,17.17023 -0.48494,0.25328 -0.48493,0.2533 -16.00301,-17.1702 0.48494,-0.2533 0.48494,-0.25331 z" /> 20.1867 + <path 20.1868 + inkscape:connector-curvature="0" 20.1869 + id="571" 20.1870 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1871 + d="m 453.01613,568.79917 0,0 2.03675,5.75357 -6.52244,-3.40148 0,0 0,0 c 2.0125,0.0542 3.80678,-0.92273 4.48569,-2.35209 z" /> 20.1872 + <path 20.1873 + inkscape:connector-curvature="0" 20.1874 + id="572" 20.1875 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1876 + d="m 541.85706,577.12194 23.42258,12.32129 -0.33946,0.36187 -0.31521,0.36185 -23.44683,-12.32131 0.33946,-0.36184 0.33946,-0.36186 z" /> 20.1877 + <path 20.1878 + inkscape:connector-curvature="0" 20.1879 + id="573" 20.1880 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1881 + d="m 561.66684,585.57135 0,0 4.50994,4.867 -7.66205,-1.5198 0,0 0,0 c 1.89127,-0.48852 3.17635,-1.84548 3.15211,-3.3472 z" /> 20.1882 + <path 20.1883 + inkscape:connector-curvature="0" 20.1884 + id="574" 20.1885 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1886 + d="m 452.33722,577.82756 -21.74954,12.3213 -0.33946,-0.34376 -0.33946,-0.34378 21.74954,-12.3213 0.33946,0.34378 0.33946,0.34376 z" /> 20.1887 + <path 20.1888 + inkscape:connector-curvature="0" 20.1889 + id="575" 20.1890 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1891 + d="m 436.64942,588.7557 0,0 -7.5893,1.73694 4.29171,-4.99366 0,0 0,0 c 0.0242,1.48362 1.35784,2.80439 3.29759,3.25672 z" /> 20.1892 + <path 20.1893 + inkscape:connector-curvature="0" 20.1894 + id="576" 20.1895 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1896 + d="m 497.4366,556.47788 0.31521,17.1702 -0.58193,0 -0.58192,0 -0.31522,-17.1702 0.58193,0 0.58193,0 z" /> 20.1897 + <path 20.1898 + inkscape:connector-curvature="0" 20.1899 + id="577" 20.1900 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1901 + d="m 499.83704,569.14295 0,0 -2.61867,5.6269 -2.86114,-5.57263 0,0 0,0 c 1.64879,0.86846 3.85527,0.85038 5.47981,-0.0542 z" /> 20.1902 + <path 20.1903 + inkscape:connector-curvature="0" 20.1904 + id="578" 20.1905 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1906 + d="m 448.02125,575.87353 98.17602,0.34377 0,0.43422 0,0.43424 -98.17602,-0.34378 0,-0.43423 0,-0.43422 z" /> 20.1907 + <path 20.1908 + inkscape:connector-curvature="0" 20.1909 + id="579" 20.1910 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1911 + d="m 497.48509,577.4838 0.31521,11.43475 -0.58193,0 -0.58193,0 -0.31521,-11.43475 0.58193,0 0.58193,0 z" /> 20.1912 + <path 20.1913 + inkscape:connector-curvature="0" 20.1914 + id="580" 20.1915 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1916 + d="m 499.83704,584.44959 0,0 -2.57017,5.60881 -2.90964,-5.51835 0,0 0,0 c 1.64879,0.85037 3.87952,0.81419 5.47981,-0.0905 z" /> 20.1917 + <g 20.1918 + id="g4983" 20.1919 + transform="translate(0,6.7406311)"> 20.1920 + <path 20.1921 + d="m 150.60782,474.96914 0,-8.84746 1.30933,0 0,7.81616 4.80091,0 0,1.0313 -6.11024,0 z" 20.1922 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1923 + id="581" 20.1924 + inkscape:connector-curvature="0" /> 20.1925 + <path 20.1926 + d="m 162.73131,474.20923 0,0 0,0 c -0.43645,0.30758 -0.8729,0.56089 -1.2851,0.70564 l 0,0 0,0 c -0.41219,0.12669 -0.84863,0.19902 -1.33358,0.19902 l 0,0 0,0 c -0.77589,0 -1.38208,-0.16284 -1.77002,-0.50661 l 0,0 0,0 c -0.4122,-0.34376 -0.63042,-0.778 -0.63042,-1.3027 l 0,0 0,0 c 0,-0.32567 0.0727,-0.61515 0.24247,-0.86846 l 0,0 0,0 c 0.14548,-0.25329 0.3637,-0.47042 0.63043,-0.63325 l 0,0 0,0 c 0.21821,-0.14474 0.50918,-0.27139 0.82438,-0.34377 l 0,0 0,0 c 0.24247,-0.0542 0.60618,-0.10858 1.09111,-0.16284 l 0,0 0,0 c 0.96988,-0.10857 1.67305,-0.2352 2.13375,-0.37995 l 0,0 0,0 c 0,-0.14474 0,-0.25329 0,-0.28947 l 0,0 0,0 c 0,-0.43424 -0.097,-0.75992 -0.33947,-0.94085 l 0,0 0,0 c -0.29095,-0.2352 -0.75165,-0.36185 -1.35783,-0.36185 l 0,0 0,0 c -0.58193,0 -0.99411,0.0904 -1.26084,0.2714 l 0,0 0,0 c -0.26672,0.18093 -0.46069,0.48851 -0.60617,0.95892 l 0,0 -1.13961,-0.14475 0,0 0,0 c 0.097,-0.47041 0.26671,-0.83226 0.50918,-1.12176 l 0,0 0,0 c 0.24248,-0.2714 0.58193,-0.48851 1.04263,-0.63325 l 0,0 0,0 c 0.48493,-0.16284 1.01836,-0.23521 1.62454,-0.23521 l 0,0 0,0 c 0.60617,0 1.09112,0.0723 1.47907,0.19902 l 0,0 0,0 c 0.38795,0.1267 0.65466,0.28949 0.84865,0.48851 l 0,0 0,0 c 0.16971,0.19903 0.29095,0.43423 0.3637,0.74181 l 0,0 0,0 c 0.0485,0.18093 0.0485,0.5247 0.0485,0.99512 l 0,0 0,1.46552 0,0 0,0 c 0,0.99511 0.0485,1.64646 0.097,1.91785 l 0,0 0,0 c 0.0485,0.25331 0.14548,0.5066 0.29096,0.74182 l 0,0 -1.26084,0 0,0 0,0 c -0.12124,-0.21711 -0.19397,-0.48851 -0.24247,-0.75991 z m -0.097,-2.44255 0,0 0,0 c -0.43645,0.16284 -1.09112,0.30759 -1.96401,0.41615 l 0,0 0,0 c -0.48495,0.0542 -0.84865,0.12669 -1.04262,0.21711 l 0,0 0,0 c -0.21823,0.0723 -0.3637,0.19902 -0.48495,0.34377 l 0,0 0,0 c -0.12123,0.16283 -0.16973,0.34376 -0.16973,0.52469 l 0,0 0,0 c 0,0.28949 0.12125,0.5247 0.36372,0.72372 l 0,0 0,0 c 0.24246,0.19902 0.60618,0.2714 1.06686,0.2714 l 0,0 0,0 c 0.46068,0 0.8729,-0.0723 1.2366,-0.25331 l 0,0 0,0 c 0.36371,-0.18093 0.63041,-0.43423 0.80015,-0.7599 l 0,0 0,0 c 0.14548,-0.23522 0.19398,-0.59707 0.19398,-1.08557 l 0,-0.39806 z" 20.1927 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1928 + id="582" 20.1929 + inkscape:connector-curvature="0" /> 20.1930 + <path 20.1931 + d="m 165.71369,474.96914 0,0 0,-6.4049 1.09111,0 0,0.92273 0,0 0,0 c 0.50918,-0.70562 1.26085,-1.06748 2.23073,-1.06748 l 0,0 0,0 c 0.43645,0 0.8244,0.0723 1.1881,0.21711 l 0,0 0,0 c 0.3637,0.1267 0.60618,0.30759 0.77591,0.54279 l 0,0 0,0 c 0.16972,0.21711 0.3152,0.48851 0.36368,0.7961 l 0,0 0,0 c 0.0485,0.21711 0.0727,0.56087 0.0727,1.06748 l 0,0 0,3.92617 -1.16384,0 0,-3.88999 0,0 0,0 c 0,-0.43422 -0.0485,-0.77799 -0.14549,-0.9951 l 0,0 0,0 c -0.097,-0.21713 -0.26671,-0.39806 -0.50918,-0.52471 l 0,0 0,0 c -0.24248,-0.12669 -0.5092,-0.19902 -0.8244,-0.19902 l 0,0 0,0 c -0.5092,0 -0.94564,0.14475 -1.30934,0.45233 l 0,0 0,0 c -0.38795,0.28949 -0.55769,0.85037 -0.55769,1.66455 l 0,0 0,3.49194 -1.21234,0 z" 20.1932 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1933 + id="583" 20.1934 + inkscape:connector-curvature="0" /> 20.1935 + <path 20.1936 + d="m 173.08477,475.51193 0,0 1.16386,0.14474 0,0 0,0 c 0.0485,0.34377 0.19397,0.57897 0.41219,0.72372 l 0,0 0,0 c 0.29096,0.19902 0.70316,0.30758 1.21236,0.30758 l 0,0 0,0 c 0.55768,0 0.96986,-0.10858 1.28508,-0.30758 l 0,0 0,0 c 0.29096,-0.19902 0.50918,-0.48851 0.60618,-0.85037 l 0,0 0,0 c 0.0727,-0.21711 0.097,-0.68753 0.097,-1.37507 l 0,0 0,0 c -0.53343,0.54279 -1.18809,0.81419 -1.93976,0.81419 l 0,0 0,0 c -0.99411,0 -1.74578,-0.30758 -2.27921,-0.92275 l 0,0 0,0 c -0.53343,-0.65133 -0.80015,-1.41125 -0.80015,-2.2978 l 0,0 0,0 c 0,-0.61515 0.12124,-1.17604 0.3637,-1.70074 l 0,0 0,0 c 0.24247,-0.52469 0.60618,-0.92273 1.06687,-1.19413 l 0,0 0,0 c 0.46069,-0.28948 1.01838,-0.43423 1.64879,-0.43423 l 0,0 0,0 c 0.80015,0 1.50331,0.30759 2.03676,0.92274 l 0,0 0,-0.77799 1.11535,0 0,5.55453 0,0 0,0 c 0,0.97702 -0.097,1.70074 -0.33945,2.11687 l 0,0 0,0 c -0.21823,0.41615 -0.58193,0.74181 -1.06688,0.97703 l 0,0 0,0 c -0.48493,0.25329 -1.0911,0.36185 -1.77001,0.36185 l 0,0 0,0 c -0.84865,0 -1.55181,-0.16283 -2.061,-0.5066 l 0,0 0,0 c -0.53344,-0.34377 -0.77591,-0.86846 -0.75166,-1.55599 z m 0.99413,-3.8538 0,0 0,0 c 0,0.85037 0.16973,1.46553 0.55768,1.84547 l 0,0 0,0 c 0.3637,0.39806 0.82438,0.59708 1.38207,0.59708 l 0,0 0,0 c 0.53344,0 0.99413,-0.19902 1.38208,-0.57898 l 0,0 0,0 c 0.36371,-0.39804 0.55769,-0.99511 0.55769,-1.82738 l 0,0 0,0 c 0,-0.77801 -0.19398,-1.37507 -0.58193,-1.77311 l 0,0 0,0 c -0.38796,-0.39805 -0.8244,-0.59707 -1.38208,-0.59707 l 0,0 0,0 c -0.53345,0 -0.96988,0.19902 -1.35783,0.59707 l 0,0 0,0 c -0.36371,0.37995 -0.55768,0.97701 -0.55768,1.73692 z" 20.1937 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1938 + id="584" 20.1939 + inkscape:connector-curvature="0" /> 20.1940 + <path 20.1941 + d="m 185.54772,474.96914 0,0 0,-0.92275 0,0 0,0 c -0.55768,0.70564 -1.30935,1.0675 -2.25498,1.0675 l 0,0 0,0 c -0.4122,0 -0.80014,-0.0723 -1.16384,-0.21713 l 0,0 0,0 c -0.36372,-0.14473 -0.63043,-0.32566 -0.80015,-0.54279 l 0,0 0,0 c -0.16973,-0.19902 -0.29097,-0.47042 -0.36372,-0.79608 l 0,0 0,0 c -0.0485,-0.19903 -0.0727,-0.5428 -0.0727,-1.0132 l 0,0 0,-3.98045 1.1881,0 0,3.5643 0,0 0,0 c 0,0.57898 0.0242,0.95893 0.0728,1.15795 l 0,0 0,0 c 0.097,0.28949 0.24246,0.50661 0.46068,0.66944 l 0,0 0,0 c 0.24248,0.16284 0.55768,0.2533 0.9214,0.2533 l 0,0 0,0 c 0.3637,0 0.70314,-0.0905 1.01836,-0.2533 l 0,0 0,0 c 0.31522,-0.18093 0.53343,-0.39804 0.67892,-0.68753 l 0,0 0,0 c 0.12123,-0.28949 0.19398,-0.70562 0.19398,-1.2665 l 0,0 0,-3.43766 1.21235,0 0,6.4049 -1.09112,0 z" 20.1942 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1943 + id="585" 20.1944 + inkscape:connector-curvature="0" /> 20.1945 + <path 20.1946 + d="m 193.13702,474.20923 0,0 0,0 c -0.43645,0.30758 -0.8729,0.56089 -1.28508,0.70564 l 0,0 0,0 c -0.41222,0.12669 -0.84865,0.19902 -1.3336,0.19902 l 0,0 0,0 c -0.7759,0 -1.38208,-0.16284 -1.79428,-0.50661 l 0,0 0,0 c -0.41218,-0.34376 -0.60616,-0.778 -0.60616,-1.3027 l 0,0 0,0 c 0,-0.32567 0.0727,-0.61515 0.24246,-0.86846 l 0,0 0,0 c 0.14549,-0.25329 0.33945,-0.47042 0.58194,-0.63325 l 0,0 0,0 c 0.26671,-0.14474 0.55768,-0.27139 0.87288,-0.34377 l 0,0 0,0 c 0.24246,-0.0542 0.60618,-0.10858 1.06688,-0.16284 l 0,0 0,0 c 0.96988,-0.10857 1.69728,-0.2352 2.15798,-0.37995 l 0,0 0,0 c 0,-0.14474 0,-0.25329 0,-0.28947 l 0,0 0,0 c 0,-0.43424 -0.097,-0.75992 -0.33947,-0.94085 l 0,0 0,0 c -0.3152,-0.2352 -0.75165,-0.36185 -1.35783,-0.36185 l 0,0 0,0 c -0.58193,0 -0.99411,0.0904 -1.26085,0.2714 l 0,0 0,0 c -0.26671,0.18093 -0.48493,0.48851 -0.60616,0.95892 l 0,0 -1.16385,-0.14475 0,0 0,0 c 0.12123,-0.47041 0.2667,-0.83226 0.50918,-1.12176 l 0,0 0,0 c 0.24247,-0.2714 0.60617,-0.48851 1.06687,-0.63325 l 0,0 0,0 c 0.4607,-0.16284 1.01836,-0.23521 1.62454,-0.23521 l 0,0 0,0 c 0.60617,0 1.09112,0.0723 1.47907,0.19902 l 0,0 0,0 c 0.3637,0.1267 0.65466,0.28949 0.82439,0.48851 l 0,0 0,0 c 0.19399,0.19903 0.31522,0.43423 0.38795,0.74181 l 0,0 0,0 c 0.0242,0.18093 0.0485,0.5247 0.0485,0.99512 l 0,0 0,1.46552 0,0 0,0 c 0,0.99511 0.0243,1.64646 0.0727,1.91785 l 0,0 0,0 c 0.0728,0.25331 0.14548,0.5066 0.29096,0.74182 l 0,0 -1.23659,0 0,0 0,0 c -0.12124,-0.21711 -0.19397,-0.48851 -0.24247,-0.75991 z m -0.097,-2.44255 0,0 0,0 c -0.43645,0.16284 -1.09112,0.30759 -1.96402,0.41615 l 0,0 0,0 c -0.50918,0.0542 -0.84864,0.12669 -1.06686,0.21711 l 0,0 0,0 c -0.19398,0.0723 -0.3637,0.19902 -0.4607,0.34377 l 0,0 0,0 c -0.12123,0.16283 -0.16973,0.34376 -0.16973,0.52469 l 0,0 0,0 c 0,0.28949 0.12125,0.5247 0.36371,0.72372 l 0,0 0,0 c 0.24247,0.19902 0.60619,0.2714 1.06687,0.2714 l 0,0 0,0 c 0.4607,0 0.8729,-0.0723 1.2366,-0.25331 l 0,0 0,0 c 0.36371,-0.18093 0.63041,-0.43423 0.80014,-0.7599 l 0,0 0,0 c 0.12124,-0.23522 0.19399,-0.59707 0.19399,-1.08557 l 0,-0.39806 z" 20.1947 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1948 + id="586" 20.1949 + inkscape:connector-curvature="0" /> 20.1950 + <path 20.1951 + d="m 195.90118,475.51193 0,0 1.16385,0.14474 0,0 0,0 c 0.0485,0.34377 0.19398,0.57897 0.4122,0.72372 l 0,0 0,0 c 0.29096,0.19902 0.70316,0.30758 1.21236,0.30758 l 0,0 0,0 c 0.55766,0 0.99411,-0.10858 1.30933,-0.30758 l 0,0 0,0 c 0.29095,-0.19902 0.48493,-0.48851 0.58193,-0.85037 l 0,0 0,0 c 0.0727,-0.21711 0.097,-0.68753 0.097,-1.37507 l 0,0 0,0 c -0.50918,0.54279 -1.16386,0.81419 -1.96401,0.81419 l 0,0 0,0 c -0.96988,0 -1.72153,-0.30758 -2.25496,-0.92275 l 0,0 0,0 c -0.53343,-0.65133 -0.80015,-1.41125 -0.80015,-2.2978 l 0,0 0,0 c 0,-0.61515 0.12124,-1.17604 0.3637,-1.70074 l 0,0 0,0 c 0.24247,-0.52469 0.60618,-0.92273 1.06687,-1.19413 l 0,0 0,0 c 0.4607,-0.28948 1.01838,-0.43423 1.64879,-0.43423 l 0,0 0,0 c 0.8244,0 1.52757,0.30759 2.03675,0.92274 l 0,0 0,-0.77799 1.11536,0 0,5.55453 0,0 0,0 c 0,0.97702 -0.097,1.70074 -0.33946,2.11687 l 0,0 0,0 c -0.21822,0.41615 -0.58192,0.74181 -1.06687,0.97703 l 0,0 0,0 c -0.46068,0.25329 -1.06686,0.36185 -1.77003,0.36185 l 0,0 0,0 c -0.84865,0 -1.55179,-0.16283 -2.06099,-0.5066 l 0,0 0,0 c -0.53343,-0.34377 -0.7759,-0.86846 -0.75165,-1.55599 z m 0.99411,-3.8538 0,0 0,0 c 0,0.85037 0.16974,1.46553 0.55769,1.84547 l 0,0 0,0 c 0.36371,0.39806 0.82439,0.59708 1.38208,0.59708 l 0,0 0,0 c 0.55768,0 1.01838,-0.19902 1.40633,-0.57898 l 0,0 0,0 c 0.33946,-0.39804 0.53343,-0.99511 0.53343,-1.82738 l 0,0 0,0 c 0,-0.77801 -0.19397,-1.37507 -0.55768,-1.77311 l 0,0 0,0 c -0.38795,-0.39805 -0.84864,-0.59707 -1.40633,-0.59707 l 0,0 0,0 c -0.53344,0 -0.99412,0.19902 -1.35783,0.59707 l 0,0 0,0 c -0.38795,0.37995 -0.55769,0.97701 -0.55769,1.73692 z" 20.1952 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1953 + id="587" 20.1954 + inkscape:connector-curvature="0" /> 20.1955 + <path 20.1956 + d="m 208.53385,472.92464 0,0 1.26085,0.14474 0,0 0,0 c -0.19399,0.65135 -0.55769,1.15794 -1.09112,1.50172 l 0,0 0,0 c -0.53343,0.36186 -1.1881,0.54279 -2.01249,0.54279 l 0,0 0,0 c -1.01838,0 -1.84278,-0.2895 -2.44895,-0.86846 l 0,0 0,0 c -0.60618,-0.5609 -0.9214,-1.35698 -0.9214,-2.40637 l 0,0 0,0 c 0,-1.08558 0.31522,-1.91785 0.9214,-2.51492 l 0,0 0,0 c 0.63042,-0.59706 1.43057,-0.90465 2.3762,-0.90465 l 0,0 0,0 c 0.92139,0 1.69729,0.28948 2.30346,0.88656 l 0,0 0,0 c 0.60618,0.57896 0.89715,1.39315 0.89715,2.46063 l 0,0 0,0 c 0,0.0723 0,0.16284 0,0.28949 l 0,0 -5.26161,0 0,0 0,0 c 0.0485,0.70563 0.26673,1.24841 0.67892,1.62836 l 0,0 0,0 c 0.38796,0.37997 0.89714,0.5609 1.45483,0.5609 l 0,0 0,0 c 0.43643,0 0.82439,-0.10858 1.11536,-0.32568 l 0,0 0,0 c 0.3152,-0.19902 0.55768,-0.54279 0.7274,-0.99511 z m -3.90376,-1.75502 0,0 3.92801,0 0,0 0,0 c -0.0485,-0.54278 -0.19397,-0.95893 -0.4607,-1.23032 l 0,0 0,0 c -0.38795,-0.41614 -0.84865,-0.61516 -1.45481,-0.61516 l 0,0 0,0 c -0.53344,0 -0.99413,0.16283 -1.38208,0.48851 l 0,0 0,0 c -0.38795,0.34376 -0.58194,0.79608 -0.63042,1.35697 z" 20.1957 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1958 + id="588" 20.1959 + inkscape:connector-curvature="0" /> 20.1960 + <path 20.1961 + d="m 153.1295,487.25353 0,-7.81617 -3.20059,0 0,-1.04939 7.75903,0 0,1.04939 -3.24909,0 0,7.81617 -1.30935,0 z" 20.1962 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1963 + id="589" 20.1964 + inkscape:connector-curvature="0" /> 20.1965 + <path 20.1966 + d="m 158.41535,484.03298 0,0 0,0 c 0,-1.19414 0.33945,-2.08069 1.0911,-2.64157 l 0,0 0,0 c 0.60618,-0.48851 1.35783,-0.72373 2.23073,-0.72373 l 0,0 0,0 c 0.96988,0 1.77003,0.28949 2.40046,0.86846 l 0,0 0,0 c 0.58193,0.57899 0.89713,1.39317 0.89713,2.40637 l 0,0 0,0 c 0,0.83228 -0.12123,1.48362 -0.4122,1.95404 l 0,0 0,0 c -0.24246,0.47043 -0.65466,0.83227 -1.16384,1.10368 l 0,0 0,0 c -0.53345,0.2533 -1.09113,0.39804 -1.72155,0.39804 l 0,0 0,0 c -0.99411,0 -1.79426,-0.28949 -2.42469,-0.86847 l 0,0 0,0 c -0.60619,-0.57897 -0.89714,-1.41125 -0.89714,-2.49682 z m 1.21235,0 0,0 0,0 c 0,0.81418 0.21822,1.42934 0.60617,1.84548 l 0,0 0,0 c 0.38796,0.41615 0.89714,0.61517 1.50331,0.61517 l 0,0 0,0 c 0.60617,0 1.09111,-0.19902 1.50331,-0.61517 l 0,0 0,0 c 0.38795,-0.41614 0.58193,-1.0313 0.58193,-1.88166 l 0,0 0,0 c 0,-0.7961 -0.19398,-1.39316 -0.60618,-1.80931 l 0,0 0,0 c -0.38795,-0.41613 -0.89713,-0.61515 -1.47906,-0.61515 l 0,0 0,0 c -0.60617,0 -1.11535,0.19902 -1.50331,0.61515 l 0,0 0,0 c -0.38795,0.39806 -0.60617,1.01321 -0.60617,1.84549 z" 20.1967 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1968 + id="590" 20.1969 + inkscape:connector-curvature="0" /> 20.1970 + <path 20.1971 + d="m 166.00465,484.03298 0,0 0,0 c 0,-1.19414 0.3637,-2.08069 1.11537,-2.64157 l 0,0 0,0 c 0.60616,-0.48851 1.35783,-0.72373 2.20646,-0.72373 l 0,0 0,0 c 0.9699,0 1.74579,0.28949 2.37621,0.86846 l 0,0 0,0 c 0.60618,0.57899 0.92138,1.39317 0.92138,2.40637 l 0,0 0,0 c 0,0.83228 -0.14547,1.48362 -0.4122,1.95404 l 0,0 0,0 c -0.26671,0.47043 -0.67891,0.83227 -1.1881,1.10368 l 0,0 0,0 c -0.50918,0.2533 -1.09111,0.39804 -1.69729,0.39804 l 0,0 0,0 c -0.96987,0 -1.77001,-0.28949 -2.40045,-0.86847 l 0,0 0,0 c -0.60616,-0.57897 -0.92138,-1.41125 -0.92138,-2.49682 z m 1.2366,0 0,0 0,0 c 0,0.81418 0.21822,1.42934 0.60617,1.84548 l 0,0 0,0 c 0.38796,0.41615 0.89714,0.61517 1.47906,0.61517 l 0,0 0,0 c 0.60618,0 1.09113,-0.19902 1.45483,-0.61517 l 0,0 0,0 c 0.4122,-0.41614 0.60616,-1.0313 0.60616,-1.88166 l 0,0 0,0 c 0,-0.7961 -0.19396,-1.39316 -0.60616,-1.80931 l 0,0 0,0 c -0.3637,-0.41613 -0.8729,-0.61515 -1.45483,-0.61515 l 0,0 0,0 c -0.58192,0 -1.0911,0.19902 -1.47906,0.61515 l 0,0 0,0 c -0.38795,0.39806 -0.60617,1.01321 -0.60617,1.84549 z" 20.1972 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1973 + id="591" 20.1974 + inkscape:connector-curvature="0" /> 20.1975 + <path 20.1976 + d="m 174.0304,487.25353 0,-8.86556 1.18811,0 0,8.86556 -1.18811,0 z" 20.1977 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1978 + id="592" 20.1979 + inkscape:connector-curvature="0" /> 20.1980 + <path 20.1981 + d="m 181.71668,484.88335 0,0 1.16386,0.14474 0,0 0,0 c -0.12123,0.74181 -0.43644,1.32078 -0.96988,1.73693 l 0,0 0,0 c -0.53343,0.41613 -1.18809,0.63325 -1.96399,0.63325 l 0,0 0,0 c -0.96988,0 -1.7458,-0.28949 -2.35196,-0.86847 l 0,0 0,0 c -0.58193,-0.57897 -0.8729,-1.39316 -0.8729,-2.47873 l 0,0 0,0 c 0,-0.68753 0.12123,-1.30268 0.36372,-1.80929 l 0,0 0,0 c 0.26671,-0.52469 0.65466,-0.92275 1.16384,-1.17604 l 0,0 0,0 c 0.53343,-0.25331 1.09112,-0.39806 1.6973,-0.39806 l 0,0 0,0 c 0.7759,0 1.40633,0.18093 1.89126,0.5428 l 0,0 0,0 c 0.50918,0.34377 0.80015,0.85037 0.92138,1.50171 l 0,0 -1.13961,0.16284 0,0 0,0 c -0.12123,-0.43423 -0.3152,-0.7599 -0.58193,-0.97701 l 0,0 0,0 c -0.29095,-0.21713 -0.63042,-0.32568 -1.0426,-0.32568 l 0,0 0,0 c -0.60618,0 -1.09113,0.19902 -1.47908,0.57897 l 0,0 0,0 c -0.38795,0.39804 -0.55767,1.0313 -0.55767,1.88167 l 0,0 0,0 c 0,0.85037 0.16972,1.48361 0.53342,1.88165 l 0,0 0,0 c 0.36371,0.37998 0.84865,0.579 1.43058,0.579 l 0,0 0,0 c 0.48493,0 0.8729,-0.1267 1.1881,-0.39805 l 0,0 0,0 c 0.31521,-0.25331 0.53343,-0.65135 0.60616,-1.21223 z" 20.1982 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1983 + id="593" 20.1984 + inkscape:connector-curvature="0" /> 20.1985 + <path 20.1986 + d="m 183.92318,487.25353 0,0 0,-8.86556 1.18809,0 0,3.16628 0,0 0,0 c 0.58193,-0.57898 1.28508,-0.88657 2.13373,-0.88657 l 0,0 0,0 c 0.53343,0 0.99413,0.10858 1.35783,0.28949 l 0,0 0,0 c 0.38797,0.18093 0.65467,0.45233 0.8244,0.77801 l 0,0 0,0 c 0.16973,0.32567 0.26673,0.81417 0.26673,1.42934 l 0,0 0,4.08901 -1.18811,0 0,-4.08901 0,0 0,0 c 0,-0.54279 -0.14549,-0.94083 -0.38795,-1.17605 l 0,0 0,0 c -0.26672,-0.25329 -0.63042,-0.37995 -1.11537,-0.37995 l 0,0 0,0 c -0.36369,0 -0.70316,0.0905 -1.01838,0.2533 l 0,0 0,0 c -0.3152,0.16284 -0.53341,0.39805 -0.65466,0.68753 l 0,0 0,0 c -0.14548,0.2714 -0.21822,0.66944 -0.21822,1.17605 l 0,0 0,3.52813 -1.18809,0 z" 20.1987 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1988 + id="594" 20.1989 + inkscape:connector-curvature="0" /> 20.1990 + <path 20.1991 + d="m 196.14365,486.45743 0,0 0,0 c -0.43645,0.34378 -0.87289,0.57897 -1.2851,0.72372 l 0,0 0,0 c -0.38795,0.14474 -0.8244,0.21712 -1.30933,0.21712 l 0,0 0,0 c -0.77592,0 -1.38208,-0.18093 -1.79428,-0.52469 l 0,0 0,0 c -0.43645,-0.34378 -0.63042,-0.778 -0.63042,-1.32079 l 0,0 0,0 c 0,-0.32568 0.0727,-0.59708 0.24247,-0.86846 l 0,0 0,0 c 0.14548,-0.25331 0.36372,-0.47042 0.60617,-0.61517 l 0,0 0,0 c 0.26673,-0.16284 0.55769,-0.28948 0.87289,-0.36186 l 0,0 0,0 c 0.24249,-0.0542 0.58194,-0.10857 1.06687,-0.16283 l 0,0 0,0 c 0.94563,-0.10858 1.67304,-0.23521 2.13374,-0.37995 l 0,0 0,0 c 0,-0.14475 0,-0.23521 0,-0.28949 l 0,0 0,0 c 0,-0.43423 -0.12123,-0.74181 -0.33946,-0.92274 l 0,0 0,0 c -0.31522,-0.25331 -0.7759,-0.37995 -1.35783,-0.37995 l 0,0 0,0 c -0.55769,0 -0.96988,0.0905 -1.2366,0.27139 l 0,0 0,0 c -0.29097,0.18093 -0.48493,0.5066 -0.60617,0.95893 l 0,0 -1.18811,-0.14475 0,0 0,0 c 0.12123,-0.47042 0.29097,-0.83227 0.53345,-1.10366 l 0,0 0,0 c 0.24245,-0.28949 0.60616,-0.5066 1.06686,-0.65135 l 0,0 0,0 c 0.46069,-0.14475 0.99412,-0.23522 1.6003,-0.23522 l 0,0 0,0 c 0.60618,0 1.09111,0.0723 1.47906,0.19904 l 0,0 0,0 c 0.3637,0.12669 0.65467,0.28948 0.8244,0.48851 l 0,0 0,0 c 0.19397,0.19902 0.31522,0.43422 0.38795,0.74181 l 0,0 0,0 c 0.0242,0.18092 0.0485,0.52469 0.0485,0.99511 l 0,0 0,1.46552 0,0 0,0 c 0,1.01321 0.0243,1.64647 0.0727,1.91785 l 0,0 0,0 c 0.0485,0.2714 0.16974,0.52471 0.31522,0.77801 l 0,0 -1.26085,0 0,0 0,0 c -0.12123,-0.23522 -0.19398,-0.50661 -0.24246,-0.7961 z m -0.097,-2.44254 0,0 0,0 c -0.43645,0.16283 -1.09111,0.30758 -1.93976,0.41613 l 0,0 0,0 c -0.50918,0.0723 -0.84865,0.14474 -1.06686,0.21712 l 0,0 0,0 c -0.19399,0.0905 -0.36372,0.19902 -0.4607,0.36186 l 0,0 0,0 c -0.12124,0.14475 -0.16972,0.32566 -0.16972,0.50659 l 0,0 0,0 c 0,0.28951 0.12123,0.5428 0.36368,0.72373 l 0,0 0,0 c 0.24249,0.19902 0.60619,0.28948 1.06688,0.28948 l 0,0 0,0 c 0.46069,0 0.84865,-0.0905 1.21235,-0.27139 l 0,0 0,0 c 0.3637,-0.18093 0.63042,-0.43423 0.80015,-0.74182 l 0,0 0,0 c 0.12123,-0.25329 0.19398,-0.61515 0.19398,-1.10366 l 0,-0.39804 z" 20.1992 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1993 + id="595" 20.1994 + inkscape:connector-curvature="0" /> 20.1995 + <path 20.1996 + d="m 199.15027,479.6364 0,-1.24843 1.21235,0 0,1.24843 -1.21235,0 z m 0,7.61713 0,-6.4411 1.21235,0 0,6.4411 -1.21235,0 z" 20.1997 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.1998 + id="596" 20.1999 + inkscape:connector-curvature="0" /> 20.2000 + <path 20.2001 + d="m 202.18115,487.25353 0,0 0,-6.4411 1.06686,0 0,0.92275 0,0 0,0 c 0.53343,-0.70563 1.28508,-1.0675 2.27921,-1.0675 l 0,0 0,0 c 0.4122,0 0.8244,0.0723 1.13962,0.21713 l 0,0 0,0 c 0.3637,0.14474 0.63041,0.32567 0.82439,0.54279 l 0,0 0,0 c 0.14549,0.2352 0.26672,0.48851 0.33945,0.81418 l 0,0 0,0 c 0.0485,0.19902 0.0727,0.54279 0.0727,1.04939 l 0,0 0,3.96236 -1.18811,0 0,-3.92618 0,0 0,0 c 0,-0.43423 -0.0485,-0.75989 -0.14548,-0.99511 l 0,0 0,0 c -0.0727,-0.21711 -0.21822,-0.37995 -0.46069,-0.5247 l 0,0 0,0 c -0.24246,-0.12669 -0.53343,-0.19902 -0.84864,-0.19902 l 0,0 0,0 c -0.50919,0 -0.94563,0.16284 -1.33358,0.45233 l 0,0 0,0 c -0.3637,0.28948 -0.55769,0.85037 -0.55769,1.68264 l 0,0 0,3.51004 -1.18809,0 z" 20.2002 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2003 + id="597" 20.2004 + inkscape:connector-curvature="0" /> 20.2005 + </g> 20.2006 + <path 20.2007 + inkscape:connector-curvature="0" 20.2008 + id="598" 20.2009 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2010 + d="m 557.10841,556.73118 -16.003,17.1702 -0.4607,-0.2533 -0.48494,-0.25328 15.97876,-17.17023 0.48494,0.25331 0.48494,0.2533 z" /> 20.2011 + <path 20.2012 + inkscape:connector-curvature="0" 20.2013 + id="599" 20.2014 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2015 + d="m 546.29426,571.16937 0,0 -6.4982,3.40146 1.98826,-5.77166 0,0 0,0 c 0.65467,1.42936 2.47319,2.38828 4.50994,2.3702 z" /> 20.2016 + <g 20.2017 + id="g5002" 20.2018 + transform="translate(0.42735043,9.8529205)"> 20.2019 + <path 20.2020 + d="m 212.70434,532.64946 0,0 c 0,-0.0905 0.0242,-0.16283 0.0727,-0.23519 0.0485,-0.0723 0.12123,-0.1267 0.21822,-0.16285 0.097,-0.0362 0.19398,-0.0542 0.31521,-0.0542 l 0,0 0,0.45231 -0.60616,0 z" 20.2021 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2022 + id="37" 20.2023 + inkscape:connector-curvature="0" /> 20.2024 + <path 20.2025 + d="m 149.92891,532.08859 0,-8.86555 1.28508,0 0,7.79806 4.82515,0 0,1.06749 -6.11023,0 z" 20.2026 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2027 + id="606" 20.2028 + inkscape:connector-curvature="0" /> 20.2029 + <path 20.2030 + d="m 162.0524,531.27441 0,0 0,0 c -0.43645,0.36184 -0.8729,0.61516 -1.2851,0.75989 l 0,0 0,0 c -0.4122,0.1267 -0.84863,0.19902 -1.33358,0.19902 l 0,0 0,0 c -0.7759,0 -1.35783,-0.16283 -1.77003,-0.5066 l 0,0 0,0 c -0.4122,-0.36186 -0.63042,-0.81419 -0.63042,-1.33887 l 0,0 0,0 c 0,-0.30758 0.0727,-0.59706 0.24247,-0.85038 l 0,0 0,0 c 0.14548,-0.25331 0.3637,-0.47041 0.60618,-0.63326 l 0,0 0,0 c 0.2667,-0.14473 0.55767,-0.27138 0.84863,-0.34375 l 0,0 0,0 c 0.24247,-0.0723 0.60619,-0.1267 1.06687,-0.16285 l 0,0 0,0 c 0.96988,-0.10858 1.69729,-0.23519 2.15799,-0.37994 l 0,0 0,0 c 0,-0.14474 0,-0.25329 0,-0.28949 l 0,0 0,0 c 0,-0.43424 -0.097,-0.7599 -0.33946,-0.94083 l 0,0 0,0 c -0.3152,-0.2352 -0.75167,-0.36185 -1.35783,-0.36185 l 0,0 0,0 c -0.58193,0 -0.99412,0.0904 -1.26085,0.27138 l 0,0 0,0 c -0.26672,0.18092 -0.46068,0.4885 -0.58192,0.94084 l 0,0 -1.18811,-0.14476 0,0 0,0 c 0.12123,-0.45231 0.29097,-0.81415 0.53343,-1.10366 l 0,0 0,0 c 0.24249,-0.27139 0.60619,-0.48851 1.04263,-0.63324 l 0,0 0,0 c 0.4607,-0.16283 1.01837,-0.23522 1.62455,-0.23522 l 0,0 0,0 c 0.60617,0 1.09111,0.0723 1.47906,0.19902 l 0,0 0,0 c 0.3637,0.12669 0.65467,0.28949 0.8244,0.48851 l 0,0 0,0 c 0.19397,0.18093 0.3152,0.43424 0.38795,0.74182 l 0,0 0,0 c 0.0242,0.18093 0.0485,0.50661 0.0485,0.9951 l 0,0 0,1.44743 0,0 0,0 c 0,0.99513 0.0242,1.64647 0.0727,1.91786 l 0,0 0,0 c 0.0728,0.27141 0.16974,0.5428 0.31522,0.77801 l 0,0 -1.26085,0 0,0 0,0 c -0.12123,-0.21712 -0.19396,-0.48851 -0.24246,-0.81418 z m -0.097,-2.40637 0,0 0,0 c -0.43645,0.16283 -1.09113,0.28949 -1.96401,0.41612 l 0,0 0,0 c -0.50918,0.0544 -0.84865,0.1267 -1.06686,0.21714 l 0,0 0,0 c -0.19399,0.0723 -0.33945,0.19901 -0.43645,0.34375 l 0,0 0,0 c -0.12123,0.16284 -0.16973,0.32568 -0.16973,0.52471 l 0,0 0,0 c 0,0.27139 0.12123,0.5066 0.33946,0.70563 l 0,0 0,0 c 0.24247,0.19902 0.60618,0.28947 1.06687,0.28947 l 0,0 0,0 c 0.46068,0 0.87289,-0.0905 1.23659,-0.27138 l 0,0 0,0 c 0.3637,-0.18095 0.63042,-0.43424 0.80015,-0.74182 l 0,0 0,0 c 0.12123,-0.23522 0.19398,-0.59706 0.19398,-1.08558 l 0,-0.39804 z" 20.2031 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2032 + id="607" 20.2033 + inkscape:connector-curvature="0" /> 20.2034 + <path 20.2035 + d="m 165.03477,532.08859 0,0 0,-6.42299 1.06687,0 0,0.92272 0,0 0,0 c 0.53343,-0.70561 1.28509,-1.06748 2.27922,-1.06748 l 0,0 0,0 c 0.4122,0 0.80014,0.0723 1.16385,0.21712 l 0,0 0,0 c 0.33945,0.1267 0.60618,0.30759 0.80015,0.54278 l 0,0 0,0 c 0.16973,0.21714 0.26672,0.48851 0.33945,0.79611 l 0,0 0,0 c 0.0485,0.19902 0.0727,0.56087 0.0727,1.06748 l 0,0 0,3.94426 -1.1881,0 0,-3.90808 0,0 0,0 c 0,-0.43424 -0.0485,-0.778 -0.12123,-0.99513 l 0,0 0,0 c -0.097,-0.2171 -0.26673,-0.39803 -0.48495,-0.52468 l 0,0 0,0 c -0.24247,-0.12669 -0.50918,-0.19903 -0.84863,-0.19903 l 0,0 0,0 c -0.5092,0 -0.94565,0.14474 -1.3336,0.45233 l 0,0 0,0 c -0.3637,0.28949 -0.55768,0.85038 -0.55768,1.66455 l 0,0 0,3.51004 -1.1881,0 z" 20.2036 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2037 + id="608" 20.2038 + inkscape:connector-curvature="0" /> 20.2039 + <path 20.2040 + d="m 172.3816,532.63136 0,0 1.1881,0.14475 0,0 0,0 c 0.0485,0.32569 0.16973,0.57897 0.4122,0.72373 l 0,0 0,0 c 0.29097,0.19902 0.70317,0.30758 1.21236,0.30758 l 0,0 0,0 c 0.55769,0 0.99412,-0.10857 1.30933,-0.30758 l 0,0 0,0 c 0.26672,-0.19902 0.48494,-0.48851 0.58194,-0.85038 l 0,0 0,0 c 0.0727,-0.2171 0.097,-0.68752 0.097,-1.41125 l 0,0 0,0 c -0.53343,0.57898 -1.16386,0.85038 -1.964,0.85038 l 0,0 0,0 c -0.96989,0 -1.72154,-0.30758 -2.25497,-0.97702 l 0,0 0,0 c -0.53344,-0.63327 -0.80015,-1.37507 -0.80015,-2.26162 l 0,0 0,0 c 0,-0.61516 0.12123,-1.19413 0.3637,-1.70074 l 0,0 0,0 c 0.24246,-0.52469 0.60618,-0.92275 1.06686,-1.21223 l 0,0 0,0 c 0.4607,-0.27138 1.01838,-0.41614 1.6488,-0.41614 l 0,0 0,0 c 0.82439,0 1.50331,0.30758 2.03674,0.92275 l 0,0 0,-0.77799 1.11537,0 0,5.53643 0,0 0,0 c 0,1.01319 -0.12124,1.73692 -0.33945,2.15305 l 0,0 0,0 c -0.21824,0.41615 -0.58194,0.74182 -1.06688,0.97702 l 0,0 0,0 c -0.46069,0.25331 -1.06687,0.36188 -1.77002,0.36188 l 0,0 0,0 c -0.84864,0 -1.55181,-0.16284 -2.06099,-0.50661 l 0,0 0,0 c -0.53345,-0.34378 -0.77592,-0.86846 -0.77592,-1.55601 z m 1.01837,-3.87188 0,0 0,0 c 0,0.85038 0.16973,1.46552 0.5577,1.82739 l 0,0 0,0 c 0.3637,0.39804 0.82438,0.57897 1.38206,0.57897 l 0,0 0,0 c 0.5577,0 1.01838,-0.18093 1.38208,-0.57897 l 0,0 0,0 c 0.36372,-0.36187 0.55768,-0.95893 0.55768,-1.79121 l 0,0 0,0 c 0,-0.77799 -0.19396,-1.37506 -0.58191,-1.7731 l 0,0 0,0 c -0.36372,-0.39804 -0.8244,-0.59706 -1.38208,-0.59706 l 0,0 0,0 c -0.53345,0 -0.99413,0.19902 -1.35783,0.57897 l 0,0 0,0 c -0.38797,0.39804 -0.5577,0.97702 -0.5577,1.75501 z" 20.2041 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2042 + id="609" 20.2043 + inkscape:connector-curvature="0" /> 20.2044 + <path 20.2045 + d="m 184.86881,532.08859 0,0 0,-0.95894 0,0 0,0 c -0.55769,0.74182 -1.30935,1.10367 -2.25498,1.10367 l 0,0 0,0 c -0.4122,0 -0.80015,-0.0723 -1.16385,-0.21709 l 0,0 0,0 c -0.36371,-0.14476 -0.63043,-0.32569 -0.80015,-0.5609 l 0,0 0,0 c -0.16973,-0.21712 -0.31521,-0.48851 -0.38796,-0.81418 l 0,0 0,0 c -0.0485,-0.21713 -0.0727,-0.52471 -0.0727,-0.99512 l 0,0 0,-3.98043 1.21235,0 0,3.5643 0,0 0,0 c 0,0.56089 0.0242,0.95893 0.0728,1.15795 l 0,0 0,0 c 0.0727,0.2533 0.24247,0.48851 0.48493,0.65134 l 0,0 0,0 c 0.24247,0.16284 0.55769,0.23522 0.89715,0.23522 l 0,0 0,0 c 0.3637,0 0.70315,-0.0723 1.01837,-0.23522 l 0,0 0,0 c 0.31521,-0.18093 0.53343,-0.39804 0.65466,-0.66943 l 0,0 0,0 c 0.14548,-0.28949 0.21823,-0.70562 0.21823,-1.26651 l 0,0 0,-3.43765 1.1881,0 0,6.42299 -1.06686,0 z" 20.2046 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2047 + id="610" 20.2048 + inkscape:connector-curvature="0" /> 20.2049 + <path 20.2050 + d="m 192.4581,531.27441 0,0 0,0 c -0.43644,0.36184 -0.87289,0.61516 -1.28508,0.75989 l 0,0 0,0 c -0.41221,0.1267 -0.87289,0.19902 -1.33359,0.19902 l 0,0 0,0 c -0.7759,0 -1.35783,-0.16283 -1.77003,-0.5066 l 0,0 0,0 c -0.43643,-0.36186 -0.63042,-0.81419 -0.63042,-1.33887 l 0,0 0,0 c 0,-0.30758 0.0727,-0.59706 0.21822,-0.85038 l 0,0 0,0 c 0.16973,-0.25331 0.38795,-0.47041 0.63043,-0.63326 l 0,0 0,0 c 0.24247,-0.14473 0.53343,-0.27138 0.84863,-0.34375 l 0,0 0,0 c 0.24247,-0.0723 0.58193,-0.1267 1.06688,-0.16285 l 0,0 0,0 c 0.96988,-0.10858 1.69728,-0.23519 2.15798,-0.37994 l 0,0 0,0 c 0,-0.14474 0,-0.25329 0,-0.28949 l 0,0 0,0 c 0,-0.43424 -0.12123,-0.7599 -0.33946,-0.94083 l 0,0 0,0 c -0.3152,-0.2352 -0.7759,-0.36185 -1.38208,-0.36185 l 0,0 0,0 c -0.55769,0 -0.96987,0.0904 -1.2366,0.27138 l 0,0 0,0 c -0.29095,0.18092 -0.48493,0.4885 -0.60617,0.94084 l 0,0 -1.16384,-0.14476 0,0 0,0 c 0.12123,-0.45231 0.29095,-0.81415 0.53341,-1.10366 l 0,0 0,0 c 0.24248,-0.27139 0.58193,-0.48851 1.04263,-0.63324 l 0,0 0,0 c 0.4607,-0.16283 0.99413,-0.23522 1.62455,-0.23522 l 0,0 0,0 c 0.60616,0 1.09111,0.0723 1.47906,0.19902 l 0,0 0,0 c 0.3637,0.12669 0.65467,0.28949 0.8244,0.48851 l 0,0 0,0 c 0.19398,0.18093 0.3152,0.43424 0.38795,0.74182 l 0,0 0,0 c 0.0242,0.18093 0.0485,0.50661 0.0485,0.9951 l 0,0 0,1.44743 0,0 0,0 c 0,0.99513 0.0243,1.64647 0.0727,1.91786 l 0,0 0,0 c 0.0485,0.27141 0.16973,0.5428 0.31522,0.77801 l 0,0 -1.26085,0 0,0 0,0 c -0.12123,-0.21712 -0.21822,-0.48851 -0.24247,-0.81418 z m -0.097,-2.40637 0,0 0,0 c -0.43645,0.16283 -1.09111,0.28949 -1.96401,0.41612 l 0,0 0,0 c -0.50918,0.0544 -0.84865,0.1267 -1.06686,0.21714 l 0,0 0,0 c -0.19399,0.0723 -0.3637,0.19901 -0.4607,0.34375 l 0,0 0,0 c -0.12124,0.16284 -0.16974,0.32568 -0.16974,0.52471 l 0,0 0,0 c 0,0.27139 0.12125,0.5066 0.36372,0.70563 l 0,0 0,0 c 0.24247,0.19902 0.58193,0.28947 1.06686,0.28947 l 0,0 0,0 c 0.4607,0 0.8729,-0.0905 1.2366,-0.27138 l 0,0 0,0 c 0.36372,-0.18095 0.63042,-0.43424 0.80015,-0.74182 l 0,0 0,0 c 0.12123,-0.23522 0.19398,-0.59706 0.19398,-1.08558 l 0,-0.39804 z" 20.2051 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2052 + id="611" 20.2053 + inkscape:connector-curvature="0" /> 20.2054 + <path 20.2055 + d="m 195.19801,532.63136 0,0 1.1881,0.14475 0,0 0,0 c 0.0485,0.32569 0.16973,0.57897 0.4122,0.72373 l 0,0 0,0 c 0.29097,0.19902 0.70317,0.30758 1.21236,0.30758 l 0,0 0,0 c 0.55767,0 0.99412,-0.10857 1.28508,-0.30758 l 0,0 0,0 c 0.3152,-0.19902 0.50919,-0.48851 0.63042,-0.85038 l 0,0 0,0 c 0.0485,-0.2171 0.097,-0.68752 0.0727,-1.41125 l 0,0 0,0 c -0.50918,0.57898 -1.16386,0.85038 -1.96401,0.85038 l 0,0 0,0 c -0.96988,0 -1.72153,-0.30758 -2.25496,-0.97702 l 0,0 0,0 c -0.55769,-0.63327 -0.8244,-1.37507 -0.8244,-2.26162 l 0,0 0,0 c 0,-0.61516 0.12123,-1.19413 0.38795,-1.70074 l 0,0 0,0 c 0.24246,-0.52469 0.58193,-0.92275 1.06686,-1.21223 l 0,0 0,0 c 0.46068,-0.27138 1.01838,-0.41614 1.62455,-0.41614 l 0,0 0,0 c 0.84865,0 1.55181,0.30758 2.08524,0.92275 l 0,0 0,-0.77799 1.09112,0 0,5.53643 0,0 0,0 c 0,1.01319 -0.12124,1.73692 -0.33947,2.15305 l 0,0 0,0 c -0.21822,0.41615 -0.55768,0.74182 -1.04261,0.97702 l 0,0 0,0 c -0.48494,0.25331 -1.09112,0.36188 -1.81852,0.36188 l 0,0 0,0 c -0.84864,0 -1.52756,-0.16284 -2.03676,-0.50661 l 0,0 0,0 c -0.53343,-0.34378 -0.7759,-0.86846 -0.7759,-1.55601 z m 1.01837,-3.87188 0,0 0,0 c 0,0.85038 0.16973,1.46552 0.53345,1.82739 l 0,0 0,0 c 0.38795,0.39804 0.84863,0.57897 1.40631,0.57897 l 0,0 0,0 c 0.55768,0 1.01838,-0.18093 1.38208,-0.57897 l 0,0 0,0 c 0.38795,-0.36187 0.58193,-0.95893 0.58193,-1.79121 l 0,0 0,0 c 0,-0.77799 -0.19398,-1.37506 -0.58193,-1.7731 l 0,0 0,0 c -0.38795,-0.39804 -0.84863,-0.59706 -1.40633,-0.59706 l 0,0 0,0 c -0.53343,0 -0.99411,0.19902 -1.35783,0.57897 l 0,0 0,0 c -0.38795,0.39804 -0.55768,0.97702 -0.55768,1.75501 z" 20.2056 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2057 + id="612" 20.2058 + inkscape:connector-curvature="0" /> 20.2059 + <path 20.2060 + d="m 207.85493,530.02598 0,0 1.26085,0.14475 0,0 0,0 c -0.19398,0.63327 -0.55768,1.13985 -1.09111,1.51981 l 0,0 0,0 c -0.50919,0.36186 -1.1881,0.54278 -1.98827,0.54278 l 0,0 0,0 c -1.04261,0 -1.86701,-0.28949 -2.47317,-0.88655 l 0,0 0,0 c -0.63043,-0.57897 -0.9214,-1.37506 -0.9214,-2.40636 l 0,0 0,0 c 0,-1.08557 0.31522,-1.91785 0.9214,-2.51491 l 0,0 0,0 c 0.60616,-0.59708 1.40631,-0.90466 2.40044,-0.90466 l 0,0 0,0 c 0.92138,0 1.67305,0.28949 2.27921,0.88655 l 0,0 0,0 c 0.60618,0.57897 0.89715,1.39316 0.89715,2.46065 l 0,0 0,0 c 0,0.0723 0,0.16283 0,0.28949 l 0,0 -5.2616,0 0,0 0,0 c 0.0485,0.70563 0.26673,1.23032 0.67891,1.61027 l 0,0 0,0 c 0.38797,0.36185 0.8729,0.56088 1.47906,0.56088 l 0,0 0,0 c 0.4122,0 0.80017,-0.10858 1.11537,-0.32566 l 0,0 0,0 c 0.29096,-0.19902 0.53345,-0.5428 0.70316,-0.97704 z m -3.90375,-1.755 0,0 3.928,0 0,0 0,0 c -0.0485,-0.5428 -0.21821,-0.95894 -0.43645,-1.23033 l 0,0 0,0 c -0.38794,-0.41613 -0.87289,-0.61515 -1.47906,-0.61515 l 0,0 0,0 c -0.53343,0 -1.01836,0.16282 -1.38208,0.4885 l 0,0 0,0 c -0.38795,0.34377 -0.58193,0.79609 -0.63041,1.35698 z" 20.2061 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2062 + id="613" 20.2063 + inkscape:connector-curvature="0" /> 20.2064 + <path 20.2065 + d="m 150.00164,544.35487 0,0 0,-8.84744 4.34022,0 0,0 0,0 c 0.87289,0 1.52755,0.0905 1.98825,0.23521 l 0,0 0,0 c 0.46068,0.16283 0.8244,0.45232 1.09111,0.83225 l 0,0 0,0 c 0.26672,0.39807 0.4122,0.85039 0.4122,1.3389 l 0,0 0,0 c 0,0.63326 -0.24248,1.15795 -0.67891,1.59218 l 0,0 0,0 c -0.4607,0.43423 -1.16387,0.70562 -2.08525,0.81417 l 0,0 0,0 c 0.33945,0.16285 0.60618,0.30758 0.77592,0.45234 l 0,0 0,0 c 0.38793,0.30758 0.7274,0.70561 1.06685,1.17603 l 0,0 1.72154,2.40636 -1.64879,0 -1.28509,-1.84548 0,0 0,0 c -0.38796,-0.52468 -0.70316,-0.94083 -0.94564,-1.21223 l 0,0 0,0 c -0.24247,-0.28949 -0.46068,-0.48851 -0.65467,-0.59707 l 0,0 0,0 c -0.19396,-0.10858 -0.38795,-0.199 -0.58193,-0.23521 l 0,0 0,0 c -0.16973,-0.0362 -0.38795,-0.0362 -0.7274,-0.0362 l 0,0 -1.47908,0 0,3.92617 -1.30933,0 z m 1.30933,-4.93938 0,0 2.76416,0 0,0 0,0 c 0.58193,0 1.04263,-0.0723 1.38208,-0.18092 l 0,0 0,0 c 0.33947,-0.10858 0.60618,-0.28948 0.7759,-0.5247 l 0,0 0,0 c 0.16973,-0.25329 0.24248,-0.5066 0.24248,-0.79608 l 0,0 0,0 c 0,-0.41615 -0.14548,-0.7599 -0.48495,-1.03131 l 0,0 0,0 c -0.33944,-0.27139 -0.87288,-0.39803 -1.60029,-0.39803 l 0,0 -3.07938,0 0,2.93104 z" 20.2066 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2067 + id="614" 20.2068 + inkscape:connector-curvature="0" /> 20.2069 + <path 20.2070 + d="m 164.35586,544.35487 0,0 0,-0.94084 0,0 0,0 c -0.55768,0.72373 -1.30935,1.08559 -2.25496,1.08559 l 0,0 0,0 c -0.41222,0 -0.8244,-0.0723 -1.18812,-0.21711 l 0,0 0,0 c -0.3637,-0.14475 -0.63041,-0.32568 -0.80015,-0.5428 l 0,0 0,0 c -0.16971,-0.21711 -0.29096,-0.4885 -0.3637,-0.81419 l 0,0 0,0 c -0.0485,-0.19902 -0.0727,-0.54278 -0.0727,-1.01321 l 0,0 0,-3.98043 1.18809,0 0,3.5643 0,0 0,0 c 0,0.57899 0.0242,0.95893 0.0727,1.15796 l 0,0 0,0 c 0.0727,0.28949 0.24247,0.5066 0.48495,0.66944 l 0,0 0,0 c 0.24245,0.16283 0.55768,0.2533 0.92137,0.2533 l 0,0 0,0 c 0.36371,0 0.70316,-0.0905 1.01838,-0.2533 l 0,0 0,0 c 0.31521,-0.18093 0.53343,-0.39806 0.67891,-0.68754 l 0,0 0,0 c 0.12125,-0.28949 0.19398,-0.70562 0.19398,-1.24841 l 0,0 0,-3.45575 1.16387,0 0,6.42299 -1.04263,0 z" 20.2071 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2072 + id="615" 20.2073 + inkscape:connector-curvature="0" /> 20.2074 + <path 20.2075 + d="m 167.31398,544.35487 0,0 0,-6.42299 1.06688,0 0,0.92275 0,0 0,0 c 0.53344,-0.70564 1.26085,-1.0675 2.23072,-1.0675 l 0,0 0,0 c 0.41219,0 0.82439,0.0723 1.16386,0.21712 l 0,0 0,0 c 0.3637,0.12669 0.63041,0.32567 0.82438,0.5428 l 0,0 0,0 c 0.16973,0.23519 0.29097,0.4885 0.36372,0.79608 l 0,0 0,0 c 0.0485,0.2171 0.0728,0.56088 0.0728,1.06748 l 0,0 0,3.94426 -1.21237,0 0,-3.90806 0,0 0,0 c 0,-0.43424 -0.0485,-0.75993 -0.14546,-0.99512 l 0,0 0,0 c -0.0728,-0.21712 -0.24249,-0.39804 -0.48495,-0.52469 l 0,0 0,0 c -0.24247,-0.1267 -0.53344,-0.19904 -0.8244,-0.19904 l 0,0 0,0 c -0.50918,0 -0.94563,0.16284 -1.33358,0.45234 l 0,0 0,0 c -0.33947,0.28948 -0.53345,0.85036 -0.53345,1.66455 l 0,0 0,3.51002 -1.1881,0 z" 20.2076 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2077 + id="616" 20.2078 + inkscape:connector-curvature="0" /> 20.2079 + <path 20.2080 + d="m 177.49771,543.39594 0,0 0.16973,0.95893 0,0 0,0 c -0.33945,0.0544 -0.63041,0.0905 -0.89713,0.0905 l 0,0 0,0 c -0.4122,0 -0.75166,-0.0542 -0.99411,-0.18091 l 0,0 0,0 c -0.24249,-0.1267 -0.41222,-0.28949 -0.5092,-0.50661 l 0,0 0,0 c -0.097,-0.19903 -0.14549,-0.61516 -0.14549,-1.2846 l 0,0 0,-3.69097 -0.89713,0 0,-0.85036 0.89713,0 0,-1.57408 1.1881,-0.65135 0,2.22543 1.1881,0 0,0.85036 -1.1881,0 0,3.76335 0,0 0,0 c 0,0.30757 0.0242,0.50659 0.0728,0.59706 l 0,0 0,0 c 0.0242,0.0905 0.097,0.16285 0.16973,0.21711 l 0,0 0,0 c 0.097,0.0362 0.24247,0.0723 0.4122,0.0723 l 0,0 0,0 c 0.14549,0 0.3152,-0.0181 0.53342,-0.0362 z" 20.2081 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2082 + id="617" 20.2083 + inkscape:connector-curvature="0" /> 20.2084 + <path 20.2085 + d="m 178.68582,536.73774 0,-1.23031 1.1881,0 0,1.23031 -1.1881,0 z m 0,7.61713 0,-6.42299 1.1881,0 0,6.42299 -1.1881,0 z" 20.2086 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2087 + id="618" 20.2088 + inkscape:connector-curvature="0" /> 20.2089 + <path 20.2090 + d="m 181.71668,544.35487 0,0 0,-6.42299 1.06688,0 0,0.90464 0,0 0,0 c 0.21822,-0.30758 0.50918,-0.56087 0.89713,-0.75991 l 0,0 0,0 c 0.36372,-0.18093 0.7759,-0.28948 1.26085,-0.28948 l 0,0 0,0 c 0.53343,0 0.94563,0.10858 1.2851,0.30757 l 0,0 0,0 c 0.33945,0.19905 0.58193,0.47044 0.72741,0.81419 l 0,0 0,0 c 0.55767,-0.74179 1.28508,-1.12176 2.15798,-1.12176 l 0,0 0,0 c 0.70315,0 1.26085,0.18095 1.64878,0.5247 l 0,0 0,0 c 0.36371,0.36184 0.55768,0.90464 0.55768,1.64646 l 0,0 0,4.39658 -1.1881,0 0,-4.03473 0,0 0,0 c 0,-0.43421 -0.0485,-0.75991 -0.12123,-0.94083 l 0,0 0,0 c -0.097,-0.19901 -0.21822,-0.34376 -0.43645,-0.47042 l 0,0 0,0 c -0.19398,-0.10858 -0.43645,-0.18093 -0.7274,-0.18093 l 0,0 0,0 c -0.4607,0 -0.87289,0.16284 -1.21234,0.45234 l 0,0 0,0 c -0.33947,0.30756 -0.48495,0.77799 -0.48495,1.44742 l 0,0 0,3.72715 -1.21235,0 0,-4.16136 0,0 0,0 c 0,-0.48852 -0.097,-0.85038 -0.29097,-1.10369 l 0,0 0,0 c -0.19396,-0.23519 -0.53343,-0.36186 -0.96988,-0.36186 l 0,0 0,0 c -0.33945,0 -0.65466,0.0905 -0.94563,0.2533 l 0,0 0,0 c -0.29096,0.16285 -0.48495,0.39805 -0.63043,0.70562 l 0,0 0,0 c -0.12123,0.30758 -0.19397,0.75993 -0.19397,1.3389 l 0,0 0,3.32909 -1.18811,0 z" 20.2091 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2092 + id="619" 20.2093 + inkscape:connector-curvature="0" /> 20.2094 + <path 20.2095 + d="m 197.96217,542.29229 0,0 1.26085,0.14473 0,0 0,0 c -0.21823,0.65135 -0.58193,1.15796 -1.09113,1.51981 l 0,0 0,0 c -0.53343,0.36185 -1.21235,0.54279 -2.03674,0.54279 l 0,0 0,0 c -1.04262,0 -1.84277,-0.28948 -2.4732,-0.86846 l 0,0 0,0 c -0.60616,-0.57898 -0.89713,-1.37507 -0.89713,-2.42447 l 0,0 0,0 c 0,-1.08557 0.29097,-1.91784 0.92138,-2.51491 l 0,0 0,0 c 0.60618,-0.59708 1.38208,-0.90465 2.37621,-0.90465 l 0,0 0,0 c 0.94563,0 1.72153,0.28948 2.32771,0.88654 l 0,0 0,0 c 0.60617,0.579 0.89713,1.41128 0.89713,2.46065 l 0,0 0,0 c 0,0.0723 0,0.16284 0,0.2895 l 0,0 -5.28583,0 0,0 0,0 c 0.0485,0.70562 0.26671,1.24842 0.63043,1.62836 l 0,0 0,0 c 0.41218,0.37994 0.89713,0.56089 1.5033,0.56089 l 0,0 0,0 c 0.43644,0 0.82439,-0.10858 1.13961,-0.30757 l 0,0 0,0 c 0.29097,-0.21713 0.55768,-0.56089 0.72741,-1.01321 z m -3.92802,-1.75503 0,0 3.95227,0 0,0 0,0 c -0.0485,-0.5428 -0.21823,-0.95893 -0.46069,-1.23031 l 0,0 0,0 c -0.38795,-0.41615 -0.8729,-0.61517 -1.50332,-0.61517 l 0,0 0,0 c -0.55768,0 -1.01838,0.16285 -1.38208,0.48852 l 0,0 0,0 c -0.3637,0.34376 -0.55768,0.79607 -0.60618,1.35696 z" 20.2096 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2097 + id="620" 20.2098 + inkscape:connector-curvature="0" /> 20.2099 + </g> 20.2100 + <g 20.2101 + id="g5041" 20.2102 + transform="translate(0.42735043,3)"> 20.2103 + <path 20.2104 + d="m 149.92891,617.28829 0,-8.86554 1.28508,0 0,3.65477 5.09187,0 0,-3.65477 1.30933,0 0,8.86554 -1.30933,0 0,-4.16138 -5.09187,0 0,4.16138 -1.28508,0 z" 20.2105 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2106 + id="621" 20.2107 + inkscape:connector-curvature="0" /> 20.2108 + <path 20.2109 + d="m 164.23462,616.49218 0,0 0,0 c -0.43644,0.34378 -0.87289,0.59709 -1.28509,0.72373 l 0,0 0,0 c -0.4122,0.14475 -0.84863,0.21711 -1.33358,0.21711 l 0,0 0,0 c -0.7759,0 -1.38208,-0.16282 -1.79428,-0.5066 l 0,0 0,0 c -0.4122,-0.34375 -0.63042,-0.79608 -0.63042,-1.33888 l 0,0 0,0 c 0,-0.30759 0.0728,-0.59706 0.24247,-0.85036 l 0,0 0,0 c 0.14548,-0.25329 0.3637,-0.45231 0.60618,-0.61517 l 0,0 0,0 c 0.26672,-0.14473 0.55768,-0.27138 0.87288,-0.36184 l 0,0 0,0 c 0.24248,-0.0544 0.60618,-0.10858 1.06688,-0.16285 l 0,0 0,0 c 0.99412,-0.0905 1.69728,-0.2171 2.15798,-0.36186 l 0,0 0,0 c 0,-0.16284 0,-0.25328 0,-0.28948 l 0,0 0,0 c 0,-0.45231 -0.097,-0.75991 -0.33946,-0.94084 l 0,0 0,0 c -0.29097,-0.2352 -0.75167,-0.36185 -1.35783,-0.36185 l 0,0 0,0 c -0.58194,0 -0.99414,0.0905 -1.26085,0.2714 l 0,0 0,0 c -0.26672,0.18091 -0.48493,0.48849 -0.60617,0.94082 l 0,0 -1.18811,-0.14474 0,0 0,0 c 0.12123,-0.45232 0.29097,-0.81416 0.53345,-1.10367 l 0,0 0,0 c 0.24246,-0.27138 0.60616,-0.48851 1.06686,-0.65133 l 0,0 0,0 c 0.46068,-0.14476 1.01838,-0.21713 1.62455,-0.21713 l 0,0 0,0 c 0.60616,0 1.09111,0.0723 1.47906,0.19902 l 0,0 0,0 c 0.38795,0.1267 0.63043,0.28949 0.80015,0.48851 l 0,0 0,0 c 0.19397,0.18093 0.31521,0.43423 0.38795,0.7418 l 0,0 0,0 c 0.0485,0.18095 0.0485,0.50663 0.0485,0.99513 l 0,0 0,1.44743 0,0 0,0 c 0,0.99513 0.0242,1.64646 0.097,1.89977 l 0,0 0,0 c 0.0485,0.27137 0.14548,0.54277 0.29097,0.77799 l 0,0 -1.2366,0 0,0 0,0 c -0.12123,-0.21711 -0.19398,-0.4885 -0.24247,-0.79611 z m -0.097,-2.40635 0,0 0,0 c -0.43645,0.16284 -1.09113,0.28949 -1.96401,0.41613 l 0,0 0,0 c -0.5092,0.0544 -0.84865,0.10858 -1.06687,0.19902 l 0,0 0,0 c -0.19398,0.0723 -0.36369,0.19905 -0.46069,0.34378 l 0,0 0,0 c -0.12124,0.16283 -0.16972,0.32568 -0.16972,0.5247 l 0,0 0,0 c 0,0.28949 0.12123,0.52469 0.3637,0.72373 l 0,0 0,0 c 0.24247,0.19899 0.60616,0.28948 1.06686,0.28948 l 0,0 0,0 c 0.46069,0 0.8729,-0.0905 1.2366,-0.2714 l 0,0 0,0 c 0.3637,-0.18093 0.63042,-0.43423 0.80015,-0.7599 l 0,0 0,0 c 0.12123,-0.23521 0.19398,-0.61517 0.19398,-1.06748 l 0,-0.39806 z" 20.2110 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2111 + id="622" 20.2112 + inkscape:connector-curvature="0" /> 20.2113 + <path 20.2114 + d="m 167.19275,617.28829 0,0 0,-6.40489 1.09111,0 0,0.977 0,0 0,0 c 0.26672,-0.45232 0.53344,-0.7599 0.75167,-0.90463 l 0,0 0,0 c 0.21822,-0.14476 0.48493,-0.21713 0.75165,-0.21713 l 0,0 0,0 c 0.4122,0 0.80015,0.10858 1.23659,0.34375 l 0,0 -0.43644,1.01321 0,0 0,0 c -0.2667,-0.16282 -0.55769,-0.2352 -0.84864,-0.2352 l 0,0 0,0 c -0.26671,0 -0.50919,0.0723 -0.70316,0.21712 l 0,0 0,0 c -0.19398,0.14474 -0.33947,0.34377 -0.43645,0.59708 l 0,0 0,0 c -0.12123,0.37995 -0.19398,0.81416 -0.19398,1.2665 l 0,0 0,3.34719 -1.21235,0 z" 20.2115 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2116 + id="623" 20.2117 + inkscape:connector-curvature="0" /> 20.2118 + <path 20.2119 + d="m 176.35811,617.28829 0,0 0,-0.81419 0,0 0,0 c -0.46068,0.65135 -1.11536,0.95892 -1.98824,0.95892 l 0,0 0,0 c -0.55769,0 -1.09112,-0.14473 -1.57607,-0.41613 l 0,0 0,0 c -0.46068,-0.28949 -0.82439,-0.68753 -1.09111,-1.19414 l 0,0 0,0 c -0.26672,-0.50659 -0.38795,-1.08557 -0.38795,-1.71883 l 0,0 0,0 c 0,-0.65133 0.12123,-1.2303 0.33947,-1.755 l 0,0 0,0 c 0.24246,-0.5066 0.60616,-0.92275 1.06684,-1.19416 l 0,0 0,0 c 0.48495,-0.27136 1.01838,-0.41612 1.60032,-0.41612 l 0,0 0,0 c 0.41219,0 0.80014,0.0723 1.13959,0.23521 l 0,0 0,0 c 0.33947,0.18091 0.60618,0.37996 0.8244,0.65134 l 0,0 0,-3.20244 1.16386,0 0,8.86554 -1.09111,0 z m -3.80677,-3.18437 0,0 0,0 c 0,0.79611 0.19396,1.41125 0.58193,1.8274 l 0,0 0,0 c 0.3637,0.39804 0.8244,0.61515 1.35783,0.61515 l 0,0 0,0 c 0.50918,0 0.96986,-0.19902 1.33358,-0.59706 l 0,0 0,0 c 0.3637,-0.37995 0.55768,-0.97701 0.55768,-1.75503 l 0,0 0,0 c 0,-0.88655 -0.19398,-1.51978 -0.55768,-1.93593 l 0,0 0,0 c -0.38795,-0.41613 -0.84865,-0.61516 -1.40631,-0.61516 l 0,0 0,0 c -0.53345,0 -0.9699,0.19903 -1.3336,0.59707 l 0,0 0,0 c -0.36372,0.37995 -0.53343,1.01321 -0.53343,1.86356 z" 20.2120 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2121 + id="624" 20.2122 + inkscape:connector-curvature="0" /> 20.2123 + <path 20.2124 + d="m 180.67408,617.28829 0,0 -2.18222,-6.40489 1.23658,0 1.13961,3.70905 0.4122,1.35696 0,0 0,0 c 0.0242,-0.0723 0.14548,-0.50661 0.38795,-1.32079 l 0,0 1.09111,-3.74522 1.2366,0 1.06686,3.72713 0.36372,1.21222 0.41218,-1.2303 1.21236,-3.70905 1.1881,0 -2.23073,6.40489 -1.26083,0 -1.13961,-3.8357 -0.26672,-1.08558 -1.40633,4.92128 -1.26083,0 z" 20.2125 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2126 + id="625" 20.2127 + inkscape:connector-curvature="0" /> 20.2128 + <path 20.2129 + d="m 193.86443,616.49218 0,0 0,0 c -0.43644,0.34378 -0.87289,0.59709 -1.28509,0.72373 l 0,0 0,0 c -0.4122,0.14475 -0.87288,0.21711 -1.33358,0.21711 l 0,0 0,0 c -0.7759,0 -1.38208,-0.16282 -1.79428,-0.5066 l 0,0 0,0 c -0.43645,-0.34375 -0.63042,-0.79608 -0.63042,-1.33888 l 0,0 0,0 c 0,-0.30759 0.0727,-0.59706 0.21822,-0.85036 l 0,0 0,0 c 0.16973,-0.25329 0.38795,-0.45231 0.63043,-0.61517 l 0,0 0,0 c 0.2667,-0.14473 0.55767,-0.27138 0.87288,-0.36184 l 0,0 0,0 c 0.24247,-0.0544 0.58193,-0.10858 1.06687,-0.16285 l 0,0 0,0 c 0.96988,-0.0905 1.69729,-0.2171 2.15799,-0.36186 l 0,0 0,0 c 0,-0.16284 0,-0.25328 0,-0.28948 l 0,0 0,0 c 0,-0.45231 -0.12125,-0.75991 -0.33946,-0.94084 l 0,0 0,0 c -0.31522,-0.2352 -0.7759,-0.36185 -1.38208,-0.36185 l 0,0 0,0 c -0.55769,0 -0.96989,0.0905 -1.2366,0.2714 l 0,0 0,0 c -0.29097,0.18091 -0.48493,0.48849 -0.60617,0.94082 l 0,0 -1.18811,-0.14474 0,0 0,0 c 0.12123,-0.45232 0.29097,-0.81416 0.53343,-1.10367 l 0,0 0,0 c 0.24248,-0.27138 0.60618,-0.48851 1.06687,-0.65133 l 0,0 0,0 c 0.46069,-0.14476 0.99413,-0.21713 1.62456,-0.21713 l 0,0 0,0 c 0.60616,0 1.09111,0.0723 1.47906,0.19902 l 0,0 0,0 c 0.3637,0.1267 0.65467,0.28949 0.80015,0.48851 l 0,0 0,0 c 0.19397,0.18093 0.3152,0.43423 0.38795,0.7418 l 0,0 0,0 c 0.0242,0.18095 0.0485,0.50663 0.0485,0.99513 l 0,0 0,1.44743 0,0 0,0 c 0,0.99513 0.0242,1.64646 0.0727,1.89977 l 0,0 0,0 c 0.0485,0.27137 0.16973,0.54277 0.31522,0.77799 l 0,0 -1.2366,0 0,0 0,0 c -0.12123,-0.21711 -0.21822,-0.4885 -0.24247,-0.79611 z m -0.097,-2.40635 0,0 0,0 c -0.43645,0.16284 -1.09113,0.28949 -1.96401,0.41613 l 0,0 0,0 c -0.5092,0.0544 -0.84865,0.10858 -1.06688,0.19902 l 0,0 0,0 c -0.19397,0.0723 -0.36368,0.19905 -0.46068,0.34378 l 0,0 0,0 c -0.12124,0.16283 -0.16974,0.32568 -0.16974,0.5247 l 0,0 0,0 c 0,0.28949 0.12124,0.52469 0.36372,0.72373 l 0,0 0,0 c 0.24247,0.19899 0.60616,0.28948 1.06686,0.28948 l 0,0 0,0 c 0.46069,0 0.8729,-0.0905 1.23658,-0.2714 l 0,0 0,0 c 0.36372,-0.18093 0.63044,-0.43423 0.80017,-0.7599 l 0,0 0,0 c 0.12123,-0.23521 0.19398,-0.61517 0.19398,-1.06748 l 0,-0.39806 z" 20.2130 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2131 + id="626" 20.2132 + inkscape:connector-curvature="0" /> 20.2133 + <path 20.2134 + d="m 196.82256,617.28829 0,0 0,-6.40489 1.09111,0 0,0.977 0,0 0,0 c 0.26672,-0.45232 0.53344,-0.7599 0.75167,-0.90463 l 0,0 0,0 c 0.24247,-0.14476 0.50918,-0.21713 0.7759,-0.21713 l 0,0 0,0 c 0.4122,0 0.8244,0.10858 1.21234,0.34375 l 0,0 -0.38794,1.01321 0,0 0,0 c -0.29097,-0.16282 -0.58194,-0.2352 -0.8729,-0.2352 l 0,0 0,0 c -0.26672,0 -0.50918,0.0723 -0.7274,0.21712 l 0,0 0,0 c -0.19398,0.14474 -0.33947,0.34377 -0.43645,0.59708 l 0,0 0,0 c -0.14548,0.37995 -0.19398,0.81416 -0.19398,1.2665 l 0,0 0,3.34719 -1.21235,0 z" 20.2135 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2136 + id="627" 20.2137 + inkscape:connector-curvature="0" /> 20.2138 + <path 20.2139 + d="m 206.25464,615.22569 0,0 1.23659,0.1267 0,0 0,0 c -0.19398,0.66943 -0.55768,1.17603 -1.06686,1.5379 l 0,0 0,0 c -0.53345,0.36186 -1.21236,0.54277 -2.03674,0.54277 l 0,0 0,0 c -1.04264,0 -1.86703,-0.28948 -2.4732,-0.86844 l 0,0 0,0 c -0.63043,-0.57897 -0.9214,-1.39316 -0.9214,-2.40637 l 0,0 0,0 c 0,-1.08558 0.31522,-1.93595 0.9214,-2.53301 l 0,0 0,0 c 0.60617,-0.59707 1.40631,-0.88656 2.40045,-0.88656 l 0,0 0,0 c 0.94563,0 1.72152,0.28949 2.30346,0.86846 l 0,0 0,0 c 0.60618,0.59706 0.89714,1.41125 0.89714,2.47873 l 0,0 0,0 c 0,0.0544 0,0.16284 0,0.28949 l 0,0 -5.28585,0 0,0 0,0 c 0.0485,0.68754 0.26672,1.23034 0.67893,1.61029 l 0,0 0,0 c 0.38793,0.36184 0.87288,0.56086 1.47907,0.56086 l 0,0 0,0 c 0.43643,0 0.82438,-0.10858 1.13959,-0.32565 l 0,0 0,0 c 0.31522,-0.19904 0.55768,-0.5428 0.72742,-0.99513 z m -3.95226,-1.75501 0,0 3.97651,0 0,0 0,0 c -0.0485,-0.5247 -0.21824,-0.94084 -0.4607,-1.21223 l 0,0 0,0 c -0.38795,-0.41613 -0.87288,-0.63326 -1.50331,-0.63326 l 0,0 0,0 c -0.53344,0 -1.01837,0.18093 -1.38208,0.50661 l 0,0 0,0 c -0.38795,0.34375 -0.58194,0.77799 -0.63042,1.33888 z" 20.2140 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2141 + id="628" 20.2142 + inkscape:connector-curvature="0" /> 20.2143 + </g> 20.2144 + <path 20.2145 + d="m 275.43127,419.35698 0,0 0,0 c 0,-0.85037 0.19396,-1.51981 0.58193,-2.09878 l 0,0 0,0 c 0.38795,-0.56087 0.89713,-0.85037 1.5518,-0.85037 l 0,0 0,0 c 0.72741,0 1.28509,0.27139 1.67304,0.79609 l 0,0 0,0 c 0.4122,0.50661 0.60617,1.21222 0.60617,2.15306 l 0,0 0,0 c 0,0.94083 -0.19397,1.70073 -0.60617,2.24353 l 0,0 0,0 c -0.38795,0.52468 -0.94563,0.79608 -1.67304,0.79608 l 0,0 0,0 c -0.65467,0 -1.1881,-0.2714 -1.57605,-0.85037 l 0,0 0,0 c -0.36372,-0.56088 -0.55768,-1.30267 -0.55768,-2.18924 z m 0.75165,0 0,0 0,0 c 0,0.66943 0.12123,1.21223 0.36369,1.66456 l 0,0 0,0 c 0.24249,0.45231 0.58194,0.66943 1.01839,0.66943 l 0,0 0,0 c 0.50918,0 0.87289,-0.19902 1.11536,-0.61516 l 0,0 0,0 c 0.26672,-0.41614 0.38795,-0.97702 0.38795,-1.71883 l 0,0 0,0 c 0,-1.48362 -0.50918,-2.22544 -1.50331,-2.22544 l 0,0 0,0 c -0.43645,0 -0.7759,0.19903 -1.01839,0.59707 l 0,0 0,0 c -0.24246,0.39804 -0.36369,0.94084 -0.36369,1.62837 z" 20.2146 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2147 + id="path4926" 20.2148 + inkscape:connector-curvature="0" /> 20.2149 + <path 20.2150 + d="m 281.32327,422.07092 0,0 0,1.89976 -0.70317,0 0,-5.8983 0.70317,0 0,0.34376 0,0 0,0 C 281.56575,418.14474 281.88095,418 282.26892,418 l 0,0 0,0 c 0.53343,0 0.96988,0.18094 1.28508,0.5428 l 0,0 0,0 c 0.31521,0.37996 0.4607,0.92273 0.4607,1.64646 l 0,0 0,0 c 0,0.65135 -0.14549,1.17603 -0.4607,1.57407 l 0,0 0,0 c -0.3152,0.41615 -0.7759,0.61517 -1.35783,0.61517 l 0,0 0,0 c -0.16974,0 -0.33945,-0.0181 -0.53343,-0.0905 l 0,0 0,0 c -0.16974,-0.0542 -0.29097,-0.14476 -0.33947,-0.21712 z m 0,-3.09389 0,0 0,2.47872 0,0 0,0 c 0.0242,0.0723 0.12125,0.12669 0.26673,0.19903 l 0,0 0,0 c 0.14549,0.0542 0.26672,0.0905 0.41218,0.0905 l 0,0 0,0 c 0.84865,0 1.2851,-0.52471 1.2851,-1.5741 l 0,0 0,0 c 0,-0.54278 -0.097,-0.94084 -0.3152,-1.17603 l 0,0 0,0 c -0.19398,-0.25331 -0.5092,-0.37995 -0.9699,-0.37995 l 0,0 0,0 c -0.097,0 -0.21821,0.0361 -0.36369,0.10858 l 0,0 0,0 c -0.12124,0.0723 -0.24247,0.16284 -0.31522,0.25332 z" 20.2151 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2152 + id="path4928" 20.2153 + inkscape:connector-curvature="0" /> 20.2154 + <path 20.2155 + d="m 287.9912,420.26163 0,0 -2.81264,0 0,0 0,0 c 0,0.4885 0.14547,0.86847 0.38793,1.13986 l 0,0 0,0 c 0.21824,0.23519 0.5092,0.34376 0.84865,0.34376 l 0,0 0,0 c 0.38795,0 0.72742,-0.12669 0.99413,-0.37996 l 0,0 0.29097,0.5428 0,0 0,0 c -0.12124,0.1267 -0.26672,0.2171 -0.50918,0.30759 l 0,0 0,0 c -0.26674,0.10857 -0.58194,0.16282 -0.9214,0.16282 l 0,0 0,0 c -0.48493,0 -0.89713,-0.18093 -1.2366,-0.5428 l 0,0 0,0 c -0.3637,-0.39803 -0.55766,-0.92272 -0.55766,-1.61027 l 0,0 0,0 c 0,-0.68753 0.19396,-1.2484 0.58191,-1.68263 l 0,0 0,0 c 0.33947,-0.36186 0.75167,-0.5428 1.2366,-0.5428 l 0,0 0,0 c 0.55768,0 0.99413,0.16285 1.30933,0.48852 l 0,0 0,0 c 0.29098,0.32566 0.43645,0.7599 0.43645,1.30269 l 0,0 0,0 c 0,0.18093 0,0.32569 -0.0485,0.47042 z m -1.67304,-1.64645 0,0 0,0 c -0.31522,0 -0.55768,0.10857 -0.77592,0.32566 l 0,0 0,0 c -0.19396,0.19902 -0.3152,0.47043 -0.33945,0.75991 l 0,0 2.15798,0 0,0 0,0 c 0,-0.28948 -0.097,-0.5428 -0.26671,-0.75991 l 0,0 0,0 c -0.19397,-0.21713 -0.43644,-0.32566 -0.7759,-0.32566 z" 20.2156 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2157 + id="path4930" 20.2158 + inkscape:connector-curvature="0" /> 20.2159 + <path 20.2160 + d="m 291.14331,422.30613 0,0 0,-2.46065 0,0 0,0 c 0,-0.45231 -0.0727,-0.77799 -0.19398,-0.95893 l 0,0 0,0 c -0.12123,-0.18093 -0.3152,-0.27137 -0.63043,-0.27137 l 0,0 0,0 c -0.14547,0 -0.29095,0.0542 -0.46068,0.16282 l 0,0 0,0 c -0.16974,0.0905 -0.29097,0.21713 -0.38795,0.37995 l 0,0 0,3.14818 -0.70317,0 0,-4.23375 0.48495,0 0.21822,0.5428 0,0 0,0 C 289.68848,418.21711 290.02795,418 290.56138,418 l 0,0 0,0 c 0.84865,0 1.28508,0.5428 1.28508,1.68266 l 0,0 0,2.62347 -0.70315,0 z" 20.2161 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2162 + id="path4932" 20.2163 + inkscape:connector-curvature="0" /> 20.2164 + <path 20.2165 + d="m 296.8656,422.30613 -0.63042,-3.72715 -1.13963,3.79952 -0.19396,0 -1.1881,-3.79952 -0.63043,3.72715 -0.67892,0 0.99413,-5.78975 0.33945,0 1.26085,4.21565 1.13961,-4.21565 0.33945,0 1.06688,5.78975 -0.67891,0 z" 20.2166 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2167 + id="path4934" 20.2168 + inkscape:connector-curvature="0" /> 20.2169 + <path 20.2170 + d="m 298.85384,420.06261 0,0 0,2.24352 -0.72741,0 0,-5.78975 0,0 0,0 c 0.55768,-0.0181 0.8729,-0.0362 0.99413,-0.0362 l 0,0 0,0 c 1.55181,0 2.32771,0.56087 2.32771,1.68264 l 0,0 0,0 c 0,1.30269 -0.67891,1.95405 -2.06099,1.95405 l 0,0 0,0 c -0.0727,0 -0.26672,-0.0181 -0.53344,-0.0544 z m 0,-2.82251 0,0 0,2.11688 0,0 0,0 c 0.31522,0.0181 0.46069,0.0362 0.48494,0.0362 l 0,0 0,0 c 0.89714,0 1.35783,-0.37996 1.35783,-1.13986 l 0,0 0,0 c 0,-0.70562 -0.48494,-1.06748 -1.45482,-1.06748 l 0,0 0,0 c -0.097,0 -0.21821,0.0181 -0.38795,0.0542 z" 20.2171 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2172 + id="path4936" 20.2173 + inkscape:connector-curvature="0" /> 20.2174 + <path 20.2175 + d="m 303.94571,419.50173 1.26085,0 0,0.56088 -1.26085,0 0,1.37506 -0.53344,0 0,-1.37506 -1.26083,0 0,-0.56088 1.26083,0 0,-1.33888 0.53344,0 0,1.33888 z" 20.2176 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2177 + id="path4938" 20.2178 + inkscape:connector-curvature="0" /> 20.2179 + <path 20.2180 + d="m 306.90384,420.06261 0,0 0,2.24352 -0.72741,0 0,-5.78975 0,0 0,0 c 0.53344,-0.0181 0.87289,-0.0362 0.99413,-0.0362 l 0,0 0,0 c 1.52756,0 2.27922,0.56087 2.27922,1.68264 l 0,0 0,0 c 0,1.30269 -0.67893,1.95405 -2.01251,1.95405 l 0,0 0,0 c -0.0727,0 -0.26671,-0.0181 -0.53343,-0.0544 z m 0,-2.82251 0,0 0,2.11688 0,0 0,0 c 0.29097,0.0181 0.4607,0.0362 0.48495,0.0362 l 0,0 0,0 c 0.87288,0 1.33358,-0.37996 1.33358,-1.13986 l 0,0 0,0 c 0,-0.70562 -0.48495,-1.06748 -1.43058,-1.06748 l 0,0 0,0 c -0.097,0 -0.21822,0.0181 -0.38795,0.0542 z" 20.2181 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2182 + id="path4940" 20.2183 + inkscape:connector-curvature="0" /> 20.2184 + <path 20.2185 + d="m 389.41631,423.27483 -0.63042,-3.70906 -1.16386,3.79952 -0.16973,0 -1.21234,-3.79952 -0.60618,3.70906 -0.67892,0 0.99413,-5.77164 0.31521,0 1.26084,4.21564 1.1881,-4.21564 0.31521,0 1.09112,5.77164 -0.70316,0 z" 20.2186 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2187 + id="path4942" 20.2188 + inkscape:connector-curvature="0" /> 20.2189 + <path 20.2190 + d="m 391.4288,421.0494 0,0 0,2.22543 -0.7274,0 0,-5.77164 0,0 0,0 c 0.53344,-0.0362 0.87289,-0.0362 0.96988,-0.0362 l 0,0 0,0 c 1.52756,0 2.30346,0.56089 2.30346,1.68266 l 0,0 0,0 c 0,1.2846 -0.67892,1.93595 -2.03675,1.93595 l 0,0 0,0 c -0.097,0 -0.26671,-0.0181 -0.50919,-0.0362 z m 0,-2.8406 0,0 0,2.13498 0,0 0,0 c 0.26673,0.0181 0.43645,0.0362 0.4607,0.0362 l 0,0 0,0 c 0.89713,0 1.33358,-0.37996 1.33358,-1.13986 l 0,0 0,0 c 0,-0.72371 -0.46068,-1.06746 -1.43057,-1.06746 l 0,0 0,0 c -0.097,0 -0.21822,0.0181 -0.36371,0.0362 z" 20.2191 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2192 + id="path4944" 20.2193 + inkscape:connector-curvature="0" /> 20.2194 + <path 20.2195 + d="m 394.94462,423.27483 0,-5.77164 0.7274,0 0,5.77164 -0.7274,0 z" 20.2196 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2197 + id="path4946" 20.2198 + inkscape:connector-curvature="0" /> 20.2199 + <path 20.2200 + d="m 398.55741,420.48852 1.26085,0 0,0.56088 -1.26085,0 0,1.35697 -0.50918,0 0,-1.35697 -1.23659,0 0,-0.56088 1.23659,0 0,-1.33888 0.50918,0 0,1.33888 z" 20.2201 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2202 + id="path4948" 20.2203 + inkscape:connector-curvature="0" /> 20.2204 + <path 20.2205 + d="m 401.4913,421.0494 0,0 0,2.22543 -0.72741,0 0,-5.77164 0,0 0,0 c 0.55768,-0.0362 0.87289,-0.0362 0.99413,-0.0362 l 0,0 0,0 c 1.5518,0 2.30346,0.56089 2.30346,1.68266 l 0,0 0,0 c 0,1.2846 -0.65467,1.93595 -2.03674,1.93595 l 0,0 0,0 c -0.0727,0 -0.26672,-0.0181 -0.53344,-0.0362 z m 0,-2.8406 0,0 0,2.13498 0,0 0,0 c 0.31521,0.0181 0.46069,0.0362 0.48494,0.0362 l 0,0 0,0 c 0.89714,0 1.35783,-0.37996 1.35783,-1.13986 l 0,0 0,0 c 0,-0.72371 -0.48494,-1.06746 -1.45481,-1.06746 l 0,0 0,0 c -0.097,0 -0.21823,0.0181 -0.38796,0.0362 z" 20.2206 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2207 + id="path4950" 20.2208 + inkscape:connector-curvature="0" /> 20.2209 + <path 20.2210 + d="m 482.03976,423.36529 -2.73991,-4.23375 0,4.14329 -0.67891,0 0,-5.77164 0.29097,0 2.64291,3.98045 0,-3.98045 0.70317,0 0,5.8621 -0.21823,0 z" 20.2211 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2212 + id="path4952" 20.2213 + inkscape:connector-curvature="0" /> 20.2214 + <path 20.2215 + d="m 486.57395,421.23032 0,0 -2.81265,0 0,0 0,0 c 0,0.5066 0.12123,0.88658 0.3637,1.15796 l 0,0 0,0 c 0.21823,0.21711 0.50919,0.34375 0.84865,0.34375 l 0,0 0,0 c 0.41219,0 0.72741,-0.12669 0.99412,-0.37994 l 0,0 0.29097,0.5428 0,0 0,0 c -0.097,0.10857 -0.26672,0.21709 -0.48494,0.30758 l 0,0 0,0 c -0.26672,0.10857 -0.58192,0.16282 -0.92138,0.16282 l 0,0 0,0 c -0.48495,0 -0.89714,-0.18093 -1.26085,-0.5428 l 0,0 0,0 c -0.3637,-0.39803 -0.55768,-0.94081 -0.55768,-1.61025 l 0,0 0,0 c 0,-0.70563 0.19398,-1.24841 0.58193,-1.66456 l 0,0 0,0 c 0.33946,-0.37995 0.7759,-0.56088 1.2366,-0.56088 l 0,0 0,0 c 0.55767,0 0.99412,0.16284 1.30933,0.50661 l 0,0 0,0 c 0.31521,0.32566 0.46069,0.7599 0.46069,1.28459 l 0,0 0,0 c 0,0.16284 -0.0242,0.32569 -0.0485,0.45232 z m -1.67305,-1.61027 0,0 0,0 c -0.3152,0 -0.58192,0.10857 -0.7759,0.32567 l 0,0 0,0 c -0.21822,0.19902 -0.3152,0.43424 -0.33945,0.74182 l 0,0 2.15798,0 0,0 0,0 c 0,-0.30758 -0.097,-0.5428 -0.26672,-0.74182 l 0,0 0,0 c -0.19397,-0.21711 -0.4607,-0.32567 -0.77591,-0.32567 z" 20.2216 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2217 + id="path4954" 20.2218 + inkscape:connector-curvature="0" /> 20.2219 + <path 20.2220 + d="m 490.91416,423.36529 -0.16973,0 -1.13961,-2.89486 -1.13961,2.89486 -0.19398,0 -1.35783,-4.32421 0.70317,0 0.82439,2.76823 1.04262,-2.76823 0.19398,0 1.06687,2.76823 0.89714,-2.76823 0.67892,0 -1.40633,4.32421 z" 20.2221 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2222 + id="path4956" 20.2223 + inkscape:connector-curvature="0" /> 20.2224 + <path 20.2225 + d="m 492.90241,423.27483 0,-5.77164 0.70316,0 0,5.06602 2.4247,0 0,0.70562 -3.12786,0 z" 20.2226 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2227 + id="path4958" 20.2228 + inkscape:connector-curvature="0" /> 20.2229 + <path 20.2230 + d="m 498.79443,422.8044 0,0 0,0 c -0.26672,0.36187 -0.70316,0.56089 -1.26085,0.56089 l 0,0 0,0 c -0.31521,0 -0.58193,-0.12669 -0.80014,-0.36184 l 0,0 0,0 c -0.21823,-0.25332 -0.33946,-0.5428 -0.33946,-0.90466 l 0,0 0,0 c 0,-0.43424 0.16973,-0.79609 0.53343,-1.08559 l 0,0 0,0 c 0.33946,-0.30758 0.7759,-0.45231 1.30934,-0.45231 l 0,0 0,0 c 0.14548,0 0.31521,0.0361 0.48494,0.10857 l 0,0 0,0 c 0,-0.66945 -0.26672,-1.0132 -0.8244,-1.0132 l 0,0 0,0 c -0.43645,0 -0.77591,0.12669 -0.99413,0.37995 l 0,0 -0.29097,-0.63326 0,0 0,0 c 0.12125,-0.10858 0.29097,-0.21711 0.53344,-0.30758 l 0,0 0,0 c 0.24247,-0.0723 0.4607,-0.10858 0.65467,-0.10858 l 0,0 0,0 c 0.58193,0 0.99413,0.12669 1.23659,0.41613 l 0,0 0,0 c 0.24248,0.2714 0.36371,0.72372 0.36371,1.32078 l 0,0 0,1.51984 0,0 0,0 c 0,0.36184 0.097,0.61513 0.31521,0.74179 l 0,0 0,0.37995 0,0 0,0 c -0.29096,0 -0.50919,-0.0542 -0.63042,-0.14475 l 0,0 0,0 c -0.12123,-0.0723 -0.21822,-0.2171 -0.29096,-0.41614 z m -0.0727,-1.61025 0,0 0,0 c -0.21823,-0.0544 -0.36371,-0.0723 -0.43645,-0.0723 l 0,0 0,0 c -0.3637,0 -0.65467,0.0905 -0.87289,0.2895 l 0,0 0,0 c -0.21822,0.199 -0.31521,0.43421 -0.31521,0.68752 l 0,0 0,0 c 0,0.45232 0.24247,0.66944 0.70316,0.66944 l 0,0 0,0 c 0.3637,0 0.65467,-0.18093 0.92139,-0.5428 l 0,-1.03128 z" 20.2231 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2232 + id="path4960" 20.2233 + inkscape:connector-curvature="0" /> 20.2234 + <path 20.2235 + d="m 502.89216,423.27483 0,0 0,-2.46065 0,0 0,0 c 0,-0.45231 -0.0727,-0.7418 -0.19397,-0.92272 l 0,0 0,0 c -0.12124,-0.18093 -0.33946,-0.27141 -0.63042,-0.27141 l 0,0 0,0 c -0.16973,0 -0.31521,0.0362 -0.48494,0.14476 l 0,0 0,0 c -0.19398,0.10857 -0.31521,0.23519 -0.4122,0.37993 l 0,0 0,3.13009 -0.67891,0 0,-4.21566 0.46069,0 0.21822,0.5428 0,0 0,0 c 0.24247,-0.41615 0.60617,-0.61517 1.11536,-0.61517 l 0,0 0,0 c 0.84864,0 1.28509,0.56088 1.28509,1.66455 l 0,0 0,2.62348 -0.67892,0 z" 20.2236 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2237 + id="path4962" 20.2238 + inkscape:connector-curvature="0" /> 20.2239 + <path 20.2240 + d="m 504.41972,424.45086 0,0 0.36371,-0.61516 0,0 0,0 c 0.38795,0.30758 0.75166,0.45234 1.09111,0.45234 l 0,0 0,0 c 0.31521,0 0.55769,-0.0723 0.75166,-0.18093 l 0,0 0,0 c 0.16972,-0.12669 0.26672,-0.27141 0.26672,-0.43424 l 0,0 0,0 c 0,-0.34375 -0.24248,-0.52469 -0.67892,-0.52469 l 0,0 0,0 c -0.097,0 -0.21822,0.0181 -0.43645,0.0723 l 0,0 0,0 c -0.19397,0.0362 -0.3637,0.0544 -0.46069,0.0544 l 0,0 0,0 c -0.53343,0 -0.82439,-0.21713 -0.82439,-0.66945 l 0,0 0,0 c 0,-0.14474 0.0727,-0.2714 0.19397,-0.37996 l 0,0 0,0 c 0.14548,-0.12669 0.29096,-0.19902 0.46069,-0.25329 l 0,0 0,0 c -0.50918,-0.27139 -0.80014,-0.7599 -0.80014,-1.46553 l 0,0 0,0 c 0,-0.41613 0.14548,-0.79608 0.43644,-1.08557 l 0,0 0,0 c 0.26672,-0.2895 0.60618,-0.43424 1.01837,-0.43424 l 0,0 0,0 c 0.38795,0 0.67892,0.0723 0.89714,0.2533 l 0,0 0.36371,-0.45233 0.43644,0.45233 -0.4122,0.34378 0,0 0,0 c 0.16973,0.25329 0.26672,0.57897 0.26672,0.97701 l 0,0 0,0 c 0,0.41615 -0.12123,0.77799 -0.36371,1.06748 l 0,0 0,0 c -0.24246,0.28948 -0.58192,0.45233 -0.96987,0.5066 l 0,0 -0.55769,0.0544 0,0 0,0 c -0.0727,0.0181 -0.16973,0.0361 -0.29096,0.0905 l 0,0 0,0 c -0.097,0.0542 -0.14548,0.10857 -0.14548,0.19902 l 0,0 0,0 c 0,0.10857 0.097,0.16284 0.33946,0.16284 l 0,0 0,0 c 0.097,0 0.26671,-0.0362 0.48494,-0.0723 l 0,0 0,0 c 0.21822,-0.0362 0.38795,-0.0544 0.48493,-0.0544 l 0,0 0,0 c 0.38796,0 0.67892,0.0905 0.89715,0.28948 l 0,0 0,0 c 0.21822,0.19905 0.3152,0.48852 0.3152,0.83228 l 0,0 0,0 c 0,0.39806 -0.14548,0.70565 -0.46069,0.94084 l 0,0 0,0 c -0.33945,0.25331 -0.72741,0.36187 -1.23659,0.36187 l 0,0 0,0 c -0.24248,0 -0.50919,-0.0362 -0.7759,-0.14475 l 0,0 0,0 c -0.26673,-0.0905 -0.48495,-0.21712 -0.65468,-0.34378 z m 1.43058,-4.86698 0,0 0,0 c -0.24248,0 -0.43645,0.0905 -0.58193,0.27138 l 0,0 0,0 c -0.14549,0.19902 -0.21822,0.41614 -0.21822,0.66943 l 0,0 0,0 c 0,0.28949 0.0727,0.5428 0.21822,0.72373 l 0,0 0,0 c 0.14548,0.19902 0.33945,0.28948 0.58193,0.28948 l 0,0 0,0 c 0.24247,0 0.43644,-0.0905 0.58193,-0.27139 l 0,0 0,0 c 0.14548,-0.19902 0.19397,-0.43424 0.19397,-0.74182 l 0,0 0,0 c 0,-0.25329 -0.0727,-0.47041 -0.21822,-0.66943 l 0,0 0,0 c -0.14548,-0.18092 -0.33946,-0.27138 -0.55768,-0.27138 z" 20.2241 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2242 + id="path4964" 20.2243 + inkscape:connector-curvature="0" /> 20.2244 + <path 20.2245 + d="m 509.99653,420.48852 1.23659,0 0,0.56088 -1.23659,0 0,1.35697 -0.50918,0 0,-1.35697 -1.26085,0 0,-0.56088 1.26085,0 0,-1.33888 0.50918,0 0,1.33888 z" 20.2246 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2247 + id="path4966" 20.2248 + inkscape:connector-curvature="0" /> 20.2249 + <path 20.2250 + d="m 512.93041,421.0494 0,0 0,2.22543 -0.7274,0 0,-5.77164 0,0 0,0 c 0.55767,-0.0362 0.89713,-0.0362 0.99412,-0.0362 l 0,0 0,0 c 1.55181,0 2.32771,0.56089 2.32771,1.68266 l 0,0 0,0 c 0,1.2846 -0.67892,1.93595 -2.06099,1.93595 l 0,0 0,0 c -0.0727,0 -0.24247,-0.0181 -0.53344,-0.0362 z m 0,-2.8406 0,0 0,2.13498 0,0 0,0 c 0.31521,0.0181 0.48494,0.0362 0.48494,0.0362 l 0,0 0,0 c 0.89714,0 1.35783,-0.37996 1.35783,-1.13986 l 0,0 0,0 c 0,-0.72371 -0.48494,-1.06746 -1.43057,-1.06746 l 0,0 0,0 c -0.097,0 -0.24247,0.0181 -0.4122,0.0362 z" 20.2251 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 20.2252 + id="path4968" 20.2253 + inkscape:connector-curvature="0" /> 20.2254 + <g 20.2255 + id="g11392" 20.2256 + transform="translate(420,8.7179488)"> 20.2257 + <text 20.2258 + sodipodi:linespacing="125%" 20.2259 + id="text5053" 20.2260 + y="450.37811" 20.2261 + x="150.58965" 20.2262 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Xpress SF;-inkscape-font-specification:Xpress SF" 20.2263 + xml:space="preserve"><tspan 20.2264 + y="450.37811" 20.2265 + x="150.58965" 20.2266 + id="tspan5055" 20.2267 + sodipodi:role="line">Lang Syntax</tspan></text> 20.2268 + <rect 20.2269 + y="440.80841" 20.2270 + x="147.80876" 20.2271 + height="12.350597" 20.2272 + width="53.784859" 20.2273 + id="rect5088" 20.2274 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2, 1;stroke-dashoffset:0" /> 20.2275 + </g> 20.2276 + <g 20.2277 + id="g11409" 20.2278 + transform="translate(18.42735,0)"> 20.2279 + <text 20.2280 + xml:space="preserve" 20.2281 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Xpress SF;-inkscape-font-specification:Xpress SF" 20.2282 + x="552.58966" 20.2283 + y="513.97961" 20.2284 + id="text5057" 20.2285 + sodipodi:linespacing="125%"><tspan 20.2286 + sodipodi:role="line" 20.2287 + id="tspan5059" 20.2288 + x="552.58966" 20.2289 + y="513.97961">Request Intf</tspan></text> 20.2290 + <rect 20.2291 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2, 0.99999999;stroke-dashoffset:0" 20.2292 + id="rect5090" 20.2293 + width="52.938667" 20.2294 + height="12.350597" 20.2295 + x="549.80878" 20.2296 + y="504.41" /> 20.2297 + </g> 20.2298 + <g 20.2299 + id="g11399" 20.2300 + transform="translate(-29.57265,13.57265)"> 20.2301 + <text 20.2302 + sodipodi:linespacing="125%" 20.2303 + id="text5061" 20.2304 + y="565.97961" 20.2305 + x="616.58966" 20.2306 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Xpress SF;-inkscape-font-specification:Xpress SF" 20.2307 + xml:space="preserve"><tspan 20.2308 + y="565.97961" 20.2309 + x="616.58966" 20.2310 + id="tspan5063" 20.2311 + sodipodi:role="line">VMS Intf</tspan></text> 20.2312 + <rect 20.2313 + y="556.40991" 20.2314 + x="613.80878" 20.2315 + height="12.350597" 20.2316 + width="37.162453" 20.2317 + id="rect5092" 20.2318 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1.99999999, 1;stroke-dashoffset:0" /> 20.2319 + </g> 20.2320 + <g 20.2321 + id="g11404" 20.2322 + transform="translate(-8.5641025,0.42735043)"> 20.2323 + <text 20.2324 + sodipodi:linespacing="125%" 20.2325 + id="text5065" 20.2326 + y="609.58124" 20.2327 + x="616.58966" 20.2328 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Xpress SF;-inkscape-font-specification:Xpress SF" 20.2329 + xml:space="preserve"><tspan 20.2330 + y="609.58124" 20.2331 + x="616.58966" 20.2332 + id="tspan5067" 20.2333 + sodipodi:role="line">ISA</tspan></text> 20.2334 + <rect 20.2335 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.00000002, 1.00000001;stroke-dashoffset:0" 20.2336 + id="rect5094" 20.2337 + width="15.990735" 20.2338 + height="12.350597" 20.2339 + x="613.80878" 20.2340 + y="600.01154" /> 20.2341 + </g> 20.2342 + <path 20.2343 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2, 1;stroke-dashoffset:0" 20.2344 + d="m 149.50538,456.07322 419.95554,0 0,0 0,0" 20.2345 + id="path5864" 20.2346 + inkscape:connector-curvature="0" /> 20.2347 + <path 20.2348 + inkscape:connector-curvature="0" 20.2349 + id="path5866" 20.2350 + d="m 149.43272,510.92792 417.39372,0 0,0 0,0" 20.2351 + style="fill:none;stroke:#000000;stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1.99999986, 0.99999992;stroke-dashoffset:0" /> 20.2352 + <path 20.2353 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1.99999983, 0.99999992;stroke-dashoffset:0" 20.2354 + d="m 149.74889,576.50057 433.61341,0 0,0 0,0" 20.2355 + id="path5868" 20.2356 + inkscape:connector-curvature="0" /> 20.2357 + <path 20.2358 + inkscape:connector-curvature="0" 20.2359 + id="path5870" 20.2360 + d="m 150.01815,606.92792 454.52761,0 0,0 0,0" 20.2361 + style="fill:none;stroke:#000000;stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1.99999977, 0.99999988;stroke-dashoffset:0" /> 20.2362 + <path 20.2363 + inkscape:connector-curvature="0" 20.2364 + id="path5872" 20.2365 + d="m 149.79599,426.92792 471.66496,0 0,0 0,0" 20.2366 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 20.2367 + <path 20.2368 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 20.2369 + d="m 149.79599,624.92792 471.66496,0 0,0 0,0" 20.2370 + id="path5874" 20.2371 + inkscape:connector-curvature="0" /> 20.2372 + <text 20.2373 + xml:space="preserve" 20.2374 + style="font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Xpress SF;-inkscape-font-specification:Xpress SF" 20.2375 + x="564.11279" 20.2376 + y="422.51587" 20.2377 + id="text11414" 20.2378 + sodipodi:linespacing="125%"><tspan 20.2379 + sodipodi:role="line" 20.2380 + id="tspan11416" 20.2381 + x="564.11279" 20.2382 + y="422.51587" 20.2383 + style="font-size:18px">Interface</tspan></text> 20.2384 + <text 20.2385 + xml:space="preserve" 20.2386 + style="font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 20.2387 + x="161.67584" 20.2388 + y="420.5202" 20.2389 + id="text11418" 20.2390 + sodipodi:linespacing="125%"><tspan 20.2391 + sodipodi:role="line" 20.2392 + id="tspan11420" 20.2393 + x="161.67584" 20.2394 + y="420.5202" 20.2395 + style="font-size:18px">Layer</tspan></text> 20.2396 + <path 20.2397 + inkscape:connector-curvature="0" 20.2398 + id="path12247" 20.2399 + d="m 243.82877,575.78262 100.97409,0 0,0 0,0" 20.2400 + style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 20.2401 + <g 20.2402 + id="g13494"> 20.2403 + <path 20.2404 + inkscape:connector-curvature="0" 20.2405 + id="path11477" 20.2406 + d="m 277.87593,455.78262 29.22252,0 0,0 0,0" 20.2407 + style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 20.2408 + <path 20.2409 + sodipodi:nodetypes="cc" 20.2410 + inkscape:connector-curvature="0" 20.2411 + id="path12255" 20.2412 + d="m 303.00855,475.78099 12.82051,8.11965" 20.2413 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 20.2414 + <g 20.2415 + transform="translate(-28,-20)" 20.2416 + id="g12725"> 20.2417 + <rect 20.2418 + y="483.71259" 20.2419 + x="299.65811" 20.2420 + height="12.393162" 20.2421 + width="41.452991" 20.2422 + id="rect12249" 20.2423 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 20.2424 + <text 20.2425 + xml:space="preserve" 20.2426 + style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 20.2427 + x="303.21664" 20.2428 + y="492.81934" 20.2429 + id="text12721" 20.2430 + sodipodi:linespacing="125%"><tspan 20.2431 + sodipodi:role="line" 20.2432 + id="tspan12723" 20.2433 + x="303.21664" 20.2434 + y="492.81934" 20.2435 + style="fill:#008000">Toolchain</tspan></text> 20.2436 + </g> 20.2437 + <g 20.2438 + transform="translate(-2,0.8547008)" 20.2439 + id="g12738"> 20.2440 + <rect 20.2441 + y="483.71259" 20.2442 + x="299.65811" 20.2443 + height="12.393162" 20.2444 + width="41.452991" 20.2445 + id="rect12740" 20.2446 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 20.2447 + <text 20.2448 + xml:space="preserve" 20.2449 + style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 20.2450 + x="300.78931" 20.2451 + y="492.81934" 20.2452 + id="text12742" 20.2453 + sodipodi:linespacing="125%"><tspan 20.2454 + sodipodi:role="line" 20.2455 + id="tspan12744" 20.2456 + x="300.78931" 20.2457 + y="492.81934" 20.2458 + style="fill:#ff7f2a">Specializer</tspan></text> 20.2459 + </g> 20.2460 + <path 20.2461 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 20.2462 + d="m 282.42388,475.78099 -12.82051,8.11965" 20.2463 + id="path12746" 20.2464 + inkscape:connector-curvature="0" 20.2465 + sodipodi:nodetypes="cc" /> 20.2466 + <g 20.2467 + id="g12748" 20.2468 + transform="translate(-50,0.8547008)"> 20.2469 + <rect 20.2470 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 20.2471 + id="rect12750" 20.2472 + width="41.452991" 20.2473 + height="12.393162" 20.2474 + x="299.65811" 20.2475 + y="483.71259" /> 20.2476 + <text 20.2477 + sodipodi:linespacing="125%" 20.2478 + id="text12752" 20.2479 + y="492.81934" 20.2480 + x="300.78931" 20.2481 + style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 20.2482 + xml:space="preserve"><tspan 20.2483 + y="492.81934" 20.2484 + x="300.78931" 20.2485 + id="tspan12754" 20.2486 + sodipodi:role="line" 20.2487 + style="fill:#ff0000">Specializer</tspan></text> 20.2488 + </g> 20.2489 + <path 20.2490 + sodipodi:nodetypes="cc" 20.2491 + style="fill:none;stroke:#000000;stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 20.2492 + d="m 292.0558,457.01631 0,5.71571" 20.2493 + id="path12756" 20.2494 + inkscape:connector-curvature="0" /> 20.2495 + </g> 20.2496 + <g 20.2497 + id="g13512" 20.2498 + transform="translate(102,0)"> 20.2499 + <path 20.2500 + style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 20.2501 + d="m 277.87593,455.78262 29.22252,0 0,0 0,0" 20.2502 + id="path13514" 20.2503 + inkscape:connector-curvature="0" /> 20.2504 + <path 20.2505 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 20.2506 + d="m 303.00855,475.78099 12.82051,8.11965" 20.2507 + id="path13516" 20.2508 + inkscape:connector-curvature="0" 20.2509 + sodipodi:nodetypes="cc" /> 20.2510 + <g 20.2511 + id="g13518" 20.2512 + transform="translate(-28,-20)"> 20.2513 + <rect 20.2514 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 20.2515 + id="rect13520" 20.2516 + width="41.452991" 20.2517 + height="12.393162" 20.2518 + x="299.65811" 20.2519 + y="483.71259" /> 20.2520 + <text 20.2521 + sodipodi:linespacing="125%" 20.2522 + id="text13522" 20.2523 + y="492.81934" 20.2524 + x="303.21664" 20.2525 + style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 20.2526 + xml:space="preserve"><tspan 20.2527 + y="492.81934" 20.2528 + x="303.21664" 20.2529 + id="tspan13524" 20.2530 + sodipodi:role="line" 20.2531 + style="fill:#0000ff">Toolchain</tspan></text> 20.2532 + </g> 20.2533 + <g 20.2534 + id="g13526" 20.2535 + transform="translate(-2,0.8547008)"> 20.2536 + <rect 20.2537 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 20.2538 + id="rect13528" 20.2539 + width="41.452991" 20.2540 + height="12.393162" 20.2541 + x="299.65811" 20.2542 + y="483.71259" /> 20.2543 + <text 20.2544 + sodipodi:linespacing="125%" 20.2545 + id="text13530" 20.2546 + y="492.81934" 20.2547 + x="300.78931" 20.2548 + style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 20.2549 + xml:space="preserve"><tspan 20.2550 + y="492.81934" 20.2551 + x="300.78931" 20.2552 + id="tspan13532" 20.2553 + sodipodi:role="line" 20.2554 + style="fill:#ff7f2a">Specializer</tspan></text> 20.2555 + </g> 20.2556 + <path 20.2557 + sodipodi:nodetypes="cc" 20.2558 + inkscape:connector-curvature="0" 20.2559 + id="path13534" 20.2560 + d="m 282.42388,475.78099 -12.82051,8.11965" 20.2561 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 20.2562 + <g 20.2563 + transform="translate(-50,0.8547008)" 20.2564 + id="g13536"> 20.2565 + <rect 20.2566 + y="483.71259" 20.2567 + x="299.65811" 20.2568 + height="12.393162" 20.2569 + width="41.452991" 20.2570 + id="rect13538" 20.2571 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 20.2572 + <text 20.2573 + xml:space="preserve" 20.2574 + style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 20.2575 + x="300.78931" 20.2576 + y="492.81934" 20.2577 + id="text13540" 20.2578 + sodipodi:linespacing="125%"><tspan 20.2579 + sodipodi:role="line" 20.2580 + id="tspan13542" 20.2581 + x="300.78931" 20.2582 + y="492.81934" 20.2583 + style="fill:#ff0000">Specializer</tspan></text> 20.2584 + </g> 20.2585 + <path 20.2586 + inkscape:connector-curvature="0" 20.2587 + id="path13544" 20.2588 + d="m 292.0558,457.01631 0,5.71571" 20.2589 + style="fill:none;stroke:#000000;stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 20.2590 + sodipodi:nodetypes="cc" /> 20.2591 + </g> 20.2592 + <g 20.2593 + transform="translate(204,0)" 20.2594 + id="g13546"> 20.2595 + <path 20.2596 + inkscape:connector-curvature="0" 20.2597 + id="path13548" 20.2598 + d="m 277.87593,455.78262 29.22252,0 0,0 0,0" 20.2599 + style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 20.2600 + <path 20.2601 + sodipodi:nodetypes="cc" 20.2602 + inkscape:connector-curvature="0" 20.2603 + id="path13550" 20.2604 + d="m 303.00855,475.78099 12.82051,8.11965" 20.2605 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 20.2606 + <g 20.2607 + transform="translate(-28,-20)" 20.2608 + id="g13552"> 20.2609 + <rect 20.2610 + y="483.71259" 20.2611 + x="299.65811" 20.2612 + height="12.393162" 20.2613 + width="41.452991" 20.2614 + id="rect13554" 20.2615 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 20.2616 + <text 20.2617 + xml:space="preserve" 20.2618 + style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 20.2619 + x="303.21664" 20.2620 + y="492.81934" 20.2621 + id="text13556" 20.2622 + sodipodi:linespacing="125%"><tspan 20.2623 + sodipodi:role="line" 20.2624 + id="tspan13558" 20.2625 + x="303.21664" 20.2626 + y="492.81934" 20.2627 + style="fill:#800080">Toolchain</tspan></text> 20.2628 + </g> 20.2629 + <g 20.2630 + transform="translate(-2,0.8547008)" 20.2631 + id="g13560"> 20.2632 + <rect 20.2633 + y="483.71259" 20.2634 + x="299.65811" 20.2635 + height="12.393162" 20.2636 + width="41.452991" 20.2637 + id="rect13562" 20.2638 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 20.2639 + <text 20.2640 + xml:space="preserve" 20.2641 + style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 20.2642 + x="300.78931" 20.2643 + y="492.81934" 20.2644 + id="text13564" 20.2645 + sodipodi:linespacing="125%"><tspan 20.2646 + sodipodi:role="line" 20.2647 + id="tspan13566" 20.2648 + x="300.78931" 20.2649 + y="492.81934" 20.2650 + style="fill:#ff7f2a">Specializer</tspan></text> 20.2651 + </g> 20.2652 + <path 20.2653 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 20.2654 + d="m 282.42388,475.78099 -12.82051,8.11965" 20.2655 + id="path13568" 20.2656 + inkscape:connector-curvature="0" 20.2657 + sodipodi:nodetypes="cc" /> 20.2658 + <g 20.2659 + id="g13570" 20.2660 + transform="translate(-50,0.8547008)"> 20.2661 + <rect 20.2662 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 20.2663 + id="rect13572" 20.2664 + width="41.452991" 20.2665 + height="12.393162" 20.2666 + x="299.65811" 20.2667 + y="483.71259" /> 20.2668 + <text 20.2669 + sodipodi:linespacing="125%" 20.2670 + id="text13574" 20.2671 + y="492.81934" 20.2672 + x="300.78931" 20.2673 + style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 20.2674 + xml:space="preserve"><tspan 20.2675 + y="492.81934" 20.2676 + x="300.78931" 20.2677 + id="tspan13576" 20.2678 + sodipodi:role="line" 20.2679 + style="fill:#ff0000">Specializer</tspan></text> 20.2680 + </g> 20.2681 + <path 20.2682 + sodipodi:nodetypes="cc" 20.2683 + style="fill:none;stroke:#000000;stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 20.2684 + d="m 292.0558,457.01631 0,5.71571" 20.2685 + id="path13578" 20.2686 + inkscape:connector-curvature="0" /> 20.2687 + </g> 20.2688 + <path 20.2689 + style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 20.2690 + d="m 446.68347,575.78262 100.97409,0 0,0 0,0" 20.2691 + id="path13580" 20.2692 + inkscape:connector-curvature="0" /> 20.2693 + </g> 20.2694 +</svg>
21.1 Binary file 0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/Proto-Runtime__modules.pdf has changed
22.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 22.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/Proto-Runtime__modules.svg Fri Sep 13 11:02:18 2013 -0700 22.3 @@ -0,0 +1,219 @@ 22.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 22.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 22.6 + 22.7 +<svg 22.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 22.9 + xmlns:cc="http://creativecommons.org/ns#" 22.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 22.11 + xmlns:svg="http://www.w3.org/2000/svg" 22.12 + xmlns="http://www.w3.org/2000/svg" 22.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 22.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 22.15 + width="744.09448819" 22.16 + height="1052.3622047" 22.17 + id="svg2" 22.18 + sodipodi:version="0.32" 22.19 + inkscape:version="0.48.2 r9819" 22.20 + sodipodi:docname="Proto-Runtime__modules.pdf" 22.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 22.22 + version="1.1"> 22.23 + <defs 22.24 + id="defs4"> 22.25 + <marker 22.26 + inkscape:stockid="Arrow2Mend" 22.27 + orient="auto" 22.28 + refY="0.0" 22.29 + refX="0.0" 22.30 + id="Arrow2Mend" 22.31 + style="overflow:visible;"> 22.32 + <path 22.33 + id="path4008" 22.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 22.35 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 22.36 + transform="scale(0.6) rotate(180) translate(0,0)" /> 22.37 + </marker> 22.38 + <inkscape:perspective 22.39 + sodipodi:type="inkscape:persp3d" 22.40 + inkscape:vp_x="0 : 526.18109 : 1" 22.41 + inkscape:vp_y="0 : 1000 : 0" 22.42 + inkscape:vp_z="744.09448 : 526.18109 : 1" 22.43 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 22.44 + id="perspective10" /> 22.45 + <inkscape:perspective 22.46 + id="perspective12172" 22.47 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 22.48 + inkscape:vp_z="1 : 0.5 : 1" 22.49 + inkscape:vp_y="0 : 1000 : 0" 22.50 + inkscape:vp_x="0 : 0.5 : 1" 22.51 + sodipodi:type="inkscape:persp3d" /> 22.52 + <inkscape:perspective 22.53 + id="perspective12937" 22.54 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 22.55 + inkscape:vp_z="1 : 0.5 : 1" 22.56 + inkscape:vp_y="0 : 1000 : 0" 22.57 + inkscape:vp_x="0 : 0.5 : 1" 22.58 + sodipodi:type="inkscape:persp3d" /> 22.59 + </defs> 22.60 + <sodipodi:namedview 22.61 + id="base" 22.62 + pagecolor="#ffffff" 22.63 + bordercolor="#666666" 22.64 + borderopacity="1.0" 22.65 + gridtolerance="10000" 22.66 + guidetolerance="10" 22.67 + objecttolerance="10" 22.68 + inkscape:pageopacity="0.0" 22.69 + inkscape:pageshadow="2" 22.70 + inkscape:zoom="2.5442307" 22.71 + inkscape:cx="331.10449" 22.72 + inkscape:cy="538.12533" 22.73 + inkscape:document-units="px" 22.74 + inkscape:current-layer="layer1" 22.75 + showgrid="false" 22.76 + inkscape:window-width="1226" 22.77 + inkscape:window-height="878" 22.78 + inkscape:window-x="12" 22.79 + inkscape:window-y="0" 22.80 + inkscape:window-maximized="0" /> 22.81 + <metadata 22.82 + id="metadata7"> 22.83 + <rdf:RDF> 22.84 + <cc:Work 22.85 + rdf:about=""> 22.86 + <dc:format>image/svg+xml</dc:format> 22.87 + <dc:type 22.88 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 22.89 + <dc:title></dc:title> 22.90 + </cc:Work> 22.91 + </rdf:RDF> 22.92 + </metadata> 22.93 + <g 22.94 + inkscape:label="Layer 1" 22.95 + inkscape:groupmode="layer" 22.96 + id="layer1"> 22.97 + <text 22.98 + sodipodi:linespacing="100%" 22.99 + id="text12985" 22.100 + y="447.55026" 22.101 + x="343.00162" 22.102 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 22.103 + xml:space="preserve"><tspan 22.104 + y="447.55026" 22.105 + x="343.00162" 22.106 + sodipodi:role="line" 22.107 + id="tspan12989" 22.108 + style="text-align:center;text-anchor:middle">Parallelism</tspan><tspan 22.109 + id="tspan3147" 22.110 + y="457.55026" 22.111 + x="343.00162" 22.112 + sodipodi:role="line" 22.113 + style="text-align:center;text-anchor:middle">Construct</tspan><tspan 22.114 + id="tspan3149" 22.115 + y="467.55026" 22.116 + x="343.00162" 22.117 + sodipodi:role="line" 22.118 + style="text-align:center;text-anchor:middle">Module</tspan></text> 22.119 + <rect 22.120 + style="fill:none;stroke:#000000;stroke-width:1.08018136;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 22.121 + id="rect12971" 22.122 + width="131.7012" 22.123 + height="52.250008" 22.124 + x="310.30118" 22.125 + y="495.43658" /> 22.126 + <text 22.127 + xml:space="preserve" 22.128 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 22.129 + x="376.33487" 22.130 + y="515.20319" 22.131 + id="text12973" 22.132 + sodipodi:linespacing="100%"><tspan 22.133 + sodipodi:role="line" 22.134 + id="tspan12975" 22.135 + x="376.33487" 22.136 + y="515.20319" 22.137 + style="text-align:center;text-anchor:middle">Hardware Specific Module</tspan><tspan 22.138 + sodipodi:role="line" 22.139 + x="376.33487" 22.140 + y="525.20319" 22.141 + style="text-align:center;text-anchor:middle" 22.142 + id="tspan3155" /><tspan 22.143 + sodipodi:role="line" 22.144 + x="376.33487" 22.145 + y="533.63794" 22.146 + id="tspan3089" 22.147 + style="font-size:8px;text-align:center;text-anchor:middle">(Proto-Runtime)</tspan></text> 22.148 + <text 22.149 + sodipodi:linespacing="100%" 22.150 + id="text12985-7" 22.151 + y="447.52585" 22.152 + x="409.1481" 22.153 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 22.154 + xml:space="preserve"><tspan 22.155 + y="447.52585" 22.156 + x="409.1481" 22.157 + id="tspan12987-4" 22.158 + sodipodi:role="line" 22.159 + style="text-align:center;text-anchor:middle">Assignment</tspan><tspan 22.160 + id="tspan3151" 22.161 + y="457.52585" 22.162 + x="409.1481" 22.163 + sodipodi:role="line" 22.164 + style="text-align:center;text-anchor:middle">of Work</tspan><tspan 22.165 + y="467.52585" 22.166 + x="409.1481" 22.167 + sodipodi:role="line" 22.168 + id="tspan12989-0" 22.169 + style="text-align:center;text-anchor:middle">onto Cores</tspan><tspan 22.170 + id="tspan3153" 22.171 + y="477.52585" 22.172 + x="409.1481" 22.173 + sodipodi:role="line" 22.174 + style="text-align:center;text-anchor:middle">Module</tspan></text> 22.175 + <text 22.176 + xml:space="preserve" 22.177 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 22.178 + x="376.3902" 22.179 + y="493.19415" 22.180 + id="text12973-5" 22.181 + sodipodi:linespacing="100%"><tspan 22.182 + sodipodi:role="line" 22.183 + x="376.3902" 22.184 + y="493.19415" 22.185 + id="tspan3089-7" 22.186 + style="font-size:8px;text-align:center;text-anchor:middle">Hardware Abstraction Interface</tspan></text> 22.187 + <rect 22.188 + y="-495.43658" 22.189 + x="310.30118" 22.190 + height="9.1641436" 22.191 + width="131.7012" 22.192 + id="rect3204" 22.193 + style="fill:none;stroke:#000000;stroke-width:1.08018136;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 22.194 + transform="scale(1,-1)" /> 22.195 + <rect 22.196 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 22.197 + id="rect3217" 22.198 + width="65.276405" 22.199 + height="52.250008" 22.200 + x="310.40247" 22.201 + y="433.58255" /> 22.202 + <rect 22.203 + y="433.58255" 22.204 + x="376.40247" 22.205 + height="52.250008" 22.206 + width="65.276405" 22.207 + id="rect3219" 22.208 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 22.209 + <text 22.210 + sodipodi:linespacing="100%" 22.211 + id="text3328" 22.212 + y="425.20319" 22.213 + x="375.5488" 22.214 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 22.215 + xml:space="preserve"><tspan 22.216 + style="font-size:10px;text-align:center;text-anchor:middle" 22.217 + id="tspan3334" 22.218 + y="425.20319" 22.219 + x="375.5488" 22.220 + sodipodi:role="line">Code Stack for Runtime System</tspan></text> 22.221 + </g> 22.222 +</svg>
23.1 Binary file 0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/Proto-Runtime__modules_lang_breakdown.pdf has changed
24.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 24.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/Proto-Runtime__modules_lang_breakdown.svg Fri Sep 13 11:02:18 2013 -0700 24.3 @@ -0,0 +1,243 @@ 24.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 24.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 24.6 + 24.7 +<svg 24.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 24.9 + xmlns:cc="http://creativecommons.org/ns#" 24.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 24.11 + xmlns:svg="http://www.w3.org/2000/svg" 24.12 + xmlns="http://www.w3.org/2000/svg" 24.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 24.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 24.15 + width="744.09448819" 24.16 + height="1052.3622047" 24.17 + id="svg2" 24.18 + sodipodi:version="0.32" 24.19 + inkscape:version="0.48.2 r9819" 24.20 + sodipodi:docname="Proto-Runtime__modules_lang_breakdown.svg" 24.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 24.22 + version="1.1"> 24.23 + <defs 24.24 + id="defs4"> 24.25 + <marker 24.26 + inkscape:stockid="Arrow2Mend" 24.27 + orient="auto" 24.28 + refY="0.0" 24.29 + refX="0.0" 24.30 + id="Arrow2Mend" 24.31 + style="overflow:visible;"> 24.32 + <path 24.33 + id="path4008" 24.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 24.35 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 24.36 + transform="scale(0.6) rotate(180) translate(0,0)" /> 24.37 + </marker> 24.38 + <inkscape:perspective 24.39 + sodipodi:type="inkscape:persp3d" 24.40 + inkscape:vp_x="0 : 526.18109 : 1" 24.41 + inkscape:vp_y="0 : 1000 : 0" 24.42 + inkscape:vp_z="744.09448 : 526.18109 : 1" 24.43 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 24.44 + id="perspective10" /> 24.45 + <inkscape:perspective 24.46 + id="perspective12172" 24.47 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 24.48 + inkscape:vp_z="1 : 0.5 : 1" 24.49 + inkscape:vp_y="0 : 1000 : 0" 24.50 + inkscape:vp_x="0 : 0.5 : 1" 24.51 + sodipodi:type="inkscape:persp3d" /> 24.52 + <inkscape:perspective 24.53 + id="perspective12937" 24.54 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 24.55 + inkscape:vp_z="1 : 0.5 : 1" 24.56 + inkscape:vp_y="0 : 1000 : 0" 24.57 + inkscape:vp_x="0 : 0.5 : 1" 24.58 + sodipodi:type="inkscape:persp3d" /> 24.59 + </defs> 24.60 + <sodipodi:namedview 24.61 + id="base" 24.62 + pagecolor="#ffffff" 24.63 + bordercolor="#666666" 24.64 + borderopacity="1.0" 24.65 + gridtolerance="10000" 24.66 + guidetolerance="10" 24.67 + objecttolerance="10" 24.68 + inkscape:pageopacity="0.0" 24.69 + inkscape:pageshadow="2" 24.70 + inkscape:zoom="2.5442307" 24.71 + inkscape:cx="377.60185" 24.72 + inkscape:cy="538.12533" 24.73 + inkscape:document-units="px" 24.74 + inkscape:current-layer="layer1" 24.75 + showgrid="false" 24.76 + inkscape:window-width="1226" 24.77 + inkscape:window-height="878" 24.78 + inkscape:window-x="12" 24.79 + inkscape:window-y="0" 24.80 + inkscape:window-maximized="0" /> 24.81 + <metadata 24.82 + id="metadata7"> 24.83 + <rdf:RDF> 24.84 + <cc:Work 24.85 + rdf:about=""> 24.86 + <dc:format>image/svg+xml</dc:format> 24.87 + <dc:type 24.88 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 24.89 + <dc:title></dc:title> 24.90 + </cc:Work> 24.91 + </rdf:RDF> 24.92 + </metadata> 24.93 + <g 24.94 + inkscape:label="Layer 1" 24.95 + inkscape:groupmode="layer" 24.96 + id="layer1"> 24.97 + <text 24.98 + sodipodi:linespacing="100%" 24.99 + id="text12985" 24.100 + y="447.55026" 24.101 + x="393.00162" 24.102 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 24.103 + xml:space="preserve"><tspan 24.104 + y="447.55026" 24.105 + x="393.00162" 24.106 + sodipodi:role="line" 24.107 + id="tspan12989" 24.108 + style="text-align:center;text-anchor:middle">Code of</tspan><tspan 24.109 + y="457.55026" 24.110 + x="393.00162" 24.111 + sodipodi:role="line" 24.112 + style="text-align:center;text-anchor:middle" 24.113 + id="tspan6029">parallelism</tspan><tspan 24.114 + id="tspan3147" 24.115 + y="467.55026" 24.116 + x="393.00162" 24.117 + sodipodi:role="line" 24.118 + style="text-align:center;text-anchor:middle">construct</tspan><tspan 24.119 + id="tspan3149" 24.120 + y="477.55026" 24.121 + x="393.00162" 24.122 + sodipodi:role="line" 24.123 + style="text-align:center;text-anchor:middle">module</tspan></text> 24.124 + <text 24.125 + sodipodi:linespacing="100%" 24.126 + id="text12985-7" 24.127 + y="447.52585" 24.128 + x="459.1481" 24.129 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 24.130 + xml:space="preserve"><tspan 24.131 + y="447.52585" 24.132 + x="459.1481" 24.133 + id="tspan12987-4" 24.134 + sodipodi:role="line" 24.135 + style="text-align:center;text-anchor:middle">Code of</tspan><tspan 24.136 + y="457.52585" 24.137 + x="459.1481" 24.138 + sodipodi:role="line" 24.139 + style="text-align:center;text-anchor:middle" 24.140 + id="tspan6031">assignment</tspan><tspan 24.141 + y="467.52585" 24.142 + x="459.1481" 24.143 + sodipodi:role="line" 24.144 + id="tspan12989-0" 24.145 + style="text-align:center;text-anchor:middle">onto cores</tspan><tspan 24.146 + id="tspan3153" 24.147 + y="477.52585" 24.148 + x="459.1481" 24.149 + sodipodi:role="line" 24.150 + style="text-align:center;text-anchor:middle">module</tspan></text> 24.151 + <rect 24.152 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 24.153 + id="rect3217" 24.154 + width="65.276405" 24.155 + height="52.250008" 24.156 + x="360.40247" 24.157 + y="433.58255" /> 24.158 + <rect 24.159 + y="433.58255" 24.160 + x="426.40247" 24.161 + height="52.250008" 24.162 + width="65.276405" 24.163 + id="rect3219" 24.164 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 24.165 + <text 24.166 + sodipodi:linespacing="100%" 24.167 + id="text3328" 24.168 + y="425.20319" 24.169 + x="375.5488" 24.170 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 24.171 + xml:space="preserve"><tspan 24.172 + style="font-size:10px;text-align:center;text-anchor:middle" 24.173 + id="tspan3334" 24.174 + y="425.20319" 24.175 + x="375.5488" 24.176 + sodipodi:role="line">Code Breakdown of a Language Implementation</tspan></text> 24.177 + <text 24.178 + xml:space="preserve" 24.179 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 24.180 + x="297.00894" 24.181 + y="447.55026" 24.182 + id="text5501" 24.183 + sodipodi:linespacing="100%"><tspan 24.184 + style="text-align:center;text-anchor:middle" 24.185 + id="tspan5503" 24.186 + sodipodi:role="line" 24.187 + x="297.00894" 24.188 + y="447.55026">Code of</tspan><tspan 24.189 + style="text-align:center;text-anchor:middle" 24.190 + sodipodi:role="line" 24.191 + x="297.00894" 24.192 + y="457.55026" 24.193 + id="tspan6027">wrapper</tspan><tspan 24.194 + style="text-align:center;text-anchor:middle" 24.195 + sodipodi:role="line" 24.196 + x="297.00894" 24.197 + y="467.55026" 24.198 + id="tspan5507">library</tspan></text> 24.199 + <rect 24.200 + y="433.58255" 24.201 + x="264.40247" 24.202 + height="52.250008" 24.203 + width="65.276405" 24.204 + id="rect5511" 24.205 + style="fill:none;stroke:#000000;stroke-width:1.08000004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4.32, 4.32;stroke-dashoffset:0" /> 24.206 + <text 24.207 + sodipodi:linespacing="100%" 24.208 + id="text6035" 24.209 + y="503.55026" 24.210 + x="297.01334" 24.211 + style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 24.212 + xml:space="preserve"><tspan 24.213 + id="tspan6041" 24.214 + y="503.55026" 24.215 + x="297.01334" 24.216 + sodipodi:role="line" 24.217 + style="font-size:8px;text-align:center;text-anchor:middle">Compiled into</tspan><tspan 24.218 + y="511.55026" 24.219 + x="297.01334" 24.220 + sodipodi:role="line" 24.221 + style="font-size:8px;text-align:center;text-anchor:middle" 24.222 + id="tspan6047">application</tspan><tspan 24.223 + y="519.55029" 24.224 + x="297.01334" 24.225 + sodipodi:role="line" 24.226 + style="font-size:8px;text-align:center;text-anchor:middle" 24.227 + id="tspan6049">executable</tspan></text> 24.228 + <text 24.229 + xml:space="preserve" 24.230 + style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 24.231 + x="425.00162" 24.232 + y="503.55026" 24.233 + id="text6051" 24.234 + sodipodi:linespacing="100%"><tspan 24.235 + style="font-size:8px;text-align:center;text-anchor:middle" 24.236 + sodipodi:role="line" 24.237 + x="425.00162" 24.238 + y="503.55026" 24.239 + id="tspan6053">Compiled separately</tspan><tspan 24.240 + id="tspan6057" 24.241 + style="font-size:8px;text-align:center;text-anchor:middle" 24.242 + sodipodi:role="line" 24.243 + x="425.00162" 24.244 + y="511.55026">as a dynamic library</tspan></text> 24.245 + </g> 24.246 +</svg>
25.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 25.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/Proto-Runtime__modules_plus_plugin.svg Fri Sep 13 11:02:18 2013 -0700 25.3 @@ -0,0 +1,618 @@ 25.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 25.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 25.6 + 25.7 +<svg 25.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 25.9 + xmlns:cc="http://creativecommons.org/ns#" 25.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 25.11 + xmlns:svg="http://www.w3.org/2000/svg" 25.12 + xmlns="http://www.w3.org/2000/svg" 25.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 25.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 25.15 + width="744.09448819" 25.16 + height="1052.3622047" 25.17 + id="svg2" 25.18 + sodipodi:version="0.32" 25.19 + inkscape:version="0.48.2 r9819" 25.20 + sodipodi:docname="Proto-Runtime__modules_plus_plugin.svg" 25.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 25.22 + version="1.1"> 25.23 + <defs 25.24 + id="defs4"> 25.25 + <marker 25.26 + inkscape:stockid="Arrow2Mend" 25.27 + orient="auto" 25.28 + refY="0.0" 25.29 + refX="0.0" 25.30 + id="Arrow2Mend" 25.31 + style="overflow:visible;"> 25.32 + <path 25.33 + id="path4008" 25.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 25.35 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 25.36 + transform="scale(0.6) rotate(180) translate(0,0)" /> 25.37 + </marker> 25.38 + <inkscape:perspective 25.39 + sodipodi:type="inkscape:persp3d" 25.40 + inkscape:vp_x="0 : 526.18109 : 1" 25.41 + inkscape:vp_y="0 : 1000 : 0" 25.42 + inkscape:vp_z="744.09448 : 526.18109 : 1" 25.43 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 25.44 + id="perspective10" /> 25.45 + <inkscape:perspective 25.46 + id="perspective12172" 25.47 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 25.48 + inkscape:vp_z="1 : 0.5 : 1" 25.49 + inkscape:vp_y="0 : 1000 : 0" 25.50 + inkscape:vp_x="0 : 0.5 : 1" 25.51 + sodipodi:type="inkscape:persp3d" /> 25.52 + <inkscape:perspective 25.53 + id="perspective12937" 25.54 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 25.55 + inkscape:vp_z="1 : 0.5 : 1" 25.56 + inkscape:vp_y="0 : 1000 : 0" 25.57 + inkscape:vp_x="0 : 0.5 : 1" 25.58 + sodipodi:type="inkscape:persp3d" /> 25.59 + </defs> 25.60 + <sodipodi:namedview 25.61 + id="base" 25.62 + pagecolor="#ffffff" 25.63 + bordercolor="#666666" 25.64 + borderopacity="1.0" 25.65 + gridtolerance="10000" 25.66 + guidetolerance="10" 25.67 + objecttolerance="10" 25.68 + inkscape:pageopacity="0.0" 25.69 + inkscape:pageshadow="2" 25.70 + inkscape:zoom="1.553811" 25.71 + inkscape:cx="310.29102" 25.72 + inkscape:cy="586.15006" 25.73 + inkscape:document-units="px" 25.74 + inkscape:current-layer="layer1" 25.75 + showgrid="false" 25.76 + inkscape:window-width="1600" 25.77 + inkscape:window-height="848" 25.78 + inkscape:window-x="-8" 25.79 + inkscape:window-y="-8" 25.80 + inkscape:window-maximized="1" /> 25.81 + <metadata 25.82 + id="metadata7"> 25.83 + <rdf:RDF> 25.84 + <cc:Work 25.85 + rdf:about=""> 25.86 + <dc:format>image/svg+xml</dc:format> 25.87 + <dc:type 25.88 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 25.89 + <dc:title /> 25.90 + </cc:Work> 25.91 + </rdf:RDF> 25.92 + </metadata> 25.93 + <g 25.94 + inkscape:label="Layer 1" 25.95 + inkscape:groupmode="layer" 25.96 + id="layer1"> 25.97 + <rect 25.98 + y="417.82236" 25.99 + x="127.32263" 25.100 + height="69.307014" 25.101 + width="137.26534" 25.102 + id="rect12977" 25.103 + style="fill:none;stroke:#800000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4.32072507, 4.32072507;stroke-dashoffset:0" /> 25.104 + <text 25.105 + sodipodi:linespacing="100%" 25.106 + id="text12979" 25.107 + y="399.76575" 25.108 + x="195.84009" 25.109 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 25.110 + xml:space="preserve"><tspan 25.111 + y="399.76575" 25.112 + x="195.84009" 25.113 + id="tspan12981" 25.114 + sodipodi:role="line" 25.115 + style="text-align:center;text-anchor:middle">Master</tspan><tspan 25.116 + y="408.20053" 25.117 + x="195.84009" 25.118 + sodipodi:role="line" 25.119 + id="tspan3291" 25.120 + style="font-size:8px;text-align:center;text-anchor:middle">(runtime system)</tspan></text> 25.121 + <text 25.122 + sodipodi:linespacing="100%" 25.123 + id="text12985" 25.124 + y="447.55026" 25.125 + x="163.00162" 25.126 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 25.127 + xml:space="preserve"><tspan 25.128 + y="447.55026" 25.129 + x="163.00162" 25.130 + sodipodi:role="line" 25.131 + id="tspan12989" 25.132 + style="text-align:center;text-anchor:middle">Construct</tspan><tspan 25.133 + id="tspan3147" 25.134 + y="457.55026" 25.135 + x="163.00162" 25.136 + sodipodi:role="line" 25.137 + style="text-align:center;text-anchor:middle">Semantics</tspan><tspan 25.138 + id="tspan3149" 25.139 + y="467.55026" 25.140 + x="163.00162" 25.141 + sodipodi:role="line" 25.142 + style="text-align:center;text-anchor:middle">Module</tspan></text> 25.143 + <rect 25.144 + style="fill:none;stroke:#000000;stroke-width:1.08018136;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 25.145 + id="rect12971" 25.146 + width="131.7012" 25.147 + height="52.250008" 25.148 + x="130.30118" 25.149 + y="495.43658" /> 25.150 + <text 25.151 + xml:space="preserve" 25.152 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 25.153 + x="196.33487" 25.154 + y="515.20319" 25.155 + id="text12973" 25.156 + sodipodi:linespacing="100%"><tspan 25.157 + sodipodi:role="line" 25.158 + id="tspan12975" 25.159 + x="196.33487" 25.160 + y="515.20319" 25.161 + style="text-align:center;text-anchor:middle">Hardware Specific Module</tspan><tspan 25.162 + sodipodi:role="line" 25.163 + x="196.33487" 25.164 + y="525.20319" 25.165 + style="text-align:center;text-anchor:middle" 25.166 + id="tspan3155" /><tspan 25.167 + sodipodi:role="line" 25.168 + x="196.33487" 25.169 + y="533.63794" 25.170 + id="tspan3089" 25.171 + style="font-size:8px;text-align:center;text-anchor:middle">(Proto-Runtime)</tspan></text> 25.172 + <text 25.173 + sodipodi:linespacing="100%" 25.174 + id="text12985-7" 25.175 + y="447.52585" 25.176 + x="229.1481" 25.177 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 25.178 + xml:space="preserve"><tspan 25.179 + y="447.52585" 25.180 + x="229.1481" 25.181 + id="tspan12987-4" 25.182 + sodipodi:role="line" 25.183 + style="text-align:center;text-anchor:middle">Assignment</tspan><tspan 25.184 + id="tspan3151" 25.185 + y="457.52585" 25.186 + x="229.1481" 25.187 + sodipodi:role="line" 25.188 + style="text-align:center;text-anchor:middle">of Work</tspan><tspan 25.189 + y="467.52585" 25.190 + x="229.1481" 25.191 + sodipodi:role="line" 25.192 + id="tspan12989-0" 25.193 + style="text-align:center;text-anchor:middle">onto Cores</tspan><tspan 25.194 + id="tspan3153" 25.195 + y="477.52585" 25.196 + x="229.1481" 25.197 + sodipodi:role="line" 25.198 + style="text-align:center;text-anchor:middle">Module</tspan></text> 25.199 + <text 25.200 + xml:space="preserve" 25.201 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 25.202 + x="193.25641" 25.203 + y="426.6572" 25.204 + id="text12985-8" 25.205 + sodipodi:linespacing="100%"><tspan 25.206 + style="text-align:center;text-anchor:middle;fill:#800000" 25.207 + id="tspan12989-4" 25.208 + sodipodi:role="line" 25.209 + x="193.25641" 25.210 + y="426.6572">Language Plug-in</tspan></text> 25.211 + <text 25.212 + xml:space="preserve" 25.213 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 25.214 + x="196.3902" 25.215 + y="493.19415" 25.216 + id="text12973-5" 25.217 + sodipodi:linespacing="100%"><tspan 25.218 + sodipodi:role="line" 25.219 + x="196.3902" 25.220 + y="493.19415" 25.221 + id="tspan3089-7" 25.222 + style="font-size:8px;text-align:center;text-anchor:middle">Hardware Abstraction Interface</tspan></text> 25.223 + <rect 25.224 + y="-495.43658" 25.225 + x="130.30118" 25.226 + height="9.1641436" 25.227 + width="131.7012" 25.228 + id="rect3204" 25.229 + style="fill:none;stroke:#000000;stroke-width:1.08018136;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 25.230 + transform="scale(1,-1)" /> 25.231 + <rect 25.232 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 25.233 + id="rect3217" 25.234 + width="65.276405" 25.235 + height="52.250008" 25.236 + x="130.40247" 25.237 + y="433.58255" /> 25.238 + <rect 25.239 + y="433.58255" 25.240 + x="196.40247" 25.241 + height="52.250008" 25.242 + width="65.276405" 25.243 + id="rect3219" 25.244 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 25.245 + <rect 25.246 + style="fill:none;stroke:#000080;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 25.247 + id="rect3289" 25.248 + width="148.27063" 25.249 + height="164.03113" 25.250 + x="121.82001" 25.251 + y="389.8118" /> 25.252 + <g 25.253 + id="g3303" 25.254 + transform="translate(-16,76)"> 25.255 + <rect 25.256 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 25.257 + id="rect3293" 25.258 + width="65.276405" 25.259 + height="52.250008" 25.260 + x="310.40247" 25.261 + y="313.58255" /> 25.262 + <text 25.263 + sodipodi:linespacing="100%" 25.264 + id="text3295" 25.265 + y="327.55026" 25.266 + x="343.00162" 25.267 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 25.268 + xml:space="preserve"><tspan 25.269 + id="tspan3301" 25.270 + y="327.55026" 25.271 + x="343.00162" 25.272 + sodipodi:role="line" 25.273 + style="text-align:center;text-anchor:middle">Seed VP</tspan></text> 25.274 + </g> 25.275 + <g 25.276 + id="g3314" 25.277 + transform="translate(-16,140)"> 25.278 + <rect 25.279 + y="313.58255" 25.280 + x="310.40247" 25.281 + height="52.250008" 25.282 + width="65.276405" 25.283 + id="rect3316" 25.284 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 25.285 + <text 25.286 + xml:space="preserve" 25.287 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 25.288 + x="343.00162" 25.289 + y="327.55026" 25.290 + id="text3318" 25.291 + sodipodi:linespacing="100%"><tspan 25.292 + style="text-align:center;text-anchor:middle" 25.293 + sodipodi:role="line" 25.294 + x="343.00162" 25.295 + y="327.55026" 25.296 + id="tspan3320">VP created</tspan><tspan 25.297 + style="text-align:center;text-anchor:middle" 25.298 + sodipodi:role="line" 25.299 + x="343.00162" 25.300 + y="337.55026" 25.301 + id="tspan3322">by Application</tspan></text> 25.302 + </g> 25.303 + <g 25.304 + transform="translate(-16,204)" 25.305 + id="g3340"> 25.306 + <rect 25.307 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 25.308 + id="rect3342" 25.309 + width="65.276405" 25.310 + height="52.250008" 25.311 + x="310.40247" 25.312 + y="313.58255" /> 25.313 + <text 25.314 + sodipodi:linespacing="100%" 25.315 + id="text3344" 25.316 + y="327.55026" 25.317 + x="343.00162" 25.318 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 25.319 + xml:space="preserve"><tspan 25.320 + id="tspan3346" 25.321 + y="327.55026" 25.322 + x="343.00162" 25.323 + sodipodi:role="line" 25.324 + style="text-align:center;text-anchor:middle">VP created</tspan><tspan 25.325 + id="tspan3348" 25.326 + y="337.55026" 25.327 + x="343.00162" 25.328 + sodipodi:role="line" 25.329 + style="text-align:center;text-anchor:middle">by Application</tspan></text> 25.330 + </g> 25.331 + <text 25.332 + xml:space="preserve" 25.333 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 25.334 + x="411.16797" 25.335 + y="369.42465" 25.336 + id="text3318-1" 25.337 + sodipodi:linespacing="100%"><tspan 25.338 + style="text-align:center;text-anchor:middle" 25.339 + sodipodi:role="line" 25.340 + x="411.16797" 25.341 + y="369.42465" 25.342 + id="tspan3322-5">Application Code</tspan></text> 25.343 + <text 25.344 + sodipodi:linespacing="100%" 25.345 + id="text3376" 25.346 + y="417.42465" 25.347 + x="411.16797" 25.348 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 25.349 + xml:space="preserve"><tspan 25.350 + id="tspan3378" 25.351 + y="417.42465" 25.352 + x="411.16797" 25.353 + sodipodi:role="line" 25.354 + style="text-align:center;text-anchor:middle">Seed_Fn</tspan></text> 25.355 + <text 25.356 + xml:space="preserve" 25.357 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 25.358 + x="411.16797" 25.359 + y="513.42468" 25.360 + id="text3380" 25.361 + sodipodi:linespacing="100%"><tspan 25.362 + style="text-align:center;text-anchor:middle" 25.363 + sodipodi:role="line" 25.364 + x="411.16797" 25.365 + y="513.42468" 25.366 + id="tspan3382">Work_Fn</tspan></text> 25.367 + <text 25.368 + sodipodi:linespacing="100%" 25.369 + id="text3384" 25.370 + y="505.42465" 25.371 + x="511.16797" 25.372 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 25.373 + xml:space="preserve"><tspan 25.374 + id="tspan3386" 25.375 + y="505.42465" 25.376 + x="511.16797" 25.377 + sodipodi:role="line" 25.378 + style="text-align:center;text-anchor:middle">prallelism_construct2_Fn</tspan></text> 25.379 + <text 25.380 + sodipodi:linespacing="100%" 25.381 + id="text3388" 25.382 + y="369.42465" 25.383 + x="509.16797" 25.384 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 25.385 + xml:space="preserve"><tspan 25.386 + id="tspan3390" 25.387 + y="369.42465" 25.388 + x="509.16797" 25.389 + sodipodi:role="line" 25.390 + style="text-align:center;text-anchor:middle">Language Wrapper Lib</tspan><tspan 25.391 + y="379.42465" 25.392 + x="509.16797" 25.393 + sodipodi:role="line" 25.394 + style="text-align:center;text-anchor:middle" 25.395 + id="tspan3392">Code</tspan></text> 25.396 + <text 25.397 + xml:space="preserve" 25.398 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 25.399 + x="619.16797" 25.400 + y="369.42465" 25.401 + id="text3394" 25.402 + sodipodi:linespacing="100%"><tspan 25.403 + style="text-align:center;text-anchor:middle" 25.404 + sodipodi:role="line" 25.405 + x="619.16797" 25.406 + y="369.42465" 25.407 + id="tspan3396">Proto-Runtime Primitive</tspan><tspan 25.408 + id="tspan3398" 25.409 + style="text-align:center;text-anchor:middle" 25.410 + sodipodi:role="line" 25.411 + x="619.16797" 25.412 + y="379.42465">Code</tspan></text> 25.413 + <text 25.414 + sodipodi:linespacing="100%" 25.415 + id="text3400" 25.416 + y="369.42465" 25.417 + x="67.167969" 25.418 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 25.419 + xml:space="preserve"><tspan 25.420 + id="tspan3402" 25.421 + y="369.42465" 25.422 + x="67.167969" 25.423 + sodipodi:role="line" 25.424 + style="text-align:center;text-anchor:middle">Language Plugin</tspan><tspan 25.425 + y="379.42465" 25.426 + x="67.167969" 25.427 + sodipodi:role="line" 25.428 + style="text-align:center;text-anchor:middle" 25.429 + id="tspan3404">Code</tspan></text> 25.430 + <text 25.431 + xml:space="preserve" 25.432 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 25.433 + x="-20.832031" 25.434 + y="369.42465" 25.435 + id="text3406" 25.436 + sodipodi:linespacing="100%"><tspan 25.437 + style="text-align:center;text-anchor:middle" 25.438 + sodipodi:role="line" 25.439 + x="-20.832031" 25.440 + y="369.42465" 25.441 + id="tspan3408">Proto-Runtime</tspan><tspan 25.442 + id="tspan3410" 25.443 + style="text-align:center;text-anchor:middle" 25.444 + sodipodi:role="line" 25.445 + x="-20.832031" 25.446 + y="379.42465">Code</tspan></text> 25.447 + <text 25.448 + xml:space="preserve" 25.449 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 25.450 + x="67.167969" 25.451 + y="439.42465" 25.452 + id="text3412" 25.453 + sodipodi:linespacing="100%"><tspan 25.454 + style="text-align:center;text-anchor:middle" 25.455 + sodipodi:role="line" 25.456 + x="67.167969" 25.457 + y="439.42465" 25.458 + id="tspan3414">Handler</tspan><tspan 25.459 + style="text-align:center;text-anchor:middle" 25.460 + sodipodi:role="line" 25.461 + x="67.167969" 25.462 + y="449.42465" 25.463 + id="tspan3418">for Language</tspan><tspan 25.464 + style="text-align:center;text-anchor:middle" 25.465 + sodipodi:role="line" 25.466 + x="67.167969" 25.467 + y="459.42465" 25.468 + id="tspan3422">Construct1</tspan></text> 25.469 + <text 25.470 + sodipodi:linespacing="100%" 25.471 + id="text3424" 25.472 + y="481.42465" 25.473 + x="67.167969" 25.474 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 25.475 + xml:space="preserve"><tspan 25.476 + id="tspan3426" 25.477 + y="481.42465" 25.478 + x="67.167969" 25.479 + sodipodi:role="line" 25.480 + style="text-align:center;text-anchor:middle">Handler</tspan><tspan 25.481 + id="tspan3428" 25.482 + y="491.42465" 25.483 + x="67.167969" 25.484 + sodipodi:role="line" 25.485 + style="text-align:center;text-anchor:middle">for Language</tspan><tspan 25.486 + id="tspan3430" 25.487 + y="501.42465" 25.488 + x="67.167969" 25.489 + sodipodi:role="line" 25.490 + style="text-align:center;text-anchor:middle">Construct2</tspan></text> 25.491 + <text 25.492 + xml:space="preserve" 25.493 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 25.494 + x="-14.832031" 25.495 + y="447.42465" 25.496 + id="text3432" 25.497 + sodipodi:linespacing="100%"><tspan 25.498 + style="text-align:center;text-anchor:middle" 25.499 + sodipodi:role="line" 25.500 + x="-14.832031" 25.501 + y="447.42465" 25.502 + id="tspan3438">Master Fn</tspan></text> 25.503 + <text 25.504 + xml:space="preserve" 25.505 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 25.506 + x="67.167969" 25.507 + y="531.42468" 25.508 + id="text3444" 25.509 + sodipodi:linespacing="100%"><tspan 25.510 + style="text-align:center;text-anchor:middle" 25.511 + sodipodi:role="line" 25.512 + x="67.167969" 25.513 + y="531.42468" 25.514 + id="tspan3450">Assigner Fn</tspan></text> 25.515 + <text 25.516 + xml:space="preserve" 25.517 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 25.518 + x="187.16797" 25.519 + y="369.42465" 25.520 + id="text3456" 25.521 + sodipodi:linespacing="100%"><tspan 25.522 + style="text-align:center;text-anchor:middle" 25.523 + sodipodi:role="line" 25.524 + x="187.16797" 25.525 + y="369.42465" 25.526 + id="tspan3458">Instance of runtime system</tspan><tspan 25.527 + id="tspan3460" 25.528 + style="text-align:center;text-anchor:middle" 25.529 + sodipodi:role="line" 25.530 + x="187.16797" 25.531 + y="379.42465" /></text> 25.532 + <text 25.533 + sodipodi:linespacing="100%" 25.534 + id="text3462" 25.535 + y="369.42465" 25.536 + x="329.16797" 25.537 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 25.538 + xml:space="preserve"><tspan 25.539 + id="tspan3464" 25.540 + y="369.42465" 25.541 + x="329.16797" 25.542 + sodipodi:role="line" 25.543 + style="text-align:center;text-anchor:middle">Instances of</tspan><tspan 25.544 + y="379.42465" 25.545 + x="329.16797" 25.546 + sodipodi:role="line" 25.547 + style="text-align:center;text-anchor:middle" 25.548 + id="tspan3468">Virtual Processors</tspan><tspan 25.549 + y="389.42465" 25.550 + x="329.16797" 25.551 + sodipodi:role="line" 25.552 + style="text-align:center;text-anchor:middle" 25.553 + id="tspan3466" /></text> 25.554 + <path 25.555 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:3,3;stroke-dashoffset:0" 25.556 + d="m 135.99815,448.02605 c -36.926653,0 -36.926653,0 -36.926653,0" 25.557 + id="path3470" 25.558 + inkscape:connector-curvature="0" /> 25.559 + <path 25.560 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:3,3;stroke-dashoffset:0" 25.561 + d="m 135.99815,464.23775 c -36.026003,21.6156 -36.026003,21.6156 -36.026003,21.6156" 25.562 + id="path3472" 25.563 + inkscape:connector-curvature="0" /> 25.564 + <path 25.565 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:3,3;stroke-dashoffset:0" 25.566 + d="M 205.34819,475.9462 C 98.170847,524.5813 98.170847,524.5813 98.170847,524.5813" 25.567 + id="path3474" 25.568 + inkscape:connector-curvature="0" /> 25.569 + <path 25.570 + inkscape:connector-curvature="0" 25.571 + id="path4796" 25.572 + d="m 352.24713,414.02605 c 36.92665,0 36.92665,0 36.92665,0" 25.573 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:3,3;stroke-dashoffset:0" /> 25.574 + <path 25.575 + inkscape:connector-curvature="0" 25.576 + id="path4798" 25.577 + d="m 347.34145,484.23775 c 36.026,21.6156 36.026,21.6156 36.026,21.6156" 25.578 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:3,3;stroke-dashoffset:0" /> 25.579 + <path 25.580 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:3,3;stroke-dashoffset:0" 25.581 + d="m 347.34145,538.0265 c 36.026,-21.6156 36.026,-21.6156 36.026,-21.6156" 25.582 + id="path4800" 25.583 + inkscape:connector-curvature="0" /> 25.584 + <path 25.585 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:3,3;stroke-dashoffset:0" 25.586 + d="M 143.20334,538.09105 C 33.324049,540.793 45.933148,547.09755 33.324049,540.793 20.714949,534.48845 3.6025999,454.3306 3.6025999,454.3306" 25.587 + id="path4804" 25.588 + inkscape:connector-curvature="0" 25.589 + sodipodi:nodetypes="csc" /> 25.590 + <text 25.591 + xml:space="preserve" 25.592 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 25.593 + x="511.16797" 25.594 + y="465.42465" 25.595 + id="text4988" 25.596 + sodipodi:linespacing="100%"><tspan 25.597 + style="text-align:center;text-anchor:middle" 25.598 + sodipodi:role="line" 25.599 + x="511.16797" 25.600 + y="465.42465" 25.601 + id="tspan4990">prallelism_construct1_Fn</tspan></text> 25.602 + <path 25.603 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 25.604 + d="m 408.02904,422.29841 c 0,38.61474 0,38.61474 0,38.61474" 25.605 + id="path4992" 25.606 + inkscape:connector-curvature="0" 25.607 + sodipodi:nodetypes="cc" /> 25.608 + <path 25.609 + sodipodi:nodetypes="cc" 25.610 + inkscape:connector-curvature="0" 25.611 + id="path4994" 25.612 + d="m 408.02904,522.29841 c 0,38.61474 0,38.61474 0,38.61474" 25.613 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 25.614 + <path 25.615 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 25.616 + d="m -15.97096,456.2984 c 0,76.74209 0,76.74209 0,76.74209" 25.617 + id="path4996" 25.618 + inkscape:connector-curvature="0" 25.619 + sodipodi:nodetypes="cc" /> 25.620 + </g> 25.621 +</svg>
26.1 Binary file 0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/Proto-Runtime__modules_plus_plugin_plus_code.pdf has changed
27.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 27.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/Proto-Runtime__modules_plus_plugin_plus_code.svg Fri Sep 13 11:02:18 2013 -0700 27.3 @@ -0,0 +1,2026 @@ 27.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 27.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 27.6 + 27.7 +<svg 27.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 27.9 + xmlns:cc="http://creativecommons.org/ns#" 27.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 27.11 + xmlns:svg="http://www.w3.org/2000/svg" 27.12 + xmlns="http://www.w3.org/2000/svg" 27.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 27.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 27.15 + width="744.09448819" 27.16 + height="1052.3622047" 27.17 + id="svg2" 27.18 + sodipodi:version="0.32" 27.19 + inkscape:version="0.48.2 r9819" 27.20 + sodipodi:docname="Proto-Runtime__modules_plus_plugin_plus_code.svg" 27.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 27.22 + version="1.1"> 27.23 + <defs 27.24 + id="defs4"> 27.25 + <marker 27.26 + inkscape:stockid="Arrow2Mend" 27.27 + orient="auto" 27.28 + refY="0.0" 27.29 + refX="0.0" 27.30 + id="Arrow2Mend" 27.31 + style="overflow:visible;"> 27.32 + <path 27.33 + id="path4008" 27.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 27.35 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 27.36 + transform="scale(0.6) rotate(180) translate(0,0)" /> 27.37 + </marker> 27.38 + <inkscape:perspective 27.39 + sodipodi:type="inkscape:persp3d" 27.40 + inkscape:vp_x="0 : 526.18109 : 1" 27.41 + inkscape:vp_y="0 : 1000 : 0" 27.42 + inkscape:vp_z="744.09448 : 526.18109 : 1" 27.43 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 27.44 + id="perspective10" /> 27.45 + <inkscape:perspective 27.46 + id="perspective12172" 27.47 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 27.48 + inkscape:vp_z="1 : 0.5 : 1" 27.49 + inkscape:vp_y="0 : 1000 : 0" 27.50 + inkscape:vp_x="0 : 0.5 : 1" 27.51 + sodipodi:type="inkscape:persp3d" /> 27.52 + <inkscape:perspective 27.53 + id="perspective12937" 27.54 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 27.55 + inkscape:vp_z="1 : 0.5 : 1" 27.56 + inkscape:vp_y="0 : 1000 : 0" 27.57 + inkscape:vp_x="0 : 0.5 : 1" 27.58 + sodipodi:type="inkscape:persp3d" /> 27.59 + </defs> 27.60 + <sodipodi:namedview 27.61 + id="base" 27.62 + pagecolor="#ffffff" 27.63 + bordercolor="#666666" 27.64 + borderopacity="1.0" 27.65 + gridtolerance="10000" 27.66 + guidetolerance="10" 27.67 + objecttolerance="10" 27.68 + inkscape:pageopacity="0.0" 27.69 + inkscape:pageshadow="2" 27.70 + inkscape:zoom="1.05" 27.71 + inkscape:cx="290.73583" 27.72 + inkscape:cy="472.51234" 27.73 + inkscape:document-units="px" 27.74 + inkscape:current-layer="layer1" 27.75 + showgrid="false" 27.76 + inkscape:window-width="1600" 27.77 + inkscape:window-height="848" 27.78 + inkscape:window-x="-8" 27.79 + inkscape:window-y="-8" 27.80 + inkscape:window-maximized="1" /> 27.81 + <metadata 27.82 + id="metadata7"> 27.83 + <rdf:RDF> 27.84 + <cc:Work 27.85 + rdf:about=""> 27.86 + <dc:format>image/svg+xml</dc:format> 27.87 + <dc:type 27.88 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 27.89 + <dc:title></dc:title> 27.90 + </cc:Work> 27.91 + </rdf:RDF> 27.92 + </metadata> 27.93 + <g 27.94 + inkscape:label="Layer 1" 27.95 + inkscape:groupmode="layer" 27.96 + id="layer1"> 27.97 + <text 27.98 + sodipodi:linespacing="100%" 27.99 + id="text12979" 27.100 + y="353.76575" 27.101 + x="326.92542" 27.102 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.103 + xml:space="preserve"><tspan 27.104 + y="353.76575" 27.105 + x="326.92542" 27.106 + id="tspan12981" 27.107 + sodipodi:role="line" 27.108 + style="text-align:center;text-anchor:middle">Master</tspan><tspan 27.109 + y="362.20053" 27.110 + x="326.92542" 27.111 + sodipodi:role="line" 27.112 + id="tspan3291" 27.113 + style="font-size:8px;text-align:center;text-anchor:middle">(runtime system)</tspan><tspan 27.114 + y="370.20053" 27.115 + x="326.92542" 27.116 + sodipodi:role="line" 27.117 + style="font-size:8px;text-align:center;text-anchor:middle" 27.118 + id="tspan8409">on core 1</tspan></text> 27.119 + <g 27.120 + id="g9336" 27.121 + transform="translate(44.002789,-48)"> 27.122 + <rect 27.123 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 27.124 + id="rect3293" 27.125 + width="65.276405" 27.126 + height="37.165791" 27.127 + x="346.40247" 27.128 + y="389.58255" /> 27.129 + <text 27.130 + sodipodi:linespacing="100%" 27.131 + id="text3295" 27.132 + y="400.15268" 27.133 + x="379.00162" 27.134 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.135 + xml:space="preserve"><tspan 27.136 + id="tspan3301" 27.137 + y="400.15268" 27.138 + x="379.00162" 27.139 + sodipodi:role="line" 27.140 + style="text-align:center;text-anchor:middle;fill:#008000">Seed VP</tspan><tspan 27.141 + y="408.58746" 27.142 + x="379.00162" 27.143 + sodipodi:role="line" 27.144 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000" 27.145 + id="tspan9389">(created at</tspan><tspan 27.146 + y="416.58746" 27.147 + x="379.00162" 27.148 + sodipodi:role="line" 27.149 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000" 27.150 + id="tspan9391">app startup,</tspan><tspan 27.151 + y="424.58746" 27.152 + x="379.00162" 27.153 + sodipodi:role="line" 27.154 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000" 27.155 + id="tspan9744">on core 1)</tspan></text> 27.156 + </g> 27.157 + <text 27.158 + xml:space="preserve" 27.159 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.160 + x="517.16797" 27.161 + y="307.42465" 27.162 + id="text3318-1" 27.163 + sodipodi:linespacing="100%"><tspan 27.164 + style="text-align:center;text-anchor:middle;fill:#008000" 27.165 + sodipodi:role="line" 27.166 + x="517.16797" 27.167 + y="307.42465" 27.168 + id="tspan3322-5">Application Code</tspan></text> 27.169 + <text 27.170 + sodipodi:linespacing="100%" 27.171 + id="text3376" 27.172 + y="379.42465" 27.173 + x="517.16797" 27.174 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.175 + xml:space="preserve"><tspan 27.176 + id="tspan3378" 27.177 + y="379.42465" 27.178 + x="517.16797" 27.179 + sodipodi:role="line" 27.180 + style="text-align:center;text-anchor:middle;fill:#008000">Seed_Fn</tspan></text> 27.181 + <text 27.182 + xml:space="preserve" 27.183 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.184 + x="517.16797" 27.185 + y="599.42468" 27.186 + id="text3380" 27.187 + sodipodi:linespacing="100%"><tspan 27.188 + style="text-align:center;text-anchor:middle;fill:#008000" 27.189 + sodipodi:role="line" 27.190 + x="517.16797" 27.191 + y="599.42468" 27.192 + id="tspan3382">Work_Fn</tspan></text> 27.193 + <text 27.194 + sodipodi:linespacing="100%" 27.195 + id="text3388" 27.196 + y="307.42465" 27.197 + x="604.63812" 27.198 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.199 + xml:space="preserve"><tspan 27.200 + id="tspan3390" 27.201 + y="307.42465" 27.202 + x="606.14203" 27.203 + sodipodi:role="line" 27.204 + style="text-align:center;text-anchor:middle;fill:#800000">Language </tspan><tspan 27.205 + y="317.42465" 27.206 + x="604.63812" 27.207 + sodipodi:role="line" 27.208 + style="text-align:center;text-anchor:middle;fill:#800000" 27.209 + id="tspan5106">Wrapper-Lib</tspan><tspan 27.210 + y="327.42465" 27.211 + x="604.63812" 27.212 + sodipodi:role="line" 27.213 + style="text-align:center;text-anchor:middle;fill:#800000" 27.214 + id="tspan3392">Code</tspan></text> 27.215 + <text 27.216 + xml:space="preserve" 27.217 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.218 + x="669.16797" 27.219 + y="307.42465" 27.220 + id="text3394" 27.221 + sodipodi:linespacing="100%"><tspan 27.222 + style="text-align:center;text-anchor:middle;fill:#000080" 27.223 + sodipodi:role="line" 27.224 + x="669.16797" 27.225 + y="307.42465" 27.226 + id="tspan3396">Proto-Runtime</tspan><tspan 27.227 + style="text-align:center;text-anchor:middle;fill:#000080" 27.228 + sodipodi:role="line" 27.229 + x="669.16797" 27.230 + y="317.42465" 27.231 + id="tspan4998">Primitive</tspan><tspan 27.232 + id="tspan3398" 27.233 + style="text-align:center;text-anchor:middle;fill:#000080" 27.234 + sodipodi:role="line" 27.235 + x="669.16797" 27.236 + y="327.42465">Code</tspan></text> 27.237 + <text 27.238 + xml:space="preserve" 27.239 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.240 + x="137.31689" 27.241 + y="411.42465" 27.242 + id="text3412" 27.243 + sodipodi:linespacing="100%"><tspan 27.244 + style="text-align:center;text-anchor:middle;fill:#800000" 27.245 + sodipodi:role="line" 27.246 + x="137.31689" 27.247 + y="411.42465" 27.248 + id="tspan3414">Lang Handler</tspan><tspan 27.249 + style="text-align:center;text-anchor:middle;fill:#800000" 27.250 + sodipodi:role="line" 27.251 + x="137.31689" 27.252 + y="421.42465" 27.253 + id="tspan3422">for create VP</tspan></text> 27.254 + <text 27.255 + xml:space="preserve" 27.256 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.257 + x="137.68066" 27.258 + y="459.42468" 27.259 + id="text3444" 27.260 + sodipodi:linespacing="100%"><tspan 27.261 + style="text-align:center;text-anchor:middle;fill:#800000" 27.262 + sodipodi:role="line" 27.263 + x="137.68066" 27.264 + y="459.42468" 27.265 + id="tspan3450">Assigner Fn</tspan></text> 27.266 + <text 27.267 + xml:space="preserve" 27.268 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.269 + x="327.16797" 27.270 + y="309.42465" 27.271 + id="text3456" 27.272 + sodipodi:linespacing="100%"><tspan 27.273 + style="text-align:center;text-anchor:middle" 27.274 + sodipodi:role="line" 27.275 + x="328.67188" 27.276 + y="309.42465" 27.277 + id="tspan3458">Instances of </tspan><tspan 27.278 + style="text-align:center;text-anchor:middle" 27.279 + sodipodi:role="line" 27.280 + x="327.16797" 27.281 + y="319.42465" 27.282 + id="tspan8405">runtime system</tspan><tspan 27.283 + style="font-size:8px;text-align:center;text-anchor:middle" 27.284 + sodipodi:role="line" 27.285 + x="327.16797" 27.286 + y="327.85944" 27.287 + id="tspan9383">(data structs</tspan><tspan 27.288 + style="font-size:8px;text-align:center;text-anchor:middle" 27.289 + sodipodi:role="line" 27.290 + x="327.16797" 27.291 + y="335.85944" 27.292 + id="tspan9385">on heap)</tspan><tspan 27.293 + id="tspan3460" 27.294 + style="text-align:center;text-anchor:middle" 27.295 + sodipodi:role="line" 27.296 + x="327.16797" 27.297 + y="343.85944" /></text> 27.298 + <text 27.299 + sodipodi:linespacing="100%" 27.300 + id="text3462" 27.301 + y="307.42465" 27.302 + x="423.16797" 27.303 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.304 + xml:space="preserve"><tspan 27.305 + id="tspan3464" 27.306 + y="307.42465" 27.307 + x="423.16797" 27.308 + sodipodi:role="line" 27.309 + style="text-align:center;text-anchor:middle">Instances of</tspan><tspan 27.310 + y="317.42465" 27.311 + x="423.16797" 27.312 + sodipodi:role="line" 27.313 + style="text-align:center;text-anchor:middle" 27.314 + id="tspan3468">Virtual Processors</tspan><tspan 27.315 + y="325.85944" 27.316 + x="423.16797" 27.317 + sodipodi:role="line" 27.318 + style="font-size:8px;text-align:center;text-anchor:middle" 27.319 + id="tspan3466">(data structs</tspan><tspan 27.320 + y="333.85944" 27.321 + x="423.16797" 27.322 + sodipodi:role="line" 27.323 + style="font-size:8px;text-align:center;text-anchor:middle" 27.324 + id="tspan9387">on heap)</tspan></text> 27.325 + <path 27.326 + inkscape:connector-curvature="0" 27.327 + id="path4796" 27.328 + d="m 457.32649,376.02605 c 38.42351,0 38.42351,0 38.42351,0" 27.329 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999996, 2.99999996;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 27.330 + <text 27.331 + xml:space="preserve" 27.332 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.333 + x="604.78461" 27.334 + y="373.42465" 27.335 + id="text4988" 27.336 + sodipodi:linespacing="100%"><tspan 27.337 + style="text-align:center;text-anchor:middle;fill:#800000" 27.338 + sodipodi:role="line" 27.339 + x="604.78461" 27.340 + y="373.42465" 27.341 + id="tspan4990">create VP</tspan><tspan 27.342 + style="text-align:center;text-anchor:middle;fill:#800000" 27.343 + sodipodi:role="line" 27.344 + x="604.78461" 27.345 + y="383.42465" 27.346 + id="tspan5104">wrapper Fn</tspan></text> 27.347 + <text 27.348 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 27.349 + xml:space="preserve" 27.350 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.351 + x="638.25385" 27.352 + y="404.96878" 27.353 + id="text5064" 27.354 + sodipodi:linespacing="100%"><tspan 27.355 + style="font-size:8px;text-align:center;text-anchor:middle" 27.356 + sodipodi:role="line" 27.357 + x="638.25385" 27.358 + y="404.96878" 27.359 + id="tspan5066">Call to dyn lib</tspan></text> 27.360 + <path 27.361 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000003, 3.00000003;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 27.362 + d="m 291.99816,376.02605 c -63.44071,0 -63.44071,0 -63.44071,0" 27.363 + id="path5068" 27.364 + inkscape:connector-curvature="0" /> 27.365 + <text 27.366 + sodipodi:linespacing="100%" 27.367 + id="text5070" 27.368 + y="415.78891" 27.369 + x="180.73463" 27.370 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.371 + xml:space="preserve" 27.372 + transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"><tspan 27.373 + id="tspan5072" 27.374 + y="415.78891" 27.375 + x="180.73463" 27.376 + sodipodi:role="line" 27.377 + style="font-size:8px;text-align:center;text-anchor:middle">Top Level Fn</tspan></text> 27.378 + <text 27.379 + transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)" 27.380 + xml:space="preserve" 27.381 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.382 + x="400.64069" 27.383 + y="458.46729" 27.384 + id="text5074" 27.385 + sodipodi:linespacing="100%"><tspan 27.386 + style="font-size:8px;text-align:center;text-anchor:middle" 27.387 + sodipodi:role="line" 27.388 + x="400.64069" 27.389 + y="458.46729" 27.390 + id="tspan5076">Top Level Fn</tspan></text> 27.391 + <text 27.392 + sodipodi:linespacing="100%" 27.393 + id="text5078" 27.394 + y="674.45374" 27.395 + x="358.75928" 27.396 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.397 + xml:space="preserve" 27.398 + transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"><tspan 27.399 + id="tspan5080" 27.400 + y="674.45374" 27.401 + x="358.75928" 27.402 + sodipodi:role="line" 27.403 + style="font-size:8px;text-align:center;text-anchor:middle">Top Level Fn</tspan></text> 27.404 + <path 27.405 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999996, 2.99999996;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 27.406 + d="m 458.9835,596.02605 c 36.7665,0 36.7665,0 36.7665,0" 27.407 + id="path5082" 27.408 + inkscape:connector-curvature="0" /> 27.409 + <path 27.410 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 27.411 + d="m 514.02904,382.01894 c 0,5.6572 0,5.6572 0,5.6572" 27.412 + id="path5092" 27.413 + inkscape:connector-curvature="0" 27.414 + sodipodi:nodetypes="cc" /> 27.415 + <path 27.416 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 27.417 + d="m 514.24714,388.02605 c 85.56237,0 85.56237,0 85.56237,0" 27.418 + id="path5094" 27.419 + inkscape:connector-curvature="0" /> 27.420 + <path 27.421 + inkscape:connector-curvature="0" 27.422 + id="path5096" 27.423 + d="m 602.77166,496.02605 c -88.41298,0 -88.41298,0 -88.41298,0" 27.424 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 27.425 + <path 27.426 + sodipodi:nodetypes="cc" 27.427 + inkscape:connector-curvature="0" 27.428 + id="path5140" 27.429 + d="m 514.02904,496.31987 c 0,26.21842 0,26.21842 0,26.21842" 27.430 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 27.431 + <path 27.432 + inkscape:connector-curvature="0" 27.433 + id="path5142" 27.434 + d="m 514.2471,522.02605 c 87.58783,0 87.58783,0 87.58783,0" 27.435 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 27.436 + <text 27.437 + sodipodi:linespacing="100%" 27.438 + id="text5157" 27.439 + y="508.71182" 27.440 + x="604.78461" 27.441 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.442 + xml:space="preserve"><tspan 27.443 + id="tspan5161" 27.444 + y="508.71182" 27.445 + x="604.78461" 27.446 + sodipodi:role="line" 27.447 + style="text-align:center;text-anchor:middle;fill:#800000">end VP</tspan><tspan 27.448 + y="518.71179" 27.449 + x="604.78461" 27.450 + sodipodi:role="line" 27.451 + style="text-align:center;text-anchor:middle;fill:#800000" 27.452 + id="tspan5207">wrapper Fn</tspan></text> 27.453 + <path 27.454 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 27.455 + d="m 602.26584,528.02605 c 63.99676,0 63.99676,0 63.99676,0" 27.456 + id="path5165" 27.457 + inkscape:connector-curvature="0" /> 27.458 + <path 27.459 + sodipodi:nodetypes="cc" 27.460 + inkscape:connector-curvature="0" 27.461 + id="path5179" 27.462 + d="m 514.02904,602.01895 c 0,5.6572 0,5.6572 0,5.6572" 27.463 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 27.464 + <path 27.465 + sodipodi:nodetypes="cc" 27.466 + inkscape:connector-curvature="0" 27.467 + id="path5209" 27.468 + d="m 602.02904,520.31985 c 0,7.35629 0,7.35629 0,7.35629" 27.469 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 27.470 + <text 27.471 + xml:space="preserve" 27.472 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.473 + x="497.16797" 27.474 + y="399.42468" 27.475 + id="text5211" 27.476 + sodipodi:linespacing="100%"><tspan 27.477 + style="text-align:center;text-anchor:middle" 27.478 + sodipodi:role="line" 27.479 + x="497.16797" 27.480 + y="399.42468" 27.481 + id="tspan5215" /></text> 27.482 + <path 27.483 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 27.484 + d="m 602.02904,388.21843 c 0,19.4577 0,19.4577 0,19.4577" 27.485 + id="path5217" 27.486 + inkscape:connector-curvature="0" 27.487 + sodipodi:nodetypes="cc" /> 27.488 + <path 27.489 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 27.490 + d="m 602.24714,408.02605 c 64.71029,0 64.71029,0 64.71029,0" 27.491 + id="path5219" 27.492 + inkscape:connector-curvature="0" /> 27.493 + <path 27.494 + inkscape:connector-curvature="0" 27.495 + id="path5221" 27.496 + d="m 666.85635,492.02605 c -65.78483,0 -65.78483,0 -65.78483,0" 27.497 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 27.498 + <path 27.499 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 27.500 + d="m 668.02904,406.63925 c 0,13.68455 0,13.68455 0,13.68455" 27.501 + id="path5223" 27.502 + inkscape:connector-curvature="0" 27.503 + sodipodi:nodetypes="cc" /> 27.504 + <path 27.505 + sodipodi:nodetypes="cc" 27.506 + inkscape:connector-curvature="0" 27.507 + id="path5229" 27.508 + d="m 602.02904,491.22687 c 0,5.5885 0,5.5885 0,5.5885" 27.509 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 27.510 + <path 27.511 + sodipodi:nodetypes="cc" 27.512 + inkscape:connector-curvature="0" 27.513 + id="path5235" 27.514 + d="m 668.02904,478.63925 c 0,13.68455 0,13.68455 0,13.68455" 27.515 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 27.516 + <text 27.517 + sodipodi:linespacing="100%" 27.518 + id="text5239" 27.519 + y="770.82495" 27.520 + x="188.36783" 27.521 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.522 + xml:space="preserve" 27.523 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 27.524 + id="tspan5241" 27.525 + y="770.82495" 27.526 + x="188.36783" 27.527 + sodipodi:role="line" 27.528 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan 27.529 + y="778.82495" 27.530 + x="188.36783" 27.531 + sodipodi:role="line" 27.532 + style="font-size:8px;text-align:center;text-anchor:middle" 27.533 + id="tspan5243">and switch</tspan><tspan 27.534 + y="786.82495" 27.535 + x="188.36783" 27.536 + sodipodi:role="line" 27.537 + style="font-size:8px;text-align:center;text-anchor:middle" 27.538 + id="tspan5245">to runtime</tspan></text> 27.539 + <path 27.540 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 27.541 + d="m 271.03421,480.02605 c 193.92439,0 193.92439,0 193.92439,0" 27.542 + id="path5247" 27.543 + inkscape:connector-curvature="0" /> 27.544 + <text 27.545 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 27.546 + xml:space="preserve" 27.547 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.548 + x="157.7636" 27.549 + y="802.43799" 27.550 + id="text5249" 27.551 + sodipodi:linespacing="100%"><tspan 27.552 + id="tspan5255" 27.553 + style="font-size:8px;text-align:center;text-anchor:middle" 27.554 + sodipodi:role="line" 27.555 + x="157.7636" 27.556 + y="802.43799">return</tspan><tspan 27.557 + style="font-size:8px;text-align:center;text-anchor:middle" 27.558 + sodipodi:role="line" 27.559 + x="157.7636" 27.560 + y="810.43799" 27.561 + id="tspan5261">from</tspan><tspan 27.562 + style="font-size:8px;text-align:center;text-anchor:middle" 27.563 + sodipodi:role="line" 27.564 + x="157.7636" 27.565 + y="818.43799" 27.566 + id="tspan5263">suspend</tspan></text> 27.567 + <text 27.568 + sodipodi:linespacing="100%" 27.569 + id="text5345" 27.570 + y="395.42465" 27.571 + x="667.38037" 27.572 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.573 + xml:space="preserve"><tspan 27.574 + id="tspan5349" 27.575 + y="395.42465" 27.576 + x="667.38037" 27.577 + sodipodi:role="line" 27.578 + style="text-align:center;text-anchor:middle;fill:#000080">PR primitive Fn</tspan><tspan 27.579 + y="405.42465" 27.580 + x="667.38037" 27.581 + sodipodi:role="line" 27.582 + style="text-align:center;text-anchor:middle;fill:#000080" 27.583 + id="tspan5353">to send request</tspan></text> 27.584 + <text 27.585 + sodipodi:linespacing="100%" 27.586 + id="text5355" 27.587 + y="392.71429" 27.588 + x="555.29077" 27.589 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.590 + xml:space="preserve" 27.591 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 27.592 + id="tspan5357" 27.593 + y="392.71429" 27.594 + x="555.29077" 27.595 + sodipodi:role="line" 27.596 + style="font-size:8px;text-align:center;text-anchor:middle">normal call</tspan></text> 27.597 + <path 27.598 + sodipodi:nodetypes="cc" 27.599 + inkscape:connector-curvature="0" 27.600 + id="path5359" 27.601 + d="m 668.02904,527.28283 c 0,13.68455 0,13.68455 0,13.68455" 27.602 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 27.603 + <text 27.604 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 27.605 + xml:space="preserve" 27.606 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.607 + x="107.72998" 27.608 + y="856.99628" 27.609 + id="text5363" 27.610 + sodipodi:linespacing="100%"><tspan 27.611 + style="font-size:8px;text-align:center;text-anchor:middle" 27.612 + sodipodi:role="line" 27.613 + x="107.72998" 27.614 + y="856.99628" 27.615 + id="tspan5365">suspend</tspan><tspan 27.616 + id="tspan5367" 27.617 + style="font-size:8px;text-align:center;text-anchor:middle" 27.618 + sodipodi:role="line" 27.619 + x="107.72998" 27.620 + y="864.99628">and switch</tspan><tspan 27.621 + id="tspan5369" 27.622 + style="font-size:8px;text-align:center;text-anchor:middle" 27.623 + sodipodi:role="line" 27.624 + x="107.72998" 27.625 + y="872.99628">to runtime</tspan></text> 27.626 + <text 27.627 + sodipodi:linespacing="100%" 27.628 + id="text5371" 27.629 + y="593.42468" 27.630 + x="604.59662" 27.631 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.632 + xml:space="preserve"><tspan 27.633 + id="tspan5373" 27.634 + y="593.42468" 27.635 + x="604.59662" 27.636 + sodipodi:role="line" 27.637 + style="text-align:center;text-anchor:middle;fill:#800000">Mutex Acquire</tspan><tspan 27.638 + id="tspan5375" 27.639 + y="603.42468" 27.640 + x="604.59662" 27.641 + sodipodi:role="line" 27.642 + style="text-align:center;text-anchor:middle;fill:#800000">wrapper Fn</tspan></text> 27.643 + <path 27.644 + inkscape:connector-curvature="0" 27.645 + id="path5379" 27.646 + d="m 514.24714,608.02605 c 85.56237,0 85.56237,0 85.56237,0" 27.647 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 27.648 + <path 27.649 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 27.650 + d="m 602.77166,708.02605 c -88.41298,0 -88.41298,0 -88.41298,0" 27.651 + id="path5381" 27.652 + inkscape:connector-curvature="0" /> 27.653 + <text 27.654 + xml:space="preserve" 27.655 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.656 + x="604.78461" 27.657 + y="720.71179" 27.658 + id="text5387" 27.659 + sodipodi:linespacing="100%"><tspan 27.660 + style="text-align:center;text-anchor:middle;fill:#800000" 27.661 + sodipodi:role="line" 27.662 + x="604.78461" 27.663 + y="720.71179" 27.664 + id="tspan5389">end VP</tspan><tspan 27.665 + id="tspan5391" 27.666 + style="text-align:center;text-anchor:middle;fill:#800000" 27.667 + sodipodi:role="line" 27.668 + x="604.78461" 27.669 + y="730.71179">wrapper Fn</tspan></text> 27.670 + <path 27.671 + inkscape:connector-curvature="0" 27.672 + id="path5393" 27.673 + d="m 602.289,740.02605 c 65.24023,0 65.24023,0 65.24023,0" 27.674 + style="fill:none;stroke:#000000;stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 27.675 + <path 27.676 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 27.677 + d="m 602.02904,732.31985 c 0,7.35629 0,7.35629 0,7.35629" 27.678 + id="path5401" 27.679 + inkscape:connector-curvature="0" 27.680 + sodipodi:nodetypes="cc" /> 27.681 + <path 27.682 + sodipodi:nodetypes="cc" 27.683 + inkscape:connector-curvature="0" 27.684 + id="path5403" 27.685 + d="m 602.02904,608.21843 c 0,19.4577 0,19.4577 0,19.4577" 27.686 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 27.687 + <path 27.688 + inkscape:connector-curvature="0" 27.689 + id="path5405" 27.690 + d="m 602.6148,628.02605 c 64.1779,0 64.1779,0 64.1779,0" 27.691 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 27.692 + <path 27.693 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 27.694 + d="m 668.13452,704.02605 c -67.06305,0 -67.06305,0 -67.06305,0" 27.695 + id="path5407" 27.696 + inkscape:connector-curvature="0" /> 27.697 + <path 27.698 + sodipodi:nodetypes="cc" 27.699 + inkscape:connector-curvature="0" 27.700 + id="path5409" 27.701 + d="m 668.02904,626.63925 c 0,13.68455 0,13.68455 0,13.68455" 27.702 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 27.703 + <path 27.704 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 27.705 + d="m 602.02904,703.22687 c 0,5.5885 0,5.5885 0,5.5885" 27.706 + id="path5411" 27.707 + inkscape:connector-curvature="0" 27.708 + sodipodi:nodetypes="cc" /> 27.709 + <path 27.710 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 27.711 + d="m 668.02904,690.63925 c 0,13.68455 0,13.68455 0,13.68455" 27.712 + id="path5417" 27.713 + inkscape:connector-curvature="0" 27.714 + sodipodi:nodetypes="cc" /> 27.715 + <text 27.716 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 27.717 + xml:space="preserve" 27.718 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.719 + x="38.175541" 27.720 + y="928.84552" 27.721 + id="text5421" 27.722 + sodipodi:linespacing="100%"><tspan 27.723 + style="font-size:8px;text-align:center;text-anchor:middle" 27.724 + sodipodi:role="line" 27.725 + x="38.175541" 27.726 + y="928.84552" 27.727 + id="tspan5423">suspend</tspan><tspan 27.728 + id="tspan5425" 27.729 + style="font-size:8px;text-align:center;text-anchor:middle" 27.730 + sodipodi:role="line" 27.731 + x="38.175541" 27.732 + y="936.84552">and switch</tspan><tspan 27.733 + id="tspan5427" 27.734 + style="font-size:8px;text-align:center;text-anchor:middle" 27.735 + sodipodi:role="line" 27.736 + x="38.175541" 27.737 + y="944.84552">to runtime</tspan></text> 27.738 + <text 27.739 + sodipodi:linespacing="100%" 27.740 + id="text5431" 27.741 + y="954.75671" 27.742 + x="10.307833" 27.743 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.744 + xml:space="preserve" 27.745 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 27.746 + y="954.75671" 27.747 + x="10.307833" 27.748 + sodipodi:role="line" 27.749 + style="font-size:8px;text-align:center;text-anchor:middle" 27.750 + id="tspan5433">return</tspan><tspan 27.751 + id="tspan5435" 27.752 + y="962.75671" 27.753 + x="10.307833" 27.754 + sodipodi:role="line" 27.755 + style="font-size:8px;text-align:center;text-anchor:middle">from</tspan><tspan 27.756 + id="tspan5437" 27.757 + y="970.75671" 27.758 + x="10.307833" 27.759 + sodipodi:role="line" 27.760 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text> 27.761 + <text 27.762 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 27.763 + xml:space="preserve" 27.764 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.765 + x="556.25635" 27.766 + y="612.71143" 27.767 + id="text5445" 27.768 + sodipodi:linespacing="100%"><tspan 27.769 + style="font-size:8px;text-align:center;text-anchor:middle" 27.770 + sodipodi:role="line" 27.771 + x="556.25635" 27.772 + y="612.71143" 27.773 + id="tspan5447">normal call</tspan></text> 27.774 + <path 27.775 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 27.776 + d="m 668.02904,739.28283 c 0,13.68455 0,13.68455 0,13.68455" 27.777 + id="path5449" 27.778 + inkscape:connector-curvature="0" 27.779 + sodipodi:nodetypes="cc" /> 27.780 + <text 27.781 + sodipodi:linespacing="100%" 27.782 + id="text5453" 27.783 + y="1012.1439" 27.784 + x="-39.679813" 27.785 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.786 + xml:space="preserve" 27.787 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 27.788 + id="tspan5455" 27.789 + y="1012.1439" 27.790 + x="-39.679813" 27.791 + sodipodi:role="line" 27.792 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan 27.793 + y="1020.1439" 27.794 + x="-39.679813" 27.795 + sodipodi:role="line" 27.796 + style="font-size:8px;text-align:center;text-anchor:middle" 27.797 + id="tspan5457">and switch</tspan><tspan 27.798 + y="1028.144" 27.799 + x="-39.679813" 27.800 + sodipodi:role="line" 27.801 + style="font-size:8px;text-align:center;text-anchor:middle" 27.802 + id="tspan5459">to runtime</tspan></text> 27.803 + <path 27.804 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 27.805 + d="m 514.02904,708.31987 c 0,26.21842 0,26.21842 0,26.21842" 27.806 + id="path5461" 27.807 + inkscape:connector-curvature="0" 27.808 + sodipodi:nodetypes="cc" /> 27.809 + <path 27.810 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 27.811 + d="m 514.2471,734.02605 c 87.58783,0 87.58783,0 87.58783,0" 27.812 + id="path5463" 27.813 + inkscape:connector-curvature="0" /> 27.814 + <text 27.815 + sodipodi:linespacing="100%" 27.816 + id="text5465" 27.817 + y="526.71161" 27.818 + x="555.8786" 27.819 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.820 + xml:space="preserve" 27.821 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 27.822 + id="tspan5467" 27.823 + y="526.71161" 27.824 + x="555.8786" 27.825 + sodipodi:role="line" 27.826 + style="font-size:8px;text-align:center;text-anchor:middle">normal call</tspan></text> 27.827 + <text 27.828 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 27.829 + xml:space="preserve" 27.830 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.831 + x="556.80994" 27.832 + y="738.711" 27.833 + id="text5469" 27.834 + sodipodi:linespacing="100%"><tspan 27.835 + style="font-size:8px;text-align:center;text-anchor:middle" 27.836 + sodipodi:role="line" 27.837 + x="556.80994" 27.838 + y="738.711" 27.839 + id="tspan5471">normal call</tspan></text> 27.840 + <g 27.841 + transform="matrix(1,0,0,0.71130685,-16,120.52913)" 27.842 + id="g8395"> 27.843 + <rect 27.844 + y="313.58255" 27.845 + x="310.40247" 27.846 + height="52.250008" 27.847 + width="65.276405" 27.848 + id="rect8397" 27.849 + style="fill:none;stroke:#000000;stroke-width:1.28076112;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 27.850 + </g> 27.851 + <path 27.852 + sodipodi:nodetypes="cc" 27.853 + inkscape:connector-curvature="0" 27.854 + id="path9273" 27.855 + d="m 514.02904,496.31987 c 0,26.21842 0,26.21842 0,26.21842" 27.856 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 27.857 + <path 27.858 + sodipodi:nodetypes="cc" 27.859 + inkscape:connector-curvature="0" 27.860 + id="path9275" 27.861 + d="m 476.02904,382.79398 c 0,35.61575 0,35.61575 0,35.61575" 27.862 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" /> 27.863 + <path 27.864 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 27.865 + d="m 468.24715,418.02605 c 13.34137,0 13.34137,0 13.34137,0" 27.866 + id="path9277" 27.867 + inkscape:connector-curvature="0" /> 27.868 + <path 27.869 + inkscape:connector-curvature="0" 27.870 + id="path9279" 27.871 + d="m 481.57781,480.02605 c -13.14022,0 -13.14022,0 -13.14022,0" 27.872 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 27.873 + <path 27.874 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 27.875 + d="m 476.02904,480.3113 c 0,57.40944 0,57.40944 0,57.40944" 27.876 + id="path9281" 27.877 + inkscape:connector-curvature="0" 27.878 + sodipodi:nodetypes="cc" /> 27.879 + <path 27.880 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 27.881 + d="m 481.57781,539.27417 c -13.14022,0 -13.14022,0 -13.14022,0" 27.882 + id="path9283" 27.883 + inkscape:connector-curvature="0" /> 27.884 + <text 27.885 + transform="matrix(-0.01875541,0.9998241,-0.9998241,-0.01875541,0,0)" 27.886 + xml:space="preserve" 27.887 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.888 + x="453.93332" 27.889 + y="-466.39136" 27.890 + id="text9285" 27.891 + sodipodi:linespacing="100%"><tspan 27.892 + style="text-align:center;text-anchor:middle;fill:#008000" 27.893 + sodipodi:role="line" 27.894 + x="453.93332" 27.895 + y="-466.39136" 27.896 + id="tspan9287">Timeline of SeedVP</tspan></text> 27.897 + <text 27.898 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 27.899 + xml:space="preserve" 27.900 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.901 + x="485.39722" 27.902 + y="417.02103" 27.903 + id="text9289" 27.904 + sodipodi:linespacing="100%"><tspan 27.905 + style="font-size:8px;text-align:start;text-anchor:start" 27.906 + sodipodi:role="line" 27.907 + x="485.39722" 27.908 + y="417.02103" 27.909 + id="tspan9291">suspend</tspan></text> 27.910 + <text 27.911 + sodipodi:linespacing="100%" 27.912 + id="text9293" 27.913 + y="481.02048" 27.914 + x="485.67838" 27.915 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.916 + xml:space="preserve" 27.917 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 27.918 + id="tspan9295" 27.919 + y="481.02048" 27.920 + x="485.67838" 27.921 + sodipodi:role="line" 27.922 + style="font-size:8px;text-align:start;text-anchor:start">resume</tspan></text> 27.923 + <text 27.924 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 27.925 + xml:space="preserve" 27.926 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.927 + x="485.92978" 27.928 + y="538.22565" 27.929 + id="text9297" 27.930 + sodipodi:linespacing="100%"><tspan 27.931 + style="font-size:8px;text-align:start;text-anchor:start" 27.932 + sodipodi:role="line" 27.933 + x="485.92978" 27.934 + y="538.22565" 27.935 + id="tspan9299">end</tspan></text> 27.936 + <text 27.937 + sodipodi:linespacing="100%" 27.938 + id="text9301" 27.939 + y="307.42465" 27.940 + x="63.167969" 27.941 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.942 + xml:space="preserve"><tspan 27.943 + id="tspan9303" 27.944 + y="307.42465" 27.945 + x="63.167969" 27.946 + sodipodi:role="line" 27.947 + style="text-align:center;text-anchor:middle;fill:#000080">Proto-Runtime</tspan><tspan 27.948 + id="tspan9305" 27.949 + y="317.42465" 27.950 + x="63.167969" 27.951 + sodipodi:role="line" 27.952 + style="text-align:center;text-anchor:middle;fill:#000080">Primitive</tspan><tspan 27.953 + y="327.42465" 27.954 + x="63.167969" 27.955 + sodipodi:role="line" 27.956 + style="text-align:center;text-anchor:middle;fill:#000080" 27.957 + id="tspan9307">Code</tspan></text> 27.958 + <text 27.959 + xml:space="preserve" 27.960 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.961 + x="65.380371" 27.962 + y="423.42465" 27.963 + id="text9309" 27.964 + sodipodi:linespacing="100%"><tspan 27.965 + id="tspan9313" 27.966 + style="text-align:center;text-anchor:middle;fill:#000080" 27.967 + sodipodi:role="line" 27.968 + x="65.380371" 27.969 + y="423.42465">PR primitive Fn</tspan><tspan 27.970 + style="text-align:center;text-anchor:middle;fill:#000080" 27.971 + sodipodi:role="line" 27.972 + x="65.380371" 27.973 + y="433.42465" 27.974 + id="tspan9317">to create VP</tspan></text> 27.975 + <path 27.976 + inkscape:connector-curvature="0" 27.977 + id="path9321" 27.978 + d="m 101.87628,425.85467 c 83.54552,12.98474 93.01032,9.74762 154.91834,33.79457 83.60123,32.47325 132.79902,111.74825 132.79902,111.74825" 27.979 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000006, 3.00000006;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 27.980 + sodipodi:nodetypes="csc" /> 27.981 + <g 27.982 + id="g9341" 27.983 + transform="translate(44.002789,174)"> 27.984 + <rect 27.985 + y="389.58255" 27.986 + x="346.40247" 27.987 + height="37.165791" 27.988 + width="65.276405" 27.989 + id="rect9343" 27.990 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 27.991 + <text 27.992 + xml:space="preserve" 27.993 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.994 + x="379.35806" 27.995 + y="400.72159" 27.996 + id="text9345" 27.997 + sodipodi:linespacing="100%"><tspan 27.998 + style="text-align:center;text-anchor:middle;fill:#008000" 27.999 + sodipodi:role="line" 27.1000 + x="379.35806" 27.1001 + y="400.72159" 27.1002 + id="tspan9347">VP 1</tspan><tspan 27.1003 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000" 27.1004 + sodipodi:role="line" 27.1005 + x="379.35806" 27.1006 + y="409.15637" 27.1007 + id="tspan9349">(created by</tspan><tspan 27.1008 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000" 27.1009 + sodipodi:role="line" 27.1010 + x="379.35806" 27.1011 + y="417.15637" 27.1012 + id="tspan9355">application,</tspan><tspan 27.1013 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000" 27.1014 + sodipodi:role="line" 27.1015 + x="379.35806" 27.1016 + y="425.15637" 27.1017 + id="tspan9746">on core 2)</tspan></text> 27.1018 + </g> 27.1019 + <g 27.1020 + transform="translate(44.002789,370)" 27.1021 + id="g9371" /> 27.1022 + <text 27.1023 + xml:space="preserve" 27.1024 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.1025 + x="202.41257" 27.1026 + y="379.42465" 27.1027 + id="text9512" 27.1028 + sodipodi:linespacing="100%"><tspan 27.1029 + style="text-align:center;text-anchor:middle;fill:#000080" 27.1030 + sodipodi:role="line" 27.1031 + x="202.41257" 27.1032 + y="379.42465" 27.1033 + id="tspan9514">Master Fn</tspan></text> 27.1034 + <path 27.1035 + sodipodi:nodetypes="cc" 27.1036 + inkscape:connector-curvature="0" 27.1037 + id="path9522" 27.1038 + d="m 205.27805,418.31985 c 0,7.35629 0,7.35629 0,7.35629" 27.1039 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 27.1040 + <path 27.1041 + inkscape:connector-curvature="0" 27.1042 + id="path9524" 27.1043 + d="m 205.05995,424.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 27.1044 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 27.1045 + <path 27.1046 + sodipodi:nodetypes="cc" 27.1047 + inkscape:connector-curvature="0" 27.1048 + id="path9548" 27.1049 + d="m 137.27805,423.85824 c 0,11.43122 0,11.43122 0,11.43122" 27.1050 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 27.1051 + <path 27.1052 + inkscape:connector-curvature="0" 27.1053 + id="path9550" 27.1054 + d="m 137.57123,436.02605 c -69.22157,0 -69.22157,0 -69.22157,0" 27.1055 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 27.1056 + <path 27.1057 + sodipodi:nodetypes="cc" 27.1058 + inkscape:connector-curvature="0" 27.1059 + id="path9554" 27.1060 + d="m 205.27805,474.63925 c 0,4.54718 0,4.54718 0,4.54718" 27.1061 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 27.1062 + <text 27.1063 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 27.1064 + xml:space="preserve" 27.1065 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.1066 + x="-187.67645" 27.1067 + y="493.07611" 27.1068 + id="text9566" 27.1069 + sodipodi:linespacing="100%"><tspan 27.1070 + style="font-size:8px;text-align:center;text-anchor:middle" 27.1071 + sodipodi:role="line" 27.1072 + x="-187.67645" 27.1073 + y="493.07611" 27.1074 + id="tspan9568">suspend</tspan><tspan 27.1075 + id="tspan9570" 27.1076 + style="font-size:8px;text-align:center;text-anchor:middle" 27.1077 + sodipodi:role="line" 27.1078 + x="-187.67645" 27.1079 + y="501.07611">and switch</tspan><tspan 27.1080 + id="tspan9572" 27.1081 + style="font-size:8px;text-align:center;text-anchor:middle" 27.1082 + sodipodi:role="line" 27.1083 + x="-187.67645" 27.1084 + y="509.07611">to app VP</tspan></text> 27.1085 + <path 27.1086 + sodipodi:nodetypes="cc" 27.1087 + inkscape:connector-curvature="0" 27.1088 + id="path9614" 27.1089 + d="m 205.27805,418.31985 c 0,7.35629 0,7.35629 0,7.35629" 27.1090 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 27.1091 + <path 27.1092 + sodipodi:nodetypes="cc" 27.1093 + inkscape:connector-curvature="0" 27.1094 + id="path9616" 27.1095 + d="m 205.27805,418.31985 c 0,7.35629 0,7.35629 0,7.35629" 27.1096 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 27.1097 + <path 27.1098 + inkscape:connector-curvature="0" 27.1099 + id="path9648" 27.1100 + d="m 468.24715,383.42364 c 13.34137,0 13.34137,0 13.34137,0" 27.1101 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 27.1102 + <text 27.1103 + sodipodi:linespacing="100%" 27.1104 + id="text9654" 27.1105 + y="385.02261" 27.1106 + x="485.25659" 27.1107 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.1108 + xml:space="preserve" 27.1109 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 27.1110 + id="tspan9656" 27.1111 + y="385.02261" 27.1112 + x="485.25659" 27.1113 + sodipodi:role="line" 27.1114 + style="font-size:8px;text-align:start;text-anchor:start">start</tspan></text> 27.1115 + <path 27.1116 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" 27.1117 + d="m 476.02904,602.79398 c 0,35.61575 0,35.61575 0,35.61575" 27.1118 + id="path9658" 27.1119 + inkscape:connector-curvature="0" 27.1120 + sodipodi:nodetypes="cc" /> 27.1121 + <path 27.1122 + inkscape:connector-curvature="0" 27.1123 + id="path9660" 27.1124 + d="m 468.24715,638.02605 c 13.34137,0 13.34137,0 13.34137,0" 27.1125 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 27.1126 + <path 27.1127 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 27.1128 + d="m 481.57781,692.02605 c -13.14022,0 -13.14022,0 -13.14022,0" 27.1129 + id="path9662" 27.1130 + inkscape:connector-curvature="0" /> 27.1131 + <text 27.1132 + sodipodi:linespacing="100%" 27.1133 + id="text9668" 27.1134 + y="-464.48126" 27.1135 + x="672.00745" 27.1136 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.1137 + xml:space="preserve" 27.1138 + transform="matrix(-0.01875541,0.9998241,-0.9998241,-0.01875541,0,0)"><tspan 27.1139 + y="-464.48126" 27.1140 + x="672.00745" 27.1141 + sodipodi:role="line" 27.1142 + style="text-align:center;text-anchor:middle;fill:#008000" 27.1143 + id="tspan9740">Timeline of VP 1</tspan></text> 27.1144 + <text 27.1145 + sodipodi:linespacing="100%" 27.1146 + id="text9672" 27.1147 + y="637.01904" 27.1148 + x="486.36292" 27.1149 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.1150 + xml:space="preserve" 27.1151 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 27.1152 + id="tspan9674" 27.1153 + y="637.01904" 27.1154 + x="486.36292" 27.1155 + sodipodi:role="line" 27.1156 + style="font-size:8px;text-align:start;text-anchor:start">suspend</tspan></text> 27.1157 + <text 27.1158 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 27.1159 + xml:space="preserve" 27.1160 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.1161 + x="486.6088" 27.1162 + y="693.01855" 27.1163 + id="text9676" 27.1164 + sodipodi:linespacing="100%"><tspan 27.1165 + style="font-size:8px;text-align:start;text-anchor:start" 27.1166 + sodipodi:role="line" 27.1167 + x="486.6088" 27.1168 + y="693.01855" 27.1169 + id="tspan9678">resume</tspan></text> 27.1170 + <path 27.1171 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 27.1172 + d="m 468.24715,603.42364 c 13.34137,0 13.34137,0 13.34137,0" 27.1173 + id="path9684" 27.1174 + inkscape:connector-curvature="0" /> 27.1175 + <text 27.1176 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 27.1177 + xml:space="preserve" 27.1178 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.1179 + x="486.22229" 27.1180 + y="605.02063" 27.1181 + id="text9686" 27.1182 + sodipodi:linespacing="100%"><tspan 27.1183 + style="font-size:8px;text-align:start;text-anchor:start" 27.1184 + sodipodi:role="line" 27.1185 + x="486.22229" 27.1186 + y="605.02063" 27.1187 + id="tspan9688">start</tspan></text> 27.1188 + <path 27.1189 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" 27.1190 + d="m 266.02904,417.4311 c 0,61.88904 0,61.88904 0,61.88904" 27.1191 + id="path9690" 27.1192 + inkscape:connector-curvature="0" 27.1193 + sodipodi:nodetypes="cc" /> 27.1194 + <path 27.1195 + inkscape:connector-curvature="0" 27.1196 + id="path9692" 27.1197 + d="m 258.24715,418.02605 c 13.34137,0 13.34137,0 13.34137,0" 27.1198 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 27.1199 + <path 27.1200 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 27.1201 + d="m 271.57781,480.02605 c -13.14022,0 -13.14022,0 -13.14022,0" 27.1202 + id="path9694" 27.1203 + inkscape:connector-curvature="0" /> 27.1204 + <text 27.1205 + sodipodi:linespacing="100%" 27.1206 + id="text9700" 27.1207 + y="-276.70538" 27.1208 + x="463.34042" 27.1209 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.1210 + xml:space="preserve" 27.1211 + transform="matrix(0.00239328,0.99999714,-0.99999714,0.00239328,0,0)"><tspan 27.1212 + y="-276.70538" 27.1213 + x="463.34042" 27.1214 + sodipodi:role="line" 27.1215 + style="text-align:center;text-anchor:middle;fill:#000080" 27.1216 + id="tspan9736">Timeline of Master on core 1</tspan></text> 27.1217 + <text 27.1218 + sodipodi:linespacing="100%" 27.1219 + id="text9704" 27.1220 + y="480.12692" 27.1221 + x="261.37079" 27.1222 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.1223 + xml:space="preserve" 27.1224 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 27.1225 + id="tspan9706" 27.1226 + y="480.12692" 27.1227 + x="261.37079" 27.1228 + sodipodi:role="line" 27.1229 + style="font-size:8px;text-align:end;text-anchor:end">suspend</tspan></text> 27.1230 + <text 27.1231 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 27.1232 + xml:space="preserve" 27.1233 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.1234 + x="258.65039" 27.1235 + y="420.12738" 27.1236 + id="text9708" 27.1237 + sodipodi:linespacing="100%"><tspan 27.1238 + style="font-size:8px;text-align:end;text-anchor:end" 27.1239 + sodipodi:role="line" 27.1240 + x="258.65039" 27.1241 + y="420.12738" 27.1242 + id="tspan9710">resume</tspan></text> 27.1243 + <path 27.1244 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 27.1245 + d="m 258.24715,383.42364 c 13.34137,0 13.34137,0 13.34137,0" 27.1246 + id="path9716" 27.1247 + inkscape:connector-curvature="0" /> 27.1248 + <text 27.1249 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 27.1250 + xml:space="preserve" 27.1251 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.1252 + x="257.70789" 27.1253 + y="386.09387" 27.1254 + id="text9718" 27.1255 + sodipodi:linespacing="100%"><tspan 27.1256 + style="font-size:8px;text-align:end;text-anchor:end" 27.1257 + sodipodi:role="line" 27.1258 + x="257.70789" 27.1259 + y="386.09387" 27.1260 + id="tspan9720">start</tspan></text> 27.1261 + <path 27.1262 + sodipodi:nodetypes="cc" 27.1263 + inkscape:connector-curvature="0" 27.1264 + id="path9722" 27.1265 + d="m 266.02904,537.43112 c 0,10.33165 0,10.33165 0,10.33165" 27.1266 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 27.1267 + <path 27.1268 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 27.1269 + d="m 258.24715,538.02605 c 13.34137,0 13.34137,0 13.34137,0" 27.1270 + id="path9724" 27.1271 + inkscape:connector-curvature="0" /> 27.1272 + <text 27.1273 + sodipodi:linespacing="100%" 27.1274 + id="text9936" 27.1275 + y="624.93951" 27.1276 + x="641.89471" 27.1277 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.1278 + xml:space="preserve" 27.1279 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 27.1280 + id="tspan9938" 27.1281 + y="624.93951" 27.1282 + x="641.89471" 27.1283 + sodipodi:role="line" 27.1284 + style="font-size:8px;text-align:center;text-anchor:middle">Call to dyn lib</tspan></text> 27.1285 + <text 27.1286 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 27.1287 + xml:space="preserve" 27.1288 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.1289 + x="643.74738" 27.1290 + y="736.927" 27.1291 + id="text9940" 27.1292 + sodipodi:linespacing="100%"><tspan 27.1293 + style="font-size:8px;text-align:center;text-anchor:middle" 27.1294 + sodipodi:role="line" 27.1295 + x="643.74738" 27.1296 + y="736.927" 27.1297 + id="tspan9942">Call to dyn lib</tspan></text> 27.1298 + <text 27.1299 + sodipodi:linespacing="100%" 27.1300 + id="text9944" 27.1301 + y="524.9541" 27.1302 + x="640.23999" 27.1303 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.1304 + xml:space="preserve" 27.1305 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 27.1306 + id="tspan9946" 27.1307 + y="524.9541" 27.1308 + x="640.23999" 27.1309 + sodipodi:role="line" 27.1310 + style="font-size:8px;text-align:center;text-anchor:middle">Call to dyn lib</tspan></text> 27.1311 + <text 27.1312 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 27.1313 + xml:space="preserve" 27.1314 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.1315 + x="112.79035" 27.1316 + y="441.66806" 27.1317 + id="text9948" 27.1318 + sodipodi:linespacing="100%"><tspan 27.1319 + style="font-size:8px;text-align:center;text-anchor:middle" 27.1320 + sodipodi:role="line" 27.1321 + x="112.79035" 27.1322 + y="441.66806" 27.1323 + id="tspan9950">call to dyn lib</tspan></text> 27.1324 + <path 27.1325 + inkscape:connector-curvature="0" 27.1326 + id="path9952" 27.1327 + d="m 701.67453,480.02605 c -669.895225,0 -669.895225,0 -669.895225,0" 27.1328 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" /> 27.1329 + <path 27.1330 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" 27.1331 + d="m 701.67453,417.52981 c -669.895225,0 -669.895225,0 -669.895225,0" 27.1332 + id="path9954" 27.1333 + inkscape:connector-curvature="0" /> 27.1334 + <text 27.1335 + xml:space="preserve" 27.1336 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.1337 + x="326.92542" 27.1338 + y="577.76575" 27.1339 + id="text9956" 27.1340 + sodipodi:linespacing="100%"><tspan 27.1341 + style="text-align:center;text-anchor:middle" 27.1342 + sodipodi:role="line" 27.1343 + id="tspan9958" 27.1344 + x="326.92542" 27.1345 + y="577.76575">Master</tspan><tspan 27.1346 + style="font-size:8px;text-align:center;text-anchor:middle" 27.1347 + id="tspan9960" 27.1348 + sodipodi:role="line" 27.1349 + x="326.92542" 27.1350 + y="586.2005">(runtime system)</tspan><tspan 27.1351 + id="tspan9962" 27.1352 + style="font-size:8px;text-align:center;text-anchor:middle" 27.1353 + sodipodi:role="line" 27.1354 + x="326.92542" 27.1355 + y="594.2005">on core 2</tspan></text> 27.1356 + <path 27.1357 + inkscape:connector-curvature="0" 27.1358 + id="path9970" 27.1359 + d="m 291.99816,596.02605 c -63.44071,0 -63.44071,0 -63.44071,0" 27.1360 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000003, 3.00000003;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 27.1361 + <g 27.1362 + id="g9972" 27.1363 + transform="matrix(1,0,0,0.71130685,-16,342.52913)"> 27.1364 + <rect 27.1365 + style="fill:none;stroke:#000000;stroke-width:1.28076112;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 27.1366 + id="rect9974" 27.1367 + width="65.276405" 27.1368 + height="52.250008" 27.1369 + x="310.40247" 27.1370 + y="313.58255" /> 27.1371 + </g> 27.1372 + <text 27.1373 + sodipodi:linespacing="100%" 27.1374 + id="text9982" 27.1375 + y="599.42468" 27.1376 + x="202.41257" 27.1377 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.1378 + xml:space="preserve"><tspan 27.1379 + id="tspan9984" 27.1380 + y="599.42468" 27.1381 + x="202.41257" 27.1382 + sodipodi:role="line" 27.1383 + style="text-align:center;text-anchor:middle;fill:#000080">Master Fn</tspan></text> 27.1384 + <path 27.1385 + sodipodi:nodetypes="cc" 27.1386 + inkscape:connector-curvature="0" 27.1387 + id="path10010" 27.1388 + d="m 266.02904,637.43113 c 0,54.93536 0,54.93536 0,54.93536" 27.1389 + style="fill:none;stroke:#000000;stroke-width:0.99999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" /> 27.1390 + <path 27.1391 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 27.1392 + d="m 258.24715,638.02605 c 13.34137,0 13.34137,0 13.34137,0" 27.1393 + id="path10012" 27.1394 + inkscape:connector-curvature="0" /> 27.1395 + <path 27.1396 + inkscape:connector-curvature="0" 27.1397 + id="path10014" 27.1398 + d="m 271.57781,692.02605 c -13.14022,0 -13.14022,0 -13.14022,0" 27.1399 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 27.1400 + <text 27.1401 + transform="matrix(0.00962718,0.99995366,-0.99995366,0.00962718,0,0)" 27.1402 + xml:space="preserve" 27.1403 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.1404 + x="675.3847" 27.1405 + y="-275.31226" 27.1406 + id="text10018" 27.1407 + sodipodi:linespacing="100%"><tspan 27.1408 + id="tspan10020" 27.1409 + style="text-align:center;text-anchor:middle;fill:#000080" 27.1410 + sodipodi:role="line" 27.1411 + x="675.3847" 27.1412 + y="-275.31226">Timeline of Master on core 2</tspan></text> 27.1413 + <path 27.1414 + inkscape:connector-curvature="0" 27.1415 + id="path10030" 27.1416 + d="m 258.24715,603.42364 c 13.34137,0 13.34137,0 13.34137,0" 27.1417 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 27.1418 + <path 27.1419 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000002, 3.00000002;stroke-dashoffset:0" 27.1420 + d="m 205.27805,381.45805 c 0,3.23577 0,3.23577 0,3.23577" 27.1421 + id="path10054" 27.1422 + inkscape:connector-curvature="0" 27.1423 + sodipodi:nodetypes="cc" /> 27.1424 + <path 27.1425 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" 27.1426 + d="m 701.67453,692.02605 c -669.895225,0 -669.895225,0 -669.895225,0" 27.1427 + id="path10056" 27.1428 + inkscape:connector-curvature="0" /> 27.1429 + <path 27.1430 + inkscape:connector-curvature="0" 27.1431 + id="path10058" 27.1432 + d="m 701.67453,637.52981 c -669.895225,0 -669.895225,0 -669.895225,0" 27.1433 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" /> 27.1434 + <text 27.1435 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 27.1436 + xml:space="preserve" 27.1437 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.1438 + x="-135.75337" 27.1439 + y="434.7803" 27.1440 + id="text10062" 27.1441 + sodipodi:linespacing="100%"><tspan 27.1442 + id="tspan10068" 27.1443 + style="font-size:8px;text-align:center;text-anchor:middle" 27.1444 + sodipodi:role="line" 27.1445 + x="-135.75337" 27.1446 + y="434.7803">return from</tspan><tspan 27.1447 + style="font-size:8px;text-align:center;text-anchor:middle" 27.1448 + sodipodi:role="line" 27.1449 + x="-135.75337" 27.1450 + y="442.7803" 27.1451 + id="tspan10074">suspend</tspan></text> 27.1452 + <path 27.1453 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" 27.1454 + d="m 701.67453,538.02605 c -669.895225,0 -669.895225,0 -669.895225,0" 27.1455 + id="path10076" 27.1456 + inkscape:connector-curvature="0" /> 27.1457 + <text 27.1458 + xml:space="preserve" 27.1459 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.1460 + x="667.38037" 27.1461 + y="515.42468" 27.1462 + id="text10082" 27.1463 + sodipodi:linespacing="100%"><tspan 27.1464 + style="text-align:center;text-anchor:middle;fill:#000080" 27.1465 + sodipodi:role="line" 27.1466 + x="667.38037" 27.1467 + y="515.42468" 27.1468 + id="tspan10084">PR primitive Fn</tspan><tspan 27.1469 + id="tspan10086" 27.1470 + style="text-align:center;text-anchor:middle;fill:#000080" 27.1471 + sodipodi:role="line" 27.1472 + x="667.38037" 27.1473 + y="525.42468">to send request</tspan></text> 27.1474 + <text 27.1475 + sodipodi:linespacing="100%" 27.1476 + id="text10088" 27.1477 + y="615.42468" 27.1478 + x="667.38037" 27.1479 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.1480 + xml:space="preserve"><tspan 27.1481 + id="tspan10090" 27.1482 + y="615.42468" 27.1483 + x="667.38037" 27.1484 + sodipodi:role="line" 27.1485 + style="text-align:center;text-anchor:middle;fill:#000080">PR primitive Fn</tspan><tspan 27.1486 + y="625.42468" 27.1487 + x="667.38037" 27.1488 + sodipodi:role="line" 27.1489 + style="text-align:center;text-anchor:middle;fill:#000080" 27.1490 + id="tspan10092">to send request</tspan></text> 27.1491 + <text 27.1492 + xml:space="preserve" 27.1493 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.1494 + x="667.38037" 27.1495 + y="727.42468" 27.1496 + id="text10094" 27.1497 + sodipodi:linespacing="100%"><tspan 27.1498 + style="text-align:center;text-anchor:middle;fill:#000080" 27.1499 + sodipodi:role="line" 27.1500 + x="667.38037" 27.1501 + y="727.42468" 27.1502 + id="tspan10096">PR primitive Fn</tspan><tspan 27.1503 + id="tspan10098" 27.1504 + style="text-align:center;text-anchor:middle;fill:#000080" 27.1505 + sodipodi:role="line" 27.1506 + x="667.38037" 27.1507 + y="737.42468">to send request</tspan></text> 27.1508 + <path 27.1509 + sodipodi:nodetypes="cc" 27.1510 + inkscape:connector-curvature="0" 27.1511 + id="path10100" 27.1512 + d="m 476.02904,692.3113 c 0,57.40944 0,57.40944 0,57.40944" 27.1513 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 27.1514 + <path 27.1515 + inkscape:connector-curvature="0" 27.1516 + id="path10102" 27.1517 + d="m 481.57781,751.27417 c -13.14022,0 -13.14022,0 -13.14022,0" 27.1518 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 27.1519 + <text 27.1520 + sodipodi:linespacing="100%" 27.1521 + id="text10104" 27.1522 + y="750.22363" 27.1523 + x="486.86038" 27.1524 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.1525 + xml:space="preserve" 27.1526 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 27.1527 + id="tspan10106" 27.1528 + y="750.22363" 27.1529 + x="486.86038" 27.1530 + sodipodi:role="line" 27.1531 + style="font-size:8px;text-align:start;text-anchor:start">end</tspan></text> 27.1532 + <path 27.1533 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 27.1534 + d="m 266.02904,749.43112 c 0,10.33165 0,10.33165 0,10.33165" 27.1535 + id="path10108" 27.1536 + inkscape:connector-curvature="0" 27.1537 + sodipodi:nodetypes="cc" /> 27.1538 + <path 27.1539 + inkscape:connector-curvature="0" 27.1540 + id="path10110" 27.1541 + d="m 258.24715,750.02605 c 13.34137,0 13.34137,0 13.34137,0" 27.1542 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 27.1543 + <path 27.1544 + inkscape:connector-curvature="0" 27.1545 + id="path10116" 27.1546 + d="m 701.67453,750.02605 c -669.895225,0 -669.895225,0 -669.895225,0" 27.1547 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" /> 27.1548 + <text 27.1549 + sodipodi:linespacing="100%" 27.1550 + id="text10118" 27.1551 + y="540.12653" 27.1552 + x="259.17728" 27.1553 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.1554 + xml:space="preserve" 27.1555 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 27.1556 + id="tspan10120" 27.1557 + y="540.12653" 27.1558 + x="259.17728" 27.1559 + sodipodi:role="line" 27.1560 + style="font-size:8px;text-align:end;text-anchor:end">resume</tspan></text> 27.1561 + <text 27.1562 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 27.1563 + xml:space="preserve" 27.1564 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.1565 + x="259.61627" 27.1566 + y="640.12561" 27.1567 + id="text10122" 27.1568 + sodipodi:linespacing="100%"><tspan 27.1569 + style="font-size:8px;text-align:end;text-anchor:end" 27.1570 + sodipodi:role="line" 27.1571 + x="259.61627" 27.1572 + y="640.12561" 27.1573 + id="tspan10124">resume</tspan></text> 27.1574 + <text 27.1575 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 27.1576 + xml:space="preserve" 27.1577 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.1578 + x="262.3013" 27.1579 + y="692.12494" 27.1580 + id="text10126" 27.1581 + sodipodi:linespacing="100%"><tspan 27.1582 + style="font-size:8px;text-align:end;text-anchor:end" 27.1583 + sodipodi:role="line" 27.1584 + x="262.3013" 27.1585 + y="692.12494" 27.1586 + id="tspan10128">suspend</tspan></text> 27.1587 + <text 27.1588 + sodipodi:linespacing="100%" 27.1589 + id="text10130" 27.1590 + y="606.09192" 27.1591 + x="258.67368" 27.1592 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.1593 + xml:space="preserve" 27.1594 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 27.1595 + id="tspan10132" 27.1596 + y="606.09192" 27.1597 + x="258.67368" 27.1598 + sodipodi:role="line" 27.1599 + style="font-size:8px;text-align:end;text-anchor:end">start</tspan></text> 27.1600 + <text 27.1601 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 27.1602 + xml:space="preserve" 27.1603 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.1604 + x="260.10779" 27.1605 + y="752.12427" 27.1606 + id="text10134" 27.1607 + sodipodi:linespacing="100%"><tspan 27.1608 + style="font-size:8px;text-align:end;text-anchor:end" 27.1609 + sodipodi:role="line" 27.1610 + x="260.10779" 27.1611 + y="752.12427" 27.1612 + id="tspan10136">resume</tspan></text> 27.1613 + <text 27.1614 + xml:space="preserve" 27.1615 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.1616 + x="136.99219" 27.1617 + y="307.42465" 27.1618 + id="text10146" 27.1619 + sodipodi:linespacing="100%"><tspan 27.1620 + style="text-align:center;text-anchor:middle;fill:#800000" 27.1621 + sodipodi:role="line" 27.1622 + x="138.49609" 27.1623 + y="307.42465" 27.1624 + id="tspan10148">Language </tspan><tspan 27.1625 + id="tspan10150" 27.1626 + style="text-align:center;text-anchor:middle;fill:#800000" 27.1627 + sodipodi:role="line" 27.1628 + x="136.99219" 27.1629 + y="317.42465">Plugin</tspan><tspan 27.1630 + id="tspan10152" 27.1631 + style="text-align:center;text-anchor:middle;fill:#800000" 27.1632 + sodipodi:role="line" 27.1633 + x="136.99219" 27.1634 + y="327.42465">Code</tspan></text> 27.1635 + <text 27.1636 + xml:space="preserve" 27.1637 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.1638 + x="203.16797" 27.1639 + y="307.42465" 27.1640 + id="text10154" 27.1641 + sodipodi:linespacing="100%"><tspan 27.1642 + style="text-align:center;text-anchor:middle;fill:#000080" 27.1643 + sodipodi:role="line" 27.1644 + x="203.16797" 27.1645 + y="307.42465" 27.1646 + id="tspan10156">Proto-Runtime</tspan><tspan 27.1647 + style="text-align:center;text-anchor:middle;fill:#000080" 27.1648 + sodipodi:role="line" 27.1649 + x="203.16797" 27.1650 + y="317.42465" 27.1651 + id="tspan10158">Master</tspan><tspan 27.1652 + id="tspan10160" 27.1653 + style="text-align:center;text-anchor:middle;fill:#000080" 27.1654 + sodipodi:role="line" 27.1655 + x="203.16797" 27.1656 + y="327.42465">Code</tspan></text> 27.1657 + <path 27.1658 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 27.1659 + d="m 205.05995,424.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 27.1660 + id="path10162" 27.1661 + inkscape:connector-curvature="0" /> 27.1662 + <path 27.1663 + inkscape:connector-curvature="0" 27.1664 + id="path10164" 27.1665 + d="m 137.04459,474.02605 c 67.19099,0 67.19099,0 67.19099,0" 27.1666 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 27.1667 + <path 27.1668 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 27.1669 + d="m 67.525286,448.02605 c 69.221574,0 69.221574,0 69.221574,0" 27.1670 + id="path10166" 27.1671 + inkscape:connector-curvature="0" /> 27.1672 + <path 27.1673 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 27.1674 + d="m 67.27805,435.85824 c 0,13.94668 0,13.94668 0,13.94668" 27.1675 + id="path10168" 27.1676 + inkscape:connector-curvature="0" 27.1677 + sodipodi:nodetypes="cc" /> 27.1678 + <path 27.1679 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 27.1680 + d="m 137.04459,450.02605 c 67.19099,0 67.19099,0 67.19099,0" 27.1681 + id="path10172" 27.1682 + inkscape:connector-curvature="0" /> 27.1683 + <path 27.1684 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 27.1685 + d="m 205.27805,450.63926 c 0,11.23237 0,11.23237 0,11.23237" 27.1686 + id="path10174" 27.1687 + inkscape:connector-curvature="0" 27.1688 + sodipodi:nodetypes="cc" /> 27.1689 + <path 27.1690 + inkscape:connector-curvature="0" 27.1691 + id="path10176" 27.1692 + d="m 205.05995,462.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 27.1693 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 27.1694 + <text 27.1695 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 27.1696 + xml:space="preserve" 27.1697 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.1698 + x="189.17583" 27.1699 + y="464.4057" 27.1700 + id="text10178" 27.1701 + sodipodi:linespacing="100%"><tspan 27.1702 + style="font-size:7px;text-align:center;text-anchor:middle" 27.1703 + sodipodi:role="line" 27.1704 + x="189.17583" 27.1705 + y="464.4057" 27.1706 + id="tspan10180">call via Ptr to Dyn Lib Fn</tspan></text> 27.1707 + <path 27.1708 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 27.1709 + d="m 137.27805,461.85824 c 0,11.43122 0,11.43122 0,11.43122" 27.1710 + id="path10182" 27.1711 + inkscape:connector-curvature="0" 27.1712 + sodipodi:nodetypes="cc" /> 27.1713 + <text 27.1714 + sodipodi:linespacing="100%" 27.1715 + id="text10184" 27.1716 + y="426.41092" 27.1717 + x="188.54729" 27.1718 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.1719 + xml:space="preserve" 27.1720 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 27.1721 + id="tspan10186" 27.1722 + y="426.41092" 27.1723 + x="188.54729" 27.1724 + sodipodi:role="line" 27.1725 + style="font-size:7px;text-align:center;text-anchor:middle">call via Ptr to Dyn Lib Fn</tspan></text> 27.1726 + <text 27.1727 + sodipodi:linespacing="100%" 27.1728 + id="text10188" 27.1729 + y="629.42468" 27.1730 + x="137.31689" 27.1731 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.1732 + xml:space="preserve"><tspan 27.1733 + id="tspan10190" 27.1734 + y="629.42468" 27.1735 + x="137.31689" 27.1736 + sodipodi:role="line" 27.1737 + style="text-align:center;text-anchor:middle;fill:#800000">Lang Handler</tspan><tspan 27.1738 + id="tspan10192" 27.1739 + y="639.42468" 27.1740 + x="137.31689" 27.1741 + sodipodi:role="line" 27.1742 + style="text-align:center;text-anchor:middle;fill:#800000">for acq Mutex</tspan></text> 27.1743 + <path 27.1744 + sodipodi:nodetypes="cc" 27.1745 + inkscape:connector-curvature="0" 27.1746 + id="path10230" 27.1747 + d="m 205.27805,601.45805 c 0,3.23576 0,3.23576 0,3.23576" 27.1748 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 27.1749 + <path 27.1750 + inkscape:connector-curvature="0" 27.1751 + id="path4879" 27.1752 + d="m 465.78297,538.02605 c -193.92439,0 -193.92439,0 -193.92439,0" 27.1753 + style="fill:none;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 27.1754 + <path 27.1755 + inkscape:connector-curvature="0" 27.1756 + id="path5395" 27.1757 + d="m 466.19516,418.02605 c -193.92439,0 -193.92439,0 -193.92439,0" 27.1758 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 27.1759 + <path 27.1760 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 27.1761 + d="m 466.19516,638.02605 c -193.92439,0 -193.92439,0 -193.92439,0" 27.1762 + id="path5397" 27.1763 + inkscape:connector-curvature="0" /> 27.1764 + <path 27.1765 + inkscape:connector-curvature="0" 27.1766 + id="path5399" 27.1767 + d="m 466.19516,750.02605 c -193.92439,0 -193.92439,0 -193.92439,0" 27.1768 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 27.1769 + <path 27.1770 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 27.1771 + d="m 271.03421,692.02605 c 193.92439,0 193.92439,0 193.92439,0" 27.1772 + id="path5402" 27.1773 + inkscape:connector-curvature="0" /> 27.1774 + <text 27.1775 + sodipodi:linespacing="100%" 27.1776 + id="text5410" 27.1777 + y="671.42468" 27.1778 + x="137.68066" 27.1779 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.1780 + xml:space="preserve"><tspan 27.1781 + id="tspan5412" 27.1782 + y="671.42468" 27.1783 + x="137.68066" 27.1784 + sodipodi:role="line" 27.1785 + style="text-align:center;text-anchor:middle;fill:#800000">Assigner Fn</tspan></text> 27.1786 + <path 27.1787 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 27.1788 + d="m 205.27805,638.31985 c 0,7.35629 0,7.35629 0,7.35629" 27.1789 + id="path5420" 27.1790 + inkscape:connector-curvature="0" 27.1791 + sodipodi:nodetypes="cc" /> 27.1792 + <path 27.1793 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 27.1794 + d="m 205.05995,644.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 27.1795 + id="path5422" 27.1796 + inkscape:connector-curvature="0" /> 27.1797 + <path 27.1798 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 27.1799 + d="m 137.27805,643.85824 c 0,11.43122 0,11.43122 0,11.43122" 27.1800 + id="path5424" 27.1801 + inkscape:connector-curvature="0" 27.1802 + sodipodi:nodetypes="cc" /> 27.1803 + <path 27.1804 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 27.1805 + d="m 205.27805,686.63925 c 0,4.54718 0,4.54718 0,4.54718" 27.1806 + id="path5428" 27.1807 + inkscape:connector-curvature="0" 27.1808 + sodipodi:nodetypes="cc" /> 27.1809 + <text 27.1810 + sodipodi:linespacing="100%" 27.1811 + id="text5430" 27.1812 + y="645.39423" 27.1813 + x="-335.13254" 27.1814 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.1815 + xml:space="preserve" 27.1816 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 27.1817 + id="tspan5432" 27.1818 + y="645.39423" 27.1819 + x="-335.13254" 27.1820 + sodipodi:role="line" 27.1821 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan 27.1822 + y="653.39423" 27.1823 + x="-335.13254" 27.1824 + sodipodi:role="line" 27.1825 + style="font-size:8px;text-align:center;text-anchor:middle" 27.1826 + id="tspan5434">and switch</tspan><tspan 27.1827 + y="661.39423" 27.1828 + x="-335.13254" 27.1829 + sodipodi:role="line" 27.1830 + style="font-size:8px;text-align:center;text-anchor:middle" 27.1831 + id="tspan5436">to app VP</tspan></text> 27.1832 + <path 27.1833 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 27.1834 + d="m 205.27805,638.31985 c 0,7.35629 0,7.35629 0,7.35629" 27.1835 + id="path5438" 27.1836 + inkscape:connector-curvature="0" 27.1837 + sodipodi:nodetypes="cc" /> 27.1838 + <path 27.1839 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 27.1840 + d="m 205.27805,638.31985 c 0,7.35629 0,7.35629 0,7.35629" 27.1841 + id="path5440" 27.1842 + inkscape:connector-curvature="0" 27.1843 + sodipodi:nodetypes="cc" /> 27.1844 + <text 27.1845 + sodipodi:linespacing="100%" 27.1846 + id="text5446" 27.1847 + y="592.84631" 27.1848 + x="-288.77386" 27.1849 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.1850 + xml:space="preserve" 27.1851 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 27.1852 + y="592.84631" 27.1853 + x="-288.77386" 27.1854 + sodipodi:role="line" 27.1855 + style="font-size:8px;text-align:center;text-anchor:middle" 27.1856 + id="tspan5448">return from</tspan><tspan 27.1857 + id="tspan5450" 27.1858 + y="600.84631" 27.1859 + x="-288.77386" 27.1860 + sodipodi:role="line" 27.1861 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text> 27.1862 + <path 27.1863 + inkscape:connector-curvature="0" 27.1864 + id="path5452" 27.1865 + d="m 205.05995,644.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 27.1866 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 27.1867 + <path 27.1868 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 27.1869 + d="m 137.04459,686.02605 c 67.19099,0 67.19099,0 67.19099,0" 27.1870 + id="path5454" 27.1871 + inkscape:connector-curvature="0" /> 27.1872 + <path 27.1873 + inkscape:connector-curvature="0" 27.1874 + id="path5460" 27.1875 + d="m 137.04459,658.02605 c 67.19099,0 67.19099,0 67.19099,0" 27.1876 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 27.1877 + <path 27.1878 + sodipodi:nodetypes="cc" 27.1879 + inkscape:connector-curvature="0" 27.1880 + id="path5462" 27.1881 + d="m 205.27805,658.63927 c 0,14.88618 0,14.88618 0,14.88618" 27.1882 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 27.1883 + <path 27.1884 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 27.1885 + d="m 205.05995,674.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 27.1886 + id="path5464" 27.1887 + inkscape:connector-curvature="0" /> 27.1888 + <text 27.1889 + sodipodi:linespacing="100%" 27.1890 + id="text5466" 27.1891 + y="676.37714" 27.1892 + x="192.68279" 27.1893 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.1894 + xml:space="preserve" 27.1895 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 27.1896 + id="tspan5468" 27.1897 + y="676.37714" 27.1898 + x="192.68279" 27.1899 + sodipodi:role="line" 27.1900 + style="font-size:7px;text-align:center;text-anchor:middle">call via Ptr to Dyn Lib Fn</tspan></text> 27.1901 + <path 27.1902 + sodipodi:nodetypes="cc" 27.1903 + inkscape:connector-curvature="0" 27.1904 + id="path5470" 27.1905 + d="m 137.27805,673.85824 c 0,11.43122 0,11.43122 0,11.43122" 27.1906 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 27.1907 + <text 27.1908 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 27.1909 + xml:space="preserve" 27.1910 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.1911 + x="192.18657" 27.1912 + y="646.38098" 27.1913 + id="text5472" 27.1914 + sodipodi:linespacing="100%"><tspan 27.1915 + style="font-size:7px;text-align:center;text-anchor:middle" 27.1916 + sodipodi:role="line" 27.1917 + x="192.18657" 27.1918 + y="646.38098" 27.1919 + id="tspan5474">call via Ptr to Dyn Lib Fn</tspan></text> 27.1920 + <text 27.1921 + sodipodi:linespacing="100%" 27.1922 + id="text5476" 27.1923 + y="597.08801" 27.1924 + x="-60.107929" 27.1925 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.1926 + xml:space="preserve" 27.1927 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 27.1928 + y="597.08801" 27.1929 + x="-60.107929" 27.1930 + sodipodi:role="line" 27.1931 + style="font-size:18px;text-align:center;text-anchor:middle" 27.1932 + id="tspan5482">core 1</tspan></text> 27.1933 + <text 27.1934 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 27.1935 + xml:space="preserve" 27.1936 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.1937 + x="-208.35422" 27.1938 + y="748.6394" 27.1939 + id="text5488" 27.1940 + sodipodi:linespacing="100%"><tspan 27.1941 + id="tspan5490" 27.1942 + style="font-size:18px;text-align:center;text-anchor:middle" 27.1943 + sodipodi:role="line" 27.1944 + x="-208.35422" 27.1945 + y="748.6394">core 2</tspan></text> 27.1946 + <path 27.1947 + sodipodi:nodetypes="cc" 27.1948 + inkscape:connector-curvature="0" 27.1949 + id="path5492" 27.1950 + d="m 205.27805,752.31985 c 0,7.35629 0,7.35629 0,7.35629" 27.1951 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 27.1952 + <path 27.1953 + sodipodi:nodetypes="cc" 27.1954 + inkscape:connector-curvature="0" 27.1955 + id="path5494" 27.1956 + d="m 205.27805,752.31985 c 0,7.35629 0,7.35629 0,7.35629" 27.1957 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 27.1958 + <path 27.1959 + sodipodi:nodetypes="cc" 27.1960 + inkscape:connector-curvature="0" 27.1961 + id="path5496" 27.1962 + d="m 205.27805,752.31985 c 0,7.35629 0,7.35629 0,7.35629" 27.1963 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 27.1964 + <text 27.1965 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 27.1966 + xml:space="preserve" 27.1967 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.1968 + x="-368.06558" 27.1969 + y="674.7525" 27.1970 + id="text5498" 27.1971 + sodipodi:linespacing="100%"><tspan 27.1972 + id="tspan5500" 27.1973 + style="font-size:8px;text-align:center;text-anchor:middle" 27.1974 + sodipodi:role="line" 27.1975 + x="-368.06558" 27.1976 + y="674.7525">return from</tspan><tspan 27.1977 + style="font-size:8px;text-align:center;text-anchor:middle" 27.1978 + sodipodi:role="line" 27.1979 + x="-368.06558" 27.1980 + y="682.7525" 27.1981 + id="tspan5502">suspend</tspan></text> 27.1982 + <path 27.1983 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 27.1984 + d="m 205.27805,538.31985 c 0,7.35629 0,7.35629 0,7.35629" 27.1985 + id="path5504" 27.1986 + inkscape:connector-curvature="0" 27.1987 + sodipodi:nodetypes="cc" /> 27.1988 + <path 27.1989 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 27.1990 + d="m 205.27805,538.31985 c 0,7.35629 0,7.35629 0,7.35629" 27.1991 + id="path5506" 27.1992 + inkscape:connector-curvature="0" 27.1993 + sodipodi:nodetypes="cc" /> 27.1994 + <path 27.1995 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 27.1996 + d="m 205.27805,538.31985 c 0,7.35629 0,7.35629 0,7.35629" 27.1997 + id="path5508" 27.1998 + inkscape:connector-curvature="0" 27.1999 + sodipodi:nodetypes="cc" /> 27.2000 + <text 27.2001 + sodipodi:linespacing="100%" 27.2002 + id="text5510" 27.2003 + y="520.99878" 27.2004 + x="-219.21922" 27.2005 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 27.2006 + xml:space="preserve" 27.2007 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 27.2008 + y="520.99878" 27.2009 + x="-219.21922" 27.2010 + sodipodi:role="line" 27.2011 + style="font-size:8px;text-align:center;text-anchor:middle" 27.2012 + id="tspan5512">return from</tspan><tspan 27.2013 + id="tspan5514" 27.2014 + y="528.99878" 27.2015 + x="-219.21922" 27.2016 + sodipodi:role="line" 27.2017 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text> 27.2018 + <path 27.2019 + inkscape:connector-curvature="0" 27.2020 + id="path5516" 27.2021 + d="m 271.03421,604.02605 c 193.92439,0 193.92439,0 193.92439,0" 27.2022 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 27.2023 + <path 27.2024 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 27.2025 + d="m 271.03421,384.02605 c 193.92439,0 193.92439,0 193.92439,0" 27.2026 + id="path5518" 27.2027 + inkscape:connector-curvature="0" /> 27.2028 + </g> 27.2029 +</svg>
28.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 28.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/Proto-Runtime__modules_plus_plugin_plus_code_back.svg Fri Sep 13 11:02:18 2013 -0700 28.3 @@ -0,0 +1,1678 @@ 28.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 28.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 28.6 + 28.7 +<svg 28.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 28.9 + xmlns:cc="http://creativecommons.org/ns#" 28.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 28.11 + xmlns:svg="http://www.w3.org/2000/svg" 28.12 + xmlns="http://www.w3.org/2000/svg" 28.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 28.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 28.15 + width="744.09448819" 28.16 + height="1052.3622047" 28.17 + id="svg2" 28.18 + sodipodi:version="0.32" 28.19 + inkscape:version="0.48.2 r9819" 28.20 + sodipodi:docname="Proto-Runtime__modules_plus_plugin_plus_code.svg" 28.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 28.22 + version="1.1"> 28.23 + <defs 28.24 + id="defs4"> 28.25 + <marker 28.26 + inkscape:stockid="Arrow2Mend" 28.27 + orient="auto" 28.28 + refY="0.0" 28.29 + refX="0.0" 28.30 + id="Arrow2Mend" 28.31 + style="overflow:visible;"> 28.32 + <path 28.33 + id="path4008" 28.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 28.35 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 28.36 + transform="scale(0.6) rotate(180) translate(0,0)" /> 28.37 + </marker> 28.38 + <inkscape:perspective 28.39 + sodipodi:type="inkscape:persp3d" 28.40 + inkscape:vp_x="0 : 526.18109 : 1" 28.41 + inkscape:vp_y="0 : 1000 : 0" 28.42 + inkscape:vp_z="744.09448 : 526.18109 : 1" 28.43 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 28.44 + id="perspective10" /> 28.45 + <inkscape:perspective 28.46 + id="perspective12172" 28.47 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 28.48 + inkscape:vp_z="1 : 0.5 : 1" 28.49 + inkscape:vp_y="0 : 1000 : 0" 28.50 + inkscape:vp_x="0 : 0.5 : 1" 28.51 + sodipodi:type="inkscape:persp3d" /> 28.52 + <inkscape:perspective 28.53 + id="perspective12937" 28.54 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 28.55 + inkscape:vp_z="1 : 0.5 : 1" 28.56 + inkscape:vp_y="0 : 1000 : 0" 28.57 + inkscape:vp_x="0 : 0.5 : 1" 28.58 + sodipodi:type="inkscape:persp3d" /> 28.59 + </defs> 28.60 + <sodipodi:namedview 28.61 + id="base" 28.62 + pagecolor="#ffffff" 28.63 + bordercolor="#666666" 28.64 + borderopacity="1.0" 28.65 + gridtolerance="10000" 28.66 + guidetolerance="10" 28.67 + objecttolerance="10" 28.68 + inkscape:pageopacity="0.0" 28.69 + inkscape:pageshadow="2" 28.70 + inkscape:zoom="1.553811" 28.71 + inkscape:cx="311.64997" 28.72 + inkscape:cy="481.64087" 28.73 + inkscape:document-units="px" 28.74 + inkscape:current-layer="layer1" 28.75 + showgrid="false" 28.76 + inkscape:window-width="1600" 28.77 + inkscape:window-height="848" 28.78 + inkscape:window-x="-8" 28.79 + inkscape:window-y="-8" 28.80 + inkscape:window-maximized="1" /> 28.81 + <metadata 28.82 + id="metadata7"> 28.83 + <rdf:RDF> 28.84 + <cc:Work 28.85 + rdf:about=""> 28.86 + <dc:format>image/svg+xml</dc:format> 28.87 + <dc:type 28.88 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 28.89 + <dc:title></dc:title> 28.90 + </cc:Work> 28.91 + </rdf:RDF> 28.92 + </metadata> 28.93 + <g 28.94 + inkscape:label="Layer 1" 28.95 + inkscape:groupmode="layer" 28.96 + id="layer1"> 28.97 + <rect 28.98 + y="757.82239" 28.99 + x="-46.677368" 28.100 + height="69.307014" 28.101 + width="137.26534" 28.102 + id="rect12977" 28.103 + style="opacity:0.41346154;fill:none;stroke:#800000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4.32072507, 4.32072507;stroke-dashoffset:0" /> 28.104 + <text 28.105 + sodipodi:linespacing="100%" 28.106 + id="text12979" 28.107 + y="399.76575" 28.108 + x="228.92543" 28.109 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.110 + xml:space="preserve"><tspan 28.111 + y="399.76575" 28.112 + x="228.92543" 28.113 + id="tspan12981" 28.114 + sodipodi:role="line" 28.115 + style="text-align:center;text-anchor:middle">Master</tspan><tspan 28.116 + y="408.20053" 28.117 + x="228.92543" 28.118 + sodipodi:role="line" 28.119 + id="tspan3291" 28.120 + style="font-size:8px;text-align:center;text-anchor:middle">(runtime system)</tspan><tspan 28.121 + y="416.20053" 28.122 + x="228.92543" 28.123 + sodipodi:role="line" 28.124 + style="font-size:8px;text-align:center;text-anchor:middle" 28.125 + id="tspan8409">on core 1</tspan></text> 28.126 + <text 28.127 + sodipodi:linespacing="100%" 28.128 + id="text12985" 28.129 + y="787.55029" 28.130 + x="-10.998383" 28.131 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;opacity:0.41346154;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.132 + xml:space="preserve"><tspan 28.133 + y="787.55029" 28.134 + x="-10.998383" 28.135 + sodipodi:role="line" 28.136 + id="tspan12989" 28.137 + style="text-align:center;text-anchor:middle">Construct</tspan><tspan 28.138 + id="tspan3147" 28.139 + y="797.55029" 28.140 + x="-10.998383" 28.141 + sodipodi:role="line" 28.142 + style="text-align:center;text-anchor:middle">Semantics</tspan><tspan 28.143 + id="tspan3149" 28.144 + y="807.55029" 28.145 + x="-10.998383" 28.146 + sodipodi:role="line" 28.147 + style="text-align:center;text-anchor:middle">Module</tspan></text> 28.148 + <rect 28.149 + style="opacity:0.41346154;fill:none;stroke:#000000;stroke-width:1.08018136;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 28.150 + id="rect12971" 28.151 + width="131.7012" 28.152 + height="52.250008" 28.153 + x="-43.698822" 28.154 + y="835.43658" /> 28.155 + <text 28.156 + xml:space="preserve" 28.157 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;opacity:0.41346154;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.158 + x="22.334869" 28.159 + y="855.20319" 28.160 + id="text12973" 28.161 + sodipodi:linespacing="100%"><tspan 28.162 + sodipodi:role="line" 28.163 + id="tspan12975" 28.164 + x="22.334869" 28.165 + y="855.20319" 28.166 + style="text-align:center;text-anchor:middle">Hardware Specific Module</tspan><tspan 28.167 + sodipodi:role="line" 28.168 + x="22.334869" 28.169 + y="865.20319" 28.170 + style="text-align:center;text-anchor:middle" 28.171 + id="tspan3155" /><tspan 28.172 + sodipodi:role="line" 28.173 + x="22.334869" 28.174 + y="873.63794" 28.175 + id="tspan3089" 28.176 + style="font-size:8px;text-align:center;text-anchor:middle">(Proto-Runtime)</tspan></text> 28.177 + <text 28.178 + sodipodi:linespacing="100%" 28.179 + id="text12985-7" 28.180 + y="787.52588" 28.181 + x="55.148102" 28.182 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;opacity:0.41346154;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.183 + xml:space="preserve"><tspan 28.184 + y="787.52588" 28.185 + x="55.148102" 28.186 + id="tspan12987-4" 28.187 + sodipodi:role="line" 28.188 + style="text-align:center;text-anchor:middle">Assignment</tspan><tspan 28.189 + id="tspan3151" 28.190 + y="797.52588" 28.191 + x="55.148102" 28.192 + sodipodi:role="line" 28.193 + style="text-align:center;text-anchor:middle">of Work</tspan><tspan 28.194 + y="807.52588" 28.195 + x="55.148102" 28.196 + sodipodi:role="line" 28.197 + id="tspan12989-0" 28.198 + style="text-align:center;text-anchor:middle">onto Cores</tspan><tspan 28.199 + id="tspan3153" 28.200 + y="817.52588" 28.201 + x="55.148102" 28.202 + sodipodi:role="line" 28.203 + style="text-align:center;text-anchor:middle">Module</tspan></text> 28.204 + <text 28.205 + xml:space="preserve" 28.206 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;opacity:0.41346154;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.207 + x="19.256409" 28.208 + y="766.65723" 28.209 + id="text12985-8" 28.210 + sodipodi:linespacing="100%"><tspan 28.211 + style="text-align:center;text-anchor:middle;fill:#800000" 28.212 + id="tspan12989-4" 28.213 + sodipodi:role="line" 28.214 + x="19.256409" 28.215 + y="766.65723">Language Plug-in</tspan></text> 28.216 + <text 28.217 + xml:space="preserve" 28.218 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;opacity:0.41346154;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.219 + x="22.390198" 28.220 + y="833.19415" 28.221 + id="text12973-5" 28.222 + sodipodi:linespacing="100%"><tspan 28.223 + sodipodi:role="line" 28.224 + x="22.390198" 28.225 + y="833.19415" 28.226 + id="tspan3089-7" 28.227 + style="font-size:8px;text-align:center;text-anchor:middle">Hardware Abstraction Interface</tspan></text> 28.228 + <rect 28.229 + y="-835.43658" 28.230 + x="-43.698822" 28.231 + height="9.1641436" 28.232 + width="131.7012" 28.233 + id="rect3204" 28.234 + style="opacity:0.41346154;fill:none;stroke:#000000;stroke-width:1.08018136;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 28.235 + transform="scale(1,-1)" /> 28.236 + <rect 28.237 + style="opacity:0.41346154;fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 28.238 + id="rect3217" 28.239 + width="65.276405" 28.240 + height="52.250008" 28.241 + x="-43.597527" 28.242 + y="773.58252" /> 28.243 + <rect 28.244 + y="773.58252" 28.245 + x="22.402473" 28.246 + height="52.250008" 28.247 + width="65.276405" 28.248 + id="rect3219" 28.249 + style="opacity:0.41346154;fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 28.250 + <g 28.251 + id="g3303" 28.252 + transform="translate(-16,76)"> 28.253 + <rect 28.254 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 28.255 + id="rect3293" 28.256 + width="65.276405" 28.257 + height="52.250008" 28.258 + x="310.40247" 28.259 + y="313.58255" /> 28.260 + <text 28.261 + sodipodi:linespacing="100%" 28.262 + id="text3295" 28.263 + y="327.55026" 28.264 + x="343.00162" 28.265 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.266 + xml:space="preserve"><tspan 28.267 + id="tspan3301" 28.268 + y="327.55026" 28.269 + x="343.00162" 28.270 + sodipodi:role="line" 28.271 + style="text-align:center;text-anchor:middle">Seed VP</tspan></text> 28.272 + </g> 28.273 + <g 28.274 + id="g3314" 28.275 + transform="translate(-16,222)"> 28.276 + <rect 28.277 + y="313.58255" 28.278 + x="310.40247" 28.279 + height="52.250008" 28.280 + width="65.276405" 28.281 + id="rect3316" 28.282 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 28.283 + <text 28.284 + xml:space="preserve" 28.285 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.286 + x="343.00162" 28.287 + y="327.55026" 28.288 + id="text3318" 28.289 + sodipodi:linespacing="100%"><tspan 28.290 + style="text-align:center;text-anchor:middle" 28.291 + sodipodi:role="line" 28.292 + x="343.00162" 28.293 + y="327.55026" 28.294 + id="tspan3320">VP created</tspan><tspan 28.295 + style="text-align:center;text-anchor:middle" 28.296 + sodipodi:role="line" 28.297 + x="343.00162" 28.298 + y="337.55026" 28.299 + id="tspan3322">by Application</tspan><tspan 28.300 + style="text-align:center;text-anchor:middle" 28.301 + sodipodi:role="line" 28.302 + x="343.00162" 28.303 + y="347.55026" 28.304 + id="tspan5485">1</tspan></text> 28.305 + </g> 28.306 + <g 28.307 + transform="translate(-16,372)" 28.308 + id="g3340"> 28.309 + <rect 28.310 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 28.311 + id="rect3342" 28.312 + width="65.276405" 28.313 + height="52.250008" 28.314 + x="310.40247" 28.315 + y="313.58255" /> 28.316 + <text 28.317 + sodipodi:linespacing="100%" 28.318 + id="text3344" 28.319 + y="327.55026" 28.320 + x="343.00162" 28.321 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.322 + xml:space="preserve"><tspan 28.323 + id="tspan3346" 28.324 + y="327.55026" 28.325 + x="343.00162" 28.326 + sodipodi:role="line" 28.327 + style="text-align:center;text-anchor:middle">VP created</tspan><tspan 28.328 + id="tspan3348" 28.329 + y="337.55026" 28.330 + x="343.00162" 28.331 + sodipodi:role="line" 28.332 + style="text-align:center;text-anchor:middle">by Application</tspan><tspan 28.333 + y="347.55026" 28.334 + x="343.00162" 28.335 + sodipodi:role="line" 28.336 + style="text-align:center;text-anchor:middle" 28.337 + id="tspan5487">2</tspan></text> 28.338 + </g> 28.339 + <text 28.340 + xml:space="preserve" 28.341 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.342 + x="419.16797" 28.343 + y="363.42465" 28.344 + id="text3318-1" 28.345 + sodipodi:linespacing="100%"><tspan 28.346 + style="text-align:center;text-anchor:middle;fill:#008000" 28.347 + sodipodi:role="line" 28.348 + x="419.16797" 28.349 + y="363.42465" 28.350 + id="tspan3322-5">Application Code</tspan></text> 28.351 + <text 28.352 + sodipodi:linespacing="100%" 28.353 + id="text3376" 28.354 + y="403.42465" 28.355 + x="419.16797" 28.356 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.357 + xml:space="preserve"><tspan 28.358 + id="tspan3378" 28.359 + y="403.42465" 28.360 + x="419.16797" 28.361 + sodipodi:role="line" 28.362 + style="text-align:center;text-anchor:middle;fill:#008000">Seed_Fn</tspan></text> 28.363 + <text 28.364 + xml:space="preserve" 28.365 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.366 + x="419.16797" 28.367 + y="563.42468" 28.368 + id="text3380" 28.369 + sodipodi:linespacing="100%"><tspan 28.370 + style="text-align:center;text-anchor:middle;fill:#008000" 28.371 + sodipodi:role="line" 28.372 + x="419.16797" 28.373 + y="563.42468" 28.374 + id="tspan3382">Work_Fn</tspan></text> 28.375 + <text 28.376 + sodipodi:linespacing="100%" 28.377 + id="text3388" 28.378 + y="363.42465" 28.379 + x="506.63812" 28.380 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.381 + xml:space="preserve"><tspan 28.382 + id="tspan3390" 28.383 + y="363.42465" 28.384 + x="508.14203" 28.385 + sodipodi:role="line" 28.386 + style="text-align:center;text-anchor:middle;fill:#800000">Language </tspan><tspan 28.387 + y="373.42465" 28.388 + x="506.63812" 28.389 + sodipodi:role="line" 28.390 + style="text-align:center;text-anchor:middle;fill:#800000" 28.391 + id="tspan5106">Wrapper-Lib</tspan><tspan 28.392 + y="383.42465" 28.393 + x="506.63812" 28.394 + sodipodi:role="line" 28.395 + style="text-align:center;text-anchor:middle;fill:#800000" 28.396 + id="tspan3392">Code</tspan></text> 28.397 + <text 28.398 + xml:space="preserve" 28.399 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.400 + x="571.16797" 28.401 + y="363.42465" 28.402 + id="text3394" 28.403 + sodipodi:linespacing="100%"><tspan 28.404 + style="text-align:center;text-anchor:middle;fill:#000080" 28.405 + sodipodi:role="line" 28.406 + x="571.16797" 28.407 + y="363.42465" 28.408 + id="tspan3396">Proto-Runtime</tspan><tspan 28.409 + style="text-align:center;text-anchor:middle;fill:#000080" 28.410 + sodipodi:role="line" 28.411 + x="571.16797" 28.412 + y="373.42465" 28.413 + id="tspan4998">Primitive</tspan><tspan 28.414 + id="tspan3398" 28.415 + style="text-align:center;text-anchor:middle;fill:#000080" 28.416 + sodipodi:role="line" 28.417 + x="571.16797" 28.418 + y="383.42465">Code</tspan></text> 28.419 + <text 28.420 + sodipodi:linespacing="100%" 28.421 + id="text3400" 28.422 + y="363.42465" 28.423 + x="131.16797" 28.424 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.425 + xml:space="preserve"><tspan 28.426 + id="tspan3402" 28.427 + y="363.42465" 28.428 + x="131.16797" 28.429 + sodipodi:role="line" 28.430 + style="text-align:center;text-anchor:middle;fill:#800000">Language Plugin</tspan><tspan 28.431 + y="373.42465" 28.432 + x="131.16797" 28.433 + sodipodi:role="line" 28.434 + style="text-align:center;text-anchor:middle;fill:#800000" 28.435 + id="tspan3404">Code</tspan></text> 28.436 + <text 28.437 + xml:space="preserve" 28.438 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.439 + x="47.167969" 28.440 + y="363.42465" 28.441 + id="text3406" 28.442 + sodipodi:linespacing="100%"><tspan 28.443 + style="text-align:center;text-anchor:middle" 28.444 + sodipodi:role="line" 28.445 + x="47.167969" 28.446 + y="363.42465" 28.447 + id="tspan3408">Proto-Runtime</tspan><tspan 28.448 + id="tspan3410" 28.449 + style="text-align:center;text-anchor:middle" 28.450 + sodipodi:role="line" 28.451 + x="47.167969" 28.452 + y="373.42465">Code</tspan></text> 28.453 + <text 28.454 + xml:space="preserve" 28.455 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.456 + x="131.19971" 28.457 + y="413.42465" 28.458 + id="text3412" 28.459 + sodipodi:linespacing="100%"><tspan 28.460 + style="text-align:center;text-anchor:middle;fill:#800000" 28.461 + sodipodi:role="line" 28.462 + x="131.19971" 28.463 + y="413.42465" 28.464 + id="tspan3414">Handler</tspan><tspan 28.465 + style="text-align:center;text-anchor:middle;fill:#800000" 28.466 + sodipodi:role="line" 28.467 + x="131.19971" 28.468 + y="423.42465" 28.469 + id="tspan3422">for create VP</tspan></text> 28.470 + <text 28.471 + sodipodi:linespacing="100%" 28.472 + id="text3424" 28.473 + y="493.42465" 28.474 + x="131.19971" 28.475 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.476 + xml:space="preserve"><tspan 28.477 + id="tspan3426" 28.478 + y="493.42465" 28.479 + x="131.19971" 28.480 + sodipodi:role="line" 28.481 + style="text-align:center;text-anchor:middle;fill:#800000">Handler</tspan><tspan 28.482 + id="tspan3428" 28.483 + y="503.42465" 28.484 + x="131.19971" 28.485 + sodipodi:role="line" 28.486 + style="text-align:center;text-anchor:middle;fill:#800000">for Language</tspan><tspan 28.487 + id="tspan3430" 28.488 + y="513.42468" 28.489 + x="131.19971" 28.490 + sodipodi:role="line" 28.491 + style="text-align:center;text-anchor:middle;fill:#800000">Construct2</tspan></text> 28.492 + <text 28.493 + xml:space="preserve" 28.494 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.495 + x="47.661133" 28.496 + y="403.42465" 28.497 + id="text3432" 28.498 + sodipodi:linespacing="100%"><tspan 28.499 + style="text-align:center;text-anchor:middle" 28.500 + sodipodi:role="line" 28.501 + x="47.661133" 28.502 + y="403.42465" 28.503 + id="tspan3438">Master Fn</tspan></text> 28.504 + <text 28.505 + xml:space="preserve" 28.506 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.507 + x="131.52441" 28.508 + y="539.42468" 28.509 + id="text3444" 28.510 + sodipodi:linespacing="100%"><tspan 28.511 + style="text-align:center;text-anchor:middle;fill:#800000" 28.512 + sodipodi:role="line" 28.513 + x="131.52441" 28.514 + y="539.42468" 28.515 + id="tspan3450">Assigner Fn</tspan></text> 28.516 + <text 28.517 + xml:space="preserve" 28.518 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.519 + x="229.16797" 28.520 + y="365.42465" 28.521 + id="text3456" 28.522 + sodipodi:linespacing="100%"><tspan 28.523 + style="text-align:center;text-anchor:middle" 28.524 + sodipodi:role="line" 28.525 + x="230.67188" 28.526 + y="365.42465" 28.527 + id="tspan3458">Instances of </tspan><tspan 28.528 + style="text-align:center;text-anchor:middle" 28.529 + sodipodi:role="line" 28.530 + x="229.16797" 28.531 + y="375.42465" 28.532 + id="tspan8405">runtime system</tspan><tspan 28.533 + id="tspan3460" 28.534 + style="text-align:center;text-anchor:middle" 28.535 + sodipodi:role="line" 28.536 + x="229.16797" 28.537 + y="385.42465" /></text> 28.538 + <text 28.539 + sodipodi:linespacing="100%" 28.540 + id="text3462" 28.541 + y="363.42465" 28.542 + x="325.16797" 28.543 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.544 + xml:space="preserve"><tspan 28.545 + id="tspan3464" 28.546 + y="363.42465" 28.547 + x="325.16797" 28.548 + sodipodi:role="line" 28.549 + style="text-align:center;text-anchor:middle">Instances of</tspan><tspan 28.550 + y="373.42465" 28.551 + x="325.16797" 28.552 + sodipodi:role="line" 28.553 + style="text-align:center;text-anchor:middle" 28.554 + id="tspan3468">Virtual Processors</tspan><tspan 28.555 + y="383.42465" 28.556 + x="325.16797" 28.557 + sodipodi:role="line" 28.558 + style="text-align:center;text-anchor:middle" 28.559 + id="tspan3466" /></text> 28.560 + <path 28.561 + inkscape:connector-curvature="0" 28.562 + id="path4796" 28.563 + d="m 359.32649,400.02605 c 38.42351,0 38.42351,0 38.42351,0" 28.564 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999996, 2.99999996;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 28.565 + <text 28.566 + xml:space="preserve" 28.567 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.568 + x="506.78461" 28.569 + y="397.42465" 28.570 + id="text4988" 28.571 + sodipodi:linespacing="100%"><tspan 28.572 + style="text-align:center;text-anchor:middle;fill:#800000" 28.573 + sodipodi:role="line" 28.574 + x="506.78461" 28.575 + y="397.42465" 28.576 + id="tspan4990">create VP</tspan><tspan 28.577 + style="text-align:center;text-anchor:middle;fill:#800000" 28.578 + sodipodi:role="line" 28.579 + x="506.78461" 28.580 + y="407.42465" 28.581 + id="tspan5104">wrapper Fn</tspan></text> 28.582 + <path 28.583 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 28.584 + d="m 48.02904,406.29842 c 0,7.37773 0,7.37773 0,7.37773" 28.585 + id="path4996" 28.586 + inkscape:connector-curvature="0" 28.587 + sodipodi:nodetypes="cc" /> 28.588 + <path 28.589 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 28.590 + d="m 48.247131,414.02605 c 48.887624,0 48.887624,0 48.887624,0" 28.591 + id="path5000" 28.592 + inkscape:connector-curvature="0" /> 28.593 + <path 28.594 + inkscape:connector-curvature="0" 28.595 + id="path5002" 28.596 + d="m 98.156891,426.02605 c -51.085387,0 -51.085387,0 -51.085387,0" 28.597 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 28.598 + <path 28.599 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 28.600 + d="m 98.02904,412.63925 c 0,13.68455 0,13.68455 0,13.68455" 28.601 + id="path5006" 28.602 + inkscape:connector-curvature="0" 28.603 + sodipodi:nodetypes="cc" /> 28.604 + <text 28.605 + sodipodi:linespacing="100%" 28.606 + id="text5012" 28.607 + y="455.42465" 28.608 + x="131.19971" 28.609 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.610 + xml:space="preserve"><tspan 28.611 + id="tspan5014" 28.612 + y="455.42465" 28.613 + x="131.19971" 28.614 + sodipodi:role="line" 28.615 + style="text-align:center;text-anchor:middle;fill:#800000">Handler</tspan><tspan 28.616 + id="tspan5016" 28.617 + y="465.42465" 28.618 + x="131.19971" 28.619 + sodipodi:role="line" 28.620 + style="text-align:center;text-anchor:middle;fill:#800000">for Language</tspan><tspan 28.621 + id="tspan5018" 28.622 + y="475.42465" 28.623 + x="131.19971" 28.624 + sodipodi:role="line" 28.625 + style="text-align:center;text-anchor:middle;fill:#800000">Construct1</tspan></text> 28.626 + <path 28.627 + sodipodi:nodetypes="cc" 28.628 + inkscape:connector-curvature="0" 28.629 + id="path5020" 28.630 + d="m 48.02904,426.51232 c 0,29.16381 0,29.16381 0,29.16381" 28.631 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 28.632 + <path 28.633 + inkscape:connector-curvature="0" 28.634 + id="path5022" 28.635 + d="m 48.247131,456.02605 c 48.887624,0 48.887624,0 48.887624,0" 28.636 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 28.637 + <path 28.638 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 28.639 + d="m 98.156891,468.02605 c -51.085387,0 -51.085387,0 -51.085387,0" 28.640 + id="path5024" 28.641 + inkscape:connector-curvature="0" /> 28.642 + <path 28.643 + sodipodi:nodetypes="cc" 28.644 + inkscape:connector-curvature="0" 28.645 + id="path5026" 28.646 + d="m 98.02904,454.63925 c 0,13.68455 0,13.68455 0,13.68455" 28.647 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 28.648 + <path 28.649 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 28.650 + d="m 48.02904,468.14337 c 0,25.5328 0,25.5328 0,25.5328" 28.651 + id="path5032" 28.652 + inkscape:connector-curvature="0" 28.653 + sodipodi:nodetypes="cc" /> 28.654 + <path 28.655 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 28.656 + d="m 48.247131,494.02605 c 48.887624,0 48.887624,0 48.887624,0" 28.657 + id="path5034" 28.658 + inkscape:connector-curvature="0" /> 28.659 + <path 28.660 + inkscape:connector-curvature="0" 28.661 + id="path5036" 28.662 + d="m 98.156891,506.02605 c -51.085387,0 -51.085387,0 -51.085387,0" 28.663 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 28.664 + <path 28.665 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 28.666 + d="m 98.02904,492.63925 c 0,13.68455 0,13.68455 0,13.68455" 28.667 + id="path5038" 28.668 + inkscape:connector-curvature="0" 28.669 + sodipodi:nodetypes="cc" /> 28.670 + <path 28.671 + sodipodi:nodetypes="cc" 28.672 + inkscape:connector-curvature="0" 28.673 + id="path5044" 28.674 + d="m 48.02904,506.56402 c 0,23.11212 0,23.11212 0,23.11212" 28.675 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 28.676 + <path 28.677 + inkscape:connector-curvature="0" 28.678 + id="path5046" 28.679 + d="m 48.247131,530.02605 c 48.887624,0 48.887624,0 48.887624,0" 28.680 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 28.681 + <path 28.682 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 28.683 + d="m 98.156891,542.02605 c -51.085387,0 -51.085387,0 -51.085387,0" 28.684 + id="path5048" 28.685 + inkscape:connector-curvature="0" /> 28.686 + <path 28.687 + sodipodi:nodetypes="cc" 28.688 + inkscape:connector-curvature="0" 28.689 + id="path5050" 28.690 + d="m 98.02904,528.63925 c 0,13.68455 0,13.68455 0,13.68455" 28.691 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 28.692 + <text 28.693 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 28.694 + xml:space="preserve" 28.695 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.696 + x="78.264717" 28.697 + y="410.23279" 28.698 + id="text5064" 28.699 + sodipodi:linespacing="100%"><tspan 28.700 + style="font-size:8px;text-align:center;text-anchor:middle" 28.701 + sodipodi:role="line" 28.702 + x="78.264717" 28.703 + y="410.23279" 28.704 + id="tspan5066">Call via Ptr</tspan></text> 28.705 + <path 28.706 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000003, 3.00000003;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 28.707 + d="m 193.99816,400.02605 c -117.505852,0 -117.505852,0 -117.505852,0" 28.708 + id="path5068" 28.709 + inkscape:connector-curvature="0" /> 28.710 + <text 28.711 + sodipodi:linespacing="100%" 28.712 + id="text5070" 28.713 + y="415.39398" 28.714 + x="58.358849" 28.715 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.716 + xml:space="preserve" 28.717 + transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"><tspan 28.718 + id="tspan5072" 28.719 + y="415.39398" 28.720 + x="58.358849" 28.721 + sodipodi:role="line" 28.722 + style="font-size:8px;text-align:center;text-anchor:middle">Top Level Fn</tspan></text> 28.723 + <text 28.724 + transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)" 28.725 + xml:space="preserve" 28.726 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.727 + x="299.82327" 28.728 + y="462.45642" 28.729 + id="text5074" 28.730 + sodipodi:linespacing="100%"><tspan 28.731 + style="font-size:8px;text-align:center;text-anchor:middle" 28.732 + sodipodi:role="line" 28.733 + x="299.82327" 28.734 + y="462.45642" 28.735 + id="tspan5076">Top Level Fn</tspan></text> 28.736 + <text 28.737 + sodipodi:linespacing="100%" 28.738 + id="text5078" 28.739 + y="619.64636" 28.740 + x="269.89853" 28.741 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.742 + xml:space="preserve" 28.743 + transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"><tspan 28.744 + id="tspan5080" 28.745 + y="619.64636" 28.746 + x="269.89853" 28.747 + sodipodi:role="line" 28.748 + style="font-size:8px;text-align:center;text-anchor:middle">Top Level Fn</tspan></text> 28.749 + <path 28.750 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999996, 2.99999996;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 28.751 + d="m 360.9835,560.02605 c 36.7665,0 36.7665,0 36.7665,0" 28.752 + id="path5082" 28.753 + inkscape:connector-curvature="0" /> 28.754 + <path 28.755 + inkscape:connector-curvature="0" 28.756 + id="path5084" 28.757 + d="m 359.32649,712.02605 c 38.42351,0 38.42351,0 38.42351,0" 28.758 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999996, 2.99999996;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 28.759 + <path 28.760 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 28.761 + d="m 416.02904,404.31985 c 0,7.35629 0,7.35629 0,7.35629" 28.762 + id="path5092" 28.763 + inkscape:connector-curvature="0" 28.764 + sodipodi:nodetypes="cc" /> 28.765 + <path 28.766 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 28.767 + d="m 416.24714,412.02605 c 85.56237,0 85.56237,0 85.56237,0" 28.768 + id="path5094" 28.769 + inkscape:connector-curvature="0" /> 28.770 + <path 28.771 + inkscape:connector-curvature="0" 28.772 + id="path5096" 28.773 + d="m 504.77166,478.02605 c -88.41298,0 -88.41298,0 -88.41298,0" 28.774 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 28.775 + <text 28.776 + transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)" 28.777 + xml:space="preserve" 28.778 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.779 + x="239.60797" 28.780 + y="768.59875" 28.781 + id="text5114" 28.782 + sodipodi:linespacing="100%"><tspan 28.783 + style="font-size:8px;text-align:center;text-anchor:middle" 28.784 + sodipodi:role="line" 28.785 + x="239.60797" 28.786 + y="768.59875" 28.787 + id="tspan5116">Top Level Fn</tspan></text> 28.788 + <text 28.789 + sodipodi:linespacing="100%" 28.790 + id="text5136" 28.791 + y="715.42468" 28.792 + x="419.16797" 28.793 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.794 + xml:space="preserve"><tspan 28.795 + id="tspan5138" 28.796 + y="715.42468" 28.797 + x="419.16797" 28.798 + sodipodi:role="line" 28.799 + style="text-align:center;text-anchor:middle;fill:#008000">Work_Fn</tspan></text> 28.800 + <path 28.801 + sodipodi:nodetypes="cc" 28.802 + inkscape:connector-curvature="0" 28.803 + id="path5140" 28.804 + d="m 416.02904,478.31987 c 0,26.21842 0,26.21842 0,26.21842" 28.805 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 28.806 + <path 28.807 + inkscape:connector-curvature="0" 28.808 + id="path5142" 28.809 + d="m 416.2471,504.02605 c 87.58783,0 87.58783,0 87.58783,0" 28.810 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 28.811 + <text 28.812 + sodipodi:linespacing="100%" 28.813 + id="text5157" 28.814 + y="490.71182" 28.815 + x="506.78461" 28.816 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.817 + xml:space="preserve"><tspan 28.818 + id="tspan5161" 28.819 + y="490.71182" 28.820 + x="506.78461" 28.821 + sodipodi:role="line" 28.822 + style="text-align:center;text-anchor:middle;fill:#800000">end VP</tspan><tspan 28.823 + y="500.71182" 28.824 + x="506.78461" 28.825 + sodipodi:role="line" 28.826 + style="text-align:center;text-anchor:middle;fill:#800000" 28.827 + id="tspan5207">wrapper Fn</tspan></text> 28.828 + <path 28.829 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 28.830 + d="m 504.26584,510.02605 c 63.99676,0 63.99676,0 63.99676,0" 28.831 + id="path5165" 28.832 + inkscape:connector-curvature="0" /> 28.833 + <text 28.834 + xml:space="preserve" 28.835 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.836 + x="571.34375" 28.837 + y="496.71182" 28.838 + id="text5167" 28.839 + sodipodi:linespacing="100%"><tspan 28.840 + style="text-align:center;text-anchor:middle;fill:#000080" 28.841 + sodipodi:role="line" 28.842 + x="571.34375" 28.843 + y="496.71182" 28.844 + id="tspan5169">End VP</tspan><tspan 28.845 + style="text-align:center;text-anchor:middle;fill:#000080" 28.846 + sodipodi:role="line" 28.847 + x="571.34375" 28.848 + y="506.71182" 28.849 + id="tspan5171">Primitive Fn</tspan></text> 28.850 + <path 28.851 + sodipodi:nodetypes="cc" 28.852 + inkscape:connector-curvature="0" 28.853 + id="path5179" 28.854 + d="m 416.02904,564.31985 c 0,7.35629 0,7.35629 0,7.35629" 28.855 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 28.856 + <path 28.857 + sodipodi:nodetypes="cc" 28.858 + inkscape:connector-curvature="0" 28.859 + id="path5209" 28.860 + d="m 504.02904,502.31985 c 0,7.35629 0,7.35629 0,7.35629" 28.861 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 28.862 + <text 28.863 + xml:space="preserve" 28.864 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.865 + x="497.16797" 28.866 + y="399.42468" 28.867 + id="text5211" 28.868 + sodipodi:linespacing="100%"><tspan 28.869 + style="text-align:center;text-anchor:middle" 28.870 + sodipodi:role="line" 28.871 + x="497.16797" 28.872 + y="399.42468" 28.873 + id="tspan5215" /></text> 28.874 + <path 28.875 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 28.876 + d="m 504.02904,412.21843 c 0,19.4577 0,19.4577 0,19.4577" 28.877 + id="path5217" 28.878 + inkscape:connector-curvature="0" 28.879 + sodipodi:nodetypes="cc" /> 28.880 + <path 28.881 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 28.882 + d="m 504.24714,432.02605 c 64.71029,0 64.71029,0 64.71029,0" 28.883 + id="path5219" 28.884 + inkscape:connector-curvature="0" /> 28.885 + <path 28.886 + inkscape:connector-curvature="0" 28.887 + id="path5221" 28.888 + d="m 568.85635,474.02605 c -65.78483,0 -65.78483,0 -65.78483,0" 28.889 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 28.890 + <path 28.891 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 28.892 + d="m 570.02904,430.63925 c 0,13.68455 0,13.68455 0,13.68455" 28.893 + id="path5223" 28.894 + inkscape:connector-curvature="0" 28.895 + sodipodi:nodetypes="cc" /> 28.896 + <path 28.897 + sodipodi:nodetypes="cc" 28.898 + inkscape:connector-curvature="0" 28.899 + id="path5229" 28.900 + d="m 504.02904,473.22687 c 0,5.5885 0,5.5885 0,5.5885" 28.901 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 28.902 + <text 28.903 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 28.904 + xml:space="preserve" 28.905 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.906 + x="527.4845" 28.907 + y="436.83682" 28.908 + id="text5231" 28.909 + sodipodi:linespacing="100%"><tspan 28.910 + style="font-size:8px;text-align:center;text-anchor:middle" 28.911 + sodipodi:role="line" 28.912 + x="527.4845" 28.913 + y="436.83682" 28.914 + id="tspan5233">normal call</tspan></text> 28.915 + <path 28.916 + sodipodi:nodetypes="cc" 28.917 + inkscape:connector-curvature="0" 28.918 + id="path5235" 28.919 + d="m 570.02904,460.63925 c 0,13.68455 0,13.68455 0,13.68455" 28.920 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 28.921 + <path 28.922 + inkscape:connector-curvature="0" 28.923 + id="path5237" 28.924 + d="m 570.24715,442.02605 c 57.74832,0 57.74832,0 57.74832,0" 28.925 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 28.926 + <text 28.927 + sodipodi:linespacing="100%" 28.928 + id="text5239" 28.929 + y="732.05804" 28.930 + x="136.82079" 28.931 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.932 + xml:space="preserve" 28.933 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 28.934 + id="tspan5241" 28.935 + y="732.05804" 28.936 + x="136.82079" 28.937 + sodipodi:role="line" 28.938 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan 28.939 + y="740.05804" 28.940 + x="136.82079" 28.941 + sodipodi:role="line" 28.942 + style="font-size:8px;text-align:center;text-anchor:middle" 28.943 + id="tspan5243">and switch</tspan><tspan 28.944 + y="748.05804" 28.945 + x="136.82079" 28.946 + sodipodi:role="line" 28.947 + style="font-size:8px;text-align:center;text-anchor:middle" 28.948 + id="tspan5245">to runtime</tspan></text> 28.949 + <path 28.950 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 28.951 + d="m 627.94909,462.02605 c -56.8776,0 -56.8776,0 -56.8776,0" 28.952 + id="path5247" 28.953 + inkscape:connector-curvature="0" /> 28.954 + <text 28.955 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 28.956 + xml:space="preserve" 28.957 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.958 + x="111.73514" 28.959 + y="755.09509" 28.960 + id="text5249" 28.961 + sodipodi:linespacing="100%"><tspan 28.962 + id="tspan5255" 28.963 + style="font-size:8px;text-align:center;text-anchor:middle" 28.964 + sodipodi:role="line" 28.965 + x="111.73514" 28.966 + y="755.09509">return</tspan><tspan 28.967 + style="font-size:8px;text-align:center;text-anchor:middle" 28.968 + sodipodi:role="line" 28.969 + x="111.73514" 28.970 + y="763.09509" 28.971 + id="tspan5261">from</tspan><tspan 28.972 + style="font-size:8px;text-align:center;text-anchor:middle" 28.973 + sodipodi:role="line" 28.974 + x="111.73514" 28.975 + y="771.09509" 28.976 + id="tspan5263">suspend</tspan></text> 28.977 + <text 28.978 + sodipodi:linespacing="100%" 28.979 + id="text5345" 28.980 + y="417.42465" 28.981 + x="571.38037" 28.982 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.983 + xml:space="preserve"><tspan 28.984 + id="tspan5349" 28.985 + y="417.42465" 28.986 + x="571.38037" 28.987 + sodipodi:role="line" 28.988 + style="text-align:center;text-anchor:middle;fill:#000080">create VP</tspan><tspan 28.989 + y="427.42465" 28.990 + x="571.38037" 28.991 + sodipodi:role="line" 28.992 + style="text-align:center;text-anchor:middle;fill:#000080" 28.993 + id="tspan5353">primitive Fn</tspan></text> 28.994 + <text 28.995 + sodipodi:linespacing="100%" 28.996 + id="text5355" 28.997 + y="417.14474" 28.998 + x="457.39746" 28.999 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.1000 + xml:space="preserve" 28.1001 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 28.1002 + id="tspan5357" 28.1003 + y="417.14474" 28.1004 + x="457.39746" 28.1005 + sodipodi:role="line" 28.1006 + style="font-size:8px;text-align:center;text-anchor:middle">normal call</tspan></text> 28.1007 + <path 28.1008 + sodipodi:nodetypes="cc" 28.1009 + inkscape:connector-curvature="0" 28.1010 + id="path5359" 28.1011 + d="m 570.02904,509.28283 c 0,13.68455 0,13.68455 0,13.68455" 28.1012 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 28.1013 + <path 28.1014 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 28.1015 + d="m 570.24715,520.66963 c 57.74832,0 57.74832,0 57.74832,0" 28.1016 + id="path5361" 28.1017 + inkscape:connector-curvature="0" /> 28.1018 + <text 28.1019 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 28.1020 + xml:space="preserve" 28.1021 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.1022 + x="81.17688" 28.1023 + y="789.53607" 28.1024 + id="text5363" 28.1025 + sodipodi:linespacing="100%"><tspan 28.1026 + style="font-size:8px;text-align:center;text-anchor:middle" 28.1027 + sodipodi:role="line" 28.1028 + x="81.17688" 28.1029 + y="789.53607" 28.1030 + id="tspan5365">suspend</tspan><tspan 28.1031 + id="tspan5367" 28.1032 + style="font-size:8px;text-align:center;text-anchor:middle" 28.1033 + sodipodi:role="line" 28.1034 + x="81.17688" 28.1035 + y="797.53607">and switch</tspan><tspan 28.1036 + id="tspan5369" 28.1037 + style="font-size:8px;text-align:center;text-anchor:middle" 28.1038 + sodipodi:role="line" 28.1039 + x="81.17688" 28.1040 + y="805.53607">to runtime</tspan></text> 28.1041 + <text 28.1042 + sodipodi:linespacing="100%" 28.1043 + id="text5371" 28.1044 + y="557.42468" 28.1045 + x="506.59662" 28.1046 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.1047 + xml:space="preserve"><tspan 28.1048 + id="tspan5373" 28.1049 + y="557.42468" 28.1050 + x="506.59662" 28.1051 + sodipodi:role="line" 28.1052 + style="text-align:center;text-anchor:middle;fill:#800000">Mutex Acquire</tspan><tspan 28.1053 + id="tspan5375" 28.1054 + y="567.42468" 28.1055 + x="506.59662" 28.1056 + sodipodi:role="line" 28.1057 + style="text-align:center;text-anchor:middle;fill:#800000">wrapper Fn</tspan></text> 28.1058 + <path 28.1059 + sodipodi:nodetypes="cc" 28.1060 + inkscape:connector-curvature="0" 28.1061 + id="path5377" 28.1062 + d="m 416.02904,564.31985 c 0,7.35629 0,7.35629 0,7.35629" 28.1063 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 28.1064 + <path 28.1065 + inkscape:connector-curvature="0" 28.1066 + id="path5379" 28.1067 + d="m 416.24714,572.02605 c 85.56237,0 85.56237,0 85.56237,0" 28.1068 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 28.1069 + <path 28.1070 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 28.1071 + d="m 504.77166,638.02605 c -88.41298,0 -88.41298,0 -88.41298,0" 28.1072 + id="path5381" 28.1073 + inkscape:connector-curvature="0" /> 28.1074 + <text 28.1075 + xml:space="preserve" 28.1076 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.1077 + x="506.78461" 28.1078 + y="650.71179" 28.1079 + id="text5387" 28.1080 + sodipodi:linespacing="100%"><tspan 28.1081 + style="text-align:center;text-anchor:middle;fill:#800000" 28.1082 + sodipodi:role="line" 28.1083 + x="506.78461" 28.1084 + y="650.71179" 28.1085 + id="tspan5389">end VP</tspan><tspan 28.1086 + id="tspan5391" 28.1087 + style="text-align:center;text-anchor:middle;fill:#800000" 28.1088 + sodipodi:role="line" 28.1089 + x="506.78461" 28.1090 + y="660.71179">wrapper Fn</tspan></text> 28.1091 + <path 28.1092 + inkscape:connector-curvature="0" 28.1093 + id="path5393" 28.1094 + d="m 504.289,670.02605 c 65.24023,0 65.24023,0 65.24023,0" 28.1095 + style="fill:none;stroke:#000000;stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 28.1096 + <text 28.1097 + sodipodi:linespacing="100%" 28.1098 + id="text5395" 28.1099 + y="656.71179" 28.1100 + x="571.34375" 28.1101 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.1102 + xml:space="preserve"><tspan 28.1103 + id="tspan5397" 28.1104 + y="656.71179" 28.1105 + x="571.34375" 28.1106 + sodipodi:role="line" 28.1107 + style="text-align:center;text-anchor:middle;fill:#000080">end VP</tspan><tspan 28.1108 + id="tspan5399" 28.1109 + y="666.71179" 28.1110 + x="571.34375" 28.1111 + sodipodi:role="line" 28.1112 + style="text-align:center;text-anchor:middle;fill:#000080">Primitive Fn</tspan></text> 28.1113 + <path 28.1114 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 28.1115 + d="m 504.02904,662.31985 c 0,7.35629 0,7.35629 0,7.35629" 28.1116 + id="path5401" 28.1117 + inkscape:connector-curvature="0" 28.1118 + sodipodi:nodetypes="cc" /> 28.1119 + <path 28.1120 + sodipodi:nodetypes="cc" 28.1121 + inkscape:connector-curvature="0" 28.1122 + id="path5403" 28.1123 + d="m 504.02904,572.21843 c 0,19.4577 0,19.4577 0,19.4577" 28.1124 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 28.1125 + <path 28.1126 + inkscape:connector-curvature="0" 28.1127 + id="path5405" 28.1128 + d="m 504.6148,592.02605 c 64.1779,0 64.1779,0 64.1779,0" 28.1129 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 28.1130 + <path 28.1131 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 28.1132 + d="m 570.13452,634.02605 c -67.06305,0 -67.06305,0 -67.06305,0" 28.1133 + id="path5407" 28.1134 + inkscape:connector-curvature="0" /> 28.1135 + <path 28.1136 + sodipodi:nodetypes="cc" 28.1137 + inkscape:connector-curvature="0" 28.1138 + id="path5409" 28.1139 + d="m 570.02904,590.63925 c 0,13.68455 0,13.68455 0,13.68455" 28.1140 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 28.1141 + <path 28.1142 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 28.1143 + d="m 504.02904,633.22687 c 0,5.5885 0,5.5885 0,5.5885" 28.1144 + id="path5411" 28.1145 + inkscape:connector-curvature="0" 28.1146 + sodipodi:nodetypes="cc" /> 28.1147 + <text 28.1148 + sodipodi:linespacing="100%" 28.1149 + id="text5413" 28.1150 + y="596.83447" 28.1151 + x="528.18695" 28.1152 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.1153 + xml:space="preserve" 28.1154 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 28.1155 + id="tspan5415" 28.1156 + y="596.83447" 28.1157 + x="528.18695" 28.1158 + sodipodi:role="line" 28.1159 + style="font-size:8px;text-align:center;text-anchor:middle">normal call</tspan></text> 28.1160 + <path 28.1161 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 28.1162 + d="m 570.02904,620.63925 c 0,13.68455 0,13.68455 0,13.68455" 28.1163 + id="path5417" 28.1164 + inkscape:connector-curvature="0" 28.1165 + sodipodi:nodetypes="cc" /> 28.1166 + <path 28.1167 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 28.1168 + d="m 570.24715,602.02605 c 57.74832,0 57.74832,0 57.74832,0" 28.1169 + id="path5419" 28.1170 + inkscape:connector-curvature="0" /> 28.1171 + <text 28.1172 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 28.1173 + xml:space="preserve" 28.1174 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.1175 + x="25.533201" 28.1176 + y="847.01544" 28.1177 + id="text5421" 28.1178 + sodipodi:linespacing="100%"><tspan 28.1179 + style="font-size:8px;text-align:center;text-anchor:middle" 28.1180 + sodipodi:role="line" 28.1181 + x="25.533201" 28.1182 + y="847.01544" 28.1183 + id="tspan5423">suspend</tspan><tspan 28.1184 + id="tspan5425" 28.1185 + style="font-size:8px;text-align:center;text-anchor:middle" 28.1186 + sodipodi:role="line" 28.1187 + x="25.533201" 28.1188 + y="855.01544">and switch</tspan><tspan 28.1189 + id="tspan5427" 28.1190 + style="font-size:8px;text-align:center;text-anchor:middle" 28.1191 + sodipodi:role="line" 28.1192 + x="25.533201" 28.1193 + y="863.01544">to runtime</tspan></text> 28.1194 + <path 28.1195 + inkscape:connector-curvature="0" 28.1196 + id="path5429" 28.1197 + d="m 627.94909,622.02605 c -56.8776,0 -56.8776,0 -56.8776,0" 28.1198 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 28.1199 + <text 28.1200 + sodipodi:linespacing="100%" 28.1201 + id="text5431" 28.1202 + y="871.4436" 28.1203 + x="1.8845758" 28.1204 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.1205 + xml:space="preserve" 28.1206 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 28.1207 + y="871.4436" 28.1208 + x="1.8845758" 28.1209 + sodipodi:role="line" 28.1210 + style="font-size:8px;text-align:center;text-anchor:middle" 28.1211 + id="tspan5433">return</tspan><tspan 28.1212 + id="tspan5435" 28.1213 + y="879.4436" 28.1214 + x="1.8845758" 28.1215 + sodipodi:role="line" 28.1216 + style="font-size:8px;text-align:center;text-anchor:middle">from</tspan><tspan 28.1217 + id="tspan5437" 28.1218 + y="887.4436" 28.1219 + x="1.8845758" 28.1220 + sodipodi:role="line" 28.1221 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text> 28.1222 + <text 28.1223 + xml:space="preserve" 28.1224 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.1225 + x="571.33643" 28.1226 + y="577.42468" 28.1227 + id="text5439" 28.1228 + sodipodi:linespacing="100%"><tspan 28.1229 + style="text-align:center;text-anchor:middle;fill:#000080" 28.1230 + sodipodi:role="line" 28.1231 + x="571.33643" 28.1232 + y="577.42468" 28.1233 + id="tspan5441">send request</tspan><tspan 28.1234 + id="tspan5443" 28.1235 + style="text-align:center;text-anchor:middle;fill:#000080" 28.1236 + sodipodi:role="line" 28.1237 + x="571.33643" 28.1238 + y="587.42468">primitive Fn</tspan></text> 28.1239 + <text 28.1240 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 28.1241 + xml:space="preserve" 28.1242 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.1243 + x="458.09958" 28.1244 + y="577.1424" 28.1245 + id="text5445" 28.1246 + sodipodi:linespacing="100%"><tspan 28.1247 + style="font-size:8px;text-align:center;text-anchor:middle" 28.1248 + sodipodi:role="line" 28.1249 + x="458.09958" 28.1250 + y="577.1424" 28.1251 + id="tspan5447">normal call</tspan></text> 28.1252 + <path 28.1253 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 28.1254 + d="m 570.02904,669.28283 c 0,13.68455 0,13.68455 0,13.68455" 28.1255 + id="path5449" 28.1256 + inkscape:connector-curvature="0" 28.1257 + sodipodi:nodetypes="cc" /> 28.1258 + <path 28.1259 + inkscape:connector-curvature="0" 28.1260 + id="path5451" 28.1261 + d="m 570.24715,680.66963 c 57.74832,0 57.74832,0 57.74832,0" 28.1262 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 28.1263 + <text 28.1264 + sodipodi:linespacing="100%" 28.1265 + id="text5453" 28.1266 + y="904.49347" 28.1267 + x="-30.11055" 28.1268 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.1269 + xml:space="preserve" 28.1270 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 28.1271 + id="tspan5455" 28.1272 + y="904.49347" 28.1273 + x="-30.11055" 28.1274 + sodipodi:role="line" 28.1275 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan 28.1276 + y="912.49347" 28.1277 + x="-30.11055" 28.1278 + sodipodi:role="line" 28.1279 + style="font-size:8px;text-align:center;text-anchor:middle" 28.1280 + id="tspan5457">and switch</tspan><tspan 28.1281 + y="920.49347" 28.1282 + x="-30.11055" 28.1283 + sodipodi:role="line" 28.1284 + style="font-size:8px;text-align:center;text-anchor:middle" 28.1285 + id="tspan5459">to runtime</tspan></text> 28.1286 + <path 28.1287 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 28.1288 + d="m 416.02904,638.31987 c 0,26.21842 0,26.21842 0,26.21842" 28.1289 + id="path5461" 28.1290 + inkscape:connector-curvature="0" 28.1291 + sodipodi:nodetypes="cc" /> 28.1292 + <path 28.1293 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 28.1294 + d="m 416.2471,664.02605 c 87.58783,0 87.58783,0 87.58783,0" 28.1295 + id="path5463" 28.1296 + inkscape:connector-curvature="0" /> 28.1297 + <text 28.1298 + sodipodi:linespacing="100%" 28.1299 + id="text5465" 28.1300 + y="509.14246" 28.1301 + x="457.80075" 28.1302 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.1303 + xml:space="preserve" 28.1304 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 28.1305 + id="tspan5467" 28.1306 + y="509.14246" 28.1307 + x="457.80075" 28.1308 + sodipodi:role="line" 28.1309 + style="font-size:8px;text-align:center;text-anchor:middle">normal call</tspan></text> 28.1310 + <text 28.1311 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 28.1312 + xml:space="preserve" 28.1313 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.1314 + x="458.50388" 28.1315 + y="669.1424" 28.1316 + id="text5469" 28.1317 + sodipodi:linespacing="100%"><tspan 28.1318 + style="font-size:8px;text-align:center;text-anchor:middle" 28.1319 + sodipodi:role="line" 28.1320 + x="458.50388" 28.1321 + y="669.1424" 28.1322 + id="tspan5471">normal call</tspan></text> 28.1323 + <text 28.1324 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 28.1325 + xml:space="preserve" 28.1326 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.1327 + x="528.52972" 28.1328 + y="674.83447" 28.1329 + id="text5477" 28.1330 + sodipodi:linespacing="100%"><tspan 28.1331 + style="font-size:8px;text-align:center;text-anchor:middle" 28.1332 + sodipodi:role="line" 28.1333 + x="528.52972" 28.1334 + y="674.83447" 28.1335 + id="tspan5479">normal call</tspan></text> 28.1336 + <text 28.1337 + sodipodi:linespacing="100%" 28.1338 + id="text5481" 28.1339 + y="514.83447" 28.1340 + x="527.8266" 28.1341 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.1342 + xml:space="preserve" 28.1343 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 28.1344 + id="tspan5483" 28.1345 + y="514.83447" 28.1346 + x="527.8266" 28.1347 + sodipodi:role="line" 28.1348 + style="font-size:8px;text-align:center;text-anchor:middle">normal call</tspan></text> 28.1349 + <text 28.1350 + sodipodi:linespacing="100%" 28.1351 + id="text5489" 28.1352 + y="452.22702" 28.1353 + x="78.959503" 28.1354 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.1355 + xml:space="preserve" 28.1356 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 28.1357 + id="tspan5491" 28.1358 + y="452.22702" 28.1359 + x="78.959503" 28.1360 + sodipodi:role="line" 28.1361 + style="font-size:8px;text-align:center;text-anchor:middle">Call via Ptr</tspan></text> 28.1362 + <text 28.1363 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 28.1364 + xml:space="preserve" 28.1365 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.1366 + x="79.588112" 28.1367 + y="490.2218" 28.1368 + id="text5493" 28.1369 + sodipodi:linespacing="100%"><tspan 28.1370 + style="font-size:8px;text-align:center;text-anchor:middle" 28.1371 + sodipodi:role="line" 28.1372 + x="79.588112" 28.1373 + y="490.2218" 28.1374 + id="tspan5495">Call via Ptr</tspan></text> 28.1375 + <text 28.1376 + sodipodi:linespacing="100%" 28.1377 + id="text5497" 28.1378 + y="526.21716" 28.1379 + x="80.18364" 28.1380 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.1381 + xml:space="preserve" 28.1382 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 28.1383 + id="tspan5499" 28.1384 + y="526.21716" 28.1385 + x="80.18364" 28.1386 + sodipodi:role="line" 28.1387 + style="font-size:8px;text-align:center;text-anchor:middle">Call via Ptr</tspan></text> 28.1388 + <g 28.1389 + transform="translate(-114,76)" 28.1390 + id="g8395"> 28.1391 + <rect 28.1392 + y="313.58255" 28.1393 + x="310.40247" 28.1394 + height="52.250008" 28.1395 + width="65.276405" 28.1396 + id="rect8397" 28.1397 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 28.1398 + </g> 28.1399 + <text 28.1400 + xml:space="preserve" 28.1401 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.1402 + x="228.92543" 28.1403 + y="577.76575" 28.1404 + id="text8411" 28.1405 + sodipodi:linespacing="100%"><tspan 28.1406 + style="text-align:center;text-anchor:middle" 28.1407 + sodipodi:role="line" 28.1408 + id="tspan8413" 28.1409 + x="228.92543" 28.1410 + y="577.76575">Master</tspan><tspan 28.1411 + style="font-size:8px;text-align:center;text-anchor:middle" 28.1412 + id="tspan8415" 28.1413 + sodipodi:role="line" 28.1414 + x="228.92543" 28.1415 + y="586.2005">(runtime system)</tspan><tspan 28.1416 + id="tspan8417" 28.1417 + style="font-size:8px;text-align:center;text-anchor:middle" 28.1418 + sodipodi:role="line" 28.1419 + x="228.92543" 28.1420 + y="594.2005">on core 2</tspan></text> 28.1421 + <g 28.1422 + id="g8419" 28.1423 + transform="translate(-114,254)"> 28.1424 + <rect 28.1425 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 28.1426 + id="rect8421" 28.1427 + width="65.276405" 28.1428 + height="52.250008" 28.1429 + x="310.40247" 28.1430 + y="313.58255" /> 28.1431 + </g> 28.1432 + <text 28.1433 + sodipodi:linespacing="100%" 28.1434 + id="text8425" 28.1435 + y="593.42468" 28.1436 + x="131.19971" 28.1437 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.1438 + xml:space="preserve"><tspan 28.1439 + id="tspan8427" 28.1440 + y="593.42468" 28.1441 + x="131.19971" 28.1442 + sodipodi:role="line" 28.1443 + style="text-align:center;text-anchor:middle;fill:#800000">Handler</tspan><tspan 28.1444 + id="tspan8429" 28.1445 + y="603.42468" 28.1446 + x="131.19971" 28.1447 + sodipodi:role="line" 28.1448 + style="text-align:center;text-anchor:middle;fill:#800000">for Language</tspan><tspan 28.1449 + id="tspan8431" 28.1450 + y="613.42468" 28.1451 + x="131.19971" 28.1452 + sodipodi:role="line" 28.1453 + style="text-align:center;text-anchor:middle;fill:#800000">Construct1</tspan></text> 28.1454 + <text 28.1455 + xml:space="preserve" 28.1456 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.1457 + x="131.19971" 28.1458 + y="673.42468" 28.1459 + id="text8433" 28.1460 + sodipodi:linespacing="100%"><tspan 28.1461 + style="text-align:center;text-anchor:middle;fill:#800000" 28.1462 + sodipodi:role="line" 28.1463 + x="131.19971" 28.1464 + y="673.42468" 28.1465 + id="tspan8435">Handler</tspan><tspan 28.1466 + style="text-align:center;text-anchor:middle;fill:#800000" 28.1467 + sodipodi:role="line" 28.1468 + x="131.19971" 28.1469 + y="683.42468" 28.1470 + id="tspan8437">for Language</tspan><tspan 28.1471 + style="text-align:center;text-anchor:middle;fill:#800000" 28.1472 + sodipodi:role="line" 28.1473 + x="131.19971" 28.1474 + y="693.42468" 28.1475 + id="tspan8439">Construct2</tspan></text> 28.1476 + <text 28.1477 + sodipodi:linespacing="100%" 28.1478 + id="text8441" 28.1479 + y="583.42468" 28.1480 + x="47.661133" 28.1481 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.1482 + xml:space="preserve"><tspan 28.1483 + id="tspan8443" 28.1484 + y="583.42468" 28.1485 + x="47.661133" 28.1486 + sodipodi:role="line" 28.1487 + style="text-align:center;text-anchor:middle">Master Fn</tspan></text> 28.1488 + <text 28.1489 + sodipodi:linespacing="100%" 28.1490 + id="text8445" 28.1491 + y="719.42468" 28.1492 + x="131.52441" 28.1493 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.1494 + xml:space="preserve"><tspan 28.1495 + id="tspan8447" 28.1496 + y="719.42468" 28.1497 + x="131.52441" 28.1498 + sodipodi:role="line" 28.1499 + style="text-align:center;text-anchor:middle;fill:#800000">Assigner Fn</tspan></text> 28.1500 + <path 28.1501 + sodipodi:nodetypes="cc" 28.1502 + inkscape:connector-curvature="0" 28.1503 + id="path8449" 28.1504 + d="m 48.02904,586.29842 c 0,7.37773 0,7.37773 0,7.37773" 28.1505 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 28.1506 + <path 28.1507 + inkscape:connector-curvature="0" 28.1508 + id="path8451" 28.1509 + d="m 48.247131,594.02605 c 48.887624,0 48.887624,0 48.887624,0" 28.1510 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 28.1511 + <path 28.1512 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 28.1513 + d="m 98.156891,606.02605 c -51.085387,0 -51.085387,0 -51.085387,0" 28.1514 + id="path8453" 28.1515 + inkscape:connector-curvature="0" /> 28.1516 + <path 28.1517 + sodipodi:nodetypes="cc" 28.1518 + inkscape:connector-curvature="0" 28.1519 + id="path8455" 28.1520 + d="m 98.02904,592.63925 c 0,13.68455 0,13.68455 0,13.68455" 28.1521 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 28.1522 + <text 28.1523 + xml:space="preserve" 28.1524 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.1525 + x="131.19971" 28.1526 + y="635.42468" 28.1527 + id="text8457" 28.1528 + sodipodi:linespacing="100%"><tspan 28.1529 + style="text-align:center;text-anchor:middle;fill:#800000" 28.1530 + sodipodi:role="line" 28.1531 + x="131.19971" 28.1532 + y="635.42468" 28.1533 + id="tspan8459">Handler</tspan><tspan 28.1534 + style="text-align:center;text-anchor:middle;fill:#800000" 28.1535 + sodipodi:role="line" 28.1536 + x="131.19971" 28.1537 + y="645.42468" 28.1538 + id="tspan8461">for Language</tspan><tspan 28.1539 + style="text-align:center;text-anchor:middle;fill:#800000" 28.1540 + sodipodi:role="line" 28.1541 + x="131.19971" 28.1542 + y="655.42468" 28.1543 + id="tspan8463">Construct1</tspan></text> 28.1544 + <path 28.1545 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 28.1546 + d="m 48.02904,606.51232 c 0,29.16381 0,29.16381 0,29.16381" 28.1547 + id="path8465" 28.1548 + inkscape:connector-curvature="0" 28.1549 + sodipodi:nodetypes="cc" /> 28.1550 + <path 28.1551 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 28.1552 + d="m 48.247131,636.02605 c 48.887624,0 48.887624,0 48.887624,0" 28.1553 + id="path8467" 28.1554 + inkscape:connector-curvature="0" /> 28.1555 + <path 28.1556 + inkscape:connector-curvature="0" 28.1557 + id="path8469" 28.1558 + d="m 98.156891,648.02605 c -51.085387,0 -51.085387,0 -51.085387,0" 28.1559 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 28.1560 + <path 28.1561 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 28.1562 + d="m 98.02904,634.63925 c 0,13.68455 0,13.68455 0,13.68455" 28.1563 + id="path8471" 28.1564 + inkscape:connector-curvature="0" 28.1565 + sodipodi:nodetypes="cc" /> 28.1566 + <path 28.1567 + sodipodi:nodetypes="cc" 28.1568 + inkscape:connector-curvature="0" 28.1569 + id="path8473" 28.1570 + d="m 48.02904,648.14337 c 0,25.5328 0,25.5328 0,25.5328" 28.1571 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 28.1572 + <path 28.1573 + inkscape:connector-curvature="0" 28.1574 + id="path8475" 28.1575 + d="m 48.247131,674.02605 c 48.887624,0 48.887624,0 48.887624,0" 28.1576 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 28.1577 + <path 28.1578 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 28.1579 + d="m 98.156891,686.02605 c -51.085387,0 -51.085387,0 -51.085387,0" 28.1580 + id="path8477" 28.1581 + inkscape:connector-curvature="0" /> 28.1582 + <path 28.1583 + sodipodi:nodetypes="cc" 28.1584 + inkscape:connector-curvature="0" 28.1585 + id="path8479" 28.1586 + d="m 98.02904,672.63925 c 0,13.68455 0,13.68455 0,13.68455" 28.1587 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 28.1588 + <path 28.1589 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 28.1590 + d="m 48.02904,686.56402 c 0,23.11212 0,23.11212 0,23.11212" 28.1591 + id="path8481" 28.1592 + inkscape:connector-curvature="0" 28.1593 + sodipodi:nodetypes="cc" /> 28.1594 + <path 28.1595 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 28.1596 + d="m 48.247131,710.02605 c 48.887624,0 48.887624,0 48.887624,0" 28.1597 + id="path8483" 28.1598 + inkscape:connector-curvature="0" /> 28.1599 + <path 28.1600 + inkscape:connector-curvature="0" 28.1601 + id="path8485" 28.1602 + d="m 98.156891,722.02605 c -51.085387,0 -51.085387,0 -51.085387,0" 28.1603 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 28.1604 + <path 28.1605 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 28.1606 + d="m 98.02904,708.63925 c 0,13.68455 0,13.68455 0,13.68455" 28.1607 + id="path8487" 28.1608 + inkscape:connector-curvature="0" 28.1609 + sodipodi:nodetypes="cc" /> 28.1610 + <text 28.1611 + sodipodi:linespacing="100%" 28.1612 + id="text8489" 28.1613 + y="590.20807" 28.1614 + x="81.242355" 28.1615 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.1616 + xml:space="preserve" 28.1617 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 28.1618 + id="tspan8491" 28.1619 + y="590.20807" 28.1620 + x="81.242355" 28.1621 + sodipodi:role="line" 28.1622 + style="font-size:8px;text-align:center;text-anchor:middle">Call via Ptr</tspan></text> 28.1623 + <path 28.1624 + inkscape:connector-curvature="0" 28.1625 + id="path8493" 28.1626 + d="m 193.99816,580.02605 c -117.505852,0 -117.505852,0 -117.505852,0" 28.1627 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000003, 3.00000003;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 28.1628 + <text 28.1629 + transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)" 28.1630 + xml:space="preserve" 28.1631 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.1632 + x="22.488649" 28.1633 + y="591.78375" 28.1634 + id="text8495" 28.1635 + sodipodi:linespacing="100%"><tspan 28.1636 + style="font-size:8px;text-align:center;text-anchor:middle" 28.1637 + sodipodi:role="line" 28.1638 + x="22.488649" 28.1639 + y="591.78375" 28.1640 + id="tspan8497">Top Level Fn</tspan></text> 28.1641 + <text 28.1642 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 28.1643 + xml:space="preserve" 28.1644 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.1645 + x="81.937141" 28.1646 + y="632.20233" 28.1647 + id="text8499" 28.1648 + sodipodi:linespacing="100%"><tspan 28.1649 + style="font-size:8px;text-align:center;text-anchor:middle" 28.1650 + sodipodi:role="line" 28.1651 + x="81.937141" 28.1652 + y="632.20233" 28.1653 + id="tspan8501">Call via Ptr</tspan></text> 28.1654 + <text 28.1655 + sodipodi:linespacing="100%" 28.1656 + id="text8503" 28.1657 + y="670.19708" 28.1658 + x="82.56575" 28.1659 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.1660 + xml:space="preserve" 28.1661 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 28.1662 + id="tspan8505" 28.1663 + y="670.19708" 28.1664 + x="82.56575" 28.1665 + sodipodi:role="line" 28.1666 + style="font-size:8px;text-align:center;text-anchor:middle">Call via Ptr</tspan></text> 28.1667 + <text 28.1668 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 28.1669 + xml:space="preserve" 28.1670 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 28.1671 + x="83.161278" 28.1672 + y="706.19244" 28.1673 + id="text8507" 28.1674 + sodipodi:linespacing="100%"><tspan 28.1675 + style="font-size:8px;text-align:center;text-anchor:middle" 28.1676 + sodipodi:role="line" 28.1677 + x="83.161278" 28.1678 + y="706.19244" 28.1679 + id="tspan8509">Call via Ptr</tspan></text> 28.1680 + </g> 28.1681 +</svg>
29.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 29.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/Proto-Runtime__modules_plus_plugin_plus_code_back_2.svg Fri Sep 13 11:02:18 2013 -0700 29.3 @@ -0,0 +1,2231 @@ 29.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 29.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 29.6 + 29.7 +<svg 29.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 29.9 + xmlns:cc="http://creativecommons.org/ns#" 29.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 29.11 + xmlns:svg="http://www.w3.org/2000/svg" 29.12 + xmlns="http://www.w3.org/2000/svg" 29.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 29.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 29.15 + width="744.09448819" 29.16 + height="1052.3622047" 29.17 + id="svg2" 29.18 + sodipodi:version="0.32" 29.19 + inkscape:version="0.48.2 r9819" 29.20 + sodipodi:docname="Proto-Runtime__modules_plus_plugin_plus_code.svg" 29.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 29.22 + version="1.1"> 29.23 + <defs 29.24 + id="defs4"> 29.25 + <marker 29.26 + inkscape:stockid="Arrow2Mend" 29.27 + orient="auto" 29.28 + refY="0.0" 29.29 + refX="0.0" 29.30 + id="Arrow2Mend" 29.31 + style="overflow:visible;"> 29.32 + <path 29.33 + id="path4008" 29.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 29.35 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 29.36 + transform="scale(0.6) rotate(180) translate(0,0)" /> 29.37 + </marker> 29.38 + <inkscape:perspective 29.39 + sodipodi:type="inkscape:persp3d" 29.40 + inkscape:vp_x="0 : 526.18109 : 1" 29.41 + inkscape:vp_y="0 : 1000 : 0" 29.42 + inkscape:vp_z="744.09448 : 526.18109 : 1" 29.43 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 29.44 + id="perspective10" /> 29.45 + <inkscape:perspective 29.46 + id="perspective12172" 29.47 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 29.48 + inkscape:vp_z="1 : 0.5 : 1" 29.49 + inkscape:vp_y="0 : 1000 : 0" 29.50 + inkscape:vp_x="0 : 0.5 : 1" 29.51 + sodipodi:type="inkscape:persp3d" /> 29.52 + <inkscape:perspective 29.53 + id="perspective12937" 29.54 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 29.55 + inkscape:vp_z="1 : 0.5 : 1" 29.56 + inkscape:vp_y="0 : 1000 : 0" 29.57 + inkscape:vp_x="0 : 0.5 : 1" 29.58 + sodipodi:type="inkscape:persp3d" /> 29.59 + </defs> 29.60 + <sodipodi:namedview 29.61 + id="base" 29.62 + pagecolor="#ffffff" 29.63 + bordercolor="#666666" 29.64 + borderopacity="1.0" 29.65 + gridtolerance="10000" 29.66 + guidetolerance="10" 29.67 + objecttolerance="10" 29.68 + inkscape:pageopacity="0.0" 29.69 + inkscape:pageshadow="2" 29.70 + inkscape:zoom="1.6398134" 29.71 + inkscape:cx="167.915" 29.72 + inkscape:cy="557.78994" 29.73 + inkscape:document-units="px" 29.74 + inkscape:current-layer="layer1" 29.75 + showgrid="false" 29.76 + inkscape:window-width="1600" 29.77 + inkscape:window-height="848" 29.78 + inkscape:window-x="-8" 29.79 + inkscape:window-y="-8" 29.80 + inkscape:window-maximized="1" /> 29.81 + <metadata 29.82 + id="metadata7"> 29.83 + <rdf:RDF> 29.84 + <cc:Work 29.85 + rdf:about=""> 29.86 + <dc:format>image/svg+xml</dc:format> 29.87 + <dc:type 29.88 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 29.89 + <dc:title></dc:title> 29.90 + </cc:Work> 29.91 + </rdf:RDF> 29.92 + </metadata> 29.93 + <g 29.94 + inkscape:label="Layer 1" 29.95 + inkscape:groupmode="layer" 29.96 + id="layer1"> 29.97 + <text 29.98 + sodipodi:linespacing="100%" 29.99 + id="text12979" 29.100 + y="399.76575" 29.101 + x="326.92542" 29.102 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.103 + xml:space="preserve"><tspan 29.104 + y="399.76575" 29.105 + x="326.92542" 29.106 + id="tspan12981" 29.107 + sodipodi:role="line" 29.108 + style="text-align:center;text-anchor:middle">Master</tspan><tspan 29.109 + y="408.20053" 29.110 + x="326.92542" 29.111 + sodipodi:role="line" 29.112 + id="tspan3291" 29.113 + style="font-size:8px;text-align:center;text-anchor:middle">(runtime system)</tspan><tspan 29.114 + y="416.20053" 29.115 + x="326.92542" 29.116 + sodipodi:role="line" 29.117 + style="font-size:8px;text-align:center;text-anchor:middle" 29.118 + id="tspan8409">on core 1</tspan></text> 29.119 + <g 29.120 + id="g9336" 29.121 + transform="translate(44.002789,0)"> 29.122 + <rect 29.123 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 29.124 + id="rect3293" 29.125 + width="65.276405" 29.126 + height="37.165791" 29.127 + x="346.40247" 29.128 + y="389.58255" /> 29.129 + <text 29.130 + sodipodi:linespacing="100%" 29.131 + id="text3295" 29.132 + y="400.15268" 29.133 + x="379.00162" 29.134 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.135 + xml:space="preserve"><tspan 29.136 + id="tspan3301" 29.137 + y="400.15268" 29.138 + x="379.00162" 29.139 + sodipodi:role="line" 29.140 + style="text-align:center;text-anchor:middle">Seed VP</tspan><tspan 29.141 + y="408.58746" 29.142 + x="379.00162" 29.143 + sodipodi:role="line" 29.144 + style="font-size:8px;text-align:center;text-anchor:middle" 29.145 + id="tspan9389">(created at</tspan><tspan 29.146 + y="416.58746" 29.147 + x="379.00162" 29.148 + sodipodi:role="line" 29.149 + style="font-size:8px;text-align:center;text-anchor:middle" 29.150 + id="tspan9391">app startup,</tspan><tspan 29.151 + y="424.58746" 29.152 + x="379.00162" 29.153 + sodipodi:role="line" 29.154 + style="font-size:8px;text-align:center;text-anchor:middle" 29.155 + id="tspan9744">on core 1)</tspan></text> 29.156 + </g> 29.157 + <text 29.158 + xml:space="preserve" 29.159 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.160 + x="517.16797" 29.161 + y="357.42465" 29.162 + id="text3318-1" 29.163 + sodipodi:linespacing="100%"><tspan 29.164 + style="text-align:center;text-anchor:middle;fill:#008000" 29.165 + sodipodi:role="line" 29.166 + x="517.16797" 29.167 + y="357.42465" 29.168 + id="tspan3322-5">Application Code</tspan></text> 29.169 + <text 29.170 + sodipodi:linespacing="100%" 29.171 + id="text3376" 29.172 + y="403.42465" 29.173 + x="517.16797" 29.174 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.175 + xml:space="preserve"><tspan 29.176 + id="tspan3378" 29.177 + y="403.42465" 29.178 + x="517.16797" 29.179 + sodipodi:role="line" 29.180 + style="text-align:center;text-anchor:middle;fill:#008000">Seed_Fn</tspan></text> 29.181 + <text 29.182 + xml:space="preserve" 29.183 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.184 + x="517.16797" 29.185 + y="571.42468" 29.186 + id="text3380" 29.187 + sodipodi:linespacing="100%"><tspan 29.188 + style="text-align:center;text-anchor:middle;fill:#008000" 29.189 + sodipodi:role="line" 29.190 + x="517.16797" 29.191 + y="571.42468" 29.192 + id="tspan3382">Work_Fn</tspan></text> 29.193 + <text 29.194 + sodipodi:linespacing="100%" 29.195 + id="text3388" 29.196 + y="357.42465" 29.197 + x="604.63812" 29.198 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.199 + xml:space="preserve"><tspan 29.200 + id="tspan3390" 29.201 + y="357.42465" 29.202 + x="606.14203" 29.203 + sodipodi:role="line" 29.204 + style="text-align:center;text-anchor:middle;fill:#800000">Language </tspan><tspan 29.205 + y="367.42465" 29.206 + x="604.63812" 29.207 + sodipodi:role="line" 29.208 + style="text-align:center;text-anchor:middle;fill:#800000" 29.209 + id="tspan5106">Wrapper-Lib</tspan><tspan 29.210 + y="377.42465" 29.211 + x="604.63812" 29.212 + sodipodi:role="line" 29.213 + style="text-align:center;text-anchor:middle;fill:#800000" 29.214 + id="tspan3392">Code</tspan></text> 29.215 + <text 29.216 + xml:space="preserve" 29.217 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.218 + x="669.16797" 29.219 + y="357.42465" 29.220 + id="text3394" 29.221 + sodipodi:linespacing="100%"><tspan 29.222 + style="text-align:center;text-anchor:middle;fill:#000080" 29.223 + sodipodi:role="line" 29.224 + x="669.16797" 29.225 + y="357.42465" 29.226 + id="tspan3396">Proto-Runtime</tspan><tspan 29.227 + style="text-align:center;text-anchor:middle;fill:#000080" 29.228 + sodipodi:role="line" 29.229 + x="669.16797" 29.230 + y="367.42465" 29.231 + id="tspan4998">Primitive</tspan><tspan 29.232 + id="tspan3398" 29.233 + style="text-align:center;text-anchor:middle;fill:#000080" 29.234 + sodipodi:role="line" 29.235 + x="669.16797" 29.236 + y="377.42465">Code</tspan></text> 29.237 + <text 29.238 + xml:space="preserve" 29.239 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.240 + x="137.31689" 29.241 + y="433.42465" 29.242 + id="text3412" 29.243 + sodipodi:linespacing="100%"><tspan 29.244 + style="text-align:center;text-anchor:middle;fill:#800000" 29.245 + sodipodi:role="line" 29.246 + x="137.31689" 29.247 + y="433.42465" 29.248 + id="tspan3414">Lang Handler</tspan><tspan 29.249 + style="text-align:center;text-anchor:middle;fill:#800000" 29.250 + sodipodi:role="line" 29.251 + x="137.31689" 29.252 + y="443.42465" 29.253 + id="tspan3422">for create VP</tspan></text> 29.254 + <text 29.255 + xml:space="preserve" 29.256 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.257 + x="137.68066" 29.258 + y="481.42468" 29.259 + id="text3444" 29.260 + sodipodi:linespacing="100%"><tspan 29.261 + style="text-align:center;text-anchor:middle;fill:#800000" 29.262 + sodipodi:role="line" 29.263 + x="137.68066" 29.264 + y="481.42468" 29.265 + id="tspan3450">Assigner Fn</tspan></text> 29.266 + <text 29.267 + xml:space="preserve" 29.268 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.269 + x="327.16797" 29.270 + y="359.42465" 29.271 + id="text3456" 29.272 + sodipodi:linespacing="100%"><tspan 29.273 + style="text-align:center;text-anchor:middle" 29.274 + sodipodi:role="line" 29.275 + x="328.67188" 29.276 + y="359.42465" 29.277 + id="tspan3458">Instances of </tspan><tspan 29.278 + style="text-align:center;text-anchor:middle" 29.279 + sodipodi:role="line" 29.280 + x="327.16797" 29.281 + y="369.42465" 29.282 + id="tspan8405">runtime system</tspan><tspan 29.283 + style="font-size:8px;text-align:center;text-anchor:middle" 29.284 + sodipodi:role="line" 29.285 + x="327.16797" 29.286 + y="377.85944" 29.287 + id="tspan9383">(data structs</tspan><tspan 29.288 + style="font-size:8px;text-align:center;text-anchor:middle" 29.289 + sodipodi:role="line" 29.290 + x="327.16797" 29.291 + y="385.85944" 29.292 + id="tspan9385">on heap)</tspan><tspan 29.293 + id="tspan3460" 29.294 + style="text-align:center;text-anchor:middle" 29.295 + sodipodi:role="line" 29.296 + x="327.16797" 29.297 + y="393.85944" /></text> 29.298 + <text 29.299 + sodipodi:linespacing="100%" 29.300 + id="text3462" 29.301 + y="357.42465" 29.302 + x="423.16797" 29.303 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.304 + xml:space="preserve"><tspan 29.305 + id="tspan3464" 29.306 + y="357.42465" 29.307 + x="423.16797" 29.308 + sodipodi:role="line" 29.309 + style="text-align:center;text-anchor:middle">Instances of</tspan><tspan 29.310 + y="367.42465" 29.311 + x="423.16797" 29.312 + sodipodi:role="line" 29.313 + style="text-align:center;text-anchor:middle" 29.314 + id="tspan3468">Virtual Processors</tspan><tspan 29.315 + y="375.85944" 29.316 + x="423.16797" 29.317 + sodipodi:role="line" 29.318 + style="font-size:8px;text-align:center;text-anchor:middle" 29.319 + id="tspan3466">(data structs</tspan><tspan 29.320 + y="383.85944" 29.321 + x="423.16797" 29.322 + sodipodi:role="line" 29.323 + style="font-size:8px;text-align:center;text-anchor:middle" 29.324 + id="tspan9387">on heap)</tspan></text> 29.325 + <path 29.326 + inkscape:connector-curvature="0" 29.327 + id="path4796" 29.328 + d="m 457.32649,400.02605 c 38.42351,0 38.42351,0 38.42351,0" 29.329 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999996, 2.99999996;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 29.330 + <text 29.331 + xml:space="preserve" 29.332 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.333 + x="604.78461" 29.334 + y="397.42465" 29.335 + id="text4988" 29.336 + sodipodi:linespacing="100%"><tspan 29.337 + style="text-align:center;text-anchor:middle;fill:#800000" 29.338 + sodipodi:role="line" 29.339 + x="604.78461" 29.340 + y="397.42465" 29.341 + id="tspan4990">create VP</tspan><tspan 29.342 + style="text-align:center;text-anchor:middle;fill:#800000" 29.343 + sodipodi:role="line" 29.344 + x="604.78461" 29.345 + y="407.42465" 29.346 + id="tspan5104">wrapper Fn</tspan></text> 29.347 + <text 29.348 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 29.349 + xml:space="preserve" 29.350 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.351 + x="638.65094" 29.352 + y="428.96548" 29.353 + id="text5064" 29.354 + sodipodi:linespacing="100%"><tspan 29.355 + style="font-size:8px;text-align:center;text-anchor:middle" 29.356 + sodipodi:role="line" 29.357 + x="638.65094" 29.358 + y="428.96548" 29.359 + id="tspan5066">Call to dyn lib</tspan></text> 29.360 + <path 29.361 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000003, 3.00000003;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 29.362 + d="m 291.99816,400.02605 c -63.44071,0 -63.44071,0 -63.44071,0" 29.363 + id="path5068" 29.364 + inkscape:connector-curvature="0" /> 29.365 + <text 29.366 + sodipodi:linespacing="100%" 29.367 + id="text5070" 29.368 + y="439.30746" 29.369 + x="175.95195" 29.370 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.371 + xml:space="preserve" 29.372 + transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"><tspan 29.373 + id="tspan5072" 29.374 + y="439.30746" 29.375 + x="175.95195" 29.376 + sodipodi:role="line" 29.377 + style="font-size:8px;text-align:center;text-anchor:middle">Top Level Fn</tspan></text> 29.378 + <text 29.379 + transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)" 29.380 + xml:space="preserve" 29.381 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.382 + x="395.85803" 29.383 + y="481.98584" 29.384 + id="text5074" 29.385 + sodipodi:linespacing="100%"><tspan 29.386 + style="font-size:8px;text-align:center;text-anchor:middle" 29.387 + sodipodi:role="line" 29.388 + x="395.85803" 29.389 + y="481.98584" 29.390 + id="tspan5076">Top Level Fn</tspan></text> 29.391 + <text 29.392 + sodipodi:linespacing="100%" 29.393 + id="text5078" 29.394 + y="647.01514" 29.395 + x="364.33911" 29.396 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.397 + xml:space="preserve" 29.398 + transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"><tspan 29.399 + id="tspan5080" 29.400 + y="647.01514" 29.401 + x="364.33911" 29.402 + sodipodi:role="line" 29.403 + style="font-size:8px;text-align:center;text-anchor:middle">Top Level Fn</tspan></text> 29.404 + <path 29.405 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999996, 2.99999996;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 29.406 + d="m 458.9835,568.02605 c 36.7665,0 36.7665,0 36.7665,0" 29.407 + id="path5082" 29.408 + inkscape:connector-curvature="0" /> 29.409 + <path 29.410 + inkscape:connector-curvature="0" 29.411 + id="path5084" 29.412 + d="m 457.32649,728.02605 c 38.42351,0 38.42351,0 38.42351,0" 29.413 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999996, 2.99999996;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 29.414 + <path 29.415 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 29.416 + d="m 514.02904,406.01894 c 0,5.6572 0,5.6572 0,5.6572" 29.417 + id="path5092" 29.418 + inkscape:connector-curvature="0" 29.419 + sodipodi:nodetypes="cc" /> 29.420 + <path 29.421 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 29.422 + d="m 514.24714,412.02605 c 85.56237,0 85.56237,0 85.56237,0" 29.423 + id="path5094" 29.424 + inkscape:connector-curvature="0" /> 29.425 + <path 29.426 + inkscape:connector-curvature="0" 29.427 + id="path5096" 29.428 + d="m 602.77166,486.02605 c -88.41298,0 -88.41298,0 -88.41298,0" 29.429 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 29.430 + <text 29.431 + transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)" 29.432 + xml:space="preserve" 29.433 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.434 + x="332.45419" 29.435 + y="803.80713" 29.436 + id="text5114" 29.437 + sodipodi:linespacing="100%"><tspan 29.438 + style="font-size:8px;text-align:center;text-anchor:middle" 29.439 + sodipodi:role="line" 29.440 + x="332.45419" 29.441 + y="803.80713" 29.442 + id="tspan5116">Top Level Fn</tspan></text> 29.443 + <text 29.444 + sodipodi:linespacing="100%" 29.445 + id="text5136" 29.446 + y="731.42468" 29.447 + x="517.16797" 29.448 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.449 + xml:space="preserve"><tspan 29.450 + id="tspan5138" 29.451 + y="731.42468" 29.452 + x="517.16797" 29.453 + sodipodi:role="line" 29.454 + style="text-align:center;text-anchor:middle;fill:#008000">Work_Fn</tspan></text> 29.455 + <path 29.456 + sodipodi:nodetypes="cc" 29.457 + inkscape:connector-curvature="0" 29.458 + id="path5140" 29.459 + d="m 514.02904,486.31987 c 0,26.21842 0,26.21842 0,26.21842" 29.460 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 29.461 + <path 29.462 + inkscape:connector-curvature="0" 29.463 + id="path5142" 29.464 + d="m 514.2471,512.02605 c 87.58783,0 87.58783,0 87.58783,0" 29.465 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 29.466 + <text 29.467 + sodipodi:linespacing="100%" 29.468 + id="text5157" 29.469 + y="498.71182" 29.470 + x="604.78461" 29.471 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.472 + xml:space="preserve"><tspan 29.473 + id="tspan5161" 29.474 + y="498.71182" 29.475 + x="604.78461" 29.476 + sodipodi:role="line" 29.477 + style="text-align:center;text-anchor:middle;fill:#800000">end VP</tspan><tspan 29.478 + y="508.71182" 29.479 + x="604.78461" 29.480 + sodipodi:role="line" 29.481 + style="text-align:center;text-anchor:middle;fill:#800000" 29.482 + id="tspan5207">wrapper Fn</tspan></text> 29.483 + <path 29.484 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 29.485 + d="m 602.26584,518.02605 c 63.99676,0 63.99676,0 63.99676,0" 29.486 + id="path5165" 29.487 + inkscape:connector-curvature="0" /> 29.488 + <path 29.489 + sodipodi:nodetypes="cc" 29.490 + inkscape:connector-curvature="0" 29.491 + id="path5179" 29.492 + d="m 514.02904,574.01895 c 0,5.6572 0,5.6572 0,5.6572" 29.493 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 29.494 + <path 29.495 + sodipodi:nodetypes="cc" 29.496 + inkscape:connector-curvature="0" 29.497 + id="path5209" 29.498 + d="m 602.02904,510.31985 c 0,7.35629 0,7.35629 0,7.35629" 29.499 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 29.500 + <text 29.501 + xml:space="preserve" 29.502 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.503 + x="497.16797" 29.504 + y="399.42468" 29.505 + id="text5211" 29.506 + sodipodi:linespacing="100%"><tspan 29.507 + style="text-align:center;text-anchor:middle" 29.508 + sodipodi:role="line" 29.509 + x="497.16797" 29.510 + y="399.42468" 29.511 + id="tspan5215" /></text> 29.512 + <path 29.513 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 29.514 + d="m 602.02904,412.21843 c 0,19.4577 0,19.4577 0,19.4577" 29.515 + id="path5217" 29.516 + inkscape:connector-curvature="0" 29.517 + sodipodi:nodetypes="cc" /> 29.518 + <path 29.519 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 29.520 + d="m 602.24714,432.02605 c 64.71029,0 64.71029,0 64.71029,0" 29.521 + id="path5219" 29.522 + inkscape:connector-curvature="0" /> 29.523 + <path 29.524 + inkscape:connector-curvature="0" 29.525 + id="path5221" 29.526 + d="m 666.85635,482.02605 c -65.78483,0 -65.78483,0 -65.78483,0" 29.527 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 29.528 + <path 29.529 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 29.530 + d="m 668.02904,430.63925 c 0,13.68455 0,13.68455 0,13.68455" 29.531 + id="path5223" 29.532 + inkscape:connector-curvature="0" 29.533 + sodipodi:nodetypes="cc" /> 29.534 + <path 29.535 + sodipodi:nodetypes="cc" 29.536 + inkscape:connector-curvature="0" 29.537 + id="path5229" 29.538 + d="m 602.02904,481.22687 c 0,5.5885 0,5.5885 0,5.5885" 29.539 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 29.540 + <path 29.541 + sodipodi:nodetypes="cc" 29.542 + inkscape:connector-curvature="0" 29.543 + id="path5235" 29.544 + d="m 668.02904,468.63925 c 0,13.68455 0,13.68455 0,13.68455" 29.545 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 29.546 + <path 29.547 + inkscape:connector-curvature="0" 29.548 + id="path5237" 29.549 + d="m 668.24715,442.02605 c 57.74832,0 57.74832,0 57.74832,0" 29.550 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 29.551 + <text 29.552 + sodipodi:linespacing="100%" 29.553 + id="text5239" 29.554 + y="800.22192" 29.555 + x="207.23195" 29.556 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.557 + xml:space="preserve" 29.558 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 29.559 + id="tspan5241" 29.560 + y="800.22192" 29.561 + x="207.23195" 29.562 + sodipodi:role="line" 29.563 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan 29.564 + y="808.22192" 29.565 + x="207.23195" 29.566 + sodipodi:role="line" 29.567 + style="font-size:8px;text-align:center;text-anchor:middle" 29.568 + id="tspan5243">and switch</tspan><tspan 29.569 + y="816.22192" 29.570 + x="207.23195" 29.571 + sodipodi:role="line" 29.572 + style="font-size:8px;text-align:center;text-anchor:middle" 29.573 + id="tspan5245">to runtime</tspan></text> 29.574 + <path 29.575 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 29.576 + d="m 725.94909,470.02605 c -56.8776,0 -56.8776,0 -56.8776,0" 29.577 + id="path5247" 29.578 + inkscape:connector-curvature="0" /> 29.579 + <text 29.580 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 29.581 + xml:space="preserve" 29.582 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.583 + x="176.58183" 29.584 + y="829.00677" 29.585 + id="text5249" 29.586 + sodipodi:linespacing="100%"><tspan 29.587 + id="tspan5255" 29.588 + style="font-size:8px;text-align:center;text-anchor:middle" 29.589 + sodipodi:role="line" 29.590 + x="176.58183" 29.591 + y="829.00677">return</tspan><tspan 29.592 + style="font-size:8px;text-align:center;text-anchor:middle" 29.593 + sodipodi:role="line" 29.594 + x="176.58183" 29.595 + y="837.00677" 29.596 + id="tspan5261">from</tspan><tspan 29.597 + style="font-size:8px;text-align:center;text-anchor:middle" 29.598 + sodipodi:role="line" 29.599 + x="176.58183" 29.600 + y="845.00677" 29.601 + id="tspan5263">suspend</tspan></text> 29.602 + <text 29.603 + sodipodi:linespacing="100%" 29.604 + id="text5345" 29.605 + y="419.42465" 29.606 + x="667.38037" 29.607 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.608 + xml:space="preserve"><tspan 29.609 + id="tspan5349" 29.610 + y="419.42465" 29.611 + x="667.38037" 29.612 + sodipodi:role="line" 29.613 + style="text-align:center;text-anchor:middle;fill:#000080">PR primitive Fn</tspan><tspan 29.614 + y="429.42465" 29.615 + x="667.38037" 29.616 + sodipodi:role="line" 29.617 + style="text-align:center;text-anchor:middle;fill:#000080" 29.618 + id="tspan5353">to send request</tspan></text> 29.619 + <text 29.620 + sodipodi:linespacing="100%" 29.621 + id="text5355" 29.622 + y="416.71411" 29.623 + x="555.39612" 29.624 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.625 + xml:space="preserve" 29.626 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 29.627 + id="tspan5357" 29.628 + y="416.71411" 29.629 + x="555.39612" 29.630 + sodipodi:role="line" 29.631 + style="font-size:8px;text-align:center;text-anchor:middle">normal call</tspan></text> 29.632 + <path 29.633 + sodipodi:nodetypes="cc" 29.634 + inkscape:connector-curvature="0" 29.635 + id="path5359" 29.636 + d="m 668.02904,517.28283 c 0,13.68455 0,13.68455 0,13.68455" 29.637 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 29.638 + <path 29.639 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 29.640 + d="m 668.24715,528.66963 c 57.74832,0 57.74832,0 57.74832,0" 29.641 + id="path5361" 29.642 + inkscape:connector-curvature="0" /> 29.643 + <text 29.644 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 29.645 + xml:space="preserve" 29.646 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.647 + x="146.02351" 29.648 + y="863.44775" 29.649 + id="text5363" 29.650 + sodipodi:linespacing="100%"><tspan 29.651 + style="font-size:8px;text-align:center;text-anchor:middle" 29.652 + sodipodi:role="line" 29.653 + x="146.02351" 29.654 + y="863.44775" 29.655 + id="tspan5365">suspend</tspan><tspan 29.656 + id="tspan5367" 29.657 + style="font-size:8px;text-align:center;text-anchor:middle" 29.658 + sodipodi:role="line" 29.659 + x="146.02351" 29.660 + y="871.44775">and switch</tspan><tspan 29.661 + id="tspan5369" 29.662 + style="font-size:8px;text-align:center;text-anchor:middle" 29.663 + sodipodi:role="line" 29.664 + x="146.02351" 29.665 + y="879.44775">to runtime</tspan></text> 29.666 + <text 29.667 + sodipodi:linespacing="100%" 29.668 + id="text5371" 29.669 + y="565.42468" 29.670 + x="604.59662" 29.671 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.672 + xml:space="preserve"><tspan 29.673 + id="tspan5373" 29.674 + y="565.42468" 29.675 + x="604.59662" 29.676 + sodipodi:role="line" 29.677 + style="text-align:center;text-anchor:middle;fill:#800000">Mutex Acquire</tspan><tspan 29.678 + id="tspan5375" 29.679 + y="575.42468" 29.680 + x="604.59662" 29.681 + sodipodi:role="line" 29.682 + style="text-align:center;text-anchor:middle;fill:#800000">wrapper Fn</tspan></text> 29.683 + <path 29.684 + inkscape:connector-curvature="0" 29.685 + id="path5379" 29.686 + d="m 514.24714,580.02605 c 85.56237,0 85.56237,0 85.56237,0" 29.687 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 29.688 + <path 29.689 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 29.690 + d="m 602.77166,654.02605 c -88.41298,0 -88.41298,0 -88.41298,0" 29.691 + id="path5381" 29.692 + inkscape:connector-curvature="0" /> 29.693 + <text 29.694 + xml:space="preserve" 29.695 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.696 + x="604.78461" 29.697 + y="666.71179" 29.698 + id="text5387" 29.699 + sodipodi:linespacing="100%"><tspan 29.700 + style="text-align:center;text-anchor:middle;fill:#800000" 29.701 + sodipodi:role="line" 29.702 + x="604.78461" 29.703 + y="666.71179" 29.704 + id="tspan5389">end VP</tspan><tspan 29.705 + id="tspan5391" 29.706 + style="text-align:center;text-anchor:middle;fill:#800000" 29.707 + sodipodi:role="line" 29.708 + x="604.78461" 29.709 + y="676.71179">wrapper Fn</tspan></text> 29.710 + <path 29.711 + inkscape:connector-curvature="0" 29.712 + id="path5393" 29.713 + d="m 602.289,686.02605 c 65.24023,0 65.24023,0 65.24023,0" 29.714 + style="fill:none;stroke:#000000;stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 29.715 + <path 29.716 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 29.717 + d="m 602.02904,678.31985 c 0,7.35629 0,7.35629 0,7.35629" 29.718 + id="path5401" 29.719 + inkscape:connector-curvature="0" 29.720 + sodipodi:nodetypes="cc" /> 29.721 + <path 29.722 + sodipodi:nodetypes="cc" 29.723 + inkscape:connector-curvature="0" 29.724 + id="path5403" 29.725 + d="m 602.02904,580.21843 c 0,19.4577 0,19.4577 0,19.4577" 29.726 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 29.727 + <path 29.728 + inkscape:connector-curvature="0" 29.729 + id="path5405" 29.730 + d="m 602.6148,600.02605 c 64.1779,0 64.1779,0 64.1779,0" 29.731 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 29.732 + <path 29.733 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 29.734 + d="m 668.13452,650.02605 c -67.06305,0 -67.06305,0 -67.06305,0" 29.735 + id="path5407" 29.736 + inkscape:connector-curvature="0" /> 29.737 + <path 29.738 + sodipodi:nodetypes="cc" 29.739 + inkscape:connector-curvature="0" 29.740 + id="path5409" 29.741 + d="m 668.02904,598.63925 c 0,13.68455 0,13.68455 0,13.68455" 29.742 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 29.743 + <path 29.744 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 29.745 + d="m 602.02904,649.22687 c 0,5.5885 0,5.5885 0,5.5885" 29.746 + id="path5411" 29.747 + inkscape:connector-curvature="0" 29.748 + sodipodi:nodetypes="cc" /> 29.749 + <path 29.750 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 29.751 + d="m 668.02904,636.63925 c 0,13.68455 0,13.68455 0,13.68455" 29.752 + id="path5417" 29.753 + inkscape:connector-curvature="0" 29.754 + sodipodi:nodetypes="cc" /> 29.755 + <path 29.756 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 29.757 + d="m 668.24715,610.02605 c 57.74832,0 57.74832,0 57.74832,0" 29.758 + id="path5419" 29.759 + inkscape:connector-curvature="0" /> 29.760 + <text 29.761 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 29.762 + xml:space="preserve" 29.763 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.764 + x="90.37989" 29.765 + y="920.92737" 29.766 + id="text5421" 29.767 + sodipodi:linespacing="100%"><tspan 29.768 + style="font-size:8px;text-align:center;text-anchor:middle" 29.769 + sodipodi:role="line" 29.770 + x="90.37989" 29.771 + y="920.92737" 29.772 + id="tspan5423">suspend</tspan><tspan 29.773 + id="tspan5425" 29.774 + style="font-size:8px;text-align:center;text-anchor:middle" 29.775 + sodipodi:role="line" 29.776 + x="90.37989" 29.777 + y="928.92737">and switch</tspan><tspan 29.778 + id="tspan5427" 29.779 + style="font-size:8px;text-align:center;text-anchor:middle" 29.780 + sodipodi:role="line" 29.781 + x="90.37989" 29.782 + y="936.92737">to runtime</tspan></text> 29.783 + <path 29.784 + inkscape:connector-curvature="0" 29.785 + id="path5429" 29.786 + d="m 725.94909,638.02605 c -56.8776,0 -56.8776,0 -56.8776,0" 29.787 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 29.788 + <text 29.789 + sodipodi:linespacing="100%" 29.790 + id="text5431" 29.791 + y="951.10333" 29.792 + x="61.166965" 29.793 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.794 + xml:space="preserve" 29.795 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 29.796 + y="951.10333" 29.797 + x="61.166965" 29.798 + sodipodi:role="line" 29.799 + style="font-size:8px;text-align:center;text-anchor:middle" 29.800 + id="tspan5433">return</tspan><tspan 29.801 + id="tspan5435" 29.802 + y="959.10333" 29.803 + x="61.166965" 29.804 + sodipodi:role="line" 29.805 + style="font-size:8px;text-align:center;text-anchor:middle">from</tspan><tspan 29.806 + id="tspan5437" 29.807 + y="967.10333" 29.808 + x="61.166965" 29.809 + sodipodi:role="line" 29.810 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text> 29.811 + <text 29.812 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 29.813 + xml:space="preserve" 29.814 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.815 + x="556.1333" 29.816 + y="584.71155" 29.817 + id="text5445" 29.818 + sodipodi:linespacing="100%"><tspan 29.819 + style="font-size:8px;text-align:center;text-anchor:middle" 29.820 + sodipodi:role="line" 29.821 + x="556.1333" 29.822 + y="584.71155" 29.823 + id="tspan5447">normal call</tspan></text> 29.824 + <path 29.825 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 29.826 + d="m 668.02904,685.28283 c 0,13.68455 0,13.68455 0,13.68455" 29.827 + id="path5449" 29.828 + inkscape:connector-curvature="0" 29.829 + sodipodi:nodetypes="cc" /> 29.830 + <path 29.831 + inkscape:connector-curvature="0" 29.832 + id="path5451" 29.833 + d="m 668.24715,696.66963 c 57.74832,0 57.74832,0 57.74832,0" 29.834 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 29.835 + <text 29.836 + sodipodi:linespacing="100%" 29.837 + id="text5453" 29.838 + y="984.15332" 29.839 + x="29.171814" 29.840 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.841 + xml:space="preserve" 29.842 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 29.843 + id="tspan5455" 29.844 + y="984.15332" 29.845 + x="29.171814" 29.846 + sodipodi:role="line" 29.847 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan 29.848 + y="992.15332" 29.849 + x="29.171814" 29.850 + sodipodi:role="line" 29.851 + style="font-size:8px;text-align:center;text-anchor:middle" 29.852 + id="tspan5457">and switch</tspan><tspan 29.853 + y="1000.1533" 29.854 + x="29.171814" 29.855 + sodipodi:role="line" 29.856 + style="font-size:8px;text-align:center;text-anchor:middle" 29.857 + id="tspan5459">to runtime</tspan></text> 29.858 + <path 29.859 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 29.860 + d="m 514.02904,654.31987 c 0,26.21842 0,26.21842 0,26.21842" 29.861 + id="path5461" 29.862 + inkscape:connector-curvature="0" 29.863 + sodipodi:nodetypes="cc" /> 29.864 + <path 29.865 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 29.866 + d="m 514.2471,680.02605 c 87.58783,0 87.58783,0 87.58783,0" 29.867 + id="path5463" 29.868 + inkscape:connector-curvature="0" /> 29.869 + <text 29.870 + sodipodi:linespacing="100%" 29.871 + id="text5465" 29.872 + y="516.71179" 29.873 + x="555.83459" 29.874 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.875 + xml:space="preserve" 29.876 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 29.877 + id="tspan5467" 29.878 + y="516.71179" 29.879 + x="555.83459" 29.880 + sodipodi:role="line" 29.881 + style="font-size:8px;text-align:center;text-anchor:middle">normal call</tspan></text> 29.882 + <text 29.883 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 29.884 + xml:space="preserve" 29.885 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.886 + x="556.57275" 29.887 + y="684.71155" 29.888 + id="text5469" 29.889 + sodipodi:linespacing="100%"><tspan 29.890 + style="font-size:8px;text-align:center;text-anchor:middle" 29.891 + sodipodi:role="line" 29.892 + x="556.57275" 29.893 + y="684.71155" 29.894 + id="tspan5471">normal call</tspan></text> 29.895 + <g 29.896 + transform="matrix(1,0,0,0.71130685,-16,166.52913)" 29.897 + id="g8395"> 29.898 + <rect 29.899 + y="313.58255" 29.900 + x="310.40247" 29.901 + height="52.250008" 29.902 + width="65.276405" 29.903 + id="rect8397" 29.904 + style="fill:none;stroke:#000000;stroke-width:1.28076112;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 29.905 + </g> 29.906 + <text 29.907 + xml:space="preserve" 29.908 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.909 + x="326.92542" 29.910 + y="897.76575" 29.911 + id="text8411" 29.912 + sodipodi:linespacing="100%"><tspan 29.913 + style="text-align:center;text-anchor:middle" 29.914 + sodipodi:role="line" 29.915 + id="tspan8413" 29.916 + x="326.92542" 29.917 + y="897.76575">Master</tspan><tspan 29.918 + style="font-size:8px;text-align:center;text-anchor:middle" 29.919 + id="tspan8415" 29.920 + sodipodi:role="line" 29.921 + x="326.92542" 29.922 + y="906.2005">(runtime system)</tspan><tspan 29.923 + id="tspan8417" 29.924 + style="font-size:8px;text-align:center;text-anchor:middle" 29.925 + sodipodi:role="line" 29.926 + x="326.92542" 29.927 + y="914.2005">on core 2</tspan></text> 29.928 + <g 29.929 + id="g8419" 29.930 + transform="translate(-16,574)"> 29.931 + <rect 29.932 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 29.933 + id="rect8421" 29.934 + width="65.276405" 29.935 + height="52.250008" 29.936 + x="310.40247" 29.937 + y="313.58255" /> 29.938 + </g> 29.939 + <text 29.940 + sodipodi:linespacing="100%" 29.941 + id="text8425" 29.942 + y="913.42468" 29.943 + x="131.19971" 29.944 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.945 + xml:space="preserve"><tspan 29.946 + id="tspan8427" 29.947 + y="913.42468" 29.948 + x="131.19971" 29.949 + sodipodi:role="line" 29.950 + style="text-align:center;text-anchor:middle;fill:#800000">Handler</tspan><tspan 29.951 + id="tspan8429" 29.952 + y="923.42468" 29.953 + x="131.19971" 29.954 + sodipodi:role="line" 29.955 + style="text-align:center;text-anchor:middle;fill:#800000">for Language</tspan><tspan 29.956 + id="tspan8431" 29.957 + y="933.42468" 29.958 + x="131.19971" 29.959 + sodipodi:role="line" 29.960 + style="text-align:center;text-anchor:middle;fill:#800000">Construct1</tspan></text> 29.961 + <text 29.962 + xml:space="preserve" 29.963 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.964 + x="131.19971" 29.965 + y="993.42468" 29.966 + id="text8433" 29.967 + sodipodi:linespacing="100%"><tspan 29.968 + style="text-align:center;text-anchor:middle;fill:#800000" 29.969 + sodipodi:role="line" 29.970 + x="131.19971" 29.971 + y="993.42468" 29.972 + id="tspan8435">Handler</tspan><tspan 29.973 + style="text-align:center;text-anchor:middle;fill:#800000" 29.974 + sodipodi:role="line" 29.975 + x="131.19971" 29.976 + y="1003.4247" 29.977 + id="tspan8437">for Language</tspan><tspan 29.978 + style="text-align:center;text-anchor:middle;fill:#800000" 29.979 + sodipodi:role="line" 29.980 + x="131.19971" 29.981 + y="1013.4247" 29.982 + id="tspan8439">Construct2</tspan></text> 29.983 + <text 29.984 + sodipodi:linespacing="100%" 29.985 + id="text8445" 29.986 + y="1039.4247" 29.987 + x="131.52441" 29.988 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.989 + xml:space="preserve"><tspan 29.990 + id="tspan8447" 29.991 + y="1039.4247" 29.992 + x="131.52441" 29.993 + sodipodi:role="line" 29.994 + style="text-align:center;text-anchor:middle;fill:#800000">Assigner Fn</tspan></text> 29.995 + <text 29.996 + xml:space="preserve" 29.997 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.998 + x="131.19971" 29.999 + y="955.42468" 29.1000 + id="text8457" 29.1001 + sodipodi:linespacing="100%"><tspan 29.1002 + style="text-align:center;text-anchor:middle;fill:#800000" 29.1003 + sodipodi:role="line" 29.1004 + x="131.19971" 29.1005 + y="955.42468" 29.1006 + id="tspan8459">Handler</tspan><tspan 29.1007 + style="text-align:center;text-anchor:middle;fill:#800000" 29.1008 + sodipodi:role="line" 29.1009 + x="131.19971" 29.1010 + y="965.42468" 29.1011 + id="tspan8461">for Language</tspan><tspan 29.1012 + style="text-align:center;text-anchor:middle;fill:#800000" 29.1013 + sodipodi:role="line" 29.1014 + x="131.19971" 29.1015 + y="975.42468" 29.1016 + id="tspan8463">Construct1</tspan></text> 29.1017 + <path 29.1018 + inkscape:connector-curvature="0" 29.1019 + id="path8493" 29.1020 + d="m 193.99816,900.02605 c -117.505852,0 -117.505852,0 -117.505852,0" 29.1021 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000003, 3.00000003;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 29.1022 + <text 29.1023 + transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)" 29.1024 + xml:space="preserve" 29.1025 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.1026 + x="-41.280613" 29.1027 + y="905.36578" 29.1028 + id="text8495" 29.1029 + sodipodi:linespacing="100%"><tspan 29.1030 + style="font-size:8px;text-align:center;text-anchor:middle" 29.1031 + sodipodi:role="line" 29.1032 + x="-41.280613" 29.1033 + y="905.36578" 29.1034 + id="tspan8497">Top Level Fn</tspan></text> 29.1035 + <path 29.1036 + sodipodi:nodetypes="cc" 29.1037 + inkscape:connector-curvature="0" 29.1038 + id="path9273" 29.1039 + d="m 514.02904,486.31987 c 0,26.21842 0,26.21842 0,26.21842" 29.1040 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 29.1041 + <path 29.1042 + sodipodi:nodetypes="cc" 29.1043 + inkscape:connector-curvature="0" 29.1044 + id="path9275" 29.1045 + d="m 476.02904,406.79398 c 0,35.61575 0,35.61575 0,35.61575" 29.1046 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" /> 29.1047 + <path 29.1048 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 29.1049 + d="m 468.24715,442.02605 c 13.34137,0 13.34137,0 13.34137,0" 29.1050 + id="path9277" 29.1051 + inkscape:connector-curvature="0" /> 29.1052 + <path 29.1053 + inkscape:connector-curvature="0" 29.1054 + id="path9279" 29.1055 + d="m 481.57781,470.02605 c -13.14022,0 -13.14022,0 -13.14022,0" 29.1056 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 29.1057 + <path 29.1058 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 29.1059 + d="m 476.02904,470.3113 c 0,57.40944 0,57.40944 0,57.40944" 29.1060 + id="path9281" 29.1061 + inkscape:connector-curvature="0" 29.1062 + sodipodi:nodetypes="cc" /> 29.1063 + <path 29.1064 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 29.1065 + d="m 481.57781,529.27417 c -13.14022,0 -13.14022,0 -13.14022,0" 29.1066 + id="path9283" 29.1067 + inkscape:connector-curvature="0" /> 29.1068 + <text 29.1069 + transform="matrix(-0.01875541,0.9998241,-0.9998241,-0.01875541,0,0)" 29.1070 + xml:space="preserve" 29.1071 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.1072 + x="445.89752" 29.1073 + y="-468.24112" 29.1074 + id="text9285" 29.1075 + sodipodi:linespacing="100%"><tspan 29.1076 + style="text-align:center;text-anchor:middle;fill:#008000" 29.1077 + sodipodi:role="line" 29.1078 + x="445.89752" 29.1079 + y="-468.24112" 29.1080 + id="tspan9287">Timeline of SeedVP</tspan></text> 29.1081 + <text 29.1082 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 29.1083 + xml:space="preserve" 29.1084 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.1085 + x="485.50256" 29.1086 + y="441.02084" 29.1087 + id="text9289" 29.1088 + sodipodi:linespacing="100%"><tspan 29.1089 + style="font-size:8px;text-align:start;text-anchor:start" 29.1090 + sodipodi:role="line" 29.1091 + x="485.50256" 29.1092 + y="441.02084" 29.1093 + id="tspan9291">suspend</tspan></text> 29.1094 + <text 29.1095 + sodipodi:linespacing="100%" 29.1096 + id="text9293" 29.1097 + y="471.02069" 29.1098 + x="485.6344" 29.1099 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.1100 + xml:space="preserve" 29.1101 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 29.1102 + id="tspan9295" 29.1103 + y="471.02069" 29.1104 + x="485.6344" 29.1105 + sodipodi:role="line" 29.1106 + style="font-size:8px;text-align:start;text-anchor:start">resume</tspan></text> 29.1107 + <text 29.1108 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 29.1109 + xml:space="preserve" 29.1110 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.1111 + x="485.8858" 29.1112 + y="528.22565" 29.1113 + id="text9297" 29.1114 + sodipodi:linespacing="100%"><tspan 29.1115 + style="font-size:8px;text-align:start;text-anchor:start" 29.1116 + sodipodi:role="line" 29.1117 + x="485.8858" 29.1118 + y="528.22565" 29.1119 + id="tspan9299">end</tspan></text> 29.1120 + <text 29.1121 + sodipodi:linespacing="100%" 29.1122 + id="text9301" 29.1123 + y="357.42465" 29.1124 + x="63.167969" 29.1125 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.1126 + xml:space="preserve"><tspan 29.1127 + id="tspan9303" 29.1128 + y="357.42465" 29.1129 + x="63.167969" 29.1130 + sodipodi:role="line" 29.1131 + style="text-align:center;text-anchor:middle;fill:#000080">Proto-Runtime</tspan><tspan 29.1132 + id="tspan9305" 29.1133 + y="367.42465" 29.1134 + x="63.167969" 29.1135 + sodipodi:role="line" 29.1136 + style="text-align:center;text-anchor:middle;fill:#000080">Primitive</tspan><tspan 29.1137 + y="377.42465" 29.1138 + x="63.167969" 29.1139 + sodipodi:role="line" 29.1140 + style="text-align:center;text-anchor:middle;fill:#000080" 29.1141 + id="tspan9307">Code</tspan></text> 29.1142 + <text 29.1143 + xml:space="preserve" 29.1144 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.1145 + x="65.380371" 29.1146 + y="445.42465" 29.1147 + id="text9309" 29.1148 + sodipodi:linespacing="100%"><tspan 29.1149 + id="tspan9313" 29.1150 + style="text-align:center;text-anchor:middle;fill:#000080" 29.1151 + sodipodi:role="line" 29.1152 + x="65.380371" 29.1153 + y="445.42465">PR primitive Fn</tspan><tspan 29.1154 + style="text-align:center;text-anchor:middle;fill:#000080" 29.1155 + sodipodi:role="line" 29.1156 + x="65.380371" 29.1157 + y="455.42465" 29.1158 + id="tspan9317">to create VP</tspan></text> 29.1159 + <path 29.1160 + inkscape:connector-curvature="0" 29.1161 + id="path9321" 29.1162 + d="m 101.87629,449.27701 c 71.06548,12.76616 75.82677,13.24993 150.67864,41.1502 79.15373,29.50373 134.12108,64.97026 134.12108,64.97026" 29.1163 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000009, 3.00000009;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 29.1164 + sodipodi:nodetypes="csc" /> 29.1165 + <g 29.1166 + id="g9341" 29.1167 + transform="translate(44.002789,168)"> 29.1168 + <rect 29.1169 + y="389.58255" 29.1170 + x="346.40247" 29.1171 + height="37.165791" 29.1172 + width="65.276405" 29.1173 + id="rect9343" 29.1174 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 29.1175 + <text 29.1176 + xml:space="preserve" 29.1177 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.1178 + x="379.35806" 29.1179 + y="400.72159" 29.1180 + id="text9345" 29.1181 + sodipodi:linespacing="100%"><tspan 29.1182 + style="text-align:center;text-anchor:middle" 29.1183 + sodipodi:role="line" 29.1184 + x="379.35806" 29.1185 + y="400.72159" 29.1186 + id="tspan9347">VP 1</tspan><tspan 29.1187 + style="font-size:8px;text-align:center;text-anchor:middle" 29.1188 + sodipodi:role="line" 29.1189 + x="379.35806" 29.1190 + y="409.15637" 29.1191 + id="tspan9349">(created by</tspan><tspan 29.1192 + style="font-size:8px;text-align:center;text-anchor:middle" 29.1193 + sodipodi:role="line" 29.1194 + x="379.35806" 29.1195 + y="417.15637" 29.1196 + id="tspan9355">application,</tspan><tspan 29.1197 + style="font-size:8px;text-align:center;text-anchor:middle" 29.1198 + sodipodi:role="line" 29.1199 + x="379.35806" 29.1200 + y="425.15637" 29.1201 + id="tspan9746">on core 2)</tspan></text> 29.1202 + </g> 29.1203 + <g 29.1204 + transform="translate(44.002789,330)" 29.1205 + id="g9371"> 29.1206 + <rect 29.1207 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 29.1208 + id="rect9373" 29.1209 + width="65.276405" 29.1210 + height="37.165791" 29.1211 + x="346.40247" 29.1212 + y="389.58255" /> 29.1213 + <text 29.1214 + sodipodi:linespacing="100%" 29.1215 + id="text9375" 29.1216 + y="400.72159" 29.1217 + x="379.35806" 29.1218 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.1219 + xml:space="preserve"><tspan 29.1220 + id="tspan9377" 29.1221 + y="400.72159" 29.1222 + x="379.35806" 29.1223 + sodipodi:role="line" 29.1224 + style="text-align:center;text-anchor:middle">VP 2</tspan><tspan 29.1225 + id="tspan9379" 29.1226 + y="409.15637" 29.1227 + x="379.35806" 29.1228 + sodipodi:role="line" 29.1229 + style="font-size:8px;text-align:center;text-anchor:middle">(created by</tspan><tspan 29.1230 + id="tspan9381" 29.1231 + y="417.15637" 29.1232 + x="379.35806" 29.1233 + sodipodi:role="line" 29.1234 + style="font-size:8px;text-align:center;text-anchor:middle">application,</tspan><tspan 29.1235 + y="425.15637" 29.1236 + x="379.35806" 29.1237 + sodipodi:role="line" 29.1238 + style="font-size:8px;text-align:center;text-anchor:middle" 29.1239 + id="tspan9748">on core 3)</tspan></text> 29.1240 + </g> 29.1241 + <text 29.1242 + xml:space="preserve" 29.1243 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.1244 + x="202.41257" 29.1245 + y="403.42465" 29.1246 + id="text9512" 29.1247 + sodipodi:linespacing="100%"><tspan 29.1248 + style="text-align:center;text-anchor:middle;fill:#000080" 29.1249 + sodipodi:role="line" 29.1250 + x="202.41257" 29.1251 + y="403.42465" 29.1252 + id="tspan9514">Master Fn</tspan></text> 29.1253 + <path 29.1254 + sodipodi:nodetypes="cc" 29.1255 + inkscape:connector-curvature="0" 29.1256 + id="path9522" 29.1257 + d="m 205.27805,442.31985 c 0,7.35629 0,7.35629 0,7.35629" 29.1258 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 29.1259 + <path 29.1260 + inkscape:connector-curvature="0" 29.1261 + id="path9524" 29.1262 + d="m 205.05995,448.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 29.1263 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 29.1264 + <path 29.1265 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 29.1266 + d="m 116.53543,810.02605 c 88.41298,0 88.41298,0 88.41298,0" 29.1267 + id="path9526" 29.1268 + inkscape:connector-curvature="0" /> 29.1269 + <path 29.1270 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 29.1271 + d="m 205.27805,810.31987 c 0,26.21842 0,26.21842 0,26.21842" 29.1272 + id="path9528" 29.1273 + inkscape:connector-curvature="0" 29.1274 + sodipodi:nodetypes="cc" /> 29.1275 + <path 29.1276 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 29.1277 + d="m 205.05999,836.02605 c -87.58783,0 -87.58783,0 -87.58783,0" 29.1278 + id="path9530" 29.1279 + inkscape:connector-curvature="0" /> 29.1280 + <text 29.1281 + xml:space="preserve" 29.1282 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.1283 + x="115.1133" 29.1284 + y="822.71179" 29.1285 + id="text9532" 29.1286 + sodipodi:linespacing="100%"><tspan 29.1287 + style="text-align:center;text-anchor:middle;fill:#800000" 29.1288 + sodipodi:role="line" 29.1289 + x="115.1133" 29.1290 + y="822.71179" 29.1291 + id="tspan9534">end VP</tspan><tspan 29.1292 + id="tspan9536" 29.1293 + style="text-align:center;text-anchor:middle;fill:#800000" 29.1294 + sodipodi:role="line" 29.1295 + x="115.1133" 29.1296 + y="832.71179">wrapper Fn</tspan></text> 29.1297 + <path 29.1298 + inkscape:connector-curvature="0" 29.1299 + id="path9538" 29.1300 + d="m 117.04125,842.02605 c -63.99676,0 -63.99676,0 -63.99676,0" 29.1301 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 29.1302 + <text 29.1303 + sodipodi:linespacing="100%" 29.1304 + id="text9540" 29.1305 + y="828.71179" 29.1306 + x="49.880333" 29.1307 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.1308 + xml:space="preserve"><tspan 29.1309 + id="tspan9542" 29.1310 + y="828.71179" 29.1311 + x="49.880333" 29.1312 + sodipodi:role="line" 29.1313 + style="text-align:center;text-anchor:middle;fill:#000080">send request</tspan><tspan 29.1314 + id="tspan9544" 29.1315 + y="838.71179" 29.1316 + x="49.880333" 29.1317 + sodipodi:role="line" 29.1318 + style="text-align:center;text-anchor:middle;fill:#000080">primitive Fn</tspan></text> 29.1319 + <path 29.1320 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 29.1321 + d="m 117.27805,834.31985 c 0,7.35629 0,7.35629 0,7.35629" 29.1322 + id="path9546" 29.1323 + inkscape:connector-curvature="0" 29.1324 + sodipodi:nodetypes="cc" /> 29.1325 + <path 29.1326 + sodipodi:nodetypes="cc" 29.1327 + inkscape:connector-curvature="0" 29.1328 + id="path9548" 29.1329 + d="m 137.27805,447.85824 c 0,11.43122 0,11.43122 0,11.43122" 29.1330 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 29.1331 + <path 29.1332 + inkscape:connector-curvature="0" 29.1333 + id="path9550" 29.1334 + d="m 137.57123,460.02605 c -69.22157,0 -69.22157,0 -69.22157,0" 29.1335 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 29.1336 + <path 29.1337 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 29.1338 + d="m 52.45074,806.02605 c 65.78483,0 65.78483,0 65.78483,0" 29.1339 + id="path9552" 29.1340 + inkscape:connector-curvature="0" /> 29.1341 + <path 29.1342 + sodipodi:nodetypes="cc" 29.1343 + inkscape:connector-curvature="0" 29.1344 + id="path9554" 29.1345 + d="m 205.27805,474.63925 c 0,13.68455 0,13.68455 0,13.68455" 29.1346 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 29.1347 + <path 29.1348 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 29.1349 + d="m 117.27805,805.22687 c 0,5.5885 0,5.5885 0,5.5885" 29.1350 + id="path9556" 29.1351 + inkscape:connector-curvature="0" 29.1352 + sodipodi:nodetypes="cc" /> 29.1353 + <path 29.1354 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 29.1355 + d="m 51.27805,792.63925 c 0,13.68455 0,13.68455 0,13.68455" 29.1356 + id="path9562" 29.1357 + inkscape:connector-curvature="0" 29.1358 + sodipodi:nodetypes="cc" /> 29.1359 + <path 29.1360 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 29.1361 + d="m 205.05994,486.02605 c -57.74832,0 -57.74832,0 -57.74832,0" 29.1362 + id="path9564" 29.1363 + inkscape:connector-curvature="0" /> 29.1364 + <text 29.1365 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 29.1366 + xml:space="preserve" 29.1367 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.1368 + x="-217.71529" 29.1369 + y="472.34747" 29.1370 + id="text9566" 29.1371 + sodipodi:linespacing="100%"><tspan 29.1372 + style="font-size:8px;text-align:center;text-anchor:middle" 29.1373 + sodipodi:role="line" 29.1374 + x="-217.71529" 29.1375 + y="472.34747" 29.1376 + id="tspan9568">suspend</tspan><tspan 29.1377 + id="tspan9570" 29.1378 + style="font-size:8px;text-align:center;text-anchor:middle" 29.1379 + sodipodi:role="line" 29.1380 + x="-217.71529" 29.1381 + y="480.34747">and switch</tspan><tspan 29.1382 + id="tspan9572" 29.1383 + style="font-size:8px;text-align:center;text-anchor:middle" 29.1384 + sodipodi:role="line" 29.1385 + x="-217.71529" 29.1386 + y="488.34747">to app VP</tspan></text> 29.1387 + <path 29.1388 + inkscape:connector-curvature="0" 29.1389 + id="path9574" 29.1390 + d="m -6.642,794.02605 c 56.8776,0 56.8776,0 56.8776,0" 29.1391 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 29.1392 + <text 29.1393 + sodipodi:linespacing="100%" 29.1394 + id="text9576" 29.1395 + y="576.25653" 29.1396 + x="-550.32233" 29.1397 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.1398 + xml:space="preserve" 29.1399 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 29.1400 + y="576.25653" 29.1401 + x="-550.32233" 29.1402 + sodipodi:role="line" 29.1403 + style="font-size:8px;text-align:center;text-anchor:middle" 29.1404 + id="tspan9578">return</tspan><tspan 29.1405 + id="tspan9580" 29.1406 + y="584.25653" 29.1407 + x="-550.32233" 29.1408 + sodipodi:role="line" 29.1409 + style="font-size:8px;text-align:center;text-anchor:middle">from</tspan><tspan 29.1410 + id="tspan9582" 29.1411 + y="592.25653" 29.1412 + x="-550.32233" 29.1413 + sodipodi:role="line" 29.1414 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text> 29.1415 + <path 29.1416 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 29.1417 + d="m 51.27805,841.28283 c 0,13.68455 0,13.68455 0,13.68455" 29.1418 + id="path9594" 29.1419 + inkscape:connector-curvature="0" 29.1420 + sodipodi:nodetypes="cc" /> 29.1421 + <path 29.1422 + inkscape:connector-curvature="0" 29.1423 + id="path9596" 29.1424 + d="m 51.05994,852.66963 c -57.74832,0 -57.74832,0 -57.74832,0" 29.1425 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 29.1426 + <text 29.1427 + sodipodi:linespacing="100%" 29.1428 + id="text9598" 29.1429 + y="607.01007" 29.1430 + x="-584.68982" 29.1431 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.1432 + xml:space="preserve" 29.1433 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 29.1434 + id="tspan9600" 29.1435 + y="607.01007" 29.1436 + x="-584.68982" 29.1437 + sodipodi:role="line" 29.1438 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan 29.1439 + y="615.01007" 29.1440 + x="-584.68982" 29.1441 + sodipodi:role="line" 29.1442 + style="font-size:8px;text-align:center;text-anchor:middle" 29.1443 + id="tspan9602">and switch</tspan><tspan 29.1444 + y="623.01007" 29.1445 + x="-584.68982" 29.1446 + sodipodi:role="line" 29.1447 + style="font-size:8px;text-align:center;text-anchor:middle" 29.1448 + id="tspan9604">to runtime</tspan></text> 29.1449 + <text 29.1450 + transform="matrix(-0.99999036,0.00439064,0.00439064,0.99999036,0,0)" 29.1451 + xml:space="preserve" 29.1452 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.1453 + x="-162.04274" 29.1454 + y="843.867" 29.1455 + id="text9606" 29.1456 + sodipodi:linespacing="100%"><tspan 29.1457 + style="font-size:8px;text-align:center;text-anchor:middle" 29.1458 + sodipodi:role="line" 29.1459 + x="-162.04274" 29.1460 + y="843.867" 29.1461 + id="tspan9608">normal call</tspan></text> 29.1462 + <text 29.1463 + transform="matrix(-0.99999036,0.00439064,0.00439064,0.99999036,0,0)" 29.1464 + xml:space="preserve" 29.1465 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.1466 + x="-92.01651" 29.1467 + y="849.56036" 29.1468 + id="text9610" 29.1469 + sodipodi:linespacing="100%"><tspan 29.1470 + style="font-size:8px;text-align:center;text-anchor:middle" 29.1471 + sodipodi:role="line" 29.1472 + x="-92.01651" 29.1473 + y="849.56036" 29.1474 + id="tspan9612">normal call</tspan></text> 29.1475 + <path 29.1476 + sodipodi:nodetypes="cc" 29.1477 + inkscape:connector-curvature="0" 29.1478 + id="path9614" 29.1479 + d="m 205.27805,442.31985 c 0,7.35629 0,7.35629 0,7.35629" 29.1480 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 29.1481 + <path 29.1482 + sodipodi:nodetypes="cc" 29.1483 + inkscape:connector-curvature="0" 29.1484 + id="path9616" 29.1485 + d="m 205.27805,442.31985 c 0,7.35629 0,7.35629 0,7.35629" 29.1486 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 29.1487 + <path 29.1488 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 29.1489 + d="m 205.27805,810.31987 c 0,26.21842 0,26.21842 0,26.21842" 29.1490 + id="path9618" 29.1491 + inkscape:connector-curvature="0" 29.1492 + sodipodi:nodetypes="cc" /> 29.1493 + <path 29.1494 + inkscape:connector-curvature="0" 29.1495 + id="path9648" 29.1496 + d="m 468.24715,407.42364 c 13.34137,0 13.34137,0 13.34137,0" 29.1497 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 29.1498 + <text 29.1499 + sodipodi:linespacing="100%" 29.1500 + id="text9654" 29.1501 + y="409.02243" 29.1502 + x="485.36194" 29.1503 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.1504 + xml:space="preserve" 29.1505 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 29.1506 + id="tspan9656" 29.1507 + y="409.02243" 29.1508 + x="485.36194" 29.1509 + sodipodi:role="line" 29.1510 + style="font-size:8px;text-align:start;text-anchor:start">start</tspan></text> 29.1511 + <path 29.1512 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" 29.1513 + d="m 476.02904,574.79398 c 0,35.61575 0,35.61575 0,35.61575" 29.1514 + id="path9658" 29.1515 + inkscape:connector-curvature="0" 29.1516 + sodipodi:nodetypes="cc" /> 29.1517 + <path 29.1518 + inkscape:connector-curvature="0" 29.1519 + id="path9660" 29.1520 + d="m 468.24715,610.02605 c 13.34137,0 13.34137,0 13.34137,0" 29.1521 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 29.1522 + <path 29.1523 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 29.1524 + d="m 481.57781,638.02605 c -13.14022,0 -13.14022,0 -13.14022,0" 29.1525 + id="path9662" 29.1526 + inkscape:connector-curvature="0" /> 29.1527 + <text 29.1528 + sodipodi:linespacing="100%" 29.1529 + id="text9668" 29.1530 + y="-471.39224" 29.1531 + x="613.86792" 29.1532 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.1533 + xml:space="preserve" 29.1534 + transform="matrix(-0.01875541,0.9998241,-0.9998241,-0.01875541,0,0)"><tspan 29.1535 + y="-471.39224" 29.1536 + x="613.86792" 29.1537 + sodipodi:role="line" 29.1538 + style="text-align:center;text-anchor:middle;fill:#008000" 29.1539 + id="tspan9740">Timeline of VP 1</tspan></text> 29.1540 + <text 29.1541 + sodipodi:linespacing="100%" 29.1542 + id="text9672" 29.1543 + y="609.01917" 29.1544 + x="486.23993" 29.1545 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.1546 + xml:space="preserve" 29.1547 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 29.1548 + id="tspan9674" 29.1549 + y="609.01917" 29.1550 + x="486.23993" 29.1551 + sodipodi:role="line" 29.1552 + style="font-size:8px;text-align:start;text-anchor:start">suspend</tspan></text> 29.1553 + <text 29.1554 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 29.1555 + xml:space="preserve" 29.1556 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.1557 + x="486.37177" 29.1558 + y="639.0191" 29.1559 + id="text9676" 29.1560 + sodipodi:linespacing="100%"><tspan 29.1561 + style="font-size:8px;text-align:start;text-anchor:start" 29.1562 + sodipodi:role="line" 29.1563 + x="486.37177" 29.1564 + y="639.0191" 29.1565 + id="tspan9678">resume</tspan></text> 29.1566 + <path 29.1567 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 29.1568 + d="m 468.24715,575.42364 c 13.34137,0 13.34137,0 13.34137,0" 29.1569 + id="path9684" 29.1570 + inkscape:connector-curvature="0" /> 29.1571 + <text 29.1572 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 29.1573 + xml:space="preserve" 29.1574 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.1575 + x="486.0993" 29.1576 + y="577.02075" 29.1577 + id="text9686" 29.1578 + sodipodi:linespacing="100%"><tspan 29.1579 + style="font-size:8px;text-align:start;text-anchor:start" 29.1580 + sodipodi:role="line" 29.1581 + x="486.0993" 29.1582 + y="577.02075" 29.1583 + id="tspan9688">start</tspan></text> 29.1584 + <path 29.1585 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" 29.1586 + d="m 266.02904,441.43112 c 0,28.2402 0,28.2402 0,28.2402" 29.1587 + id="path9690" 29.1588 + inkscape:connector-curvature="0" 29.1589 + sodipodi:nodetypes="cc" /> 29.1590 + <path 29.1591 + inkscape:connector-curvature="0" 29.1592 + id="path9692" 29.1593 + d="m 258.24715,442.02605 c 13.34137,0 13.34137,0 13.34137,0" 29.1594 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 29.1595 + <path 29.1596 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 29.1597 + d="m 271.57781,470.02605 c -13.14022,0 -13.14022,0 -13.14022,0" 29.1598 + id="path9694" 29.1599 + inkscape:connector-curvature="0" /> 29.1600 + <text 29.1601 + sodipodi:linespacing="100%" 29.1602 + id="text9700" 29.1603 + y="-286.46057" 29.1604 + x="459.30908" 29.1605 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.1606 + xml:space="preserve" 29.1607 + transform="matrix(-0.01875541,0.9998241,-0.9998241,-0.01875541,0,0)"><tspan 29.1608 + y="-286.46057" 29.1609 + x="459.30908" 29.1610 + sodipodi:role="line" 29.1611 + style="text-align:center;text-anchor:middle;fill:#008000" 29.1612 + id="tspan9736">Timeline of Master on core 1</tspan></text> 29.1613 + <text 29.1614 + sodipodi:linespacing="100%" 29.1615 + id="text9704" 29.1616 + y="470.12714" 29.1617 + x="261.32681" 29.1618 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.1619 + xml:space="preserve" 29.1620 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 29.1621 + id="tspan9706" 29.1622 + y="470.12714" 29.1623 + x="261.32681" 29.1624 + sodipodi:role="line" 29.1625 + style="font-size:8px;text-align:end;text-anchor:end">suspend</tspan></text> 29.1626 + <text 29.1627 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 29.1628 + xml:space="preserve" 29.1629 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.1630 + x="258.75574" 29.1631 + y="444.1272" 29.1632 + id="text9708" 29.1633 + sodipodi:linespacing="100%"><tspan 29.1634 + style="font-size:8px;text-align:end;text-anchor:end" 29.1635 + sodipodi:role="line" 29.1636 + x="258.75574" 29.1637 + y="444.1272" 29.1638 + id="tspan9710">resume</tspan></text> 29.1639 + <path 29.1640 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 29.1641 + d="m 258.24715,407.42364 c 13.34137,0 13.34137,0 13.34137,0" 29.1642 + id="path9716" 29.1643 + inkscape:connector-curvature="0" /> 29.1644 + <text 29.1645 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 29.1646 + xml:space="preserve" 29.1647 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.1648 + x="257.81323" 29.1649 + y="410.09369" 29.1650 + id="text9718" 29.1651 + sodipodi:linespacing="100%"><tspan 29.1652 + style="font-size:8px;text-align:end;text-anchor:end" 29.1653 + sodipodi:role="line" 29.1654 + x="257.81323" 29.1655 + y="410.09369" 29.1656 + id="tspan9720">start</tspan></text> 29.1657 + <path 29.1658 + sodipodi:nodetypes="cc" 29.1659 + inkscape:connector-curvature="0" 29.1660 + id="path9722" 29.1661 + d="m 266.02904,529.43112 c 0,10.33165 0,10.33165 0,10.33165" 29.1662 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 29.1663 + <path 29.1664 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 29.1665 + d="m 258.24715,530.02605 c 13.34137,0 13.34137,0 13.34137,0" 29.1666 + id="path9724" 29.1667 + inkscape:connector-curvature="0" /> 29.1668 + <text 29.1669 + sodipodi:linespacing="100%" 29.1670 + id="text9932" 29.1671 + y="452.53967" 29.1672 + x="180.9785" 29.1673 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.1674 + xml:space="preserve" 29.1675 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 29.1676 + id="tspan9934" 29.1677 + y="452.53967" 29.1678 + x="180.9785" 29.1679 + sodipodi:role="line" 29.1680 + style="font-size:8px;text-align:center;text-anchor:middle">Call via Ptr</tspan></text> 29.1681 + <text 29.1682 + sodipodi:linespacing="100%" 29.1683 + id="text9936" 29.1684 + y="596.94305" 29.1685 + x="641.43158" 29.1686 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.1687 + xml:space="preserve" 29.1688 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 29.1689 + id="tspan9938" 29.1690 + y="596.94305" 29.1691 + x="641.43158" 29.1692 + sodipodi:role="line" 29.1693 + style="font-size:8px;text-align:center;text-anchor:middle">Call to dyn lib</tspan></text> 29.1694 + <text 29.1695 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 29.1696 + xml:space="preserve" 29.1697 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.1698 + x="642.85406" 29.1699 + y="682.93286" 29.1700 + id="text9940" 29.1701 + sodipodi:linespacing="100%"><tspan 29.1702 + style="font-size:8px;text-align:center;text-anchor:middle" 29.1703 + sodipodi:role="line" 29.1704 + x="642.85406" 29.1705 + y="682.93286" 29.1706 + id="tspan9942">Call to dyn lib</tspan></text> 29.1707 + <text 29.1708 + sodipodi:linespacing="100%" 29.1709 + id="text9944" 29.1710 + y="514.95538" 29.1711 + x="640.07465" 29.1712 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.1713 + xml:space="preserve" 29.1714 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 29.1715 + id="tspan9946" 29.1716 + y="514.95538" 29.1717 + x="640.07465" 29.1718 + sodipodi:role="line" 29.1719 + style="font-size:8px;text-align:center;text-anchor:middle">Call to dyn lib</tspan></text> 29.1720 + <text 29.1721 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 29.1722 + xml:space="preserve" 29.1723 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.1724 + x="113.18735" 29.1725 + y="465.66476" 29.1726 + id="text9948" 29.1727 + sodipodi:linespacing="100%"><tspan 29.1728 + style="font-size:8px;text-align:center;text-anchor:middle" 29.1729 + sodipodi:role="line" 29.1730 + x="113.18735" 29.1731 + y="465.66476" 29.1732 + id="tspan9950">Call to dyn lib</tspan></text> 29.1733 + <path 29.1734 + inkscape:connector-curvature="0" 29.1735 + id="path9952" 29.1736 + d="m 733.1031,470.02605 c -727.990461,0 -727.990461,0 -727.990461,0" 29.1737 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" /> 29.1738 + <path 29.1739 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" 29.1740 + d="m 733.1031,441.52981 c -727.990461,0 -727.990461,0 -727.990461,0" 29.1741 + id="path9954" 29.1742 + inkscape:connector-curvature="0" /> 29.1743 + <text 29.1744 + xml:space="preserve" 29.1745 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.1746 + x="326.92542" 29.1747 + y="567.76575" 29.1748 + id="text9956" 29.1749 + sodipodi:linespacing="100%"><tspan 29.1750 + style="text-align:center;text-anchor:middle" 29.1751 + sodipodi:role="line" 29.1752 + id="tspan9958" 29.1753 + x="326.92542" 29.1754 + y="567.76575">Master</tspan><tspan 29.1755 + style="font-size:8px;text-align:center;text-anchor:middle" 29.1756 + id="tspan9960" 29.1757 + sodipodi:role="line" 29.1758 + x="326.92542" 29.1759 + y="576.2005">(runtime system)</tspan><tspan 29.1760 + id="tspan9962" 29.1761 + style="font-size:8px;text-align:center;text-anchor:middle" 29.1762 + sodipodi:role="line" 29.1763 + x="326.92542" 29.1764 + y="584.2005">on core 2</tspan></text> 29.1765 + <text 29.1766 + sodipodi:linespacing="100%" 29.1767 + id="text9964" 29.1768 + y="601.42468" 29.1769 + x="137.19971" 29.1770 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.1771 + xml:space="preserve"><tspan 29.1772 + id="tspan9966" 29.1773 + y="601.42468" 29.1774 + x="137.19971" 29.1775 + sodipodi:role="line" 29.1776 + style="text-align:center;text-anchor:middle;fill:#800000">Lang Handler</tspan><tspan 29.1777 + id="tspan9968" 29.1778 + y="611.42468" 29.1779 + x="138.70361" 29.1780 + sodipodi:role="line" 29.1781 + style="text-align:center;text-anchor:middle;fill:#800000">for Acq Mutex </tspan></text> 29.1782 + <path 29.1783 + inkscape:connector-curvature="0" 29.1784 + id="path9970" 29.1785 + d="m 291.99816,568.02605 c -63.44071,0 -63.44071,0 -63.44071,0" 29.1786 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000003, 3.00000003;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 29.1787 + <g 29.1788 + id="g9972" 29.1789 + transform="matrix(1,0,0,0.71130685,-16,334.52913)"> 29.1790 + <rect 29.1791 + style="fill:none;stroke:#000000;stroke-width:1.28076112;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 29.1792 + id="rect9974" 29.1793 + width="65.276405" 29.1794 + height="52.250008" 29.1795 + x="310.40247" 29.1796 + y="313.58255" /> 29.1797 + </g> 29.1798 + <text 29.1799 + sodipodi:linespacing="100%" 29.1800 + id="text9976" 29.1801 + y="613.42468" 29.1802 + x="65.380371" 29.1803 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.1804 + xml:space="preserve"><tspan 29.1805 + y="613.42468" 29.1806 + x="65.380371" 29.1807 + sodipodi:role="line" 29.1808 + style="text-align:center;text-anchor:middle;fill:#000080" 29.1809 + id="tspan9978">PR primitive Fn</tspan><tspan 29.1810 + id="tspan9980" 29.1811 + y="623.42468" 29.1812 + x="65.380371" 29.1813 + sodipodi:role="line" 29.1814 + style="text-align:center;text-anchor:middle;fill:#000080">to create VP</tspan></text> 29.1815 + <text 29.1816 + sodipodi:linespacing="100%" 29.1817 + id="text9982" 29.1818 + y="571.42468" 29.1819 + x="202.41257" 29.1820 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.1821 + xml:space="preserve"><tspan 29.1822 + id="tspan9984" 29.1823 + y="571.42468" 29.1824 + x="202.41257" 29.1825 + sodipodi:role="line" 29.1826 + style="text-align:center;text-anchor:middle;fill:#000080">Master Fn</tspan></text> 29.1827 + <path 29.1828 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 29.1829 + d="m 205.27805,610.31985 c 0,7.35629 0,7.35629 0,7.35629" 29.1830 + id="path9986" 29.1831 + inkscape:connector-curvature="0" 29.1832 + sodipodi:nodetypes="cc" /> 29.1833 + <path 29.1834 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 29.1835 + d="m 205.05995,616.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 29.1836 + id="path9988" 29.1837 + inkscape:connector-curvature="0" /> 29.1838 + <path 29.1839 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 29.1840 + d="m 137.27805,615.85824 c 0,11.43122 0,11.43122 0,11.43122" 29.1841 + id="path9990" 29.1842 + inkscape:connector-curvature="0" 29.1843 + sodipodi:nodetypes="cc" /> 29.1844 + <path 29.1845 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 29.1846 + d="m 137.57123,628.02605 c -69.22157,0 -69.22157,0 -69.22157,0" 29.1847 + id="path9992" 29.1848 + inkscape:connector-curvature="0" /> 29.1849 + <path 29.1850 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 29.1851 + d="m 67.27805,626.63925 c 0,13.68455 0,13.68455 0,13.68455" 29.1852 + id="path9994" 29.1853 + inkscape:connector-curvature="0" 29.1854 + sodipodi:nodetypes="cc" /> 29.1855 + <path 29.1856 + inkscape:connector-curvature="0" 29.1857 + id="path9996" 29.1858 + d="m 67.05994,638.02605 c -57.74832,0 -57.74832,0 -57.74832,0" 29.1859 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 29.1860 + <text 29.1861 + sodipodi:linespacing="100%" 29.1862 + id="text9998" 29.1863 + y="485.57098" 29.1864 + x="-422.58896" 29.1865 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.1866 + xml:space="preserve" 29.1867 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 29.1868 + id="tspan10000" 29.1869 + y="485.57098" 29.1870 + x="-422.58896" 29.1871 + sodipodi:role="line" 29.1872 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan 29.1873 + y="493.57098" 29.1874 + x="-422.58896" 29.1875 + sodipodi:role="line" 29.1876 + style="font-size:8px;text-align:center;text-anchor:middle" 29.1877 + id="tspan10002">and switch</tspan><tspan 29.1878 + y="501.57098" 29.1879 + x="-422.58896" 29.1880 + sodipodi:role="line" 29.1881 + style="font-size:8px;text-align:center;text-anchor:middle" 29.1882 + id="tspan10004">to app VP</tspan></text> 29.1883 + <path 29.1884 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 29.1885 + d="m 205.27805,610.31985 c 0,7.35629 0,7.35629 0,7.35629" 29.1886 + id="path10006" 29.1887 + inkscape:connector-curvature="0" 29.1888 + sodipodi:nodetypes="cc" /> 29.1889 + <path 29.1890 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 29.1891 + d="m 205.27805,610.31985 c 0,7.35629 0,7.35629 0,7.35629" 29.1892 + id="path10008" 29.1893 + inkscape:connector-curvature="0" 29.1894 + sodipodi:nodetypes="cc" /> 29.1895 + <path 29.1896 + sodipodi:nodetypes="cc" 29.1897 + inkscape:connector-curvature="0" 29.1898 + id="path10010" 29.1899 + d="m 266.02904,609.43114 c 0,28.51925 0,28.51925 0,28.51925" 29.1900 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" /> 29.1901 + <path 29.1902 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 29.1903 + d="m 258.24715,610.02605 c 13.34137,0 13.34137,0 13.34137,0" 29.1904 + id="path10012" 29.1905 + inkscape:connector-curvature="0" /> 29.1906 + <path 29.1907 + inkscape:connector-curvature="0" 29.1908 + id="path10014" 29.1909 + d="m 271.57781,638.02605 c -13.14022,0 -13.14022,0 -13.14022,0" 29.1910 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 29.1911 + <text 29.1912 + transform="matrix(-0.01875541,0.9998241,-0.9998241,-0.01875541,0,0)" 29.1913 + xml:space="preserve" 29.1914 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.1915 + x="627.31714" 29.1916 + y="-287.61206" 29.1917 + id="text10018" 29.1918 + sodipodi:linespacing="100%"><tspan 29.1919 + id="tspan10020" 29.1920 + style="text-align:center;text-anchor:middle;fill:#008000" 29.1921 + sodipodi:role="line" 29.1922 + x="627.31714" 29.1923 + y="-287.61206">Timeline of Master on core 2</tspan></text> 29.1924 + <path 29.1925 + inkscape:connector-curvature="0" 29.1926 + id="path10030" 29.1927 + d="m 258.24715,575.42364 c 13.34137,0 13.34137,0 13.34137,0" 29.1928 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 29.1929 + <text 29.1930 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 29.1931 + xml:space="preserve" 29.1932 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.1933 + x="183.75761" 29.1934 + y="620.51709" 29.1935 + id="text10044" 29.1936 + sodipodi:linespacing="100%"><tspan 29.1937 + style="font-size:8px;text-align:center;text-anchor:middle" 29.1938 + sodipodi:role="line" 29.1939 + x="183.75761" 29.1940 + y="620.51709" 29.1941 + id="tspan10046">Call via Ptr</tspan></text> 29.1942 + <text 29.1943 + sodipodi:linespacing="100%" 29.1944 + id="text10048" 29.1945 + y="633.64221" 29.1946 + x="115.96657" 29.1947 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.1948 + xml:space="preserve" 29.1949 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 29.1950 + id="tspan10050" 29.1951 + y="633.64221" 29.1952 + x="115.96657" 29.1953 + sodipodi:role="line" 29.1954 + style="font-size:8px;text-align:center;text-anchor:middle">Call to dyn lib</tspan></text> 29.1955 + <path 29.1956 + sodipodi:nodetypes="cc" 29.1957 + inkscape:connector-curvature="0" 29.1958 + id="path10052" 29.1959 + d="m 205.27805,573.45805 c 0,34.21814 0,34.21814 0,34.21814" 29.1960 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3, 3;stroke-dashoffset:0" /> 29.1961 + <path 29.1962 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3, 3;stroke-dashoffset:0" 29.1963 + d="m 205.27805,405.45805 c 0,34.21814 0,34.21814 0,34.21814" 29.1964 + id="path10054" 29.1965 + inkscape:connector-curvature="0" 29.1966 + sodipodi:nodetypes="cc" /> 29.1967 + <path 29.1968 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" 29.1969 + d="m 733.1031,638.02605 c -727.990461,0 -727.990461,0 -727.990461,0" 29.1970 + id="path10056" 29.1971 + inkscape:connector-curvature="0" /> 29.1972 + <path 29.1973 + inkscape:connector-curvature="0" 29.1974 + id="path10058" 29.1975 + d="m 733.1031,609.52981 c -727.990461,0 -727.990461,0 -727.990461,0" 29.1976 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" /> 29.1977 + <path 29.1978 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 29.1979 + d="m 170.94559,442.02605 c 34.44005,0 34.44005,0 34.44005,0" 29.1980 + id="path10060" 29.1981 + inkscape:connector-curvature="0" /> 29.1982 + <text 29.1983 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 29.1984 + xml:space="preserve" 29.1985 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.1986 + x="-165.37918" 29.1987 + y="439.50415" 29.1988 + id="text10062" 29.1989 + sodipodi:linespacing="100%"><tspan 29.1990 + id="tspan10068" 29.1991 + style="font-size:8px;text-align:center;text-anchor:middle" 29.1992 + sodipodi:role="line" 29.1993 + x="-165.37918" 29.1994 + y="439.50415">return from</tspan><tspan 29.1995 + style="font-size:8px;text-align:center;text-anchor:middle" 29.1996 + sodipodi:role="line" 29.1997 + x="-165.37918" 29.1998 + y="447.50415" 29.1999 + id="tspan10074">suspend</tspan></text> 29.2000 + <path 29.2001 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" 29.2002 + d="m 733.1031,530.02605 c -727.990461,0 -727.990461,0 -727.990461,0" 29.2003 + id="path10076" 29.2004 + inkscape:connector-curvature="0" /> 29.2005 + <text 29.2006 + xml:space="preserve" 29.2007 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.2008 + x="667.38037" 29.2009 + y="505.42465" 29.2010 + id="text10082" 29.2011 + sodipodi:linespacing="100%"><tspan 29.2012 + style="text-align:center;text-anchor:middle;fill:#000080" 29.2013 + sodipodi:role="line" 29.2014 + x="667.38037" 29.2015 + y="505.42465" 29.2016 + id="tspan10084">PR primitive Fn</tspan><tspan 29.2017 + id="tspan10086" 29.2018 + style="text-align:center;text-anchor:middle;fill:#000080" 29.2019 + sodipodi:role="line" 29.2020 + x="667.38037" 29.2021 + y="515.42468">to send request</tspan></text> 29.2022 + <text 29.2023 + sodipodi:linespacing="100%" 29.2024 + id="text10088" 29.2025 + y="587.42468" 29.2026 + x="667.38037" 29.2027 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.2028 + xml:space="preserve"><tspan 29.2029 + id="tspan10090" 29.2030 + y="587.42468" 29.2031 + x="667.38037" 29.2032 + sodipodi:role="line" 29.2033 + style="text-align:center;text-anchor:middle;fill:#000080">PR primitive Fn</tspan><tspan 29.2034 + y="597.42468" 29.2035 + x="667.38037" 29.2036 + sodipodi:role="line" 29.2037 + style="text-align:center;text-anchor:middle;fill:#000080" 29.2038 + id="tspan10092">to send request</tspan></text> 29.2039 + <text 29.2040 + xml:space="preserve" 29.2041 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.2042 + x="667.38037" 29.2043 + y="673.42468" 29.2044 + id="text10094" 29.2045 + sodipodi:linespacing="100%"><tspan 29.2046 + style="text-align:center;text-anchor:middle;fill:#000080" 29.2047 + sodipodi:role="line" 29.2048 + x="667.38037" 29.2049 + y="673.42468" 29.2050 + id="tspan10096">PR primitive Fn</tspan><tspan 29.2051 + id="tspan10098" 29.2052 + style="text-align:center;text-anchor:middle;fill:#000080" 29.2053 + sodipodi:role="line" 29.2054 + x="667.38037" 29.2055 + y="683.42468">to send request</tspan></text> 29.2056 + <path 29.2057 + sodipodi:nodetypes="cc" 29.2058 + inkscape:connector-curvature="0" 29.2059 + id="path10100" 29.2060 + d="m 476.02904,638.3113 c 0,57.40944 0,57.40944 0,57.40944" 29.2061 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 29.2062 + <path 29.2063 + inkscape:connector-curvature="0" 29.2064 + id="path10102" 29.2065 + d="m 481.57781,697.27417 c -13.14022,0 -13.14022,0 -13.14022,0" 29.2066 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 29.2067 + <text 29.2068 + sodipodi:linespacing="100%" 29.2069 + id="text10104" 29.2070 + y="696.22418" 29.2071 + x="486.62335" 29.2072 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.2073 + xml:space="preserve" 29.2074 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 29.2075 + id="tspan10106" 29.2076 + y="696.22418" 29.2077 + x="486.62335" 29.2078 + sodipodi:role="line" 29.2079 + style="font-size:8px;text-align:start;text-anchor:start">end</tspan></text> 29.2080 + <path 29.2081 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 29.2082 + d="m 266.02904,697.43112 c 0,10.33165 0,10.33165 0,10.33165" 29.2083 + id="path10108" 29.2084 + inkscape:connector-curvature="0" 29.2085 + sodipodi:nodetypes="cc" /> 29.2086 + <path 29.2087 + inkscape:connector-curvature="0" 29.2088 + id="path10110" 29.2089 + d="m 258.24715,698.02605 c 13.34137,0 13.34137,0 13.34137,0" 29.2090 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 29.2091 + <path 29.2092 + inkscape:connector-curvature="0" 29.2093 + id="path10116" 29.2094 + d="m 733.1031,698.02605 c -727.990461,0 -727.990461,0 -727.990461,0" 29.2095 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" /> 29.2096 + <text 29.2097 + sodipodi:linespacing="100%" 29.2098 + id="text10118" 29.2099 + y="532.12646" 29.2100 + x="259.14209" 29.2101 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.2102 + xml:space="preserve" 29.2103 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 29.2104 + id="tspan10120" 29.2105 + y="532.12646" 29.2106 + x="259.14209" 29.2107 + sodipodi:role="line" 29.2108 + style="font-size:8px;text-align:end;text-anchor:end">resume</tspan></text> 29.2109 + <text 29.2110 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 29.2111 + xml:space="preserve" 29.2112 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.2113 + x="259.49329" 29.2114 + y="612.12573" 29.2115 + id="text10122" 29.2116 + sodipodi:linespacing="100%"><tspan 29.2117 + style="font-size:8px;text-align:end;text-anchor:end" 29.2118 + sodipodi:role="line" 29.2119 + x="259.49329" 29.2120 + y="612.12573" 29.2121 + id="tspan10124">resume</tspan></text> 29.2122 + <text 29.2123 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 29.2124 + xml:space="preserve" 29.2125 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.2126 + x="262.06427" 29.2127 + y="638.12549" 29.2128 + id="text10126" 29.2129 + sodipodi:linespacing="100%"><tspan 29.2130 + style="font-size:8px;text-align:end;text-anchor:end" 29.2131 + sodipodi:role="line" 29.2132 + x="262.06427" 29.2133 + y="638.12549" 29.2134 + id="tspan10128">suspend</tspan></text> 29.2135 + <text 29.2136 + sodipodi:linespacing="100%" 29.2137 + id="text10130" 29.2138 + y="578.09204" 29.2139 + x="258.55069" 29.2140 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.2141 + xml:space="preserve" 29.2142 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 29.2143 + id="tspan10132" 29.2144 + y="578.09204" 29.2145 + x="258.55069" 29.2146 + sodipodi:role="line" 29.2147 + style="font-size:8px;text-align:end;text-anchor:end">start</tspan></text> 29.2148 + <text 29.2149 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 29.2150 + xml:space="preserve" 29.2151 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.2152 + x="259.87955" 29.2153 + y="700.12482" 29.2154 + id="text10134" 29.2155 + sodipodi:linespacing="100%"><tspan 29.2156 + style="font-size:8px;text-align:end;text-anchor:end" 29.2157 + sodipodi:role="line" 29.2158 + x="259.87955" 29.2159 + y="700.12482" 29.2160 + id="tspan10136">resume</tspan></text> 29.2161 + <path 29.2162 + inkscape:connector-curvature="0" 29.2163 + id="path10138" 29.2164 + d="m 170.94559,610.02605 c 34.44005,0 34.44005,0 34.44005,0" 29.2165 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 29.2166 + <text 29.2167 + sodipodi:linespacing="100%" 29.2168 + id="text10140" 29.2169 + y="560.2088" 29.2170 + x="-282.23102" 29.2171 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.2172 + xml:space="preserve" 29.2173 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 29.2174 + y="560.2088" 29.2175 + x="-282.23102" 29.2176 + sodipodi:role="line" 29.2177 + style="font-size:8px;text-align:center;text-anchor:middle" 29.2178 + id="tspan10142">return from</tspan><tspan 29.2179 + id="tspan10144" 29.2180 + y="568.2088" 29.2181 + x="-282.23102" 29.2182 + sodipodi:role="line" 29.2183 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text> 29.2184 + <text 29.2185 + xml:space="preserve" 29.2186 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.2187 + x="136.99219" 29.2188 + y="357.42465" 29.2189 + id="text10146" 29.2190 + sodipodi:linespacing="100%"><tspan 29.2191 + style="text-align:center;text-anchor:middle;fill:#800000" 29.2192 + sodipodi:role="line" 29.2193 + x="138.49609" 29.2194 + y="357.42465" 29.2195 + id="tspan10148">Language </tspan><tspan 29.2196 + id="tspan10150" 29.2197 + style="text-align:center;text-anchor:middle;fill:#800000" 29.2198 + sodipodi:role="line" 29.2199 + x="136.99219" 29.2200 + y="367.42465">Plugin</tspan><tspan 29.2201 + id="tspan10152" 29.2202 + style="text-align:center;text-anchor:middle;fill:#800000" 29.2203 + sodipodi:role="line" 29.2204 + x="136.99219" 29.2205 + y="377.42465">Code</tspan></text> 29.2206 + <text 29.2207 + xml:space="preserve" 29.2208 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 29.2209 + x="203.16797" 29.2210 + y="357.42465" 29.2211 + id="text10154" 29.2212 + sodipodi:linespacing="100%"><tspan 29.2213 + style="text-align:center;text-anchor:middle;fill:#000080" 29.2214 + sodipodi:role="line" 29.2215 + x="203.16797" 29.2216 + y="357.42465" 29.2217 + id="tspan10156">Proto-Runtime</tspan><tspan 29.2218 + style="text-align:center;text-anchor:middle;fill:#000080" 29.2219 + sodipodi:role="line" 29.2220 + x="203.16797" 29.2221 + y="367.42465" 29.2222 + id="tspan10158">Master</tspan><tspan 29.2223 + id="tspan10160" 29.2224 + style="text-align:center;text-anchor:middle;fill:#000080" 29.2225 + sodipodi:role="line" 29.2226 + x="203.16797" 29.2227 + y="377.42465">Code</tspan></text> 29.2228 + <path 29.2229 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 29.2230 + d="m 205.05995,448.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 29.2231 + id="path10162" 29.2232 + inkscape:connector-curvature="0" /> 29.2233 + </g> 29.2234 +</svg>
30.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 30.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/Scheduling_states_2.eps Fri Sep 13 11:02:18 2013 -0700 30.3 @@ -0,0 +1,460 @@ 30.4 +%!PS-Adobe-3.0 EPSF-3.0 30.5 +%%Creator: cairo 1.8.6 (http://cairographics.org) 30.6 +%%CreationDate: Sat Nov 13 08:19:40 2010 30.7 +%%Pages: 1 30.8 +%%BoundingBox: 0 0 196 77 30.9 +%%DocumentData: Clean7Bit 30.10 +%%LanguageLevel: 2 30.11 +%%EndComments 30.12 +%%BeginProlog 30.13 +/cairo_eps_state save def 30.14 +/dict_count countdictstack def 30.15 +/op_count count 1 sub def 30.16 +userdict begin 30.17 +/q { gsave } bind def 30.18 +/Q { grestore } bind def 30.19 +/cm { 6 array astore concat } bind def 30.20 +/w { setlinewidth } bind def 30.21 +/J { setlinecap } bind def 30.22 +/j { setlinejoin } bind def 30.23 +/M { setmiterlimit } bind def 30.24 +/d { setdash } bind def 30.25 +/m { moveto } bind def 30.26 +/l { lineto } bind def 30.27 +/c { curveto } bind def 30.28 +/h { closepath } bind def 30.29 +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto 30.30 + 0 exch rlineto 0 rlineto closepath } bind def 30.31 +/S { stroke } bind def 30.32 +/f { fill } bind def 30.33 +/f* { eofill } bind def 30.34 +/B { fill stroke } bind def 30.35 +/B* { eofill stroke } bind def 30.36 +/n { newpath } bind def 30.37 +/W { clip } bind def 30.38 +/W* { eoclip } bind def 30.39 +/BT { } bind def 30.40 +/ET { } bind def 30.41 +/pdfmark where { pop globaldict /?pdfmark /exec load put } 30.42 + { globaldict begin /?pdfmark /pop load def /pdfmark 30.43 + /cleartomark load def end } ifelse 30.44 +/BDC { mark 3 1 roll /BDC pdfmark } bind def 30.45 +/EMC { mark /EMC pdfmark } bind def 30.46 +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def 30.47 +/Tj { show currentpoint cairo_store_point } bind def 30.48 +/TJ { 30.49 + { 30.50 + dup 30.51 + type /stringtype eq 30.52 + { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse 30.53 + } forall 30.54 + currentpoint cairo_store_point 30.55 +} bind def 30.56 +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore 30.57 + cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def 30.58 +/Tf { pop /cairo_font exch def /cairo_font_matrix where 30.59 + { pop cairo_selectfont } if } bind def 30.60 +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup 30.61 + /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point 30.62 + /cairo_font where { pop cairo_selectfont } if } bind def 30.63 +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def 30.64 + cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def 30.65 +/g { setgray } bind def 30.66 +/rg { setrgbcolor } bind def 30.67 +/d1 { setcachedevice } bind def 30.68 +%%EndProlog 30.69 +%%Page: 1 1 30.70 +%%BeginPageSetup 30.71 +%%PageBoundingBox: 0 0 196 77 30.72 +%%EndPageSetup 30.73 +q 30.74 +Q q 30.75 +q 0 0 197 77 rectclip 30.76 +% Fallback Image: x=0, y=0, w=196, h=76 res=300dpi size=776967 30.77 +[ 0.24 0 0 0.24 0 0.916468 ] concat 30.78 +/DeviceRGB setcolorspace 30.79 +8 dict dup begin 30.80 + /ImageType 1 def 30.81 + /Width 817 def 30.82 + /Height 317 def 30.83 + /BitsPerComponent 8 def 30.84 + /Decode [ 0 1 0 1 0 1 ] def 30.85 + /DataSource currentfile /ASCII85Decode filter /LZWDecode filter def 30.86 + /ImageMatrix [ 1 0 0 -1 0 317 ] def 30.87 +end 30.88 +image 30.89 +J3I@:GU(oO"FIqV0;rCK*=mro@So+\<\5,H7Uo<*jE<[.O@Wn[3@'nb-^757;Rp>H>q_R=Al 30.90 + C^cenm@9:1mM9jS"!dTMT<$3[GQ$8#0$s<4ZX!SPQ1`A'g"%<TR;.<aa6d`HE,+YZP^B4!g 30.91 + 3;B=(iZ<kDqOh/Bf.DHAorf'R[o?>ioWjnAY&^gM+`4=1jRLW!YA=M/6)*KS9PE`kN%="Tc 30.92 + _Aoh+fk'&t\ctI:h]"?)EVlIDd]!t-Xh$Ve"[JLu9_eZN2gNOTbQKrP([VkioDBB7=[,UR, 30.93 + Hi@$GNQ^C&p\W4]93o[!Fh+rPIlj(Jn9-kkY-14!k3ht)5*"HoRH<m_r]WPZbLQ=\HN&Dt^ 30.94 + XMoO5Hj,<r%.;1#6R5q'GCO!c[3P"3fin8!'p!h(Bd%.<&4_0Y]I&S^9EhP$:=6h2[i'Xe5 30.95 + Hi.ORs\,]MULe&O`lL:DH='_T*?\/t?>d]TK".)b+h3HQG[sd`!J'DZ"t[_D3s3(.rT]M^h 30.96 + <(_S[]nEccj\7PZ6M.8)G'`o"._.^6"^W"Ppcc4c/u3R3him5rW-bk4-FPO/64ckHom6-ti 30.97 + J%7AMW9b)h,-_jSiSuV&ELS'g5/:Q%^br&5DeEnb\e.gFr;4j*_9i=p_2*k2@[8f4f<AenT 30.98 + <`W38;-MOnKj.e_Q,3?(f9Om7?e4oCJQgZ*h2u1!2'n#gg%K!DB3<_"X(keF*MZ_@G1Ed7> 30.99 + ;haXA))8C?"dI7ot,?P2T;S5?2%pJG?hVRcZ<)f7H[>"\)m@0?8V'$JR>njlZch42=GEj[T 30.100 + 4&n?hf?XIq!P\.u@^0VDF-?GfCPQA,''qCLT7E23?\J*`H"p).jbLiOLj8QXgt7CRShB%EX 30.101 + iFq6k?EkOj:*SRe,%AVXodSr'0))J4\okLfL'T'%#7D6$`!`A)dSfo@#OBmIG1V.mMqX0?E 30.102 + InfEH^'PuKNd`;(C\aGrimCVg+cLnm>S*p6in/MrB_=3sJ%E%]U:DLk=S8TFgnf3]:amtt* 30.103 + /^*`*cS`u=SF8VeoGnH2dI`t_:"/bU:K>s<SSqfcp)T3*g%Lu>q+ssgKcl$loZ@-jp`9s"i 30.104 + V8utNT9gU:R1&;So:1_qAt]ol2%!TXm>j*caE0;T'sA]r#ZHgnbf"4c1ClU:Y#.:T5WQ[rZ 30.105 + @3_q>R"imJHo*ch78:TC;^Xhuj(2:F3QNPpBD[Js(>X@KF9s*<Y5Q&V<hS$:.cG"lR<:K2? 30.106 + Fq6.e=*i<1<W:lZ/T=A9+[qup"1*.pM>])p%>.#(RD)FIVD%H55cLJ[C[6eHetiWMQ';%=d 30.107 + <=H*&a;#Q*#g(u1n*:KUa;2S4G.RdIA(#m/7Mc"@E7G,9iirieH&L<&FZF9n0Hjks2Xu8c% 30.108 + h&GC-EK3oA3_*<>*TP(`Kb5XX`7SK>U]c71;@Z#a=UcP87#@%(/k/Ca#i)(-?%E3_1_7*i, 30.109 + G`8GP>Z9n5GAiRV$*J3dYr(d=\L[65g5KkXC+ZJG:Vd.YSC']>"`"1.ODluQW!6X9;*jh`' 30.110 + hG/;\!2k3K,!@7*1iq+?3'AbqnL8d@&s:C'@bB2<Mj1Rc,`6"A-9ck60b6;iYln+FQ8dSEZ 30.111 + SCY'*Rnh)jeQnX`#NH;7W14m(ZpRoAa(9q\[Sk*5rU_:jK7\We7N7)YI%:52EpGUTMD[[*Z 30.112 + )MG"j=0Bg?TUJe%&dFh5CV&8?Z,JK=4g.b0'74EU=nju1$.1>000r7jpRT!C,"4V.\*0fki 30.113 + b*c3_l3+=,<=W20!C\WZNCfL(#,Y(^RN*^]>cL_9,h6&9%B@A6"EeMm<R=*7^l;d(5WZ1N$ 30.114 + I)`>7;8l(Y-qBbh-93!ENW<e\lW)&?0fITY>t#)=5*U[lihV72@ctm.h,Qr5U$At/p.8#*B 30.115 + 8Y!Odbn>/'njfA`cO0ZW&>F=kRsGXTZ!HQB#&URnPW?7&CrIY#))IDen`oZ%;POHon**5pQ 30.116 + ?6[oVqR7`OU>7kMQAd]?p5=^Wa45btqglpb7-$$56"CV!G0/6uD]&h_,[#5<"X!dhUi!4Cd 30.117 + e5T92q)pNZs7HqKeY4c2Vh0\UEn\/)MqHm&!"7O#=^K)Hkhq?O?_=ZUlQk&D8M4bf,7*1h5 30.118 + %Uf[&*%,]Y[&@HV=A#j'L$@7N*Z/eOiS6R?Xe_.Y1r;mTX?VR37O`bkKQ,quWJebc0pY_]: 30.119 + ub]&;X/)>%2eFcA(e!snc1qr=*F$5r/Fg/5"WKA0.(5`rI+`p@]WTX.Th3oQ045b]3sKBKL 30.120 + tc"B"ZV$ZjLLOr67O+0S7PK.lM"ph*Rt5Q(cmW3bM^b/ugcAU/`-okM5HooEKjWq@>Dr=d* 30.121 + F7NarR7MagLt"r/oW1t#=<'5:^P@K=-1b$&]!J=N1.o`e*kJ2e!Q>q-/Y:d`c66mm]%>T*3 30.122 + fagpCB88D'_XlZ4df2iYqN?*ErV$UMJ>7Y1/X@#Xc*)=GZb@9hoSKj+Rn\[=kC^e"Z/-TqE 30.123 + `hJ45M*VZ]k"'7B=bnJD>uVBu<i6$]X9NRu6bE)HB=ra5Z"]:Q@P7-tSNu4a:&D.--Fd4:< 30.124 + !55N=puRa71,a*Dh_+4?,Pm1],4dJNJt]S`T[5r*?8rnaq>f&jOYE:'ShX,hCDD,*3^5aY) 30.125 + *Jq>qX(10qgo1RS8h/c0,Y?$ZfQ%F4nOI!Q=9<TVfY7TI5s_O%I$q,Qm[S&.El86L$j4WWk 30.126 + Yg*BM.F&>EC3$?!L.qZ\bm")"nLT$=LM#ANR$04VrC?a?KBC[PKR'.K'sh8\W'Q$CMQ$*O1 30.127 + MHiSH]=R7kP>_!FWha7L[/-pLWQ/h2O!V06K;Ltk[%(sA:o2C.="Yd@Ik(\\[2)%;>+XQC7 30.128 + hKbDrcdk`!;(D*\e<JTt:oOrhmGq`>PW#U_b%jg0XY@k_(5uEi90al$hgc;"c=H'Fh_[Ij> 30.129 + +5&4+Tr,$$GOK8!hX93IGZ4/2eWU%T8XQb>QLl,s66N^PLG@<NU$b8`;X"HC>9ED6G:G8OV 30.130 + *\+7UcdhY2]IX"TW2B;62O<!N+rhi2FuUoSjF&TYT?UT_b<g!j%=_m7.!A*W`K)nuStsWRM 30.131 + 0W6jU"fRc(j^l(F]"m,iirQqh*'iBIMqB^>b;UB,h\bUsk(FL@jT!0DU6kW0mO66":-)GlA 30.132 + 0d#d?tFI%k.'<73.0!q$"#c^/#!_L,IJ56#M3:WXb"&&"'%8QL[F:$=8d=B1)5k5N6e>U3# 30.133 + %BZ]L@Dr^#[g3Q/LX+V4lq%12lORcUg*o_j+_qW=N"PRc&!7800bEr[Wr/Mnnu_'_bNdQW_ 30.134 + ?.lg"DQB^TUQTJU=K=iek;VAmuE]j@-g\Q`M(/50_lG<<5ZUGU`m,\kuJV*A/6n5W6h+I&T 30.135 + IQldL5Qc$.)'FWtkl#ZiP0'&dndYJ/8:R[L$rA(N'QiDj:MM55kSD)QrWMK2WM)[!tj)O31 30.136 + rOEPRSC2BDn.*3R6TNOK?_*"R&B'97AG5^sh0K&'fi!3to.bKf@&0cse#+/!ZslDb.DU>/# 30.137 + `ZU"-pEY.]U1mW]4+g$"@_4q9e]Ta]o*&9)inh>HC']WWKg6&BPnCeZ']G/TLeo@;H^rIJ[ 30.138 + kQi;>-(mOMmZARulI2Ct-D5W2lR;SF'dmE[-a@1uTrf^ta!3?qH',]*lZ4J[P_92k*:fX+_ 30.139 + 5,[KEi?en.^>Sh:C[QV[2si)/$`]hE4I:Q5jA>Z-#qfN^u[.!(86:+\Nrd]NHkG[6On.'0! 30.140 + ajsk\=$>f.UR90<S+do)P+n(AZ6tnF.n2i&<ACR4IRR!E1!@nUA9RT"1O4-_X$7dXiCT9.p 30.141 + hH[YnrCVg06Q3AbBs+mMB4'2\sn[ikbg/Kj-^O@TY^(uE%32R=7'%6Fqr%\)el\j4jNO4k; 30.142 + SKd!./Q#2&9#3Rh,PrWoQOFp1GTsk=/N5BLnq,:Q%i4P[3YQhm+40on-;]-G^:;@>B$Se8* 30.143 + O5VQ%2`[mN1WsV8$r&mKRSlt()t2i)JQ"cf#SHTuk=s8>0dcHV"#fGn47<peZ<@G4NBqX.% 30.144 + ?qjZ@/hgA7k.;a%O&dae)`qR2+)9D;@uUh8gkG`iX`Cf%*A)k5[<0nn>oO0!`,?;Tci=Q>k 30.145 + d437^P.9&rtX#P=G$ImbuhK&HW`PRhl)*RK/aHo++8h#qMYT*g7*W1U-0FkpiAG1=Ds9oW\ 30.146 + (QkspuK9=2B",/3f8V*m)l7"G.9&d&`.-Lq^-!O78Ji0cmHfenV"pbFj&kbUd*i7X@aVSX' 30.147 + 3ZgU+%;a58o4L'AKYIX`HnK,IQo!6?/0m8s>eLeU_;Qp`!_:(D$qbqVt;me`6_A*d6V++88 30.148 + *J!lG$iqnYR,.-jk])srC7a1dM&Pq8;s6LHJb&iX\IULV<ljbR')EO;UmH&Ik<O5nmjg;h" 30.149 + Uii6qZ'Tbo<A`=@5pPF(Y,V\+k9dSI9Uj)>ID+m@NHL(`#(AQgMG@N:s@_cC'9Y?aj&u*2. 30.150 + 'B74"=*%;cUROM',_&b5]uc?KeCe&*ZV9igD;FkRm%L'U^Zu2ToL'@B:"LXhGA3N@4CN;76 30.151 + @3p+^&81q%#WrmU=>NXucL38a9&"V!N7OcZ,0U=O+A'p'",(,gP>oiICRAgfoB:L_1]fbs6 30.152 + >Z+t)U[XdTo7p4B9"SGJ@O_>LRQ"b1(%p!O]p7Z4ZUk=gipaKod1/T)8Iii&P^9j:1m9(RR 30.153 + E"rmmm1uRE(1utLHYhm;/+';1Pc55pdl&m5=\V+G:FdOFF$-,cDm3RQP;?\!fl2-AE46726 30.154 + W6VYSeZGeCC[I^<Xuhqk=#oV@P?\([\H"+F^MTfHt"09n7_d/*q8\M<G\"):phY.Gg'/]iI 30.155 + Noo:<4A)?$!JhG.2=3kbT8:`>V=2eW!@HbM*DbU^0hi>*CaVeF@TMG./,RG6aC"d$3jI/C> 30.156 + 2=h_c7bTEfg!`G8DW64p%AktQ!GSU>Y'I(.=XJe\3M>1RI<=kA2;0>e3!*r,:L<jXZ"1j<o 30.157 + ep)S1'/Wi%qi-,QelWI%:S+br9O5S`X@=7hfJ[c_Okj0Ho'eROjT.hn2O2CamP;!#DUb_Ii 30.158 + (Rnn$UH29e%G4A0o[^aB'd[82KsGk6=?-BuB7^t7L:D)Tkn>%S-5]]j(NG(UlN95A4IYjj3 30.159 + `j92QpB>HqB62,)6/Z"==hP:jPJ:6%+ZYCJQF]0TgKZ:Mn$HYpqW)f&F<5#KqQT:5\XN)!> 30.160 + u?loSH`g'Xom+nfP:5N7U'M8k9unIkm52A@JiECYn:$X#JC3jUk@K3>%B6'p39>;GP1;n"U 30.161 + MrbitHo+OYaoD4?A@OVLiD#*qU'lO^c%g<3mGPdC(L&tBs;)3oJMQ+:/;os,T6M+lD7#h7S 30.162 + 3o=lD&eH$(UP?-97,/3h*gBs$+]oJL3Nc^Xi0*bMEQ2-u=q4X6.4AsP`*DKZ"b5YmH+;FX^ 30.163 + O"4S(enWmam;-^3Dc7Fb&%2P'@rJ%1:ednKq5'ZCjdpb]fS8Pi%D&j2J-)bH;2N$AZn/$IP 30.164 + d]Q>Ik,kh0Uil(,eX^=<Ua.DO\MFY-),]7U9;p^Dgn'TLJ]]Knk%A:q08$i^pWoGc7L,RMp 30.165 + 3+T[09N?_`BBGqI-6^AF3qO#)s3tb4uX8,GHUlUhMb4Q)G*PKnrA$5Yd(Ca`iYEmA>2tWOe 30.166 + Y"m@P<g.2VdYY1*Ukn6\],mAJ&5;V60s<)GnQq+6m"d24m03h`Z:eZF/Mm5\Y_X][aNm+uO 30.167 + d#0>b)'m5Q#m>j0Fk=Z3b>/r/&<<\JL)`l`Xq[p(p'\K0Z1=?8\$KG:9T."Bd%e'F0LuFXY 30.168 + V'UI2Y0hj#n):M*(USN\[(B#N'enCH`N2\n)$uuTkd.=G\ON:Hf&8VI3i]A%ro[33PrhdNq 30.169 + gl7=KZ!>`%2`!G1mn]3k_a^tMF,'G0es'EY-/S2"^#uJH\]3p[C^dqVM-=cJPNufk?1[=pZ 30.170 + RI,F$Y)=P_d_jSW>;$cR")U@$KEX^:WdHqs^JDl#'ZaXn2cZ\cRZ!dB?)_DK"KYHW[G<d5@ 30.171 + A<^H<OQr#rp+0VgL0r$pY&/SC(lBt:0S+\l8V)K;ja.pVs[_H]gRr)(E^%7eeS&"G2Qpk8E 30.172 + uCVtrt+VXT8lK7>h.$b`0`E[i3r.2p;fVC4GDT^i_%AJO0nR%b>KL-chg5)n2%u'kfaBYji 30.173 + r3=En`=;6cXqJ^5kXWa>mE):bDKrEsWoaJ4e\h0Cb?WlJr8GpLMJdF1-7[VM:J$tQ1WG4tp 30.174 + [N^8G's(Tp!-hLd(Kn8k]&r<@]gF(S)!auB_s4q6@p$JDHr.&cA,uE#LOPPe%IonkWEa$gL 30.175 + TU&?$hlhg]u&Z"E&R'YNk)&:QM(f6.UHuf"GmO[hPn$6ER9+jTm<K'19HH!0l)j2[]ioS2J 30.176 + mrQ.^SRfr+GMOohbf4+i>6c\L^^e>]TChdN1Q>X?3Zh8.l0`S>+];_ZS#\Gl9e*SSQm'\gR 30.177 + .lOaG/akhI1hS&9'1>0,dd90^=eU8R:Y2)TR-@RfUJ4eLUo3I9Fn)8^5iP$:WGd36#c]@`% 30.178 + J,I7r(=ep&e0,H$Xq?9\4s/iL7HAng+7s-UC=(gbA:K$[HunTE!+`4="ba\H+Wa;=rc.*ak 30.179 + A5S=XR)XV-h$/p^Bn&IXc;]n5'?*RQ0E^c_8.h-[F_Mclf^jJ7NQlX.DJXWRHo=4lb,G=b1 30.180 + eg;2LV-I]j,l0jYHYgAF`<U],nZQro*9-XA[12XgG$UI].Q:[e$NR9t"9o?NKX\"irF=/5" 30.181 + FKG8,KInp.@4F\:BY\@(gU-1ZO7_C^&uhuQ,-gjK,;GrYB<C>0Rf"7j2uoY4,4:fsj'g3p[ 30.182 + gZMlV*[!h'DgOL:bo`&e%s)G;1*uHKX$_F/B)_G-@?@!hhoEs7fqaL6DQ2,otWR\'dg_-^W 30.183 + S:+a*GN'@iWn?,+(&>VTqnKh=Dka@.41E8TnRgqH9%qI<\,63YrP.0RZ6cdc&bDRm[]=8t5 30.184 + 0eC0+K_mdb.ldU&,6hK#mGrIi=MAU/f>+R6fJ[pPYNYBMacY<R+-"6*KN_O&fDCD8L9QljV 30.185 + !t\Y$!?C9BHm*Pg3u#Rn`&ZRFLYM#;K#i'H.N@M"@B5hpe"[/b)P]e*7Y!_sXKsI_uo.O:? 30.186 + )]64R)PFrB\-a^qe]m1u0kY1[[$>OE:HQ-SW:]3XkAS(6s&ID9.WD;5[9$!j4%E>4:117Ip 30.187 + W<,&a1h-(HBb6%8P?iV]:bg0ZR)BBTS8YsmMobsB%Y?A!ZC\A\fQHs9QJWr)2Tt]t0ri9#' 30.188 + cYS;1X%S(/GlnOWC:4.AF8"E2QVXU2lZN(FT%@nkh=#Rc*Zl(ZC$!T9YYEds-[eYK5'T1.Q 30.189 + :iY13dpqu'9DV&rVo+O"9SZiE$Pen5k%/T"[R!OX:<#4d2NBTCg$W/^+=?fii;2SLCZDHct 30.190 + *ePn750*7.EZD'h*+Q>8K`uKOYlD6VM7>#Vj7Gp7JJi*iHnLR[2&!Z6M3O!Cj_c)9Ho0RjU 30.191 + euKVKtgEho`d7*d;qblG'.i@cH0@t)G<a/jfl&Q;'f!"m[jY;]2IK]>'fF/8+`:@lE'0-1* 30.192 + -qTTfJ"MkGF8qVl?*HXOe75I\8@*)2$Kd0/eFJUK\;Y7pa9dClF3mA3n"U,pnPUYmEeEi:c 30.193 + <B5riNE9&$Kk"7dFerkX<qXFPedL$g1aZ;s'Z>AY/fDuF1B:W9/(o'qRqGmtKqi?cG,;6D& 30.194 + 9brK:5&<K).CaHPs@U@5TS#nReF/<F^93&gNQrtL#U`!GG?tshX=o:0\b/&SpFc/pc-M+GU 30.195 + ;I(@/*2)Kjf4<)i#SK"sZ!-a$')&_XPB?ND2lc4,;kl#"+M`GpZ1J7OFF"2&dEF/Q'`0&tU 30.196 + UcCs[6mAGO5dSS*61H_4s:agIg:7YZhf=AB1YV,9L!1f7u`#,A/4HD[aDCAPdOE9hRE4CRI 30.197 + JiuD(cCsWWt:Mm@$[1bW6gUD%sL?#g^H`$,@DYqHF]l/8[qnI(I#6Ve]Hm]<>E;W3>`Gp9; 30.198 + p1j-k[a\+C]Vd:'Er<s6c#\9q43qr$O$g"@pnp@*FT"^.eTH:Q>M!bI:L_`k4f$S@pA4u;V 30.199 + ^^XZHHc^:"/Z=uF'":[GlC3sj`u;fS*,(rLSO*[I]'74HN(skm<a<F]C1$@\&3!+@"5r_I/ 30.200 + c^comM=&g\6-rLSc,AI3-)srr:%1rI9=[qu8nMnGl9.72cK3Tado?O%6KD"f>rq_"WNP+8c 30.201 + e(OB)`TGVKD1e/*KV=n0<V2[Eh+,D;/E'0^'k%j.emK^cDd6MOst@5Iuq#*<1ZFOW>pe-RS 30.202 + .k]AFR#%j%B&U^h*,=Hd=&n4g5I*d$I`)rEA@['fKOW"qNZ%j''e6@inFpc,S817s\7PfsF 30.203 + h%,'p)H0JeNKFfi.FUF"A!D%pOk)TaGjuhbe9d7=p-2(C!?bneK92636V)J7,%OZ2OchUm8 30.204 + GO1bP>k:\YEChrGp+MFe=2YbG#(^*5q$:YUQLD5/%(`1IR>*UP`iIV9)2mHAX'NeP/L\MFO 30.205 + _3;(k.g+BGJ_cb^7;[_d&+aWCGnV(8b$*R=r\HN@?4LUoY[e;^a4ke`?lAe>I'pV";]"Ye( 30.206 + S(\U[//AVG1^'W4oB.RG>')5&iL:T;a)djAYO)=U71I*mSq:+/h>mljf`g+^uqX3KZ^3%,E 30.207 + iS7gti)B_C89[JWjPH^p?.PPIboc'K7g3T%;X[;7a,+iN1Ke4c=5UO/h>r3+qct9CH$oKE/ 30.208 + M`uleH6-G6<BEoQgg8B:n/lBWRK\rlNgj3M:h^@rWJ"lHc2"0C.S'Q=FZ!l2ie:&EXYME6d 30.209 + ]4mUDJ#liI[FT/blGo61!'LoN8bV^)5'9#C,rZ$F]P]tEZ\6D9i5):epuA+RoTk*>&'=ATi 30.210 + LCYXQp1IXC_*HcC*6SlX<[)(030jWoe-`odd:*FG*_qB4!)Ue>ZIIcRWc6!%]?nYf-gb>'2 30.211 + ]3b3b0A,JMn4RrDu7&>;Te#[(C(eCkCtS$j+IJQ`DmBU4Xr\B<CPg:!hn5R"@%W`Ide.qi5 30.212 + lXkR1*h5(VIHFJY5j%WA*?VH>CBs+R_\J?7J/IRtmeW%n(P+i^iCYsN(V:R+SA@`L`;1M?e 30.213 + =hodaX"f1l^efn%\9=%8?E<`tDf)Yl.m!Ia'f17]<VD>0idTj?/Uma(r[qZT'.0DuMJt<<3 30.214 + <o[@@e2Dg0pUt!=G"0D4/[d5DAU=8<t.TTq2]F!?C[,,]FW5K0>Ue[JW&TQ=Z0Y=16J"ZJ. 30.215 + \oD)Ei_R[R-d7ip&%qH']5*5Jrlo0e")2M$nad&uhg0B(Ard(ARU3_n67fF#8<_VHKPbQHj 30.216 + )g(RMDX@*;Y>5UUBi2fHB+_tkB8AspeI.G3q2i'Sh:9/C+C)nSq?X%ucBd)@QeL!TTVE9Jk 30.217 + mB_1X&e@M&/kaE$Vle\Vkai?q_@d,q*Q0!b][lGp8l8:I4I/lqMJt"=/X]j#KM<8S*m%iaE 30.218 + .?:^@3n%agI;W<.k1`U/S=!q8qO'rj]F2ld!2op9Cc5&?C:c6ND!_\D'"65hHW&ql@qm5If 30.219 + )#ccp#GMfS%e:bZFEH=2/S;/6aV\e)>l?:R@l:Q7o'fQqJSBa1;Z$CWL<n$G:T-<f=[Q<m] 30.220 + 'HSO_kej6#Wo`_n%Pf4jF7i\2m[F-*VE2Hk^"LDWiEoJT)J>W$](gC'L4FJsq-Uak?\>YIp 30.221 + @$-N31;GI?kr#1;msI^"_*RT8LHUH4#k^m]o-@j]a4"<T7HO@SMCm>7b^p@\DJ3_)s0m8Kl 30.222 + sXl6<RLATkH6\/J@5".Ni00^h6_3^1WCHA%$lDDnFOF42cr/bU_M6"FdD]Y-hl"!S<'H/<k 30.223 + WT\AB2!<*'E?%a';utUO9jXnABegMeI?==!L!QRh<d3Bf?Z[o=IsmG413C5:fD&q'`8)LON 30.224 + dPQHpnTR:$)9BLd7;GQSnssXDm0Y!dV9$eFJokF8th@""&E=Zo-UI]#^C%/+Z\$grp_H8:' 30.225 + ke2k-'W%P(ikXbQQiD!Wjaml3i7#08&*hOn8b:":0AT^15$?oEC.oj-kki1AKM;G_85jbr> 30.226 + gi^h^)48t7kCS0iQAJFPJtoFjF`S\GIQ]1TVtgDL&92&e4O(;N5#G_2W^T`D_G-ZDHYN#rE 30.227 + hqMeF)MA)A8_gk"qI_Z'r$d8X;Hm">@$O@FCWUcXW\;!>+f0[Bq6<hAg8sd(m=Li3M]HHg% 30.228 + `%;Md1Qc25$)#3>lEgP"2$.#C4,C1"q,3J;H]Oi[#XHKgn227K!.dC:6l:KBk[tQ*#fKC>" 30.229 + 5uWQ=Iqj(e3Z-f^sjSfnA@Yf'VH^?NO1O#4=7;>!fN"4L_Il736aRY1d\i-%\ut=bZ0S.#a 30.230 + tl&ZlBFlG_j=Q4h)J#P>cnK.#jlEkJWIb`C&h-n;`^eX9C^c76AX]9+_G'?&UT<#eUQS1ej 30.231 + "322Q'+#1t4kl/RD$E&'\-$To.e4?X86L8ujnJ;N<GfGfNlGQ@)U*][aAfJpFOEXB*D*LYW 30.232 + Bak?s?]0G?TJntCK4CJR2:.;Cu7/J"D#e3<:J\Iq9%5`p$>`+C!=IK(i^0FjZ.#LOibso4" 30.233 + _AVT&nY6A3JHBQM\--N%S15S-K8_L;THMKK8;p+_Y/W0\7`^cGpcZaqg]0o'$6TPTfXAgL1 30.234 + IKfN8&RCh=lhVgk!>-dK.(V0W0g*-dCsl`5*:rJ\@p&SSOd6W2-X_7I"a`e9>X5Rb5fo4A; 30.235 + X#>\OahS]blsSgbK;bMS&)i.I`0`8a]+tKhKhZ`5%/Ona?`oR",0q7TdPh39a#mO2&9""6u 30.236 + kEcl1-@D2X(C6"HetWNh.Z'$UaOU&o*WGa1n:d2l/I95qMf@%0e$)&T'8K!=El1\lkIe-dO 30.237 + &bV63A['e)-M8_$^%+BXJi/gCMhp*(V7I/&\<8\$=RLD%1#b9rZP\?+?jp!f+7RO7NA7<Jn 30.238 + X@@HJbE6'Zo,!#Z?dDA=Ls3I@X6Mp\!`&6Y9H]*^Gk8pKQG4Rr8P7p(pk2Cu!&t*Zb]&&qg 30.239 + 7M&4is8VG&'S!H"R$aTq+6[%c`j*7d"fW>Y0,\gb^bS0OBg0-.a\PT!%HsN#X_HNg'?!8]/ 30.240 + (4a`2(F=N!te@d?kNnWUGj\-W/+r#mB%AoMWsZI14XHQsA5NXWiUtfFhH*+!<=:BOK89\d5 30.241 + tjM<kJnJYLFi!6\2n`G>@tM<25MJ'#:[8Lo8:E.YlR"cDX'LnpO^KTcUjMU8'Z9MC+8*%re 30.242 + c0Gd]+Jl&.,*6FO,NR)EA*q_4CEnNDSbD;E:67@Oad"tR!Th,fKbY79E7#qUOfgS/_;eViQ 30.243 + 1nDGQYsAAEO(<aBg2jdWjGmn&eQVKu!5,uqZophMLqp&HOB=#h&0F<eJLFDrk`8W/^.u:j/ 30.244 + X8mr\ALuClH['<\*N5,9])F19*u?UZFjS`YcboM"OMC,;T"#cBs#AMU=QE2$oDES'd:Onl\ 30.245 + MZR^dMKfeT6PZmRC-tf-Khh4Rig0,a"Im<C$/,'n8oIWeTGhec;84r'erVB?S)J'AY\jQ"L 30.246 + A=XWGG=LckFAS7,GHLeZjpeF8.DdHukQneQ1R=W-7fYT0uZf`u2I<"S;cbZ%\hL/d(2<m6W 30.247 + Fm;'L.P<L!X$4T]8]Ed*Y!)tA$ddZZ^\La4cIAPjd2^B%;oQ?aX@Pu\r$cL<?Pg5+(CEIWh 30.248 + !OR(TI40o*Jd]7#$5DaY"b]e/CHt8afP0DMR"A%4@oH<S;jB#FlRUO`k#n@3cfHn`D6o$Qm 30.249 + *siGSrG\XMHi`,CKOSa),h%ZJ2Z2.jUQ(X)f5W^26_qZmT?#nd#a+8j*n!#!`+f$cMUXtFd 30.250 + WRMIG,D6#DE92[?q45l:)LscgZ`pV6W/$Z]j4Z%mA'k'f<p<1g>+M"%=GkSWK.he<<aVJ3. 30.251 + %:[1nEkQ9H#f>oD\Xd#(`:O$^d7`_F)e=G5,A[n_'=LgqsLMkLDfZ&/u_Nl,)X8a<40%8$= 30.252 + XLAgrX-*#!FPM^BR4S6jRNQ[6^R7V8QM@E$^'I6`tl<WV'gOP)&h:IHG/4j,!#Yi*jFeBe` 30.253 + n;&\)T"r'AaX.22&0@D(d0M4UXqP,dJRA2AT)A[bBSSpnnrM&1Lg7mQEtMX'L/+jm>Yp&Zm 30.254 + MXNn:dgkd<qqPO>2Ri#`8=Lp]G0OeIH-W@*$1<(J>bA8W]5eTk`1S[i#&WUrZ.VEL.D1q*h 30.255 + FWb7667K/7.`J=d@NEAg"4E!8l2aZDg<dGW_71@o\oC6a8tq`V^#]qk=,a^N^RTZP8,S4BN 30.256 + SY%5j's^k:I/$/p0i>tN`U2$7)CoAD3Rgu\\Lb\(4SJ_f*2L$O?O\6d>6o>s:melX9G*`*+ 30.257 + X;c#k4A<l\@^"[!m;r,[rROtsU<\=^o#0AiWhAtUQFiHF]2i!]1A.e/.[V&+;2nR/C5^>NL 30.258 + gT2&gp"6,gLaA^+aG8NH7gL]7?EfPSI@suhKis]]#`^N>`LVM_SqsgaM2isLFqY%YmK$(2@ 30.259 + iNE\^.nr&LtT:%#c[Q2NGTa9$>/-JMX<pq=Mn[rJkkt7%b"Xrcksf.Gl[.V(&0+bW&>;s7o 30.260 + FS>_k>`Dj7,3-P#7T>T&j7?W&0CQ<nU$*iD@$nj`cLZ2Irso;AL'Nc>200Ja)$@gHbAn6*2 30.261 + '`r9>te>Gd75AoNQ\GM'ogjfI`WI7.NeM;g3l@k=).=Gc4.QFB6.Jtc0cQnrMAZtiFECL4G 30.262 + bDRXD1\8.,8CS&+QY.JJ`\B9Br!fk!,SqRG=[Gj^W@"'ra@)HB#oJiE"?Mu"*2E'_L%VH`/ 30.263 + #fZ-9lc7le@;%"&Md$W6VS$aEcts9?D'%,B0%4Y=a.IlPm9Y9U@#%ENS*HRd#u2=u4+JdR` 30.264 + *J%M8?=Z/J0p(1g;50]NqEkm%K!mWO:&:fJRRbSE!n?B/AlA\M&)NfIXpH<K\o<#C4=iN(l 30.265 + .Mhmg)<46VK%4\<T=,<p*LdLphKfG#7CFdR,q;M`=)mW\8;$rJkP:n(h<(,hn5^MW]G,D:Y 30.266 + _#?L1hgh=$s=C+f9D[]E`ep'<LnLu,?BHOW7^r,Be(?<m*_5!9?D1g.7f#aQPlTTnlST][X 30.267 + sm<2"d(?t<BT\MG(eimMH2\Q\hif=<(ks1=KGYoME2t,BEOH;r&\7jUoX5mO8cBbX>Aa](q 30.268 + "7#l&miM^@?Rj$4CBZlhi+Em#:lF\=NblGLMXI;H<sjdjqLh'BF'85IBHm%srkV))Ej"inK 30.269 + ?A8=..Zg6E)-Ol)<G2mWG3%;kViQ[Sp>CMZZ*L8o4LN9D<6B<8-RmBE;7o!`tSLY!JipWnn 30.270 + joh7k8ZEJ+UKLnqS(7?8ot?@<<k:@s[KA&H>U8pec.Y;1OW203`=8._Tu$Bb:sc2X63++7) 30.271 + 2sLgOQ3cCXXJ;Y31M>R&IA-S+Q?0j^R=od;D9;>5$q_/nLFMgT&da);Vj5f%qiG9:jL06;> 30.272 + %FE^N'G@,N;Dg-DTG^"#dT6@pMNk]bp.<PkFGK4HA7r!l@j3F2HD3"..p<@gE6$(,YYgR<2 30.273 + O,%t0Lj4u;Gb9k<YD9f2q!D0Rm;I[aCrGb5m0XXbn!A]K1kfRlO_i:PoJF;Hpoa'`T8sL&N 30.274 + rN2m^jAq'O%fArKo@)YMq`8K^WsSoEF1ucInsuQB(g_;p1KQa7LjZ=AGA1XoiBpo0X9R+-+ 30.275 + f'bT$HM2K!]-T,C6a!ok15P50`UGFGR*h!!f7Tmh^f2CinjFLPF]+-Gs<])i6e?p)e\XB8+ 30.276 + gG_:-ML@/sORj?Vngj`osoLk[O.(kc0Z'XuZ6mK'H/f(TG?5X7dDd^<r`(sQGi`(!PEL_9b 30.277 + sO2ZpA[En&]%i:XopDrn!eogboq$HHIr)WYaV=ZD0l6j>pkM>D_E0F>WV7u3ma56RSQ?oai 30.278 + MdNOtSjVHKHf6,!iBVnkOI8YC@cdnWpb1a_#'G`?9nb`jq/tHl(Ja_EE+Mi7IjSD,=&F=2# 30.279 + ^G[qHihiG&U!Ztk$jpC@^uu_9F;%-rWNCU6"&&a6m`WVL-oCr0Eaik&r4>&;0\U"HQ.a4,L 30.280 + Mn^L.*8DVP,T07#k7tOiH"WQV>D%1R^a@ET?,?EAjCaB@H\[n_litSg`),74+9mMSH.:g4S 30.281 + C\p8U8jeL/9&[8;>$/(OLk5/eWr=_nk#6H[h8[S!Yp-qoY`EedpE[qXs`D0giVA-gB^rqUP 30.282 + r;C<(`Ml+l.-KAVH*/2]HMonb_=a:oi23lI"F4KlBL=cOT%eRl671J2aYlj?YD#Snh2TRjt 30.283 + UtGpd#pGNk@Je^^hc13*aS2p0XGrpsT;hY5c(#jd);;tfZ7]?K4k\q<-f#f'E*M@a%m8\j8 30.284 + #Oo'KoCH2^d#c8o2pEJ?[,3SopO)%5Ko9WV7,TOKV>+*HJ4Xmm`HAV_9beFMnogj'\^?AJg 30.285 + 1Z=.T@Bt]<9W_&@.9nMPJ*e4#j,[b2TY+7E;F4XWM<=;&Z-&CL/S^c&=Lg5qT]lO?aEklO" 30.286 + g(!Z*+*;H/nE8CC2'T"2g$5q0GsnhVdE12M-*1?Oeq91uT2aFU@HYTl!#@3!oa9uc8PT>q5 30.287 + [b8j9ZqF';9CeM)`Ui7hbKK<e9DW@G?*!jR#LdX<GU++e9^_)DA91'iiaO*\U<*Beb+7;`W 30.288 + 9T9TEer`j0Z]N6[oR\#Z,]]GPK"Ek)4Zf?U(g?LCosK'OZ`r^s*8!s4/9][fj7Hd(2=t`hT 30.289 + l'oeP,Ltn<fa%J`2??XNNB@GgCA;)Ju."<,+^+168M1bnKaj$]("ODGbB7i6DG&-Q10Ao;. 30.290 + ?@<WlMgS)+Kt9f/]RHXpC\(#b88tccF@?J(`?=g4Wp[RN[Q^Z=Ys=j/=JeP[2CpYjXB.k"? 30.291 + 75\AdP_fm$8"YZ?R<=u0d1%WN44GVURuAgfKa$rFJI(7-V5Z=?C<+9QN"VjBl=M,fuK5(g^ 30.292 + cRTtm,g58=5:O+:sRHNdFEErg=*mpUt5lTD"mF[;GAEE\`l+6<,>!]?0nZD#:?JF8UIB"cc 30.293 + WiN.%&u!)m)<)m5EC_suM-MN*(5Zs3c/?EQ]YoW<o6@`/MK:Ti\#CV-RLMG@H(%)`+^0VTh 30.294 + c<KYZ@luYqZ42LXf\Te+nm0J=D3r6<kr:5Na.]KS:?oUSK<$Xk`oJEcH>[-#9C2<.9^_h-J 30.295 + 3WDib9rcIAWkk7p2M$GrDYLU:pd3;ANTqR72O[>V5M[?e7BTCntV52KtVjcX=P=_1i(KJV) 30.296 + 1*4*#U:p&[Ms,i&b.g4EqU^6+`]"j^D)+/NC%U?#cage8\_7?'>I#U2eS&SPlS[Jm(ZglP( 30.297 + KH#taW)T*t46/8O5,YljC15%?WLgs81Na.5ipjEV(,KV2a/e^YdR.]=ZBRYke;n@R4G"F/% 30.298 + -g5^FY*/j@91%DXmf>h0eKl(G/2JHroDh:2)JYi-3[;gZqih90l!k9`?"FWq0:2Z+i!`MFb 30.299 + eaTQp`UgAA;r`JJKRMD3<i$E)j3Zg%mgL.N#Xr*/$`E6`CNu"(',:37@i1q(tcd&$ofGIH8 30.300 + d+[>!SZ?Ss6?.P002!6_=BqKqpb85,[biLh$6>&!d,]QPC0j"Ak<r4G1d%m5-/ceXFYS6'3 30.301 + T(2<Nl^OY\mac.U&n%8rQl8S%#016EjgPa7k.rXTO-jI+IZ,=ZX<ED7hee/n-fM+Tmk3Q[N 30.302 + JV2VQ$L$i*dapO@]=U0o&C-)[=V\Y'aj.,$-SfO/*@olNB>%>E1Xa'8TTX9"iE>XMZd:GBU 30.303 + /!$*OAnOm7)*Y$b25\mYT?WND2X/1DDC=iWVCI!jhI158FV6^U"mUrE5mrl/&:6_m4$D[&q 30.304 + 1T4u;:O=-<pJ\YV;tC=e^kO1.huWsd70Z,$@,e>eDI,:L:1.t\k=4nEZil9!)Dh*;ocg"E5 30.305 + cEb:9)EAX<iS)a`u$/)\1RQ*K.2R4Yg',f467/DQFSib#snQ7$SK#1,_J3=/sMP/+f@9'iM 30.306 + kJG'd8+eZH70'!IEI_e[f1NOG/0g_@pWY3jH_ZI[1B>MFjNaBbL=Q*S+WiTe2`]83JnG2$7 30.307 + pV0(XdYp)*Ol671BG&HEZ[r;]BaD69JmLA-fenX4uHKAidh"G,u=P#m-Vg7a-oj8M;!*tNL 30.308 + BC=UQ^Xa1hhtSLBn'0t0=<=X%RdGGONISLiVYJ]"kCPCb'fJ#1rF'0QC7K.B_cVA^?lVGfn 30.309 + 0T$kGb/n_X4C5)*IYW/:A<QQ3;,'".)sopL#It"NX>+Oa-cj&@P!&HE@s>oGodH)WoH3SSF 30.310 + dlS\pS!=,AQ_>8BTS;*E4SnO)^[ibB\OEj=J*M1+lbSH(F).X-&;_rD9)q_^NdRI@;sgeB9 30.311 + l%L?C\hT%HeIc\U1.kPYP-F&dS3P%t9UC`bY.eq;B$5<J*"$);U.Pt&=]9-12;VKCg'd'f! 30.312 + &eI&-enW%Y5\CXL@Ra%XM[Zo<G][(;O?tV=QZe!0P:Y&a5^TM1,^'Nn+ll*:41p4"6>9'GS 30.313 + /Wa&AY05M;03m'[G)PpFcd^WD%cpug[cXa2dT[Z.DA!Vg[hV,1<\&4YOrq&GmL7Tkq^H=je 30.314 + \'sThU24QH>Y=V^.<FlhjaXh<R'?PX:C3=qeL]NR?qAn<bC+a+,+\Hs1\8j#N+<<Ept!VP6 30.315 + ]B.an`hi9muQO3?kogg,kGf?"_,:;#fPQ[qB]\[Dt9#e\W9KQueQt_^>[!hY><O-D#q<qBn 30.316 + _qh&iG7Ss@b#B2.XH5H&]GV:>@><U/CIXEC,Bf)"Q8leN\GffjLCn0^NfrL^H?T%2QlB5R% 30.317 + l^USJ/jj?=0F[W^>-0cIUU3X3PgDJCmG!?+iq*'FWnLqh*T,$A`B8uH<5KJ*l-04uu)!kQ: 30.318 + ZM@ibk5=D5oA4uDH65T:XVSM:<gUPdqrQc7@V,&?$cDg*AaKAn[J&J7gj>K6D`r$,pKmmXH 30.319 + ln(3r[52I]1]hBY>`)^?`j.FgXkWX^\#CHeb\01m!YM6pAX72qqlnmINQQ(s!Qq+hk0OiT@ 30.320 + Nf<BC5ZT^\E:#jni8$IJMq$C]C$irr;0[s3L]F&-Do/#69hn!70^?YS+cjP1PEii3-+s:[\ 30.321 + ?Q6M`A`!miS&&2OD[0_F^<e;WDJ:*B^Y7P,0%"HZC_&5ra/,iEMS!UlEX0NSHFHN_].#1.8 30.322 + n&9?HC>5<$<k7DbA!XAq6K*[Qs#geUR%VWu2HNYu#bKu@U:koAhV[ANd$HosbN^2aqRgSXb 30.323 + $;e>C&AnoQ`mDY)`NN,H:AkFeaTF63%?THW&E=6l5moA1j=.1l0]qB!h%*?Z&((=f#(G9:> 30.324 + h?2e#LL!m0*`#M'+p?G&^_X_0^@L,%gFa2jq/CBd5)G52\Uc^&lB)EYgt6H`tXQs'[]\k&Q 30.325 + 9EA<u$j%(!aB#EFLHg0b^g-(=@%4Ys,Q,eI_kI<"Fm(&VCotLDZ/26NGRQ&SC3`hWN:+):> 30.326 + &p&JGIBkm<IA"@ALmnVnJb[i:IA)p^kh!7MfR^tfTt*7<(Q&D4gXh[\#B&u(^3,"2M%k8oc 30.327 + O*msEu&b@)ApA9G3*&5HNERQ%.#9]+b(JRO:0mY9'iZ_eA+jp_*Z2GOa]bZbS,18+h%SIr6 30.328 + 5oS+?eH14DJgDSV%jNSH,#Q<'Od<<CRj>:D-.6,Y;$LCs*>`Z;b(@AR+sS@B#,MAf2X47c; 30.329 + /A<=DLH5TR^,^3&^)L6QRS)dgQH+OdVB%"DCa.U!"sI@LmD"<K+c1gOt!R`&lTd1)_'4Y/C 30.330 + Mhoni%'CWt-LS*$Rm'$5E#F9.R!)I\<.!ZGJ&R.kMD20@Kj<En)2YW>bp_/eT6V.N14EH;> 30.331 + dq'2jT6J=A0JT.`Nt09ZDm'/MF;bo1TT&onX+nU3+.74oo60d`,nZSmDe73D*>+>["U'4Wp 30.332 + n__\$d)RA$7n_l<66SteULeB^+1M2Nn=X%n\,tie8PD)"qQT9s?0N!*P1)DlY5rYe^8^jc= 30.333 + _V[+fM*"9"18:$ho:%j@a#o3j3V%"@13#?a1HMIXL<:DfMC]2@nfm(<N!G;@_Z5K+F;uR'N 30.334 + <D#3K)dthINg49F@^U>;s5LDClX+t-`GT^_N@%D-6jaQ,dXp&1aY1,)a`cZL53X*V)Dl6)A 30.335 + Yq'$)1%dP!Cc9r1`E';H*i\@re?n&gS,p37>h0Zcbj<G=RO/.MH]gP1h&lXZ`Zh6&Lnd1Tk 30.336 + f)H6Q;s-3@[AinAQ"IW?gE<)cdcM3UYs$V"SDQm@-JB!`p2I&Q)$O+Q+[WXNtn5^TEKR,ft 30.337 + h!Z+J+_b05Z/j_?`dk*QFaZ22):XoD@#brj]$S#"&0U);dnjuJ'Fsj/GO0k.4U=c*<mO2\3 30.338 + CQu(teAh#-@!<;5-?UXY',ZMR[o>a=2'NE-U_?`"%OH6X6F,rk-X;J7c@2!A,#n.r'_]>Lq 30.339 + bT.s=4Mb;Zd1+Bdjh]U+gVbUob`'BdV29S<lIC(-6l[1&<&C4-.QNK8^0GATN#N\,@t1AeN 30.340 + b5:'3-.U5A*5-;RUgZ#?kRI;9+;o-dEj6auOSq+uQSHo2%Htn2I7uG!Z^H5u1j>;.%f04k7 30.341 + n)APZT@">s3:7RH'<_0]Df:L$o@3PnrEL-[e^;+C.a=;F,3(.)@CKi$<V0XBRmQ&m86n/u@ 30.342 + g<3gm+[9QO\)eFUA.b2H\L6XiBUKldsQLfZ3WF]ZARqA[`*Y^L=[4ibgUIiuOT]2>`p'jRD 30.343 + KHq;d+dGJj+q&%L1*X/U+t7s`PJ/J%_dlfkCt?l`(.g=t%l@<a2jRG5ZFOI36V\gE<)lsBp 30.344 + )G8)jIfM;LK:<I5QPbs(me9L-]$_TVP.]jD/iPA/Hn7]nuYe*r+0E6CdO8#QI0bT2fjS>c& 30.345 + (NAYa5eTd-q_!D:>J%#^oIA_eMLcBXG]4pDbO%rW!_ME$U3X(?QkY?;`TLEgLcdLu:2c$ms 30.346 + SZ0t2rf2^"ePqe>_pUBJ&Hei,$5a`FqlHIo;K2Us%W6n&h,FXUB]U,")14"/]23sIWhGBJ* 30.347 + Qs&umn+ZArm(:.g9dsc3p+Yt99jJlH$A0JGP@WrW:(XHhSS>DqpIC?\)28=N2"+<K`<u/hX 30.348 + 9MKjN-\@^9HW+o/cN?U;:Hb&ZI:FdXGO&Z2c%L0E@?oh,64,G+i$)7YJ<umR0/[pi&2dJ1E 30.349 + ms>FiSfOBpP0SWKD6C2[f:R7Af;F4@\R@dJi/)r?\.r+Jh2n5\>+p^d=V"C2`BDf2jo2k_h 30.350 + :"WL)5Ds+qKH>0n*2A.9O/4p)5/r]k/I:NBqoNP45.^"b).gN+=)\="Ym[1Q$GSO40RpEbQ 30.351 + [5[inhb=OKWjfS22Lcl_NJ?:&u^R*&Z9'PV=IF4\`=FYk:CE(=N6DZY?NajYc"7uY<8@X+% 30.352 + f\Li*ZRu_fd=.'#R).Q1(WgXWTU"Kr(=VH`=4cu!uKu+RBq*^UF+\QkEI#85pLVI<_ckPT0 30.353 + B`c&;oL"E/7@JEJQY5iUQ"a7j:*TE;M3Ein<,ieDAXo13:YBELq.q2*]hqdnRe[bKJd6POM 30.354 + (ujdG(M#X62uVTE&Y9-R2N"Jg$U%E]Kc30Mq2I1q+I@U'Hl*&,MDsDRMT$#_,iY9-$db1)D 30.355 + dHd3q&D*=EdD?\2d[egS!3^R3HuGe$`,Zm?0dAL#Z[=U&RdD!F]"./]W/\K2bf:>bZjN:3^ 30.356 + @mqK,XsH%291,8Ib_(q--,:R^"%+^/2j(Ss";Q(qN`Wm`[\Y!3r5Tl$!iUfe;*RH'*,&gu. 30.357 + (<XFio\N*ZA-?<Tr6Wb*7R=Cmhc^:S^Dh8.X"<hEhnj,=uL&.!kqT#SeSZSWAXl:ZT(QjbF 30.358 + JWH8'Z.g?<n^f\Q4_2,iAGEL7j3skL#HZPK9H)BBiZF3QaaobWTE9\AA0E@q'<\'2PPH/e6 30.359 + JJpBSZisIY]W=$D\GgV(+8tuZ5\;'&Mosa6(LMiQP-Kg>Ap)N0IT!n;mrbTe6-!rmpNY)-7 30.360 + 5Fk>/b0t6<hT%'`&(XBXf8]j-\gH]KnEfRCbi>V4j9-\Q`j;5u)k2)nMaL0fuXURs6=8ICM 30.361 + B9^X3"jBeQuj$(["bP+$q,4:aD3^LN\LA)%%#*$Z60!kGR%OHZH$g:rt7g;*SDq;UeV:hc3 30.362 + M-,c<H'6J`0QIfZt&S4'aZ37):(48FD[f62566^hnddN+I=g=Je`8#j`&Hfft-,=\.\FSXa 30.363 + dMPqNZX4@^[l<uJY?At91Wc'NaOC%.q3f9L.=rHi3?3[q*5`7KL6:8K+C#8Z)d7`9jS@T][ 30.364 + 921PQlXA;S]fOYbZsV_&A+u"JX3gLX4o>5j&K9[Jl5Zpjh1hA`jsI/Xhg@%7m-Ck*?tj&pV 30.365 + f6JX1U78$X6#i#+u;LIs5#urAW+bi3V6*[+scZ\gtVq-.SPj"T6?']Za=PO'*K./0%!]*:$ 30.366 + [SD:b>*"$L%hI/VM6>M%Q%W`D3]SVu0,QK>bVX*7,Aie,JrRC9m3a.%Frh5T.7[c'=t1]8o 30.367 + EGd5nl\Y;D8gACX!4iuMcf%L"POSrbEIG(hFcbs+3JmIKq*V.VVglU@Nesp%'=]`mo>Me#+ 30.368 + i'%\1%):\UV;L&b,%*k!*[BZN-fU^Jinc?K*])h_2rgJkj5*#]*^f!p8*$77jPE\o*`M0,= 30.369 + 66#Xin\Q/h:(=HBBGd#F6oA7SL]=/\_:8K)ub?N*eWZ_LZSXg^Rf6**g4-!(5b9pkanF3*i 30.370 + &!tMr("GeUEeL*jWU'R"X:+0d)>>*lI>Na6]D@m,$(U*n0L_fBo0amG?ag*olZpkO+r-mb[ 30.371 + F$*mOj/p&TX>mlpd@*s;"=fFgCVdFlS+?PDs'"m^t)ek:$$+!^.2l10cs*a^N#?SWfkS+DS 30.372 + 7kl2Ik+%#EMbfujN\Q&rtIWpmT-l/FZAUPE3!AX:ICZ'"@oD_8R+*+?q)M7u1[i\chT3b>F 30.373 + /-Fde,QJ5J"D#FMDtdV.q9!:CLaVr?DtkE-_P+gC"%WD97M^Kcq0loNs24bA7UM2Lh>Akt> 30.374 + VYoD>qs*K^u5V!!a'akXo&)*Q2eo)+7c<M.G=P^g*-OsJO&.T=>V'2$&(_)OP"Y=+VBPtQB 30.375 + =uH?83:A7cJF?oR9(LO\"D>Bf'F!(^*Ieo%>;&@540Di6<^XVD+=,9dc.Xo_sD-Thss;=u@ 30.376 + @`8Yo>LPhL7DTi%dglBPP\?EmY8<pPj6omQ^GHs#7V>;_E0qmBO5[G#"Pi@-?`mFPN`<G=F 30.377 + N`nhMIo`^D-]jSV^S2L<Y5asU7F/65l+d'lWnsNak?SRtnB(MGGp4#B%d7<NklXcg7p!m4t 30.378 + :V15!6#[(aY+#k8is0tdAkcLb-0TQhh<+6Pg#!=&alRR=SDJHSU!`+HqOLs"%nih+=`mMGA 30.379 + Zir&JaBh!Y8/L*HJNl3c_#/LiP1l_IZ;[_ZEqN`A%s,CoD\eU0GF`n5d3'U">[.&`3HqWl0 30.380 + em8XaA@a,n$3e"KHB4E:q*u.9d?I:QYSh6cr'oS3N,m<u+60FC,kS0pH;h7];7]I]X0&<jB 30.381 + M;$n/X&c)b`T_eDe++s_bfQOu18*1kU#.>1N^`DVr(/5%bJ[k:=ZoY3"K%7@ZI/M@1[+?"6 30.382 + S0eapE1/T;kW);/-!7S<E&K$_]jG6Eb7'/XL1_g6^:p`(j6r>BA`9j/Alb:t@mh@71_Xp_N 30.383 + 2kr0g%S>-U`:,Q^1qEuX,;]Qo<)keU=&r>/F^E>5%rq0H/Fi)Pp/6^c/Qa.&au#,ViN7l2a 30.384 + e4?K#TiXZ8t<Eam@S&q2O11T>.18<pK"=H+UQS;%4`UU(&IZ4d,qa^@bi.-;g);X]D#rAf9 30.385 + PNF?FR?2HpDd^nC5[eo[.SO<s72r,0s946Ou.VeRFB&FkjuC%"7`)@^rj"N+4iqZ[L`6ol! 30.386 + CZ%_ZtBf9A:dPUsme`W/qN1!Q()\Wj8*"1b`B!bXDN+I%F;n/%a1)9L@%;)Vl:;r`1)Q_nK 30.387 + .G+YVgES`o9A2VWH?/.7foO7r,nOp).>7qC2;eL:!6u='\f9\s<k2)%T6Y>MjQ\VI+4DuZ> 30.388 + H+l/5<rPC(3NtQ'&c=PHGJuM$TuM)bG9=nH1ZkMSff/o6JSR4k$I[&T)DDSA,B$%OoVCA>_ 30.389 + 3j%[:/-XpG'jFf!k2eo%/mF?ghu;L'>0AFhY;brSe49J#lZapM"+T>-0BKeGG")F0,?W)C7 30.390 + Mrbo$h1T[t\0WT>)sQLKYeVpYk*RZ^o?X%ASFl:Smi85F:R0I]CGf7pjfeYr1$VOPN*N"n& 30.391 + !*/HK3^LjZ"l^-6\8qd4^DJe1BX5r^:s87VElm"'&[2R(;,dY\:6L&me5i<`L(#pV,UBu&m 30.392 + J"eg#kL(M?B2"e)T(=Lu9:iX^qk;K&fe3AUu&X3^f:>VXB^k&X7.`0hN'4Q&ZM@i9W6&5*_ 30.393 + TAp#R7IZRmLk8(sA7&>5TSu49P4E'dbDK/o2+G+/)c<D1HI(u/]p2\8,IC`#i[R)\(l\l36 30.394 + ICLLU,PV'#pEh9LH6$a*&8b?aT)Di<C5D26kBSL7kC!fNqt!9aT3$<r(N4cL/CQ'8L[;RPX 30.395 + 3Su3CBb/Wm,=Q!tTP7"EdocLqI8^Z'nJ0.8;I,oY6b,"J//_2%F/5*Kfi><<kOOpI-(JQEg 30.396 + -<a7Z,KAe`jd'4u)UZ`mOC@f1PX/^-i;=u7T^klJ,eh+\bE+/IuJPKK=j:!)W_B=.DfEtPF 30.397 + g\W76_9KcCK^4@Y^^HkkQ[K$s"GY>$t0.4^LU(g(R4SW["LU?&umV->?auGsrocKju8mBP/ 30.398 + T/ER<-`%NSPqeWpXf'so3jLe;.e1hZA>fSa?uhf6`E,AS<@+4e2MY2AM,A"F7o^5elc1s\[ 30.399 + "5&L0QSp.XU9JJ(%!?I'kXRJ]"",>ni9ROAs^T]@koL%]apC(_2QOi<@JXhWli2[<SH\CCU 30.400 + J@Ont?;^)-9%8,0qgU3l)DYDdc\;<LrdaL/]Ym@r-:KZ4\LfUSN*'.V)XbTp!Y4KfULG4`@ 30.401 + 7k?D+Z^k@AEeVmR;9`)Nc6=_ID?=p"u^-X[AXXShISFsbU=]1Gid<PQ$[#2p9.=V\$O)C?) 30.402 + %Ejb5$F)H-H\edj#>s#$.DRJ*.(M<&?1M(atp#!CuL@JS3a`lFk.>rD9oj58`HZ$oQ^')Hd 30.403 + gcObKDmf<coMupT>0(h8Pfb6RLB0o($%[%R#Jh6)"^nt\K5buE_AGcFL7B]?XW-]8\)Rp+] 30.404 + K(_Md^?C/ZDNf_"?:@d-cHq#'k4gYMfEnn`XAgS#+R8`0ZCcD\E=lB]1m9Zjo2@6!0?,<j: 30.405 + O.*8')Vr-"OZVPB(hBar*\uANZrWEjf&m).tO4]XaALp0Z#]LG<C'QsfHU2)s7K*bN(<Rqb 30.406 + ,NVATHej<?aL$da[T)7_D4Cat\=]FW=l#=3#`l!C*e5<=#fJ7'?%Sb(-[9,[=>BC'K.1kq@ 30.407 + G)J2?M@I#DG2BoIEP=Capn0.GP7+,53M/%HAX*&M]c564Cj;f%uobf4.]"JtrSLL"Mf"]iV 30.408 + "o<!Pa,%haG1;sCktYZ\7g*7Q$+i]?$SA=3:"b.DgL05^URA:lIIl)qLN.2iSZsTe4=3-7> 30.409 + \p1+>!q@:h8_Tp&M<-dGH&^=`05.X:&2PJo(Bom\u"["Of5NCNmu*.G@4.D/;X#DhBkmBOT 30.410 + $SI\?=F:=eB$c^&Q,tpE*Q8RcEgf@Ch:b\N*"NPo)\a03$dS0I%Z`1dTPX[YRX(-;TP]c?= 30.411 + 1&l(d,]O+$R/M:$W)J`L&LP&On9apq2T,ojjtF7Qll#Y.qZ"m^GRSGTeerYaquLTu"ZB@:S 30.412 + h`[#r!N:c.med7CT.ilEWG9]?.%,X>r>n=5b^A6Y_7\%r]+R*RAe#iF0m-!2<UN^1Hj#gb? 30.413 + n`F>o&g$`']XO7!#@"N<lMa>d;&J\U$oE8c;i+*>#9mA-+,R.<8pqOiomKAkq!SnibNB?"" 30.414 + QO-A05O+s5JQmj]@$NG:1$,?Qh"[>b5%Zto6t\fo6JO)OrlkVr<^+2KVsWicVQt%B<?i7hj 30.415 + SO\CV;q]+Q9R1S*\!Tb?jYq-QR#nEN[!OHO%ms+6WS?5GP=ORp*/!_`M)@%GTnNe+KUp\$. 30.416 + Q@2KJu2]CJ1EftTM'^<6Yo@#%"J"i$.`^S?3<q_^Un&A]%mR,Y<7RYrm.ZaC0N^_>'[+QPF 30.417 + gq)s(j^f1Sr'GuY<S%4AMMrU,<J;cdeKtX9$#a=uje)ES/JrA[X[YW_+5_=a7.#]+s^po$* 30.418 + A)P.l[^tKj^T1^-,VR%<0T)<bQJ2<r//>cj(;@-lN`-S-^qr+E+GfpTLbmSkH?4p1m>+FZ\ 30.419 + ]BTB0T<QSdg5;!Lr4t'9HT)&i\o"3]M&(3ljl=f&47.'`2$"^MuL@.>!+<f[S):6X=Lt,ho 30.420 + !fs_k<F.r&tEPM*FOq6]d?qLhsfR["pOY#g:hV$rW%ZjG<]p`3`jioO!E%9Fcut3@m#f"7( 30.421 + u[:]iu!`>F?K^kB[Ri]YD*\`?4LFDD.U#/s-#2nWu5bUUP9+ulq][8H$T"EVUOFGNl2/)sF 30.422 + A;hDhr:,cER&.Bci`,J$WC^BB/`$.<5XDnMu\M7cM6pL_Y,\OWOE]Diq7oY5aFC6rd'YNJ5 30.423 + 4S3,Q5laEZN&Gb`6gPc0`!o5\J4Sa<a9r^$Y_'j4KFEfF#kVFoI$_s-kJe(s7O+ci5m,%"N 30.424 + 'MWC5!/%["?<qk5mUFga4-g*."b)jObh56auIbi@#i?NR*(Ym]B#B?I%&*6VScgC3lC!k=H 30.425 + pn^#tYhq8n`jhP\Grd,`3:faqSg9kiKs3M9:dW9;K/0"+\9=Z,8\K6VMbf4F.PYSB3%+bC$ 30.426 + Qg.#H(lZ,XGq#YYY_`'k"QYDGZg6_(HoXG'",N_?b(bi>Hk_Mc;fF/Sq1b1+3<'ZgX)4%\A 30.427 + D7=;R<*5bKuZV=sY^G)0PBSSU@_8j?_7A,mignb:p%>dI_\eG\!m,QAYJ',"Y9#SHg.-Ea? 30.428 + L<FB]6B#hG.ffp'Zq:..c+&?`A6+L#m5K.OLa/?HAEsn^-\s&83P=d9AG/dZg'De#^!_p:E 30.429 + .fqrgdR<[8*GoG,l>mXF&,3#\$X@IKJ-(p"OL(Sc<05SCl6F.!R3=Q8BO%gTSLeV@`o%/7= 30.430 + ,;9!.n%G_?a]a]#<ti,h30"gou1b#gD9ibi;N*(t"O@aGeKV*7;bX#f1WiNJ/#_AIjT]`tE 30.431 + 3PLc^uu$e<S!_h^/n9ONJ#AL.Uf,ej_#c2@Jn'S;Of/-rp)#fRTBV&3(#0[g[na'a8(*-\u 30.432 + !XNA!7]i#rum#<FRL:4HNL4o='CMC5ML+t7/7>O,k,k<s32pfE_4^7\E9gU$%6O<#4[\Y&G 30.433 + "*ZpT.YsR[e9*kWPeg0@DU:6"`/QM$ohVgZ#**7"^8-ZZh,$/':!nAaeO<NhEo5CYjjbSF; 30.434 + :IJNj]@<J\;6B[e\tkFns.a]j].dS<NK]\4^X&B>mQEr<^gWOEdGt-M*@/]<@q\$]k<1eAJ 30.435 + =Gb<lJt-np=CCjOP:Nf!T#=r*.]O0@aWTf4B-&"`TJjEJWtR<kW]NX@GV="3f;B=64n,/U. 30.436 + aGGmKse=#GJ&!/o:sj]:Jq=Cm5]FY_E.M8Maf$lPV*9oIZCN7c[?f]A.GooIc0OP(A2fd2g 30.437 + 723Z]^PhB'%fk$K&FdLd8R+[amf^3M]I:cT(SCu<S=9.10&;a!M(to^ug*NKI25AkoUlUdo 30.438 + `SH7$h5AtXq,uq9=nmg,%Ad7IXP24,g?#KkmA<HlVco(bgEF[BR+PT@Lg%Kq>@k7tFgp+Z\ 30.439 + <\_N8qjNS/\BcRVUg_G3`R.+Gh/Mc^t][@ga0hm28e3<`8"A3gh"L\FiW9kaP<'&gni0K[E 30.440 + I@EbhUanguZh`["Y8<]\O=MRYo4OCOn'SC"T!)%/$,rA_5ah<nfU]gJ-=ZNRqIDgtgB'>r$ 30.441 + @@auIFaM+csdN4n"Q-0*iJ/_Gd,^[p^H:#"F1kMDKghGrF$SS;DIC0mRJhDO]Wp$\s+hO+! 30.442 + &7*GVf!6AL6oA<R@O$20U(#%PQW8C>Ehkg10A\H::d4L(L$FT]ejo=6=cel]th,WFl#cZ_T 30.443 + "5m2`N0X,H%JX==U0p_%i2-j=ecuWg#[jm/i1:D9p(*$t)W/dYhqenO/e6hu']Dl]?<uLI/ 30.444 + MuEm'Ae`diMINN4q%l!%:QYe:duJap)f/%*";N]@Ka5MSg*/`,`(k3%.5<K:krIK-fUF2?l 30.445 + eB:/a$T7*`q2LioVkL/g_"d7gQmlj!HPA2DaA_1uhUoj(:40FuSH939-;bj/+lt[QENh4QG 30.446 + !Uj5rPcp-7UB5i`\Hj8^K:2BLlO7,m>_%,N^CQ:L"j8E?(.jJAY/[RF`H+66hSA9LT+p.sc 30.447 + S:urHij@2i)2BZFD_+#>RAL:I>G$!d[=P>Z+jZZl,8K8L;h&XmRQ'pS9i6p`l@-/55jsFR" 30.448 + 2Ikl=AEHp(T1F.fG%]rlB]bUpk,)nU[VP$FD!';ck2pRDp2B*uE9A!Vk9b642KS%NFQZ\Ik 30.449 + @So#G&EU@A`oA)kGERg[X72WI-9(/kN76Vp4)91JERc"kU(oF2M:3_K]lHjk[oS5G),:9M! 30.450 + 1.]kba7$[Ys@hN9JiPkiRogkdG'mA;?b=LR++(&[;Sl?YNBr$YG]_%[H:5Q"bE-l&M4op6k 30.451 + 0RRq\IUC!N,\fRE)QR-DV`l!C"I#,2@bUM<8jBr7`kAtS?pV.t1Ll#s&kVOd"4W+qotl?9. 30.452 + A-Eh10VX!TOCAtMS%\@GWXD15/CL4%+hQpqa[VIM#CHf4CSuuk3U[([fCQ>o?^6e/7[;5cQ 30.453 + CMq"**jfYl\SP$QCX0k6m_N\aX)(h*m%0a5k/6Nib\PeNljh5'f"Z$-_efn0Co5QqI`H9U` 30.454 + pD!rCYm'J51aTla_`r0D4])@(>%rfg2)M\m7,LjL>-PlbAI76D=5j>hUq2_iU,4SmKV5/k2 30.455 + g<3b3j/lmXEsZNnWnZipITBm[if`T%S#Dm-]VuDPkqOY4$9Un8;j4m`+AVG4TX,ennIYl%% 30.456 + ?@#Q~>Q 30.457 +Q 30.458 +showpage 30.459 +%%Trailer 30.460 +count op_count sub {pop} repeat 30.461 +countdictstack dict_count sub {end} repeat 30.462 +cairo_eps_state restore 30.463 +%%EOF
31.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 31.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/Scheduling_states_2.svg Fri Sep 13 11:02:18 2013 -0700 31.3 @@ -0,0 +1,210 @@ 31.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 31.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 31.6 + 31.7 +<svg 31.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 31.9 + xmlns:cc="http://creativecommons.org/ns#" 31.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 31.11 + xmlns:svg="http://www.w3.org/2000/svg" 31.12 + xmlns="http://www.w3.org/2000/svg" 31.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 31.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 31.15 + width="744.09448819" 31.16 + height="1052.3622047" 31.17 + id="svg2" 31.18 + sodipodi:version="0.32" 31.19 + inkscape:version="0.47 r22583" 31.20 + sodipodi:docname="Scheduling_states.svg" 31.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 31.22 + version="1.1"> 31.23 + <defs 31.24 + id="defs4"> 31.25 + <marker 31.26 + inkscape:stockid="Arrow2Mend" 31.27 + orient="auto" 31.28 + refY="0.0" 31.29 + refX="0.0" 31.30 + id="Arrow2Mend" 31.31 + style="overflow:visible;"> 31.32 + <path 31.33 + id="path4008" 31.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 31.35 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 31.36 + transform="scale(0.6) rotate(180) translate(0,0)" /> 31.37 + </marker> 31.38 + <inkscape:perspective 31.39 + sodipodi:type="inkscape:persp3d" 31.40 + inkscape:vp_x="0 : 526.18109 : 1" 31.41 + inkscape:vp_y="0 : 1000 : 0" 31.42 + inkscape:vp_z="744.09448 : 526.18109 : 1" 31.43 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 31.44 + id="perspective10" /> 31.45 + </defs> 31.46 + <sodipodi:namedview 31.47 + id="base" 31.48 + pagecolor="#ffffff" 31.49 + bordercolor="#666666" 31.50 + borderopacity="1.0" 31.51 + gridtolerance="10000" 31.52 + guidetolerance="10" 31.53 + objecttolerance="10" 31.54 + inkscape:pageopacity="0.0" 31.55 + inkscape:pageshadow="2" 31.56 + inkscape:zoom="1.7990428" 31.57 + inkscape:cx="380.09076" 31.58 + inkscape:cy="756.04202" 31.59 + inkscape:document-units="px" 31.60 + inkscape:current-layer="g3898" 31.61 + showgrid="false" 31.62 + inkscape:window-width="760" 31.63 + inkscape:window-height="1141" 31.64 + inkscape:window-x="889" 31.65 + inkscape:window-y="6" 31.66 + inkscape:window-maximized="0" /> 31.67 + <metadata 31.68 + id="metadata7"> 31.69 + <rdf:RDF> 31.70 + <cc:Work 31.71 + rdf:about=""> 31.72 + <dc:format>image/svg+xml</dc:format> 31.73 + <dc:type 31.74 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 31.75 + <dc:title></dc:title> 31.76 + </cc:Work> 31.77 + </rdf:RDF> 31.78 + </metadata> 31.79 + <g 31.80 + inkscape:label="Layer 1" 31.81 + inkscape:groupmode="layer" 31.82 + id="layer1"> 31.83 + <rect 31.84 + style="opacity:0.44897958;fill:none;stroke:#000000;stroke-width:0.1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.39999999, 0.10000001;stroke-dashoffset:0" 31.85 + id="rect4618" 31.86 + width="245.17555" 31.87 + height="96.120583" 31.88 + x="248.82765" 31.89 + y="196.71402" /> 31.90 + <g 31.91 + id="g6133"> 31.92 + <rect 31.93 + y="223.7659" 31.94 + x="346.78796" 31.95 + height="19.030159" 31.96 + width="51.619602" 31.97 + id="rect6089" 31.98 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.60163802" /> 31.99 + <text 31.100 + sodipodi:linespacing="100%" 31.101 + id="text6091" 31.102 + y="236.91867" 31.103 + x="355.0636" 31.104 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 31.105 + xml:space="preserve"><tspan 31.106 + y="236.91867" 31.107 + x="355.0636" 31.108 + id="tspan6093" 31.109 + sodipodi:role="line">Blocked</tspan></text> 31.110 + </g> 31.111 + <g 31.112 + id="g6138"> 31.113 + <rect 31.114 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.60163802" 31.115 + id="rect6095" 31.116 + width="51.619602" 31.117 + height="19.030159" 31.118 + x="426.78796" 31.119 + y="223.7659" /> 31.120 + <text 31.121 + xml:space="preserve" 31.122 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 31.123 + x="438.72571" 31.124 + y="235.94211" 31.125 + id="text6097" 31.126 + sodipodi:linespacing="100%"><tspan 31.127 + sodipodi:role="line" 31.128 + id="tspan6099" 31.129 + x="438.72571" 31.130 + y="235.94211">Ready</tspan></text> 31.131 + </g> 31.132 + <path 31.133 + id="path6155" 31.134 + d="m 322.39366,234.14931 c 15.56383,0 24.45745,0 24.45745,0" 31.135 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 31.136 + sodipodi:nodetypes="cc" /> 31.137 + <path 31.138 + sodipodi:nodetypes="cssc" 31.139 + id="path6157" 31.140 + d="m 479.14368,233.03761 c 10.00531,0 15.54343,-13.29992 3.3351,-21.12234 -25.62918,-16.42178 -194.34421,-13.27617 -221.31651,0.3335 -14.692,7.41328 -15.07228,19.58187 -2.13564,20.78884" 31.141 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 31.142 + <path 31.143 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 31.144 + d="m 399.05855,234.14931 c 27.79256,0 27.79256,0 27.79256,0" 31.145 + id="path6527" /> 31.146 + <g 31.147 + id="g3898" 31.148 + transform="translate(0,0.4467926)"> 31.149 + <text 31.150 + xml:space="preserve" 31.151 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 31.152 + x="267.54309" 31.153 + y="254.91867" 31.154 + id="text6077" 31.155 + sodipodi:linespacing="100%"><tspan 31.156 + sodipodi:role="line" 31.157 + id="tspan6079" 31.158 + x="267.54309" 31.159 + y="254.91867">Progressing</tspan></text> 31.160 + <rect 31.161 + y="271.7659" 31.162 + x="267.2655" 31.163 + height="11.804094" 31.164 + width="51.619602" 31.165 + id="rect6145" 31.166 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.60163802" /> 31.167 + <text 31.168 + sodipodi:linespacing="100%" 31.169 + id="text6147" 31.170 + y="280.90646" 31.171 + x="277.74329" 31.172 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 31.173 + xml:space="preserve"><tspan 31.174 + y="280.90646" 31.175 + x="277.74329" 31.176 + id="tspan6149" 31.177 + sodipodi:role="line">Stalled</tspan></text> 31.178 + <path 31.179 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 31.180 + d="m 283.06571,260.15959 c 0,10.07749 0,10.07749 0,10.07749" 31.181 + id="path6153" /> 31.182 + <path 31.183 + id="path6713" 31.184 + d="m 303.08493,271.76394 c 0,-11.10513 0,-11.10513 0,-11.10513" 31.185 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 31.186 + <rect 31.187 + y="223.31911" 31.188 + x="262.8187" 31.189 + height="66.833359" 31.190 + width="60.513218" 31.191 + id="rect3890" 31.192 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.60163802" /> 31.193 + <text 31.194 + sodipodi:linespacing="100%" 31.195 + id="text3892" 31.196 + y="236.91867" 31.197 + x="272.02063" 31.198 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 31.199 + xml:space="preserve"><tspan 31.200 + y="236.91867" 31.201 + x="272.02063" 31.202 + id="tspan3894" 31.203 + sodipodi:role="line">Animated</tspan></text> 31.204 + <rect 31.205 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.60163802" 31.206 + id="rect3896" 31.207 + width="51.619602" 31.208 + height="12.915796" 31.209 + x="267.2655" 31.210 + y="246.54515" /> 31.211 + </g> 31.212 + </g> 31.213 +</svg>
32.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 32.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/Time_in_VMS_1.eps Fri Sep 13 11:02:18 2013 -0700 32.3 @@ -0,0 +1,943 @@ 32.4 +%!PS-Adobe-3.0 EPSF-3.0 32.5 +%%Creator: cairo 1.8.6 (http://cairographics.org) 32.6 +%%CreationDate: Sun Nov 21 13:32:58 2010 32.7 +%%Pages: 1 32.8 +%%BoundingBox: 0 0 330 127 32.9 +%%DocumentData: Clean7Bit 32.10 +%%LanguageLevel: 2 32.11 +%%EndComments 32.12 +%%BeginProlog 32.13 +/cairo_eps_state save def 32.14 +/dict_count countdictstack def 32.15 +/op_count count 1 sub def 32.16 +userdict begin 32.17 +/q { gsave } bind def 32.18 +/Q { grestore } bind def 32.19 +/cm { 6 array astore concat } bind def 32.20 +/w { setlinewidth } bind def 32.21 +/J { setlinecap } bind def 32.22 +/j { setlinejoin } bind def 32.23 +/M { setmiterlimit } bind def 32.24 +/d { setdash } bind def 32.25 +/m { moveto } bind def 32.26 +/l { lineto } bind def 32.27 +/c { curveto } bind def 32.28 +/h { closepath } bind def 32.29 +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto 32.30 + 0 exch rlineto 0 rlineto closepath } bind def 32.31 +/S { stroke } bind def 32.32 +/f { fill } bind def 32.33 +/f* { eofill } bind def 32.34 +/B { fill stroke } bind def 32.35 +/B* { eofill stroke } bind def 32.36 +/n { newpath } bind def 32.37 +/W { clip } bind def 32.38 +/W* { eoclip } bind def 32.39 +/BT { } bind def 32.40 +/ET { } bind def 32.41 +/pdfmark where { pop globaldict /?pdfmark /exec load put } 32.42 + { globaldict begin /?pdfmark /pop load def /pdfmark 32.43 + /cleartomark load def end } ifelse 32.44 +/BDC { mark 3 1 roll /BDC pdfmark } bind def 32.45 +/EMC { mark /EMC pdfmark } bind def 32.46 +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def 32.47 +/Tj { show currentpoint cairo_store_point } bind def 32.48 +/TJ { 32.49 + { 32.50 + dup 32.51 + type /stringtype eq 32.52 + { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse 32.53 + } forall 32.54 + currentpoint cairo_store_point 32.55 +} bind def 32.56 +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore 32.57 + cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def 32.58 +/Tf { pop /cairo_font exch def /cairo_font_matrix where 32.59 + { pop cairo_selectfont } if } bind def 32.60 +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup 32.61 + /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point 32.62 + /cairo_font where { pop cairo_selectfont } if } bind def 32.63 +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def 32.64 + cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def 32.65 +/g { setgray } bind def 32.66 +/rg { setrgbcolor } bind def 32.67 +/d1 { setcachedevice } bind def 32.68 +%%EndProlog 32.69 +%%Page: 1 1 32.70 +%%BeginPageSetup 32.71 +%%PageBoundingBox: 0 0 330 127 32.72 +%%EndPageSetup 32.73 +q 32.74 +Q q 32.75 +q 0 0 331 127 rectclip 32.76 +% Fallback Image: x=0, y=0, w=329, h=125 res=300dpi size=2165625 32.77 +[ 0.24 0 0 0.24 0 0.991089 ] concat 32.78 +/DeviceRGB setcolorspace 32.79 +8 dict dup begin 32.80 + /ImageType 1 def 32.81 + /Width 1375 def 32.82 + /Height 525 def 32.83 + /BitsPerComponent 8 def 32.84 + /Decode [ 0 1 0 1 0 1 ] def 32.85 + /DataSource currentfile /ASCII85Decode filter /LZWDecode filter def 32.86 + /ImageMatrix [ 1 0 0 -1 0 525 ] def 32.87 +end 32.88 +image 32.89 +J3I@:BHu(:pOk^R:T.dk*=mro@So+\<\5,H7Uo<*jE<[.O@Wn[3@'nb-^757;Rp>H>q_R=Al 32.90 + C^cenm@9:1mM9jS"!dTMT<$3[GQ$8#0$s<4ZX!SPQ1`C/m<k<ioH)<bk^Hj`\=EYZP^B4!g 32.91 + 3;'o"oFO(X`dh"8*[iD5A+f'R[o?>ioWjnAY&^gM+`4=1jRLW!YA=M/6)*KS9PE`kN%="Tc 32.92 + _Aoh+fk'&t\ctIN)4XQLiVpoI(>.nOW?*DmsG$@,,f58"PDKf<uk4a;=i,EpG4sq/+a5h8d 32.93 + >eAJlo*B]ZT!'31_l[h@F?.u;GBO/Fms$q.0(\8JhnaScr]a26g[)`OH[c!ea5-IbHN.>J^ 32.94 + &uma4O=2qs$*R]rqo%N,N/ekE&6SU_%/pY#XOP%r<0s`>VcdTn?Vp$6h#Hs$,(:o3t4UJ1d 32.95 + _,U&KE;87<)6$&4UXR>8tG!P4okbE:do]7$5Dp*BCCsHPf9CjGP9SnfmZ1_N<P!(W<VLV's 32.96 + ;<['M)NEcU[r8b'0?1!"Cb@l$\47%5DoZW,[19_.8^3D8sSk:fZ;U@13?EtkSs9(MWO4YG4 32.97 + F$U78RFTXQtoORPZ;"=bh1/W+Gdn<DW`8=*<Zo'p,;=t(t:+\<q912Ep<4>aKPr2cC;DiIe 32.98 + =]UeUj&Ji3AS5+DoHeiff@<$:=41&B!EIOt*KsUYFo?So=&oL$B%e#sM.tF<D6m'kFksZG= 32.99 + uLf4CKoB/ED,(FrP`g5G;KJD?.$pUG2AN9::[qD>26Ti%akKdi"uq-J`)nJ%>3UV:)/KAQu 32.100 + 3q"iY[\%M;jo*/W8X+c8CUAR-m+uj;AFrOfAd`n:WD!U$%]D85^LXAf6I&RHBp?D4'K(L2E 32.101 + LD\^#SOB:9<[SS1%?LS/=k^5o"&3Mqk7kIM_.VeLHHVl/fmm]ihX]$@^_CHC=GWp8=[_6.G 32.102 + Ip;s^Yq_lp-laqo/ZtJ-*Qb..IQLh\)\o,L%Dn8]q]k9FI$c6e.G5&spqr\X.EVpUTU@<PR 32.103 + A]/We[i<>"*&ft'F*r`Zd<%L:n'Gma-U5juI-3<;Bq:#`eTLhgA(u0T2b2\G]Va`?F5=$Fa 32.104 + S4O<Kus,g5Cq=/4n"TjpqDNUjCat^LZ*PCVN'tW?8nqBp0MZ9lhTE;^$Yasn#bsN5A.7crA 32.105 + p#"Wd]5c/+EA*8)Noa?g#T.+'\5aDup!QVmuYsli_a@$3J#!)Z:dP#(E\'$,@AU"^jG(Ja_ 32.106 + :]4,:cLTH"St0KKBRGU!M<*#aL7.MK[t;[4G_b'spRejB-\$Xn]JL@Adp_74[ri=nJ-d';? 32.107 + >8:_*l/+/6J1*a["QO0C67#A/A.DtpsrS[;CL9X2j^,VAoU1@>\O]jA*LoV*Hll_7l3\Wu. 32.108 + gD$Cs0o&V8,=2&86dB[m3_Z@5(7&DoU]c71;@Z#a=UcP87#@%(/k/Cb*@'WuOciU;8kE/;- 32.109 + 03"4P>Z9n8_H6SjTM9A;N=XI=\U@,7&cGLY#\0J>q>#iZ'J;5>"`"8/`jp]QW!6X9A+_Hjo 32.110 + iMf;\!81=cG/u7*1iq/nRf1SMTD]d@+!/C/%j52<Mi1Ar?r&ZI///fqAA8;iYln=j8ti7-U 32.111 + 7@Y'*Rnh)jeQnX`\)H;@]24m0cZT2V*W:YG\2VqhBH<"=LV=q*d]71#Ye/r!3V*CK%E&Y`6 32.112 + "MGF!I7HgikUJu,k;;+0'kli6+<0!,>>"qTQ74G'4Y*Mu>>ta@_(SC?:RT!C,:$KVWVc<)U 32.113 + ;qcXq.?sn2oa[]q>)b^V#nJY"XQ^N]^s)#qefFn8WWn?_:hT!NX&Vu!<@X&2lNHIQ!!9CU> 32.114 + 0U497.@3VEiTD%a&[k)>cZDP\l7n7?#.E)Y>t#)=5*U[lihs1<N`@PHEg^*Ok-a;/s"V2). 32.115 + W#eOg8"_H<<IE>AJXkWg1lP=kXU#XS&9o<J%$.lBX_,2,5=DL5HEJ>SCt.A%#>0[b<f[6#? 32.116 + e7[oVq1>2c/k!c>9P<n?,4>%:Sc29EC10'6EnSTF&'^:4sdZ.r!GF03^=]2rn<?$iDaDP]Y 32.117 + 1f661[S&osE7.@RYmaI53R`hg=:nf23qHb,>.IY7?\Q>6u?ebNCn"ApZf*_E_HiJ";jp/_) 32.118 + 0*Yh>*J<RY!Pim)!oXM7JoJ.9_cUg_hcqO2n?*b9G[h=p>:"UUdF'/u,,^LU,UTdM1:S+rF 32.119 + &a`=N!.M\a&neM@SD'.mTqlm<l5hN>]"8]`]>&!!l3j_R?R2r;9E$:ULYi-N9tdG3nW=,A? 32.120 + ;b9Ectg6=cW_tC&aJ'L0>W9Eua5Qa]Yq[DpD>F'G.:4C2\Y"[?O"_NZA"fm$;Y<)@j+:h#F 32.121 + '&mE!Zn01KX2*MW0[iR.>i6"rJ6V<c]pdhUn8l+K5J1T:)oj4;anX6#s1<M.etb7%B%$YCg 32.122 + #E#AGsMcGaBIPlfYXgf03Bdr_E/tEdhRh&h=H.u$#m,Q?VA4C*4o5C[a6OC9_?Kp91[HTU# 32.123 + \Fg)Ddj`bJ`BLi)g<3YplGpCn'st!q(LM"VOc21,s4CcOG&(7\Z=arrYk;dE:Q;&K[[,Fhg 32.124 + M:VE?4FaG7=!gT_hI1=d:&sPj;@dJR;i#Y7J5L3h]'(=@u]M5\"<9Je6e4(We4P8m.B2p1P 32.125 + "KpX/bqj1$2HeL%.bi4ZIH4ebhdSeZEK&q&Mc\eB<f.IQ,$NGad[apQ4pINB9$f`oPXmP\$ 32.126 + 9Ob5#_>jnj+ep"BqTFWRC*F?akt$TUM_D_N:.#Gp6La#Y^mD8+P@HL2\:7IeDpUA,N+pNcX 32.127 + lB:e_`f#t7A>!L\e4h0lag6p5mfm#1mDk-dHaC5)44Zg-*!$13Edk:HF4<K*F?45##cOK.; 32.128 + 8#c/\Mo8`$($W,=Mk"*;i8HmH5:X]o]KTYIq4@oT-Wco2reC?s+%b^B^T70;/r'5MiS$G\a 32.129 + 8/!K&,UXqjZTekpQNeXGOL)b]ALNphMQN)J!!RABBbsGXQN=+$.uXK&+@+<@F1UplmEQ\TA 32.130 + P`[h=-m5O)Va(XQ;(c^4CV2mb7a#HCaMb\.BAE+o]SZbc<5#r!R&U$j)sEIa_*8fP[Xg9Y? 32.131 + msPkRekrD61\Ds#nPlCeaVgW@V<:B($faT'TeqWb;eYR&#u'`g!!!K]F9YT3`5+TbJhi\2k 32.132 + M$YKPLklXXm",Yb6?i[>@6Ca-,nun5[n?E?T[0mODj:G@bOBW(]?H+Y8^rab(OC\L=M#_Fp 32.133 + S<.jo&?GjC'aMPLT?r0+Y_L1pTWSjUWt:L90UN^HS=MA.":X)nN-,8b[h3TsSM7Y>OM7B,_ 32.134 + XXVO"onZ'OO4K_K*LhtbqC(;d,=dMr=3d.%^:Jl&0CMl&0!>2&Wljf0`M\=#+Z?1$>INfYs 32.135 + f'u)YHk@[1,[Q0#jU-V!YDT&l57j:[fImSA6jr#n`>kN$R!%<1M8i\.CFjd#+IB#cqtNSM1 32.136 + cQ;)Js35n'aM)DRj#ER:5<LCQ%rTM['7$-*p!ko$ZP)!TEfc79fIb8REi)X62f&[n_P\t'G 32.137 + J*/W8ZnLk>#f,kTI*ASWYnfZ4tf,#P1*NAWNl2)4ci?%OP&Fq\'.H;S.rrNMI++Th&d-.?) 32.138 + !iRjYSFR#Zn7j'9&LJsO,Z6QF12un!-JD<g,4Y%6ER,M#Ii4D4):2W[&o=2G8=WRP,nWcr: 32.139 + tm$H"Y(tQ-1CRO8]`<"YamP5"L<(6d<`LMn=/b'`QBV*O)hZ;$Rp"j-o$i4ntbJHoUa>E+V 32.140 + K*kDRUQ_W1FE_"7]Y$dbQ.,"QKik.uZUB;[V\#Ik1#p/II*>'%\aS)(+r&,RMQIo-H+i!hE 32.141 + 6V#H>m".JkEjfe9I;#kK](EBc-u&.K9^2+d`Bdb?Af))cPM2QRoRc)!0KSt7\l/'nA?1Nt4 32.142 + q2]P+YVGciP;a:<r7%JBj#h&`0o7o1Wf/8bg0U&H,DJM/Z[*Wl5b4=&s'%nN$I5d4^1D>A4 32.143 + ''gNOs#B!;3AZtl;jumUT.Vp1S[(ZS;suFsYr*3'dF,nFo#T>/bbL=4XE3&Hnf$^JlOqJ)T 32.144 + 5GH*0_h0D&OF^m2lY6+P+`Q<pGt,,rDX-)'Fs`@q)@hd6'3@_oH)q390R(/6>?))e1@.)0V 32.145 + \0r4B+C3oPmAORmZIn6o"!pPXuLEbs]AC6Bm$WoMmonbsg*85."dhP\-Q[CFI[G7oZS;P^, 32.146 + 7;4Z5-t5no"]@5Oi\)b'Bh8HH^^e<`<s.5Oqo9XCEV[%f9R2"ibe9'jXK/6'Ssm_u1t#B8] 32.147 + Qn\[aolTUGR40g@O'Xpi$lVUMS$)u/8YKjRuK2$Hu9BjP*'>mXH(J`>b:XU[g'.Z1_)!t<4 32.148 + ,1RQ/eP<Uh*p8e4\5an3ePB).0f([;;O'7Col4%_nPdXt.rt_iF_b"k;](c3!Hd!fZkZHG< 32.149 + oWdU\s6W%<C35+B0>e-:j$nam!i)oYpP=H8b-W1Q&#aRI7r+-=Z$^eaidQsRi+)rS5lH@[? 32.150 + 4Z%`D73=rY,R4nuYBEpK@1J<=`]UQ.9.4a&hro>a:!k<S"Ts-!dn8@'qk#e`?O+o1E$W@$U 32.151 + [m25+C9dpP%-@J2?X2D&>nVdG^M@e6p7'nKgP<Fp>UVR@jI<,H0Rb5et0<K,7+[QuO1.qD; 32.152 + .5?/#"p,sbr:Ls0'BWN"]o0Zuq;.:;3SP0,qQ>p0\B407YB9mm*p4$h!WD_<&:"G9@PQ*1U 32.153 + pna'27<YY;[^7.L[&>h%-l,`r<Y&l/X)7Rd9")?8f"U9Ib=P`e@.nW3QIef0:Ik-CD"^57c 32.154 + rk/7]0*P;@CC`*2^*3#,bc(K5#u/\G7'kL!reFBDmhH$FkLcCd;]pVBt$TRpEt)7)fi/37@ 32.155 + ,$32b]do2[*8EDRU^,f3`W\Tl1WRFB98s(KA4O_\_qI(b/S.eejtOOUbA)E;*47ePr'AgJ] 32.156 + R(GrL4o2f3^SK'#"SENU+'FFA&rm'[5FH?Ep=f6MA&JU7$XH[":opYg/e@rrNl)pf*\f:-t 32.157 + CT2N.mS<qK(M@X-^`I55UJ?,-V(Ta2E_1+ALG?:JcQ_b0NWCYY,H.V4[3$!On)#]$jrRL83 32.158 + (V>)SefXWg!#&c!F5qDMLCBIt:3RA)<Ijt>!?RR,K20+53%KJMnV"DJEO\pS1JF<Y/P:,SJ 32.159 + =%9spgo2GiI?)hM7B*p3"^MhI%6RLB@nc,R"%FOabY,*I2I$]nYk@Q08Wb'M>5<*pnNQ\N1 32.160 + CfdCDa4GGdE2Zo7`K<Tlq<115gUKf8T%!K7WUl_<lmKaU,;e>m]&2pb@VmQ[VNd+V&skbC* 32.161 + )%m>=eo:,$0S3;%IipsJk0J#UnZ(?^a'07B6FSG=/[Y\(;r,h6#I@ehT!3AH9!2jS`':>%^ 32.162 + \$."hR1OE6IE1$BamX^WHTp9Q`P*Fn)Ohl/8CRJs*QMCu;\0ZOr\!NG$P\Jm>)'P8Gc'!?V 32.163 + -M_"QQa;<)R(HFTO@gXq:$1X,Nj*#qH$R4=fcH^3/LKuE=P*A8)6BAh,ESnX$5pZC)3%7gV 32.164 + &Pf6RX)lBCc.amLRh24SUoajeU<@#kb#EFS[mokq<IL<4cS^`T6>.@nS&q&0:9;^FIEFaG[ 32.165 + 6ZI&Z'eV-UY#,/SCV_ri0-FQ8n&$.PINqfqS4*UGs?k(j)?14a_R,>$=@\)G,k_8LF:0-(5 32.166 + 4.fh80QUnsLo&"4?kWQ1m&mot)_Sf(D'H7*1uI@g:nWHo)B9r4JnO.Z&ATJ\=#Znmh*VS)` 32.167 + J(_>W"fj=/h@%>kubo6Bg>*#'0ANijIg_l<KcSicUSS"+3N/>SOd%udYnB]C0D7LONGVaV[ 32.168 + \Zp+1'\GpYCWWb4rNC0.a%`B1RlaWlb=X8CYc`+C>">h0@l6=eZ;lYi4!Md\d+>l[E-_%rf 32.169 + )_peK<oN`['<c<3mY/PQ+:_mZqg(sO<_-c$agoSZck/3MRBk.i@A)KBkdUUE880sCU[?8>T 32.170 + 7YogW5o>Gh.3nYo/fLRtRYCM%CVc$5ohRS+*1WSGKasSGN*'P4u@A,t;%"Fh>&nPJt0R+1t 32.171 + fcTDKX=:><6,e%K1N]t0oOqn5ms1od$*]!g_8.iDZP<Lh@VB$<HqGUGg_)SXp\(KLUI>V0+ 32.172 + I#Hu80WjQ%-qDjd#9>>C<`!eH@lbg[ZV3Kb9]KBCrgjlh<@sQjB^`$+AS8D.dEMtfN@N9Xa 32.173 + >^adX[*"o&`XR^B11eP-WQ=`]bGqhhGP0(NRu!N>V>HABr25JhAV3+Jn9h^jmgm@\-cfBj3 32.174 + 0+<gQV#EPfsfb(n(_TY>i!!;9?oTCO^'QbS-rk4n@:YL4"OMcW[d2si9dPu`uNa&DQu7OFj 32.175 + <S)doaQLmX;/14P-`[=cg9,M\FF><9Z)-hJ2!M>8PeXjISM:^E#;iC[ipg-GeM3&Y4@[*Bg 32.176 + Cu3jmUNkc6\\*K&O=Fk(=,e[G_5$TH.TQK,++:[oP<SSnN,F4%VVSfN+krJn\,L"Lh,h5h^ 32.177 + N]oUi/T;Z%`eFR&"!DhD>J(cLJ&Y5hi+9C9cb2.PUT5B/6^]E$/[FZ@UdJY)pl,h`Ze(?Ge 32.178 + WEn?>pib5:2\%u3`Z775rBiGj8)/sQhjmX%h,WAS"_QTtgHB)=ILfBU^YBuZgjCog4E@!!- 32.179 + 0(Qdh0q&b>3gFEm`GAkkPgFCSr;h3Q0EabV`p=/^7gsDTB\:RkVgH'?Dm([[&3i/l[HP5rk 32.180 + Y(q/aP[CM8$UgZaVJ7^$=sZm/GE"lPk_1iU20Zm_/_ihXQQ]h=!*BO4aQPN1o]hq=&W9m!f 32.181 + ?2rt4N\"n=ep/,pFUYd<WN0ZnkenfKHi*ZstQ2=l4)o"R3Vn(%$e5kR>f5YS0L?Us_f;>!. 32.182 + VosVX.IpMb#&b[;Wi?(^;heVsNFn^B2pV2.Ns+0quQ.!&4m@T+-s,m+AQ2,otq7iKrrd^(; 32.183 + Pg7[)n/nA#s0;Gc[JPHaqnKiAl0J'BL8A,AbjC/E>es4JKj\\U*8eQ?hojAp_:9]ir@1;`s 32.184 + 4FUg(&gC#X1bk_&,6hK#mGrIi=MAU/f>+R6fJ[pPYNYBMacY<R+-"6*KN_O&fDCD8L9QljV 32.185 + !t\Y$!?C9BHe<jNIW^Rn`&Z1ZC07a.GIB',]0kM)M(]BN1BeVO9?=;sG)9Ptn;YX&\I#Ra` 32.186 + *q33Q'>;oE5BO$IqjiDb+\'%'aTf5':Nd`Ufd[b^BgS(6rrrkCYd%u_1V#kc)CT,7gfpDJ= 32.187 + fj73jp5#32=XOA1K7?O?*BZq-3'^OnB8YsmMoajfWY.p0!j_O[<AnsA>QtQ%Pb_&9.WS_Xh 32.188 + *$,n,M8eLpq&GqXl^.\(Cb+6kc-pI"VJ$:I/luu%h=#Rc*%l-pT6eQM[[Gftj0RdLD]0Z=Q 32.189 + d=on^H\u!T@O\Np;A[Z@J]1Nb_gMT/P2t&XM!i9i9WKXX<S$<E2!dC2c)9u"99!2Ym)MtJo 32.190 + 90ma=4G/60Z5''gf09>8K`uKOYlhEMB9;[?/Pc%E#3Y5-$uob&83>E[6Pf8Ef\`e]01.G.' 32.191 + c^Z<n0K9UnY*7)mGIS&Il+OY9ArS*n6M&*"(E^[)(*!Q[eubkN__I!ICgna`L#205;Z4\oa 32.192 + =l@MaTjP[Pn;rRa@-)B'(p`]4F]gS&`/L*hbFJUK\;XQs`JPZQ)"L$19jYWf/m#<_u<:r[X 32.193 + PLNRn4Kh]th*dN*oNE8)V\FPZ>ut_c`5&Tn.h9B\$u=*9U().V-;_+5=Y;V8AU.unD@N%ef 32.194 + dY'V8m9SIO(qnn"iG=bG9a_;+L]/'D,PR=;.m5$NQZTRGGJMfTQa"FA^iX2N7d!s"aOGsF! 32.195 + ZGpfQ0cE]\`;7JVG941L4ZA%BEbe,$0`f'ZF`!iCC0='l&KF8]"HIe<g.:Q"=YF*j]G#"sn 32.196 + M'N92^P+rJH8Y@@:mH&o*g$[RNfP@T#hjdJZ&V.k6e`L%\bIUk8cfW-BkB+<9,S`]_?'9FT 32.197 + 0(3Q>u\ME3065jaj[;BYRT;]&?RW#3jqRl^,k]kmpSsgPn^S&;&`lDuY4(ep>?u/6U1EQI* 32.198 + M#gu<7PU[308>;-DTue4&N.e&DXsK**lsSCc*"7*nD-ONe"Bc\/!=r:G&i6dguga,oC04UX 32.199 + %SnVe^X?m#D:u[DI4dDprG[*-$C.In'EF&WDChqSY(&PVS+U#ebGa!]9[elCO+)USAas5b+ 32.200 + .XlfD<,mX57HJ\%VT!Hp\(V=A2I'a5MJ6':4o8YX9/92`hJ%JL,uHJl6qtE.eqUW:M]/M]n 32.201 + .!YFUi@olBpLMt;RYS[Uid5ld$%?@]-a/#$\iLEKg_K'thC5m!GWM=_KomV32seacF?`#XV 32.202 + pp)cZsGmE7Q+X(e5RmL0W$-(1<<Y/E._d_X7#>?linBnp9k\a':b8Pr:!\["8FV(906m5DE 32.203 + R`'de!XYP[M6UM*`<*dgU81h*:\:_UPFV:j"FDeurEkV=b5NB$CHFpI^6<6=6;l2hJg<BGP 32.204 + >nY)@d*tLn//Ns=.p\2PZ]K>DE^Y`kelIA23B..7t:ma6Y/BBM:*.K'8\8,:tt2tEP/E>Bh 32.205 + nnD"M:"`p0T6t7+[^@M'8%R<6S<n9r2B<M=S<Kb7YC<iRF<ad^c,E3I`r!dO^b0Bh(i`(GV 32.206 + VBNgVXfTY,QSC5\%t+S/2f^:BXhMTiT#TE8Cn\aW3uXFO^#TZ+.0n>cltD^U]K'1Y&=4:$? 32.207 + &/<I/LcDf5Y9Z+Pm0/eW]B^IusdDhhH_L`'9%2*>AS"W52L(ihm4J6g7+Oj-\93NB;A&6]j 32.208 + FOlp[H>mgOm2r,L-4/%^,tZ*>.<JM.U6,4Vgn"(VV+"9X;jsCZAF%<:Zkdf2EXP\-,sd^th 32.209 + M0=43CGA,&h13%<n)0!9^5n]Xb9i.T:th*9I0U3:-m6j@`1VKEAa?K/bbHTo2m<H@^'td!* 32.210 + E^X;sS:Y.J;K"=:u?TkHm)iec*2pb7RnD3>>ZJ.$[qIo4'?eUU6>ON*,(ZA-bnmYG<Yp!"2 32.211 + e=WJ+'TFeUKh3\a(j27p>V[a\H").'>K>I&o?f@q4'B'r5*Za?s7g@B)rD=++#kO,l^8cW/ 32.212 + ar1tQ7T$uKV%.YJDi3Ua9h-E+hfkbfdO]0j"hKN*lD]QF%UnUfEbL:oYebb]bDK&4KgdTh3 32.213 + c+XtM_U?((gM[8n_3d.\.1+(BBo*G;GKU0JMfEu\8OC/crs%:Mr4s-Kp.X(HrQl2;.II5*R 32.214 + .^mo^s"S\0,>A.R(_;6Z=A<%r]@*ASpKD%l&05`0t(2qg0Yh>N3B*8;%j9[K\;]Q16tk]NM 32.215 + snWU2!f8AE1ZH+"lSi0pf1H7)7K.%;&9KP&d^@W]=E.jcXnTigpk+R>3S14N3I>7WulKT0/ 32.216 + @;7K<q<;9b?VIE306rb)3X]33X?fW6SaDk:L[7%6g4>TKT0Q>4FMpH3&)-_L%A*fSWqP\H+ 32.217 + SWc_4he8n[FBtYsL[,qM;Giqe9]l>GXDIq;M(Er&q*N_-n0[uoPYNq_gLg3UI`6o<#OpesR 32.218 + T`@fn3qI"Mr9p5c*KAYI,5uA`%CA[5,`J&?j^[,mSMFNA,k@LSmHrlFGEOi=";c&_c)7sn7 32.219 + ekece<k/[kJ1;7!$HXFc>T54[IjI3g=rN[Q#5<fp_;JTDqoZK_=&N4[b2l`ZJpthO(L@I%c 32.220 + Mdc?Z'Wm[s4IUi.MK!7<0KkD@[uR*$9XsZ<*]0AmFGFpRcNuO3:&n0-XZEI;81AbrIg]h44 32.221 + YG2P,WM#`hI>="g%OSqKMBd5B!N4tpYqqSG'qcKQU'XV5?76fZ2,k.EpZo8^+G]8p9br<or 32.222 + q?ID3Q?DlNqpJC,b<(D*bG^Q(2_g$YBi:laUmbe2[OP]_.qQB__rWB$\^?=L'd['=Jba`qK 32.223 + )<?*.DUJ=(`KDkZj1I%7MuA8@814)`#uXrW,W_a@4fQ#n%tEQ"V(?koEU,/_F7u)fL&67Gm 32.224 + W/>VfJI6u,%?`bl)2DpT3(=k+,H#,W=AYA$fcHf9qSrX2o@jBD#=gap&@q&q`%79OO(Q9r1 32.225 + ?O;T9_?uIt*5$YLEGho@FN5B"6TM#he;Ud$_YiJeA.l$*n_:UXD#PS0r9H,tT^P!1#ajrh/ 32.226 + ;^^aPY.e-$$s"V5p\56J4%//#NtG,jm2"69e$<!rulXagNb^s!]_X;\n-nJ9206(!/<$<TS 32.227 + 5[_Qtj1GfCES/-kg(U$cd_6bO&e/S[DAO&?@#V7&EHlt^BnidFF57AaP@kL$IeVO\O_;lr7 32.228 + ''cNTlame@TB"+NX2^3B#/\8p5>+bd#_O9ka1$F(]F6Qjg^FGc2ieq<]!Odj)rA??-+K%t5 32.229 + iU\;4?g]282?Do`!GMD*$IPAb/?8'%V.^b`'-SJ:_@M8]^[:9ZqNk<h)WD9$]Ii:`'u?V:m 32.230 + _@:0e>17aL9"]JXD;()4IB(5nU"VENu!9ZuF8LLd!K1:IAr#U%DS,BQtGYMFI<H[Zd2uU_= 32.231 + #u@]-/q7R2nf_T,,NE(:9-`bC5HN*Vm?pdUG@]#3[8`,*4o%Z-]n0/Ouq'RL@\E^e>RRu,Q 32.232 + 2W@GmiqR-N8a)JUZ1jOnaD_&JIQQ0/AK<`L&Le*J]8=YQ.XG]W^N(D0P+.S(m98uKtO@]kC 32.233 + 8K<mb/<`XfPY"Q6$&a\5]8T;YQ-"uQ8Xu5@XIDeoS4Uqq1b=[&%%YN<TLoWd8fXQt/>Gg"U 32.234 + _Ko%`N)I#9W(L1W(N#J8t;nRXK+t'LWWgi6X6]bm&s%ZYY,D09,t61/$D<$\I\>09/O(MCq 32.235 + !&b\4_dk9:WR7%'<*S]$&=29AI6Sm(Z3k^e>$kbIcEN'Z3U,`(WkD9O,S2Cq`RgLWjk^9Us 32.236 + 7!XNO;MbY66-a_A^cI)=+WcqOqr9cVSU/CR<Sh9=q`9&*WF7+Y.\fM.=X9q9p3WG5+[Y"c: 32.237 + Z:#+T"m,(P8i(aR*c,A2Y']VqNjA&D1:0cpV"LLNiek0c@cCF/pXQrWolqYd2:3cc[o^,EO 32.238 + n4sJ_:E8q$/;h^ukta//:L*ThD"g_QpbQIQ:Q5-GXSYf+r(kQ8+p?FeFPP3u!)O+*:`TU6/ 32.239 + HZ[Arj]MYbl%XjD$Nmc#Z-Ke:meoASI/3,$rG1X:u)UXk_)d?%oEcJ;&p9H/JCmss/VZtd6 32.240 + /7BD&6&t(f?76cK"t&>o?MQ*)Xs$;;E9cI1RRd/cr-u;B6p9>pE54#))q$!M(Q8BI2)T,Z9 32.241 + T#K\\+U,p<CS/5h`""J%/CD'jkJ0N-9"dJ=mgPqsY]0eZ6P"?<Rbof#fD3(bSUe!R=:GU:g 32.242 + tl@[&=$Leh[m5t``1*Gs?#*h#DqU8AK2Ud&:`E9=(_^u7l1/p+He!Mu@XXI/5jjVR=;rp4q 32.243 + /OhZA-Id9C</cf59[?Ci*n22seABU45b(bl%nSP6NNH)YAI_\992iN.:.7lVi"iFP=cDHGa 32.244 + H]#`j])\GkuHH,eSq#.Kipf[.k)3E:u,@_`B.+jj&P<5;sdqo/SJ1DN7KHRei9ka9l)6.Ad 32.245 + PkX8L\Efi]IS>6<?;Teu5(h]m3?ND$dmn<W\63ESCnUGfR43+-gjbgR)'UA^\OceW"`,T_9 32.246 + D#C03oMe"phZ]noJ>I#57Zf(Fe.\pC(*Ls`%6:5U/r.aZh]K[XL6e5VSPgdXNiPYc4C$+5+ 32.247 + _N7uq*Rb6?B=`bY&m#+s`mo_F*=?W-#h/nLUFkLPJ`usIPe5KO%PZaBBfr_2INLTtPSLkdO 32.248 + 7/7YQF=We[TH<Ko/rPeEWa=C=!*W'Yg=l[mn>"%`;D@Tq$R3\F!]Gk:In/:#4i+nOA&m>CU 32.249 + 0E-J83@G$nO1*Qc4kW64K5BEiCCmC2Q>_NP^RUW0rEZd!*Z5B9gu,:b0aF'=JG2lgYKBDJ; 32.250 + @F(iN.9q>I]Ppc,!A!YRcGZ]0n?igP9&SF:#Xt)r8QLh8GOP`NoH^O]C8YJ@PuWaHR.`^.l 32.251 + aS."g7\mTUUD??OMfjg85kOWN3UZ?p?9qn`N#p^1TK%UeX((kk84)kP<K&H2&\<U^8^.Zq7 32.252 + -3pJ(#&pI\*ck>I6PDU+3WO6!Mc!U+k>jY;>gIGT)gg9>8)`??*36Y_Hh-V]^Ln4/L^%FX5 32.253 + p;)1POM1J#jnde<'b;/J?e,C@D:Ssj;c$b!;_9fV7I"7n04)>X>?aTFEo]/J\r2RE7jrUQ8 32.254 + IO=PJR@(<[l,4`rZ0uMq*+[s<r&J!"rJ/B!*HZWboQpemK5<.)`\TF@R-Glg3R'`-K03$@M 32.255 + &Ym2D,<M,MlS.^QR[;@?N3Z"O?]V<$iDb-7P\g)-CIH0u\p)`Se3nIY1$0A,(YWOR*<8AWM 32.256 + P]=bIKCkf8[(+Ul>6TMVFF7R6#R^)Wu@NkhqI=L/>q;rKhP+%AYXjrYaC?BV`mi=4UIQ91L 32.257 + 8.+QmMbml5Tjuuo?j('BhjLtqV*aK$m6Oa5f8--Eb>.*F/7uX$1MIoHA7O=YF@:eYRAbj$Q 32.258 + `_PYC*b>D!iAfB.<%;H82i57W`h%#.@ROdHJ_kt;?BWFj[TT<t4P"b\f8MBeP;b['__`EN3 32.259 + JeIZIN>V/j!SESAJ2)`-:#%0I:j[]?.n;pS9T\G_chBM$*C,'FuEuYH=`+q9a4eRk'?.BJS 32.260 + 2-4`&$K,$GU6A*FSI=BFV0/*WCk1`oLY]Z@7uCL5#sj7R_,R^h'^*2MlqgMWJH.L_b+S*d2 32.261 + "9NLh29fPW$C2OWgkBaC.i=TX<=A7SsJ0.H2Ah$_],'J4&k?0KkD9YQPH]l31YgKJiTlCEa 32.262 + rY"'fZdqX7l6^0Xs#+gZu@7I\rl^9u)ETC7:[94[ql96q<*i2t=Q/gF6/9VE>b&_5mMBP`j 32.263 + #V5?-QG(4Y+PjJpLqtVOFu!gpYK";sCrX@-k-8bSam1O\/Oman/s#@LM<pPFLdoPL51)h.C 32.264 + 8P$n#j0EkT$PInY/b:]lioIL()GLSg$M)Tl<ZWPUcc\[7;KNslfQFY_Q^,-Jd<VS`4k(?2@ 32.265 + 'podI.J=mSRq?54VBZeQhmZmegqiNi:#/]g-s[DS@uGaFWd9\npNt>p8p\7d9:eq$8=ASef 32.266 + 1UG4V:8k%n:KLs#S`C#h^/Bn\`^LJ@[,VX?lrLI?%M5pl@l*s7bAo5OWGDbA#>-O3+>nLAG 32.267 + _-[uHlY%M[oMK)mTEJFL4hZ9;Z!q?ljn4i9'k1=QYgW*M_k%Pe!f+dYMPD9WpMEQ#;No7u# 32.268 + +E>dhnII'B%h_&J+)*)&DQaPb%jDS",B='Jl2F&--RQMbd-SM"].Q(j[8cQWK6"-4fi;YCT 32.269 + -!Mm22Ks#kPlgENef,BEt9<2`BK!]Eo;#anaPEgF-0DlVaa>J/$!S%6g$Vs<do'g*G]YhF< 32.270 + ;EWUHnJ77I.-FEVhCt98q503RqJ,S2VK<\MFep8b#,0Dm=CcqH>GL'jkY@'rL52QS%a*;"a 32.271 + Q[o%-m,f11!8]_%&uMt$]WO'(t/J+]D"]2r3UO%]/mcunLFoM3g)'?bEGE-3[B0c\`e`oCR 32.272 + +jD[%g)IHOEYq?'tGRG('pR(GnIl)sC;Wp`K.k%UY2OqXGD![c(4-cYG-K00^VKZ/1p-47( 32.273 + QXpdH13eU2GaMn6W;Do?/B(BZUIl-,T$<')mYSE&E6Jh)2h?'PNH"Ulp(qWBD<LX3IQ`(>F 32.274 + [pNG=,*/VG,`8Dq:M/:+.iU1TEQ^:G&!%^cMr^k'VdpH$RB3fH\3pE'Hp#</SN@5QIkg@@! 32.275 + !ccPc'7^gp_NR)M]]F!)Km,YS$al5PmuhHX!0>2jA0>')GFWqIFG2;K/iGPV95>$(n4)B<, 32.276 + *gh7_tsFVPG_KXC/!@rm?fqY-Lr7lp!7W/#lE!+3kWGR+/V0RV3(L(B3%:O@?Cg1A.5i9ND 32.277 + >+fgMYe0tM@B&l-=9&KS[.!S7kHsm<Wn(LDfYS&'5IFuSj&)REVhuqBbGl1eET7Mg\53#bl 32.278 + F6:(431t[q5AnX?rGpC4Do$Sr_KgD($j*qd5<!^[3rQg:I!'RQZF5260b846s&_JbBPi6Dd 32.279 + X;([GM%$!5(!9:K6$c67-dLaT]QL]C':ho!$KX548os&L-hRFphWDG$\uSCEHl"p',Za"A' 32.280 + t)TL.*>M8S$7p7&Es7Q:kf;q1Qb!1R_$Mds8lZdlWGMkL5k'#),F=;/"I*74+9mVGh3YqLq 32.281 + D8,<St8U>!R][2`].@o`:`-H&oi/SrbV7;ahfUY@+JRt3KZ@(JY,7,*?k7]3t+Dq@A=#!6^ 32.282 + gf3%eEX9g`e=^`L6knZTQP(gZVcb.0U2"o3XF4mJ2@J9ZJ>.!".]1Z.3E9hWbrJ&@(ZeB8> 32.283 + gO7!t&%d^S\(dJZ"]<1U?cP9Na!KK`e7C$Jl%U&ne$*rAQt^.%:2'&]mes$/L*LuZT-C>n7 32.284 + R"RBf!o^#%kh_Q&bI`'L5=Zhf-TWgs)&5G!5MDN#m.oh3W>S/.I)Bc6-t!&#f9E..13r=&u 32.285 + n&DlHClK1l(9>&@eb@/J='u3M@.tYPO(SV9Y:'YI`#r<p`*=o&T:&88H;^]^JH?(F8HbhQO 32.286 + XDj5u*1Z+:@%aAR+^aN>o@/:TKN"#tW`a/_JQ6h'HXKf)>`=P$5&4OH"1;d@tR2e5!rhp&K 32.287 + r6?5iK*:O'V9-C6::WLud3`&BSiBj9B]a$sQ<*^A2dF:i)"poC".8&%<]eN408Sg0lKs]P\ 32.288 + ,h,c27]ZchD,>9'<<VJOSeO8s<[dO?Y0F;Sq_^#`W0r6C*.pM^qcG`[Kjr]#4bmS#el@iDg 32.289 + "(#6Am/5`VeFeM]rc,)[b\3+=G!c?:+QJ)T'b:a4hGgj=&mXjh:HN&G$\6ukBPjM^$U4(\) 32.290 + $S'?WZXrJ)FE%$%UsD*Y!e](g[`-iE16p)hm;r.L#o=[NCIeR+<F@j-]f_!<>A28Woa^8.Z 32.291 + %9\QP>del,87Qf_GBBpu.n;'J.>6\(r&kIK`'T]d:8J"l.12Mn3n>#(K]C"cmcVWo(kV5if 32.292 + A^7Zg,_$VY2KHS:6XD6K"ag(3e(=BGT4$M3'm@/RV\F&%:iOSC2Y49)A>JBjEn!j=T_!eoX 32.293 + !Q&e\0+l+l>W3P=n[r3LaRU=BXt0dN1+EieJ9N<[oA&d/-O&HE9p1$7&-=#1@DPUfb;lpYR 32.294 + .^hlB[!e\gpVS(<RLZ$Q6f,6+U-t?L#R?+09P;j?8n;5q7^4,kkZ?mTBc8Z\#J]j?I-1KHf 32.295 + !YpiJ,0/*3]Z68MT^_?LQM8rSMPPp3p@ukP5%K^[:su^YeS\Io#b<5PPB]THjPgYRUb#Qk9 32.296 + DX4:Qj<3X.kE,lb[t)%0tS"9;gY"CU:%K@!@(_:V$VJ1q*-%[Ie?n5ft86nKI!^"JYQ[#GA 32.297 + 8L*EJN(rM_`%cQA((STJ4MNF23U(g"OE>BffGa/l8A4_W_/gj()TbQL6<JjXW.ReTi(1Q?, 32.298 + MpYcS!VfDW_2oE5EGdGKf[1Vt<,IUL^,AIeh&Kq#F,nYj4@`NF*TPXtO-0E)a;FjuU]c=3d 32.299 + M>5A8JNE0>`"T+5"A0^)^OKtP`epF9M'Le(P7/_!_2edJ9`psV'Mgt@8IU<3)_<B!"Y@2MH 32.300 + C;OAIhC41Fo8i)\Dda/I@';+),.fV8[Ie')<2bmfj?IQq%FZABK>(NUiA/cMD-peX:J^B$G 32.301 + V/2J2%&S'u7nc.Tomk7m$J1S/V^M9P^eX;<&LAe!%bjZ7%Ml^lER!e<NT.iC#ZT>B*/-96< 32.302 + K%r/<X#c),`iZ`_Ed9o%8%Z!t#,s^Ge6'H>XMp[qc,%D$k+VC"rdAeojkp7RMe;BJg>#S#W 32.303 + <@t&3^6R.c>th5O1T&[QS5W%&:$LGHPHoRkJa#NsC#qdD+\#7'`_$8H?r*c=[\t)O-;Z*>% 32.304 + mKV0Kb2rT?V:8-Waqu69E_`*%1L0VA4UHp&_\RbJCCWc]!g2dj]lStE3@a:]@U6V?L--iY; 32.305 + Q<n=:5"7CaF_<edB>t>8(4.pidIlJ4'Y4F^hGKLU+?@bZT9MAZY!]ZaObt=rTb@m/<cf<gq 32.306 + H?HW=ftAZ3#fY1MC^@;P=r[C/!Mg09JPDJeL7$:-@*&Ps_U5g?pNf';=#gQQXF<O3>_4D96 32.307 + V!W]5t@&\Yr*.qXd/hZ*r+-h5KSm/6JMj<55f:MU`@CRnC0[UR90)&]\hgB@=o=ii!r*N\" 32.308 + IIG_b^R+rui#DWFYQb3FfG=Zu9GN)pYX/R?<$$Y\;h=FE$,W':$XoPUL@E2&_cV*o@JiQLY 32.309 + pLX4\;q;4S5G164tX`U],"lRAW1W+0ZMbk)rk1CNq([`a#O)?A.3mJE[F/pfI/HWY_#;0-l 32.310 + `=L(Em?0To6dL56gk@\cTZ8#=M+4%qDq"?BU"eZGC^s\VQF"'l@(8'kK4ET/74'`gK=,ER* 32.311 + 7p4>UO)S3Zdn2BuEkAVNSQJd-oBqApH64T&%+ERq*Z>--r$-)C11Pr?cQLQggIV6oBUe(T6 32.312 + &.FK9:RA`9ufjN\<j>&UcAtUJS2&OK\+JEpt$CAZn>U>W?QYSCjetecqQ1U9Dp*Rc2`CE)@ 32.313 + ']lUB318IJX;#L`$+0CIbU1KB`b=Fl?r)qtg=q*rDB1m;#Y(9<>G$"TS^^O0&I?mF][-Y<j 32.314 + QSpAoaDep?142>]#e"*+Id&(,]QVfFtRMO$"Y^SbhoV5i="9`CP$N^-,fNVaWVS#MA%\)`m 32.315 + ,tFj2&'`6V]GYq'RKLg/E#'IEfn0B.`6!K6E?)hQ2q1YW03&,'/l<cLamckJX-JE/Ma*36r 32.316 + *Z]LSUdSs9eqYm9;0/<C=TV4bo0H3!Ut-hCV_5'huileR&p-D"+$\R/e3h4M&&c=0)MR]He 32.317 + N]Wa`,<sqD_WZ8^M]PD"0mC59piEPc-FCH??43rWMaA\stDP,m>hi/cA*#sf",]^q?#L'OD 32.318 + MpR(D?0Fd)0/E"6qB&,Lq\T>"^5pciT2]V'=9.`gA79g(U]=7?((K-VQAj-AjlKVco3Q5[q 32.319 + ;$pj#SD98jiGDg,R_GZ_4Gj<hkG*d"@>3uX8:^Yds-rTiql:!qo>%(%<O,h4m<XTf8q?LT0 32.320 + ?N.DqP$G^TeHs14t(3p&<k):).V8LD7U*&24#;K`E2_,lEHr,HoB9%m\VIMM20#0-gVpO., 32.321 + P(i8Ll:+Rc?1&2ODTAG]05"(Qr`W)+]-&4[8ZiNLf=U+6?8<s=4ioWM$oY[[l5Y4\u)mgqg 32.322 + -YR^Vn'$T`*0oW@<6ZVBCr0V@;kbD229t^aMQO/6s"0ImrUaC7O7ec@0q+]3u+gV<'+UTp8 32.323 + $c7Gun*(5L`sdu8#-[h+E2FnbWq1mCe*[2YitVqG,#uPH$X`rhK7O;Ef`H%.n1]s`&=![/# 32.324 + 6,7+c`mcM@PmasIPDEH&^_XF&Aln9+VKnef^R0bn66>sHok0-,O'4l"VD#8p)e1\f0_P/Y` 32.325 + ;D=P0U<a(!f;[d9d"ZVX5V^8VBSL;0*;2,o9F*(X27[&7ZAl<u>DBf'RMmnP]3\!9iqV(\+ 32.326 + *[nREI>AJhRt4p(j>0rl44[e*FB)j.lT%7:(hh$jo[)c&sDiggTt'*tcB!jS-^ELe((k1t$ 32.327 + R*eLd?+t4,"V#$(`pjk:4j2sQh1.<nTbeTZ%:bX/sr"_uI,=H.0igBqP6m9rl*qCrQn\$.[ 32.328 + 2^="](bmll_G3(b5oHq2+7]@R,6K&t-D;%\!!;U41#sVn)'QjI+p!]^j]j")b7@H@XARWpd 32.329 + G3W@/0N@U,I3?YZ0`tAQQIt40B,JK_koVq8hT/Y-D^/X@S[Sl;%94l.,u#i,LmB(QRn05,> 32.330 + u]:'%0&956[4=,;Jm:d\7>:VI\,T26sAQEj?t=[jm!k'>mNY!Y5er7S:u$q5i<H/gi&t!@Z 32.331 + CH1!@rn;][>bh'@"9#7:2\U)K`/0/)=S/^l"&%:(OV6St!!.rs;P1.!88.kWV1WDbPqP;^X 32.332 + k3\"!E+S*B-cm!ZET.r&"'la=$d31BarA;T@1,Fe7P<L.p2D;tU2Z`pcUAR3W,7^Kq/-?S3 32.333 + ''LQ-[/o8*<R[Zmo:@C0PrTN#cI59G_ehABlTHn&2%e(j6<88.RP0ks49Fb.D.k(kWY`"E+ 32.334 + B,U-b.96i\fm9O7540goCOL^&0e-e3&0"JD0m!kkn;Ir/sG"4'9>K^><J&@/7U"Wo4T=?WZ 32.335 + tJ25*Q-SOA$l3FSuk\+u=$Xdfq8N4%"+)U(bpD_d>a[Bh'd'4n(C#PW]1:4tICAX$^)^YhU 32.336 + JP[033c7?g_>_AbrUn0!=\8oqs1147>eJN'jk2tBU.[!+n0H;kS99TrOA1.=nm`COH0'6Kj 32.337 + @U+\0O%51%@$SllZ6D$e*cVKTmr_:QE<;J1G`CtCWlnj1o<;%F*k=oK>;7$[,eC.0#!D]@\ 32.338 + :?!?CJtGq`.jqY1QgE;TESCPXLE7')3&0Sn<=DWebuI`";=^D\nsrN3/IRg!9eos"ohn#>@ 32.339 + o]p_G'%_*_f&UVK&h%d"#UfjPm]tpPpDW4eg'`3Q%gOu80IR\q/Jt?d?@O+rCbWh,5%d7KY 32.340 + ^ZR_BMs)3L+k\<GPVMR5oBqrNp3C(!0cN0j#1Q2AO&7c-oe@nQ?SK)R]T>2;MQtPn*El5a3 32.341 + EH'I=W=^E,7.*&GYk7$]p/+$0NN0[fG5j/au"Yu8KV0iY%n7"?QJ&2@'\%un20d@XZdo20Y 32.342 + j27;($<a\/CA0Zb]:m"1Q(27?GG#HlVB7dTJKVr9HnR@^].tYBC!Y&X+$"JQW$T:4Y@M*,o 32.343 + H6h'4ponsGXggq8AS:":?Z5C?[WPk"/Q[,7;:]l%j^KYm)),$i6.QVc;\`9905H]Z@KZXE+ 32.344 + qXQKmSo@\,\:8",5lGs5:+9?@^2V<Fn8kgH!hE4>da`GeV/$%]5iSPB@eU_(5#!K![,qkDh 32.345 + RY"AI),A3%gOa,52F?(CtQgAS^c%Cc,j;2doju*DMgLD"hI*'e^7Ze3Xr0>BD5-OtgkF*]e 32.346 + L=+]9^1n/+45k<$Wj8WjTuZh@5"mP.`N+\E=^pJ`>W*%pjR*WdPo1@R?U<&]f%&GK7GGA1) 32.347 + ZD-;(&AbXt'Eq+Io&RQ>UI`$)Ep[9Pt-S>(K&XSFupQ-PBPWF#V;?>a%nm3qMU*&K&H@c<L 32.348 + GHkmAZltdG/m#`6"2fLRVgh$=Fg(+RpXi(SeUP'eB!g$96Jt+jmn+gE2b.n4Fqnmq)-#4AJ 32.349 + !Xmp=6E/o$V"(r5GB6T\$efD++Q[<Jq>3)!q1n23A2)+&_@\&f@,E)+,#s#=qtafJh]/M%m 32.350 + e,UI^hIu"&XP-_C4"m//XZtdMO6S'8RhY0,TQk(lfbAOtKk`,5@X!=NDbT55lBdM`,4*GXm 32.351 + iSDhM%GX+CqAUN:::@r9.3GLD+CD:^Le>8C:p,.Q>S&[PCMnfh.X@lQFp25tZ,ng%@$Bj!_ 32.352 + <32'Z'V3&/rQ+6p\pePO*2+4uG5e+Ri=`Pu/a-T,FN7`]DU5>2%Z4DO?Pe[<I@U53`!K#Kg 32.353 + 4>Q#bU8],MAK8(.LA>DBG$Bj5f8o^3MW,qL@NV#4[m?)%6b+:3[7Q+=l")TaP/8<$_JVCP( 32.354 + R^\-4#mh@o[0.I]9QCXQ'o74q.#]D!Hrap;L(G<Qjb2!g+eko.X?$&3[-!JH(mWBQf8UK,' 32.355 + 0>b"<tCr,WN8@@Srj7I?0HHO4j,dRL*!Ip3'UMPkl"_@POR.$),4eJ_%%Jg(ZlAd=tSJ>LD 32.356 + o1qG\a2)0HR`,':"S6=3?(6Pm<1>abVg)@*9&@AmA/Wd'1ZcS(;[pRca^X4YBemT!(E^G:) 32.357 + <Rp!(9pit]hSkfD@W>E8pg6VfNa<R-GrRt&C3i0#@$_UW+YG)tXLJ+[WAZ2Vn2XueL0hre@ 32.358 + j/:L]>PcU%g@cf'>m+>0Wo@#Feo;I/SQn4LZ<Hl#)>1*HgRigADmK>5dNu1;l*Z,.U75=4g 32.359 + +Tbk8$p91YM-%Q;qJ?[?m0j_q\o"33`i\59<\,i\7-8_Udoq:AM?1.9/Sj[oHOXm(T6ffW& 32.360 + nXKR"n*T%:b$a\.b"2Q&2j%K71@iLE!M.gWUj^BtI@7AE*E[e&SkCH+nl_[JT584(YbX7kX 32.361 + r4]:+qjQef<$n0]0&qYS%;>Lg6QEO5dG]pc7b2RF1qi[*(co(rqj:AYQgJ%D*iW#On<\.ba 32.362 + N"/o&a-EuriP*`gD$,rE=(VB.Te^q>./\baZ`*#+(S4fb!a<ga]^`6f0Hk".,8#MiSL3ot$ 32.363 + *'n/cVhLn>-/*Ge\`pto2oU0"b1s0.ggSADZ,'X_]c,^A3SDDT>KQ_N-(Lg>4LQM?L!<?DL 32.364 + $tRe4H6VPJVMmj`gh=DghXa7/1];/'1-9#U(NeL6d!'rd+o32]X?-,(X)`e_4%LP>eRK@RK 32.365 + +93%:iD+*>b/42#hPOdnWW^p(P_O]>NC*a]\A?i^)"^0+RoW,SKX01=OU`5LuB?m6)35qt8 32.366 + 8:8_#O[caIuH][A(]?n\'fY.:FsRB+ubq8fjqP#g`o[d+iYYL4UB`o-ZA@e61C.q>!6Mj+I 32.367 + #=.10;&3RJM"VTq>!Z!r-0?4ZSepWnA*TH2:ERS38,sAHd,2q9c+5=/b5XA1pF:9'.bM49Z 32.368 + gu9E$I*G4@_qg`=b1t\,9l&Fm,2HBLg/4QtSTZ9*$8E_/+JKrVSeo8^8'k]uE#[Mb4Y7;;h 32.369 + r6h(jj!VXSJU/"=6"nr0i^/C=r'!07QA+Tgfjh7*`]V>+m&)QYo=F_SOq+r+3rWidJ\G0o' 32.370 + ej6@q!rDdC96.\r&-#X?O3N+uZPG*-[dA\31nH&cPqs^=2IDNTNA9k$nd5*`)hXVBAVYlJ8 32.371 + H`KO>CD_<Z-<m(Ni$`)C3\`#ut@m"'NMg<&QMf$]#.>?N+RRFTD$)4*P7nt.T,%2\EH1\6E 32.372 + FnUEUF4t#naT:LD*S\II3+"d.-=7qDao7(!<"Z>oO@]TMtGTN4FQRh`9F8);Q;ZC+uhh"[3 32.373 + BD>&4e39)e>tat#kP'Imq;7c;5CrYQVF&%SqM/M/1O5n4PtW:'=J))[ho#@ZKDJrqr58^6h 32.374 + p,5oD8X,.rD`Uj+5d')kEgM3m$buoTCP;*e,MierIP%LJO&.T=>V'2$&(_)OP"Y=+VBQ!i@ 32.375 + QI^!\kRO\7:XloR9(LO\"Pr=Yu^I.@!NeP1ark@540Dk)sgKhDH,\:?Jn9o_sD-Thss;=u@ 32.376 + @`8Yo>LPhL7DTi%dglBDrV??-#lf'9ZsomX_cYup@Y>;`#".Qgo#,277;iGlD5m[%$[qXFB 32.377 + q4tht4p&=a]]ft>`>IGS;(26fZESO#J+d'lWnsNW;h%*YZLU,Ugp4#B%d:i0@>rJ<PEN>OD 32.378 + 26pPd@BnL%p7#?q`n#CCg\1O#pA\uSIph.r>Q+^"K>PBJ(/.aa0cY0(HC\BO?a1ZrAuD2kp 32.379 + OC$<nTau'?T(8QXfcsJT&4b,iUGXj`P3M(hsh-6@.6,LX8]oF9Jc74\aG*H!\@u;(0Nqu6l 32.380 + tOl"CrkaQ;C`C"N)qAWpQ]8gc#d40bd+j7'SRDKY8hX>nf`+N%YOSj$Y*uOcZXt(Ip4/Y5+ 32.381 + tGF6ajf1(t`-YA<G$s.6G%o]=/./.BNa&orY=8tp.*#g4X7ALY!A9YVF\o'2nYUJUm/1efc 32.382 + *f/?@0EX<I*;.SPr8u@9E-Hf<2\N2LOq9q$W'C6#HUJ^sp6r>CdMLE7F6ic;iO<#$g8d`e= 32.383 + 8gLb@ohH_84[2WCd#CAa9W61];H5SS=&r>/Ego%`1S%kC;fqC!:R(OHdo"_8"U^48p%=):d 32.384 + >SKt,bF^/"Qi^kZ?&]ALg`/U.l5-1K0o1;W(e3hoq\hD[f\7Q6dG)>FBph*f60\bMD88iXo 32.385 + 5eG9(p+0D+_7u]PQFsV8[pB[K80l?oTu?@n>diP9mGtSQBI!<fR%`ib\hu>gXAm%YrQUe^' 32.386 + 7d3>P,JA?<2qXZ^qc;i7j)2DJ$)GhuKK?sj0HRV+9c&pupnK*=hL[:UW&\p-DNQs4a0n>q\ 32.387 + >F`WHak!#]@%uSSB>gN8H1CBh5ap_VC0p\<,CT'_>?L)=NX*^W<;)P4fH@8#VTle"S\&ON$ 32.388 + g4\&KekM2*'h3>_E4e+?`$Q?jj2A:86=74i.+YGtA]XSBA*lh<Yts[hG.@hGWQr>b65u$^Z 32.389 + QT-81lUgbW_(:T*Bu'L+hPL)]Xe]Xq7CRncPjCWfuJ['2nA(!,uQ^GKnprB5:qA$C!:O_`k 32.390 + Cs]DB\skY)HQ_IsR)@^>1g<:ApLWN1rMF\;bh`EjK$&5@=NaT`:UuP41RUMuJ4@oD`?=/X8 32.391 + R'*qY9;e0WGCqnD&4ptiXEFAISp^uVlu>`uRFUe1eT3#MiibOJO"c4#eimc`RPAU$]8'>h( 32.392 + DUCJ^J39BsjUt)",P)I[n:W_(Kf/0'<6jOoNnaWAP'):E&s+a&u5EPO0g'BJ3K&l#U3J%[1 32.393 + U5/enKH;22G^b8(HJXHk9s5k>\Iut6Qt<GO%mjnArg<m?NY08k7l8`rNI5h#;'jf#k]l:Il 32.394 + s+?]!.dNdr'mD($]*$FJk)PV)2M6dCb^<R`H!aKg72/8c^]s5R#<+roRVq=(.'lfF!9GJA6 32.395 + P-UJ]<J;)P7-,Ns2*hU^:N_9;BO)mj4Vh[9V)hN&Y+A?7X.fH:]5WGa1ZWn[?s6<b3ulK4J 32.396 + F@54bHq#V"1g/+A9caUK)C7)qpk,_jOP^F@B;eoa]@pdh@77\0a#1QpI;:H@Z&:F(+T`KFY 32.397 + $W;[H>E?gtS2K9;Ma>>0Xd$`@-KhW*Z1us&7S>7KJ*=9)>k2@2Go6gqe=i-NHPm&;O7W^[W 32.398 + HTK^,e1m0JYY.#W91nid@;PmS9A"(Jfc#@'PP&2%+r*MeeKZ5Qnq;h9#=Bo=$E-jgKgn+$6 32.399 + sP!B6L<!i8\-*6C/!H^OHAZ<-#D_m'X*LV,'[#Na]WC:B/2:&Zk_;757#\^VfIHFeM8jU.R 32.400 + N!jA/_3pqL`*(<EZ$g1l,-(Z@_@iFGgl5LfJaU;TKT++Vf*XVoNXTlWI#[Q<qfM8moOX<&A 32.401 + 91eS%V\73`GhrukF1OtJ7.3MhF'[Ig3GfinSEm85+-p9o.,RpfE(4_(gB#2rfKLeoU%`@=o 32.402 + V#hjkDD93GI[mV"_h%C$:#TZ^O`.mJY@OH:N[E'[1B(0+^<6l=Gs&h_GRDVr>.pPGTV_?JA 32.403 + &6KAJ>P6U[OYZjc$/JO`h6aV7f)$oNG")c1e%b;di*K(pK5buE+BKWj'^O^^T`+I)QjWr(q 32.404 + k\m_jh/M+)ZO#GAT+frVSdWl%cU+dLTP_H_IU[V@iT/LY;PKtCctckhuMS<1MERb.ho%2.< 32.405 + ii2hSn+]!"g`jOOMaEUcBe6jLhBPf.(Blpt%*/]X]#dQ<bqb!f0Zh=-Jj(?b3d@(Z3sLD!g 32.406 + Y,^K@f>Ao,bcZS!rM\\foZ!aUcVk$>=#ae7*UgC<7c`1l=%N9#B:0rWbcW8o;FBWE/CF2jN 32.407 + l=9B4ICKI9GeoK(4B*Djh:R6)$Vpu]_!0r4=!;02Zd3qX[l,#_mfBmu*2<R-^h*Inm#&DiO 32.408 + _cg`uH^&\+Y9V`tA75oL0!AQSd'VL.1H;R6#s?J9lV2,XRdHX:G.Z$XcYD&`Kr;?`,1kSDZ 32.409 + "c`m4Eb'"hAaF8Ac:[d[\[lq`2@EONO1$ic$%1`#8_870MD*\8D*ghL?u&XEZoGBL,e;WA% 32.410 + P.IXWtbrCX[0'U/`CO3<[Q$:-N,M^UeH_]XE3&TCKd$_=L^F?oTfoo0-m5=*CZ?>.^7;:,B 32.411 + ?S?=YBFHBL0Oq7(O\9$*I4PuUS096k^fgYEsBOFA(sm(X'c*(J97V,NF0o8(sHie-R"K->7 32.412 + Z&"n9%4R=-@\qh.!Z*jaToaO.-HB+_=SBIsW^A6Y^DY3D9Vm*"Ha0nR@'[FCiF7Od>hDm:s 32.413 + mM]$7Eo#!F]=+F#ScjZ<?StK"D\CEZV2c^BWob/((Z[EA:<Gm\&]n(YC?RkD&P`Mc1JYXI> 32.414 + T:i]NnkJ_0c8>%kB8g::$6saa8#q;^jMbFe%IRtob4:fHK#+r8WU)'.*L<7Nhtb3:C6m9X/ 32.415 + Gc6#l+B0Sb&I#H27HK`;8p;BWQ1\igc]Q;Z'Tc^RTkG-SX(a,N""RI#0B-^E^oY]!dgF^VA 32.416 + -H5N/V&)biG92n[>-SN97NOjocY]g#I*^uQ!+9:Q`\SNg'KYhT#149R,R"c*![SBM5Qqpl% 32.417 + s!A;jW[Nkpfj2O<fFMGWu_,M17o<gdC#`("\Lr$+,Y`:udR_MN,,GQ3D6dRJrd24qS*kA;e 32.418 + OaI^E`#cK"Lar1b\SaJ+)nu4h4hL8KC`"<H/jAm\2`**0fo\PL-:="X_k=4t>NA,Eha4Yi# 32.419 + [B0j9Jm)40,3b,34lf<S01(\hM=ii0\eoEHl>C073k8$&<%^Aga0k<'uFs$Q<QYlMY@u#bR 32.420 + pj*OcaN>k_C1;"H6chOf>]M;Gj\m'h"!#5_MM;G_j=48t'j&Rg[2(RfgL#$DP)2`,U&iN(h 32.421 + 5ZAB%H?6bE"[&IHE"#K8Kb#b5.[KN8YS="*ZF6ZKk,<!#8M"%!QQ7^Q17ghasrD8TQF`.3D 32.422 + .'":=RC-&^q7To`*@U6):k-g/pZocMD]$j'SHAb1$a:s6I1kUW1B#m6Y8,<e7I"d`RH:WV) 32.423 + 8%WESe1!ZSQq3U>80j29oT.'uKh29_8CWc_N/:+\P,Wum8&MJE,HjKc=-9R7La'qgm$*C+B 32.424 + ?ALoalK%I/>(&&TZRs0aV:G+>a`LfKh8KK3u"G%-tLJRT#p1rb+tpT/$'nMHU<?u8Af[<,c 32.425 + 2ge?E)p7.s(+#['RqD[*):$at0rWr3)tCZ)#TD#gBVJFM#`3K#k#h9&rf-N$9@V,g4EJbTt 32.426 + 'HgpYE\QcoL+bS8">FL00E?57-jbb,it[*-\'F3N+&7X.Bl)7bG`?VGjpbp:`Md*,2%b6*. 32.427 + BbqPj8m*C=CXN+;kc(pTJN-pn(FU'mQ#M=GhFP;Q?^PCn/c33.P1uk)cGR!qZLVS->AE6L= 32.428 + kg#9G7,%9$m)]ue+b>/EJe/`PAF>.Z8-C>RcBs=gK_(#@#>\/E:Ls%BFSF+42i#1nLM0]iO 32.429 + ;<O@-35t$JM:jC85%9bci`qAJ;jVda<"/H!74Wgc+KAX<:E_;mfZ0G#%[so+>;*WXF`kMd' 32.430 + XA1oad-TIZ)_T;'c)EJ56;B&.F\j!L4GJ<>WDP]TP"@V9H',FU6:jmf\_>3c,%PI34?f/CG 32.431 + 7M;C*O80^DRerQii&"J@s,3T,g(+!FW3d\6\;Cu<TemnpkfKA^=fph%tXWWcL!di_rF2(I' 32.432 + D1t,:D#N0ra[3X)VBS?FTdo`tLJ7Ou(<E%7Le)`X>oW-B$IA)%idBQ`(+;iDc/Pbdr"#s^f 32.433 + rC>@k8CW`tLJV^i>rYX,E!>H,e=B@ao0:[6?%P<\"a(de&1Ie5:XrHFeR_d;QtuqN:Xm/n# 32.434 + CpateQ5bi>cnN4Q(TW/0Nul>,Cudp#LIkH`EcM5ACaa)L$1RL]d/;6-im.oMoB8Y[;2Uu?5 32.435 + 7]E!t\j;`:*sj@0\r3=!_n=1ujA<HAA&)JRp*\^bu7*F4Z\&Scn>6Wq=B;<eOH[<rDCgGVF 32.436 + jUH<:o5fHd@!Lei\(=b`kRKXHEaFbc=nHW2Fp"ZT9^`I?4U<X*MRLK0.4ooIc/%L94\LHT= 32.437 + %>pP,#-@n.&LJW$E%@>b!<S#Q!"s@9./W<I*2$2E;$n-U.NM"o.TX?bl#O#RupbGj?AqI^i 32.438 + >%ORp<LK+cF,)/ifu6A`?rI3lCg(t`g?#K=\7u1$8_'@1#7+^kSZc6d[#l'(3n0JH3E:[(+ 32.439 + bcbmKjZ,+TN;?eD)a,T>NNTRn_aX+AHhj/!cSk(Qs'S'+]/f!>Q)RsE:R4@j4Kc$"9:H:4` 32.440 + >n*N6_Z+L!Y,NS]4o_d+oGaQ6:7'E+.(s(L%mX#7+]@Q-rrlfT!SC'mNmcBQ$b`,QYDVfYB 32.441 + M"-t(<e\)!>.hBh0D4k!\%.:#pO<L@'ELagoOT3aD>hOr$ITiVIiF5!Ik:B33QaBhua6A*? 32.442 + j<il%U&E-rto\WOF?"dAH:"=ePe;&j"#2St0[JPlAM*G]oK.nf_"fhcN63_*XJtQE%^dNh= 32.443 + A_HG1#;-46/dHqK#h.^:ho6#][>9V%IKk$l"?lNX88SNd:uJQ8i?]RtGY6p[DIHQRiF&Na[ 32.444 + <tX+@Tpa/g9<"-#[)pBEX/NnebtF/n2Q.[i6<t7!:D%ga=H7>(?/@@Q#M&)=E=Z@4Tb$^?= 32.445 + a!=0LQ"kkhio/!<+Um/gb'.Ol!WP#=*>8W$0YZ*!Q+BLDY&e&:+E),_`Xb"0G%JW-V_PdM] 32.446 + 9JLNYlA%R9"T2$WPU"^"h-YSgoH,lo]+".1QniL\u3?t>B*Kr.K'%SMY=0pV5fK,A"D^bu8 32.447 + X?O.Kk#=*V<!%8#qN+FtRLBqf'PgP6:=F^laJehOE2I#7^>ij?GLR<,f!+:HS1#u%SKs3@b 32.448 + 4Q_E:(5HL5KSF*_\-hAKI:edNk+Ip[=rC]#FQ6JCfYD0T@!.8BGDC-b"'@/Zoo&r[*<hFkf 32.449 + lY8hSp0>"Git1`LX:>PLhHqT6s2BMg`R;2Qs9_q-&9!SB*MW'>j(:AKS]TJa^ojcPi7De/- 32.450 + 8!qg9s`\#_NB'HjARuKD9%\`9d_98d%t($fHJI<g2c:l<IG.Kr@n'J1Uf8p]XZ3<L@%oGUU 32.451 + n*GA0gCl/72)d:*8m;?ks9#&%NP8;)\Q</0T]!M*-FjR30V.#$#a#-OM2m]5WlVVG9k"fP? 32.452 + 'QnX*qp]XbJJRu\!<EY%n5m'PtLRtU5G*H_:@Hf0iJgIt]YVC`s?"ebAL8\d@?n?n!MHn[" 32.453 + C1(*Gpe$:DP3[S9lt(2Bk)>&I=bR\q!rsEWO=#ND=b?\qgDuO`OAQ./U24_pk,u4[OBD``D 32.454 + V2t%hl)7an9kF.0&*$NJll7/%<:b^h!NWV#Inu5?%ms)=G#`WA4TpW5U6MH/*'/LjA8nZ\/ 32.455 + GSh@Kjd-m\X7JI-]%nFkQ0]hu/Lc=<*$L*/C2BL(IYr+=Mg9=kfeqL,J=QY3PJ1ps42/#2! 32.456 + Yp84NcjZ.EmUBD=B:G(9X*p]^.KK$\h!:3Q)m"QEb:(DpijBQ`PC*!;ii"r6]bE-DOpHis. 32.457 + (>e[,ga<Z>@=+od/L7igIQ9=Y<'_,/0#M=BYW,ICJ<n^S_cdkPeW+#l`2J:nG:Xs-0<<!*2 32.458 + IpgS;ng4``@<@0A6&'N@"[Gkk\;BUeg',1$Da7HZAt`ZM,4a>;``RBg\7Z"O-A?+_JW<.O8 32.459 + /)7F6%_F7KWm`+I[KZf70V$t!fm*]V_3&0qf4]=A%6r=cm<_'X)'1uL44d]Ss"d%9*VM,C3 32.460 + IGGcTd,n?%nqji*<Z5I67&H9]*km#:OAA?ql?`j7/cUDK$KuGYNiFD$?"t"fO2./bij1)0J 32.461 + bPneRF2f3@+'L1\E6)),e0J9G`\*+@c/jWJmV#]^.]H%ZGa#"Jsgo^DqG-AB6?Kog7hgnOs 32.462 + !Cl$.qG3%WT[p4+\^5&q9#=]7.#[RV0BA$?`o9^q\i*$:4D?[OKKr?eMIlPh%Pm03:"-@j7 32.463 + DPQq:JDMqBQY9?P!,U<-!X7H4M'-R<OETiq\k`Q%"gD&4s")7\9R+qjK=?m9(Q[8LIg8`O" 32.464 + Ya;9a=_Nu;2'6GJZ*16^d3#1BD7KdKqL/P(.@sP/p"J%LGtf`&!1FrJer!5h[j@)mGI]SP& 32.465 + 7sfGa.Z1OBVlb:kmO_nO.t^VlP]r$$t3pLGtlPom-jnE/)se"kYg:TN(YmHuk*D!dGE6#X8 32.466 + D+ZA"Zm#>fIGQr4'C=9@+pA5.9"?ugug@d;%n!T1bF8&L''`;9I=H4bF/%Gt^j%g4";##@j 32.467 + J/Sa`&EW\!Gmd7Su86CPL7>?gXmsK`9^Vf7(</",erFK6h=EK:RA7r\GF_DtA*<("DSGAbH 32.468 + LNm]kY[mrf4R^ihL!Va[J8p;l>jW<GKX^*$a8pa?<rSH:j8SAJ<Z%>RfD9+j"COKLDp)b#T 32.469 + *?]NLG1Q:csHQ^<`D%Zp/kj@mmBQ?TDkbae:;iM3,o/\>6Q]i";itLBRgg%$Beec#mQ!tiD 32.470 + >mkW1#,@SP'EgP(i>kF["[N<q>KU]/^TLE/>j"G]P@F=Y&,$q>C8[9P.3`Ut0BAS5*]q\`E 32.471 + I45G1hd<&u<@NCTdBBiMZT2P!X2O=EL&V,TrdHIcgG]&e+K?a*XK<]_Unc"FCeD-"8[[bYl 32.472 + 3>\fMcoBtu?]N/rH>JoIeqgRI@=?IoG@-VhsMWA?J#[XUQA239mX!.35Ib37(2`]7/_T:q\ 32.473 + qCIf6bZ8%$Ptfl:eb=gNCj'#GVUo[oghq=?^#o';^Yj'U>WsMONQ:*Y?VaamQ'B!pV@ZC!. 32.474 + 2GG*L.PdQ_N;0[JMXc:$CAB<f.hJ-g5NtTrENDAp,bTP;)hIm6Q7%_<bEfXs1f0S"K!f)6j 32.475 + s/`"l'gn_2rIR#Jq%2,mhGMWl2J%lfmdGY=n0[^p>`%7&HJ$n`23Vlt]*+Q%QTp@@lYg?Ef 32.476 + o2_;7QjL00BQ(!S"Oa,,Ap?q:j+EO]hV&KI&^ac^J2-d!'\V('QMXK="r&u#)J*lg:2@@AJ 32.477 + C(mBiR:nAB8;bODu$Xpl77h3QWMHloHZ=8/$Vb+$kP=<:<--]5R=t57REAU!'LH3=)d?JJf 32.478 + j;^"9+%anFXY!2p'[-Lb0'gG6euLLqm1<2oC!^oBUA1<ba5p^]/ska`i-_W(@FfdhKUJbe# 32.479 + K;s4<n6=-Al]kkU#pc&[S.T@=biQ=AQfk/V.nYLXfZBn'Vt#9RO1=t;A(;>ln"E2J6,"_1G 32.480 + D^_MWUm58tDj,UmFIsqj)Mt"n>u.%tap''O;3jFuY@T&Q4T0[a#VAiL"L'LZ0/2-&J_1iV% 32.481 + ZZ'`C6n0FS^FruL9:n2#t+j]X?q-.0eQSng[^IMX;m_,luRr)h$s+gG??O![_mA0!&fqNp7 32.482 + =.^iu($E,&CN>cN]Vs)ipV5`aKY-"bj$PG(7*(Cf`B9QjY"t<h[$g*S;@gITrP!e$c>TZJ0 32.483 + jI0s6Q1A%EA/NZnMBQTUK>$63Qq@n0EO]b!4AQ^2nXOM<a7:-,/W:c2e2NCeS;V?4Sqk\P0 32.484 + pjh7K=i"u.bu#6jEV#D$":qaRl%4&YToIPq'p-LLDF+=C?"u8WiD_9KR.m6kDeNt*`&'_q2 32.485 + 4G7INO>j\n`7=\P?ZIUT%o^#^cHSq%b1DG%6Y%Q4/&/`r^.+Sk"(??5:Ht"hjB=oB?&g6hn 32.486 + `A(ZgeS5"E60J5?^W5ZeHri'[cYaCu,6'(C\/oEd,0jEqKVE&,sW6O!Ur9ShZ'oGSlhF+`[ 32.487 + YMNPIg!m&&u$FDYoZ$\&*+PRohWW9j]T_&KI3JUB1WWni=%AEtkLf"X+6rX.L7p+mn@h;lS 32.488 + !BMDnn957,Zml.Om%@9b3'RGND2V7`4@]t;-V>Y(%?Y$G`V=]dLXe4EptU89aDD7$A64WKn 32.489 + 2b#8H&khj5"F9(+3gkp;p[A85kRVMA-$0t6ZaQ*<-lg5H_2-/c5N#m]JbOqQ4[Up.YL*%$I 32.490 + N6L"sUE7L/EOSKlGoj6cE5"Pc?McJ7b*75$CSCD(Xkf\X-&\4-!a60?15q'#P8I#,,QDJ`K 32.491 + mljG[:IE/ZQ*Lj:5>Y^$^E]M=7HQQ8FeA;qa!,?+/`R<+=M$]s!S7]<6uZW:kb\_T@1K^kX 32.492 + 4c,[mKn6Y$mIZWmHH5+c22$\3/(<X!3"2SFu`IQi("pBDaK/au@TZE8$4kRjY916\MDGG#j 32.493 + <Qa"l8*L1#Uf<A;35t,>7f-I,ab3+l&H3NcLg:6a.C5S/\-lAK:([SiA.-6C49oR`*^bm(O 32.494 + [2;fKEu1IKFW#N&TShBI-I2C>*@E>X]=Z*=fY%*HV]4X4mN4^T9X5c%ftNN"0cGUDSS>gTn 32.495 + YTu3sdf;aF&nC=uV(qA/HI";9Au5&V6=PXWn9`NTNPk.j@n*egqnFd1'UIT[0l$:<H^D/Cm 32.496 + >TqB%6+Bs;$7-%l?dWH?O0"OKq#68R7(UMO*@7H-/$atkDTi-::@`%ZnHcjq>A0E^W36W5t 32.497 + [%q0p^%oLd>XM)`d="`W?gFYRQqAk[AG-Ti^C=%b*V%[?E*RR5Fkf&pi)l1!ua[&rU`mAE- 32.498 + :o]F8#t-:ZaMAVnTPb75cCM,D!t#k4*WQ1YJ+(Y`^fV*K+9pgf7nD&G0pkcGOWGP'Le_3JW 32.499 + o)9'81]Af4ZhVnG6pR\1BnEd*b3-]9p,(W#"7;[Xc7hh;.(/j\Af+(^i55EB8Ef>"ij+R"U 32.500 + hU.O7D'maB8sHP2nDAeHCSu=&U:V3A*E;7I6bGQ'r.ZUJO\>.ir/Y9au'c("kJ3bXRk\$c, 32.501 + (S`i.Q/UUp#,dqE)RAoYS[$T_ndm@EjgGp^kAGE/Aq1</Oe'b,[[YJA&1!U^\.-eMXXOHTD 32.502 + AOOk5!Cig*UM,3]Y5p'Ui7&BRj,XqKS$dhj&<8#@'6!S+3K32+[M`AC+f!.,bQWaAPC_Ls. 32.503 + T@R37?>IuuF<%WSOW!!e$=PtR!^f#$0Pj&\JWj=hOhHT=cr:>AZ[.>l)Tm3t`J[es1PS`E* 32.504 + =u%rCZ<QEKV%E7>HA!Gd?hK>2Y#X.c<H?LgcF$Ea,?[VAdM<6WhRdreA.NB[P='n_rgh:K4 32.505 + &>g]C8ZB]3Q343)#,_F;r)UCu@RJ7YI$8+U9^E(^qX8E`1[D\OHHHTb!G*://q-L:hPCB40 32.506 + OS1TsY(nn*ouS;QhtY)R;(2u>oY%C"\+7Kr7a`f\i1!;[YS0Wu2NESS1?@T4iXpZCR"CA#t 32.507 + Cf>fOQlMZdLG#Y8#7o8;?_[\^6k1Ca,@'9q<duCeE?5>i/_@-##]8m!.2P,BZ.)`\N%D;fm 32.508 + /Q:DN]FD29S7ETdR._P1T<if@bW3>O,kFH(!;YKc.(m$_oN*\RA=\EsH':T2!i0];&:Q1dJ 32.509 + 5lkacrsLl0Bs#9miB=)R#V1G*/6[Pl#^#ZKX#I)`ZVu8Wu5Go1>X)OL&D6`:Zm.5XnBkHpM 32.510 + e#JPtVcCK7gc<$>KtdpKe*("jh2q046hU_(e^hk@hC0.i``I]\Z"GG6YgL'2oHa(nhEKX;F 32.511 + )DW7DKa!91R0E"iFO(_Y19!>$CU.HL-%UrdM_jIt]W61bfK)B(-;Fo\fS!GmF_](Y0Ggl9/ 32.512 + k%DLT#L<<n]#!lE&!5o]T6k^`FTBt3DE$QnDV?]cj$BTfDE.nR9Ye]Qa`h@(G:V^7hfEX)) 32.513 + CrZTNMf]m=>SE&[(d[@++ikt.67F5K`<!1XTf2H0'a`k,j/J[^8)>!$d!\`I%H=rP:uMn'k 32.514 + _O1+T.7eMY,W#JiY]qM0oi%KNQB27rlmaabCQi$6%K3u>6Ucm=+Oln5jT?q&0'X@iUH+["@ 32.515 + */'3:idE.^0m*d5)JV8AHV*Vua1B+i5&sAAbV',iGcCi,9%J/0o-$#0<MH7g9L@-koB*(np 32.516 + ::J^>p#l9A^E_1@[[JEE8mNlA1=i+s_VJER@*F<%!9(TfD+Z*bNj\JqLDX/YUS0_5%UTG_1 32.517 + fgC!kBTkNYmJjHT-(kI,UXhG0nQko33U;4bUJTd5CU)@Bu*<ojiJ^Y`M<?SL[*+HGE+j(@Z 32.518 + (`2``%T0n`1*gU'knkSj*FZ#eVth($:(i[q%UcCSnRuaXrYAn[#R0u3%O_ls\/)nS_',!], 32.519 + .qfuN4"4-_8,Q1/i=O:C/&*E#9ea3!6UZP/=U(2J*AI-Eg8(oR45$k%d]H#E"4[4cKB#`1* 32.520 + E"j@:Bkc(`G!'6>ig;@CYR\N;-;Rb\Od!^qLWHEmO:U*O;1`JPRn6qEY)i*`DM\1A*;2Rj, 32.521 + $`(rc%]"l'`nh^'MG#d$rLD?c)OBFJ:%d)4KHmb8YrHAhm7ZRS'iB;%*'<#S%j&]`rA!GDm 32.522 + ,K/#VbmQbI4bZ%>'Ek'HY09]g&1M&IV)(H.m#a,$*!8It`J?R,j'sbnnkjUpBDAj[c*FUo? 32.523 + 6)G)>;`F771pIl,@(7#o3Z:;E(dZICP@u9Cf/p&0"V\^6F2^7O?t_k$r^jO9;Ze^hFOVGGn 32.524 + P^)KO_A#fW!Is+&&?+$Te6m-(mi3NR`nGVUWOTo.N"8G'<f42i1b.ErB=,('u6mT6$s1C\; 32.525 + A$7[c)!2ZcPRV3CC/9;3PhYc%cbeSf'iD%Nr]31<q_L`X6-rp7]/P"@VuMn/$Xl*'k2JTp? 32.526 + %HB0#!C^$NoaOl.4Qi`:)g%J5_`1mBJ_a%<X&8bAZ'Vu@bLgF0nP(SP.RJP6\sE7?#B4oh7 32.527 + mPT;-Ya?EPd%(#=c'D4S@?ka:PV$g`a%5o8c?5p_('o'L8cLhLM9H`:r$=I0a+L'ngm\jp@ 32.528 + BN1a(2&/u2(dY<:Eis0Ze410,%"dakYKiRKJH?^jX<!K#-/lQWJ`?lq,T.,'POqn!'7V)IF 32.529 + qS3p)<$0Y9+Mtp5T4c])`;RbKKq$F7b7X0+b9n<eV-l.Lt?Mb:r1Ks!KB_1?E-pJ_ePbLmK 32.530 + 6.(9Yt]_4jn=C5pog!df*#D/TNEZmImmF!@9<0:SJK/e*7d$$4Ui9M.(?`Ttp`ZM`Y@,?M3 32.531 + Vk2=s.56W-^")aW7"Jaa@>0H/Gd<=QC2^q^9XEYRIp)[Rob@DnF'll3bL%mcHaPuC+`:_uj 32.532 + ?(L^ts/uqi8WFW/2.Y34`2>:ZsYtf3Em<%\0N&onTpo+8;S1jP@'ZuF&;-N?T[o3Mc27i02 32.533 + bUq"J1;V$K_0#Xoh@@lN63(S064Ypf-4>I#&4R)e@@lPG=[U'u$Wb'o^]kR_a_S?0Cu]SDZ 32.534 + DB"RDARk=*&5iN@9C5$ndT#`(]e^uE<]%/c5_E!(BItb'QP(!ZjBUsDF\(A5_'VXp^Q2>'T 32.535 + 9F?U"".DKeJ!;EpNQ%QSfs&d;u6!?A>m/_7CPkr#;>M'g\c4Td7*GmL2f.$!*a7<N%%B;)% 32.536 + Q=mIl-=;2k'3cX)4_Vr__5_45r4>"g(U?%CM6$n$3`9Yt4W%=jf_i>)o6p(L1f(^Q3Cf0*5 32.537 + fkQ\N/^S[:tiO+&W[sY[//U#X9F2\^,,S8q+$0?L;Vab<MPSh5e*6U3HjIm4[5TDX<)5U;4 32.538 + QOqAVh@-'W(N$n\[O*%hgDe[Z)IW`"/_14nM1VJ:+i/UEGVn#Rc\&$``7M:8JZ]m:i88B9% 32.539 + 4jG(8&>LOG@u/*s-+BUTS41@U^gh+'>YB]ergh8gD).*GJ`>cdOcla3YcC4!!(^h5hl\_@s 32.540 + 3*'4"nZkDqOs,hXIlSK@\B`34-Gn08lNbMtjQ935d99^b9]HI8i:X2Xh]0l55PHDFt6O2[9 32.541 + L47T%-@*oVPa!QIZ]SOK5pNV4$I-!Pg!A.LrX(mYIQ-@n6Yo`q4lF$L$-!;DFt-oS4K?;18 32.542 + 7C/c-<@MCb\Bq^+hTZ!?TAU0:oVVu7u^l)s.<2Gap168m#_p4>eqB(:P*<F1skGf6g/=:t; 32.543 + S18HA_m5ZfGs0^"(U8I:3@gM,A.2V2#+;/-q3d[sW$f*u!k-]X.4K9<Xp^ni(DEDR!?4sXW 32.544 + Gc>iEg)1h)%7@E+\0[,<HMMriG97f^)R0b*\4K_@fG2V'Yg=dTD>O\,)8d7ZF0<&GaGI,3, 32.545 + :ig[MH[*#n'7[fn:W8rWW-<#nHV*!N$Q>+XNgU3Pg(`iOg)pBH>!8`s8CYcf((=6K@cV)3a 32.546 + *;qIDc`-FFYOV3';aTqZG9"fJ)2;spuig4cH6d`IeW)[t:2#X&;?#Cp5b#s`GF&GR*qjr<u 32.547 + *;^'.#!Ts-M+qUH?JAHFARG>qt7ZpS-)BjGsqQ_/e)_$!N)aG@F/,C,El)8egc]]qD/gMBE 32.548 + Ae])Ghk:"9eHE8jaeE_K4lC$soA';%FH"%#'k(Z%eI>8`IVu_b)Z!O!Y!*\R"q<+-E'"Ii1 32.549 + `58VnBd>7*9!>'B@%VU^TQ<s[JOC@,%IRU05ShQb/)gSQ8Ob,hNVF%$c.;E_6HrjE`AiD+* 32.550 + StETf<u-)Ao-C#VTVca'l'I5q@M]7`!&pH1M`+EIm(-]B:RmJPEdbD7lOp]_f\_gLTBH9d8 32.551 + 1XFFfer246_pF_RcE%$dTTQ^=FNq5.f=[)$2ZJ97<sRj]E&-PJTSnU!-V0H%E=*-A&;].Kh 32.552 + *1));HGo2bQ'2c+]kG#Tp560=S+[-K6%p:'82;!JnHr\.5=g$9rEl%-$pr'cFVA[5%IA*6$ 32.553 + "BDq!!r/I-XPp)r!SP(rT\=Ve<Pb9L.fd39UnZSd76@Vg`?I_*M*ob'%;YeDI'pqo0>4WDZ 32.554 + ]k?"15Oq@#^h0_ToM4PHi(^47QZ-*D'4@&O7=$/[.*'S(TUmegKHTg9jUTHUY'Gr=HNJ(UW 32.555 + m$Ad-.].]a,Ik&.S4n&_:HU..>?M.FPm]`LL:53O>-3a;[FH*T9<tiN10R[5mpjg[fKHV5R 32.556 + taU`#lW'k'KL5ml;t"$,/+O<fDn&JZCXUusk@/iUEIX8>J]a3s2P--!Ej2m3[$p(K"aL94H 32.557 + uq+Jt\WR1bSM`5!XY9,'3#4V*?,6=>E[^\XU0n_i`,BMKM!:nZFi>LIRh=d]R+DoJ][\m=( 32.558 + 'RE"c!Q#dDle(%lhu3Yq]4k/hm,%j1]HOis(@9]t?TJ"T(4+9h-67,jNRd@BI[1`c4`/6$> 32.559 + 3W2M(]c)u6(nq)4<=7B'WVu_^r,8]Zitfj'4SJ,!C>jVXlccli&cnSlT(eMA/&9:&QidQ5d 32.560 + Q2KA'LC36&Tsmh$LmC_9agh0KW)JBA=F1\'JTT-.&q;OKUqCBbrNng8le?rTFg.g)8j/&F, 32.561 + 8#iSY[6Za-0BmG`jQSmE.\l0]V[M]N+Q>M$CDL30@H$/g,2g728(!#u\`@Q,adU"8G9/f@t 32.562 + Oj*J^%OVqZ&"qKUU\5K<aeJ&oD3ID$sl_1BIj<i=d[ka+_V2s:G1[@>uNM]l0L.0e%JC?84 32.563 + ;A)^uLN/9DRWq`V"#@mR.$9Z&I0e>m37O:d$(FP'511a+fBo\#oO"7?iNN)cHhsJ:!l(r[T 32.564 + =+M[\Rh24%iE^^"\1OH^E$-TNZg:n+f69VDJIILnNg?5+V##kQ".?*ngZ5QM+SUK65gcB+: 32.565 + XX;\aoNE5N*0@<%]$tLI:&5(mIcE'oPN@&X_'c3?=/Nj%7?(!_F[>8`%m`"KklZQV6HS)3i 32.566 + E\24I>'&LZo/o($f[SBSt\D.o_Y-W(:?.BRW--S%fa'hL)R;l\@teXFHpY?e83X-NPsEEH* 32.567 + SXNVpniQSC@6(/[*1ZM2#O_q2LDDj!+f%"A.S+!hueoQP_8$Gcj>?RKN>,cBe`S&2+AJWqb 32.568 + )4\]aW2_3P<e_e*r:F9+,Yp"'8m0$I=h>U]pVXi#LYH\?)kGRKH+i*Rp`(=k%uJ8n/3+>L< 32.569 + 04r@j)b&;*g][%ea%AT*M1l$\_Z^rhqf1,NUc+Vq>ChR=,lqPpNQTY+.(8hrdMVN/B:p.o# 32.570 + `54`H[%PQ&l[d!PkofNZ+2$=TE%R7eu-A6>1r:HCnf;S9:*n+gscLL02GF(Lf(1=$[B[;Zf 32.571 + I.6s16iU*sPQMunQN5n:n#9MV&]3J;IE7lfrD89,r\502Y%P*1Q?A;_g,nq<a,T'(+E`L4a 32.572 + IIT[Sc3@\R%j2$+*$Y>F8*u.+U:sLji%,3[7lM4g>#3EqY-CA<Lc=R^,qc$4Xjlp)nRO1>] 32.573 + ELWlRkm9sWgLbW"#'l#?Q%[hN71MbrdNl089\3'7b5#?p#)2:+/"'q0p1tJ^l-<lX8"%S?+ 32.574 + 0Q\&>?:F9F'Vjija,pD2?HJ^=CnUm?Wd"jP@[m?AXd=8p4IVZT?h#iHmLJQcYG\)EVjG(pB 32.575 + >kh*bWl.<1AM*Z<kMZA-O33-#!?>R.,eGE4UhXoR<9A\_^SW7fb53RNnKL@1#=%B6M8HAf$ 32.576 + /XiULG<N+NAE7%+:a>]6)9U"k!da5-3H46N2-?tABE;O`Kq@"jpX3J!TdA9k%ehk*E<k'!4 32.577 + `Ohb<>-BU\dR%u^q>Rc9n==Jsrr8CIdo6FXnL:T@3@1XY<Qq@n/WDH46"aSI.(s2<\INKrO 32.578 + CuK3n\^Y@3F]g]#%:tX8*pL;Th7AB=!;J5c`5r4$(<&#VBc/;/hKA3jB,em2r.cK`S=H8Bb 32.579 + 9!1o--^LYk<%"2r<GZSg30O?CcrQga):NTB3L[q7r\_pR3Es9LHoj9>"9,nC"RRq4`c'qpZ 32.580 + >V;F;4rSZ9o-l:rk-)OZ.35`VuZ6+bg/.Zm:sTd+De@,]TVb(+0;GG93ZZ6f@o[l1=WM++o 32.581 + jZ&tc)TqcN:nk]E>M3LjN;Tk#QMfRG`/H+g\QSH;L#XpX+6>mBem0gm^4)?P.P3&+,,7MtY 32.582 + 86Z@K+GOB>RW9G;!Zrsm>"tmfT<#&h,'gRMBdXc[Z$E[u+%Dcp2c%+/</(tQPpjiuc'LR\= 32.583 + (*c4lOV2,&9/j#8niC?d8mP$U4n19X3Pip!a.SS,j#eT>F9;,3.K:.BE(LKtd/'KI3+!p&D 32.584 + @M`d/qo\O'+]aWL2hk\_@m98;>'1opTF3rfQ[jDIIN/'?H1XaBoR*QR1.-s8S!4.P(jg'&& 32.585 + J&H#2%oP6I`RQ&W@o$J@Q-*4L0S&@+6*.WX7g<1'BN3(^=*,B0M4qjA`NqWEAFt+<;J. 32.586 + ;riJSSU`OUm<\dkQ1$#2`V=H*nV,,$h5)i*'ubR(O4B%5S)PBLk=q8#%'';C?$mIq-YUD/b 32.587 + =gkrFuG:UMf43,.-&n=`aK99R6K!7ZZUBk098`!0sE9nYK0Op-*;CESbbRC[<&u'XKoVdp& 32.588 + HU?@HL7sAC7[/]Jj'6;Yfbm%X)jD=o16VlF:^O+#k9bh-QOV)G8=\sE*GRiK2\D2tK<Vor_ 32.589 + *Soh\X,)1BIXe6S0JG."r]seTFk[U>RHe80o)Fc*-2IT&dbZn#/I>S@g##N0j5:mKgAG[0H 32.590 + &F!`\doRP8p>??B7t53GQ6KY*ISM=*jCCCXmd8Nj`u1B25n5>H47%p;7o;Hp,E(Kc0MGkm* 32.591 + m80h44b0U<]E\tQbpa,%MI6]=ft@B(G;TZBTSk/U=<;'42!=:"P&N%cEM7g?3GU]\tl=_Bo 32.592 + :mEm3^(A'T@qf&;LA@rkukZ/,^2BbNiHOJiK/VAr&!fH!3#(l>*"`mE[A[%UCK,e1*<G<AS 32.593 + #o5WJ]oA#F@OOlgBRt]^k`o]*$3e4\$$U"@MTMfA<qYLfQhLGIRTqe4AcKQ5(B\&m&4LC4: 32.594 + g50q.D!/*KMBPK*(.siN/7VQ_GE3-#]OXP*$e/4:u<4XDU++?05,2>@L>Hee(Uj$7)`P6#_ 32.595 + LD`L/EOI`$!>?@Z5.4Tnk`RaRhX5q[fg4A!12\A'(,YkX3l)1+LqG(r@CSe521'07-MoK%) 32.596 + Q/<j!<t3/FQNUid,$PbYO('W-M-?&Hk+)j?@Bb@$]="^knF'&]!S_[7II]`FdJ'$3b`X?#K 32.597 + `%AH8IMpQc/7qhiE#]Nu!,qbq.`Cos$FO;*I""\Ru=/6jh5f9ifClg]O^c-6eitOgfCK_mC 32.598 + (rDjs#*_IlCOBZEKm'a<9?:V_@A^f["g]5EaEWc:9QX&q"kesX:Mfum9M?#k0;C4;MZH!s" 32.599 + CQ;o!i./pI-P;rE&bC:IcLcMmk5Vld33_uSW+ek.7B;^$?sMRedu1l0&H&cgTuBJrW$oRcN 32.600 + AV]B7i3ql+hOF$fRU4ltJ9&H;@h"dl]^G7bq6*UE^-R+T,B$6%*"J[\l9`KPqAEJhDg+)8c 32.601 + 7>,AUOqb\]mK#U7JP"sJLA":38G,@k9m#dQDpS=%CQN0fS8O=e%?Hg-04V\;Nl4NCN%^l=k 32.602 + 36aDLs')6\f!N7=+WE%SEaK#XjZCV4,EZLX/2Q!#^J&B[R0a5U%(*R^0FsA\PN?DM"JlZ>e 32.603 + *o5b%(P<q6a2:+c:&tNrMt!;sa*@V,6St?b_:i6%Go`Z6#FcAD01\S=0q<N$^R-8%'9`qUr 32.604 + &Fp/S/VMT5)c_u(Idgh#GTD0CPu+Y_Y?nC+nR^P@59(kgDWF(Y'?"g88a+db5aa`(]=4A*9 32.605 + >/8Ug$Z:_IuauK7HgtH\AP73m]^;#`Y%"ekK._)JmH)3#(r'<[lnp=EaTQ$6r5AM%$00^/+ 32.606 + Y+S[]`Upa<i_C;:ef^aoRQ4$Yot8urSO-Y&%L6Um-@Ii^jk\U.NmBJY7U?3a#BXK2[6J9Qc 32.607 + fHp/r^KkPBH!,2Pn2hi_6!cVC!HeZAn'c;I(4c!Hu:d5.m*<s;fL$3Qb89gnG%uA"R_C>9] 32.608 + Ca:@uCBo*&#.V:!)+t'nZiU?u$L7>X.]%f&\:qct-j0Gg89LTB!kSNu$L4jHJdDNmDM?/34 32.609 + )?(XHoNs=oL"Qu6``@!]EL!)#HTI<ZiFqIY]mJUlBjh>L4Ek@<'H/LeH[%e"s@9.-r_TnSH 32.610 + `ad!ru^s,T/b^5FokJJm_gcb!N4\=bU7%2!B'1)rs87%E2KG5)LkL8Os%94ba5+K+OsgPPC 32.611 + eE1QrA%L3QGr3,jTP=U1H=L\hWJ17AVj;S1^>+@;fS1NTRQ=tRBT`iNrF]PL']D+<1QV^cb 32.612 + c8:*_Z#KGd,&?pS8pc/O=Kq6:dKfEs?+P\k/I"nS5LM?:6"(4VaA$KEI2:P=?q#Q(\*JK;+ 32.613 + K$[hW3'E!m;?YWf\O^a-!S'8PP!2uE!o/\<'T=4K%u7B1L1k#4bBcC"E45R9Jl5a(k\l15= 32.614 + $JZn^8)#C8Y60EpC-m82Yu_@\86kD:DJ\)7tdL+r1HXjTh6<!#b4#aZj+%9U9HEb"W0r<\T 32.615 + `aAKrp#<b#mH)-ut(SH3QoKLH&:f&8aQ)B*45N"pc]1(g9H59bD,qa5^8*#YToXc9u/B8;o 32.616 + X7#Y@\3OqkQ:-6k[;&2#F/3i+fC"1Tp4=@NNLAHhp;6qHgR3+Y/+1WcR/Pq8F/J5?YNF%Wg 32.617 + b9^0VZQurMld6(N79_?e.4Ob-gUVLCF9hPGJk];>`*<h:Ra?X<0[+>cooEWe8"lNR>#YtSr 32.618 + C,LTtL"hTlN8u5][]sYXbDa!QJG-]LP6>9VJ/%<6p`>4?m14g>_JG`qo.\CY>dk@/S!d90k 32.619 + psCLCb($V]B_*O+p9QU;M)dX"UjWjbkt8YAV<2F2IHTL=XMJF!Djd<%c#UIXJE5B!j07TL; 32.620 + 8"bUpLtB63\ToY8%5$/.!kpHCcO,"`RBEil-XtJqageJiHrW;qoT">r@;5#.S,rpi?["E]? 32.621 + ^I!W<rZO<Drlm$)UZV$K%>)`ji]*<nJlK:;[r"J7"P]`l=J'1rBGX)!C`HO!r#:q\AW\L3' 32.622 + \/L6.8"iW,m`@t4"0aXV23/DmA:j^H(0rrbH`9:GC>FU?IHj@<N;cr=[8b4@k'I^J"W3$b/ 32.623 + 9S!A'2hMBD;$^<Y=Dl0PG/lC)QL,Ulq':J-P(]Au%P[C-E,GlT^5H)D2mi+4iqA*L63C*c" 32.624 + VOO%,+:UY"3&FG!Qi+[+En%BC/_ND<N,8M^^=)bk(!^a<Tn*rrEE;3@9+C(\;YE.)S8F+%# 32.625 + *Yob913ASN>=emF/n3e'[[6jZcL69Zi/D!ao6?oXG+4*eu;JLSUrS.!4'39@m9ef4a"GfR! 32.626 + k"-&jlI;A/2i3`r5_9S[:tL5UN'=gnT<9*:+?]+Ug;5W"6=A-M&e<gAGBGi0&s=9b%J=G;Z 32.627 + 8]`M"nA(\Y\(DqQ:8TgW)4,+Er=Q(H)TQaG@BiF%19208+GZIP(5u\t!"Aibi'$Q,h,.M$( 32.628 + =m1%^r:W%Y:`q=*<;<VRBI?"U7_d#rbk,VP-rnthB.>b,^K$J$]rYD^X]jP==OYG\jfTs&G 32.629 + lo`Nem[j[:h&,6Y`b)mLOac,BOh?=<Y4U;#%_@t5laj[5GIpS_6?I`0P@?G#)@T]1]Vh,3, 32.630 + o(_1P2huJ`mVu7AC3s1Y=s1Kt()X][p58H;?\(TLhm3>`OOY@lc3Lh(<'53GI;,eQlGY7e- 32.631 + 4C"c_>IDVJiPc7+I#J3o!5fbNi%3B1B"^i>%[8;<Q#L*[J[4d\+K"bTBh9,(6Xn8&@N_Q2? 32.632 + W<(X8T3p<m=,1UuK5LfVG;u6]Ll5FGXbX=)>h=OVZ!/%uY/a*THmJ($_q-T[<NtCj$qK1PQ 32.633 + qBj,lLW)1h>TM_TB#g-70_#[9$X'%%WEr1]2:L33nV[U)hZjF-#7,UQ#^?RSD'\uRJm+h28 32.634 + cmG#,Z%_uL1j55$5jatm/i-:"b</P7KHqVr>+T,iMlVg!%?fl*F[_6g@YT]^)eP8bs]A_,R 32.635 + @_1Y]4+YDq9V2(GK_0=?hOJ1BOde6&#R\?mlkO$*ca1L.&2Y3[0?`G)&d?g6JEtGY\Cn++k 32.636 + CPJUi"pXXj^eG)&n+KYTlW.Km43=Q3@F:X%2gj2;6`ETA0)j=WeZ[NAFK6_^nr>N$@Pi]!_ 32.637 + 57@=^Y#OU`1F[LoMZ!LgEa7_$N?#GA+63G#6gR)id-0^qAQkIbRKCCTbD1ao"ouTa+#KV1G 32.638 + NA1b'GG]mZ,rmidM4t)e?=]X:9_5.dp]KYL.HX`=Ao6&[/nejT5uoP4A6*Cg7<,QR'a!#6K 32.639 + t)D4G&*UVeJI.fKof:=mCL@!W8#]$Yh3&?id(g)Xp7+N9iRFtLh$X%3mSKqTp.CR#[&%b$] 32.640 + XXgkUC=54j>KR8[GoE'3haC@8m?a@S-!,kcCL>7S.:%NG.&Jk+M=p7Vc\s+jL@.(g&kP87B 32.641 + <"OW968L3R87;q6W<5(eAq=`/C!EHjA&g]h_'KqNCj)(A?mn:crW!Ta$>8m(2J`/Z<gJA.o 32.642 + ]QDan7W<Vdj4E=k";`Wt9<fE"2BjRu(2M:;oZ"k:WA5&h8+s4*B5%"C3lTrl&:ilrKe@l3& 32.643 + 4Q:^cc;0R#I>+_("_^egfP^u@GZQlo8SE.!:gXmO1Za2kR]/l3hD#7+lNLV;;W%OeBO3e=_ 32.644 + Zijl'70H%+?AYW[r!'Y=%IFdIaeD4eH,BpD'mkOHNWRk"`8ha8!\#r]XB]#9C8G#3[*-Pn8 32.645 + 8@?3eg,;l*sbRkZP=cG)#.pllFL`f#X<D9#@#"C*4Qdn3b'#CQA0GDX$rt0(<J"L<j<8"(= 32.646 + t`qXoVoDhcQoDehUk`qUX@?*Fh5Dm&sfS33+VrGT6n[NXFgC_h`D$LcsHZ4M?Hk]"oUk69^ 32.647 + bld"P#p>nec&dOH6$#E`4/V9WfTu0UOfD,aX2\6I40N=]:\7;QITL`YaW)V^-#(H\oHN^], 32.648 + ru[=fnZNdL^DnMqf-a#bgAGs\aj%n/CYc\ZncBoco,n9':P>Z]duD!b%(4"kKS0=d"uodP2 32.649 + %9hmBq#0%!dXtQQn\XBeHE<@6q+0#KP-KTlQJ.5ni&K\kU,n\7tf2LBZE('^H<UHfjY1KS9 32.650 + lI/M&)lpiq)FXLa[^@2D.pg:ND;H!pCtb`P7Xr7u)V:$s6L4`p4pQc\<9&"%:*3qYaU7*hf 32.651 + oY2ZYi`3M;%SV=Z-9/*-(eVcNJO=WH<^gBUlLXVhA@]9-jVoJ^!K)prA=F`^9HFB]UaL`(l 32.652 + e56:g<"Xk[s"0laMG_D@++rFU/^D_b7T8.0D0'HU5af&2N2-`<jp&B(RCI5C19nLu?F6@W= 32.653 + Is<'M>4MW;QOZq2??l4E,Wu]O#"WlN+>nc/?XQ\ZJY5Vg0HgLj<.\IU+@o0-80A%k15'%?" 32.654 + b:IIl6HDfN<q!;puk-@qJU$_cuW'r=B<Z?f9@8:B),cVE<'Ko:RHEac"Qc+\=VCLO`.NYJ; 32.655 + *M/[FV!r_BWtqCk`KeK4q7ZBZs_3'80I3!ba3;YXB=5W;5(C"NY@k-OQCNPD0:b"F%$rg0t 32.656 + Ks+H5&nL1!W+q`jo^[2C&fJ;:TUO?%ZK[JQT-9i_&qg;#sZ"DJCXQ<8%"LB!B:RJD?HSdP& 32.657 + n`&-!62nL1JKjZlmE2A8"5g*/n`1:nt@Es.#AqE7m#q]D4UT!_29I0VW$F;9c&&S9:E-G\A 32.658 + <S/5gG``-leU=(D&q>3*WFfOpL!]#<*.gm(T2LkX1X&:g#[=#-TP+R<:+*0L>;o"_0.2D)2 32.659 + [1[7Kn+*tU!4j-<rUfF.[Y5*kHY+M1#DZ]s!_:Zch%GQom\poIq\7u^\8K$H&%K0@NcJok* 32.660 + :FQBCda3aUtHW!jns^Bdf+iQ]o,_$\h#Wd.h+Md.UWn>K>3>(mI!^&;BDjoR]:NP"=Wo6&N 32.661 + &3ARMRgmDtLF+Z#Q]B%)%Dk&ibW:M8/Q"U9ZJSN0g\eT"]%W?qqNPj3#)]KC9lfX+8iB!kj 32.662 + G=)6@`"bt!+Z<;"pHUXg^CURGaf)(-Vl#Tm29UB_sjkY9nhf%-E"pY<a_I7E9Hq#IuMoK7H 32.663 + f_gIo-'OlaZHp2$k;;nXB3uPS_sR>rb%YtOI7C,7=]qdEdTI3fGd_U,p=k#8kB2f5^##kK) 32.664 + F7P+(fU4Zg3k5X^dpd5(0A]<prd/.&kI1kCmMQ_G@]G@(r9<i/h`IRk/3J&o\KCmds(EVq# 32.665 + s9g8YUYs5YT*_)P77kh"ST\*!l\^co_mC_+P*L#(R84+UAfZS/2OLd(D(A_bf,K%`?Zk5nK 32.666 + opZ2DtTkJK?,`DJ]`d@[ZX@2R!\dmefq,)LEo$\Df)bXM&lJKW$.\bpmuL=p<>Q6PO7r4aj 32.667 + $?tkjYM=Pq`/.o[8Sg>72CQ/D;HLEaJ&jeG`Aareu)bH!CTq&H7aZ.3e6/H"1_\AW<Q"#8E 32.668 + D3fl$gHa+b*=5'Zd-+=p_D$5P7aUdU+\:$\SLI1Ze@dQ.7$08i'ZFnlI*tqN*D'/$jr&Jcb 32.669 + Y;fb;cV@qL34Dh=`?8*PKWSu$/nIE9+V?Ei-$k'3QcZ5Kd!l`N$\U&<m6U#66W0MJAbh2,t 32.670 + Y[lS]A]!0AF9:^cC1??-*Kqk4u5b$t9rj=UX3QenZ/RL$<p?f=g\TNVD'sIZ9]iIt6E9*XR 32.671 + GVfKKn#iDLmQbXD*nlP<GSrYLIObsO%3N?Zlhn%2$$N.5=4*_<fn#AK>kNpj=DjCQZbLdI) 32.672 + 6OiVIM7sWg9<J/*<@L0fD?"_Appkfq(UU\`\Q\DEUHQK*@"Dd9f*iVSY"%KO&SE=gGJHe!J 32.673 + HoqdL\_M>g]0=WLm8,g`[Zk!@h71C]'/Y+(HbT$_mp"ZE^;/7T*7)T/)<uS<d;;=eEEl\'l 32.674 + 5^NRQ>lAaT'jcDVVuDkQ/]Sn>UedmjssasS/-Ak#K^d`)rmU8@9L/T?mURSJJ(/7Ar2mtj" 32.675 + ZB:hLJo0+9VC/#DiSQ`R.gOKiPsX9Ft)Nq9""iT;h+M(^Y\m63ap0l[.Lg_=7A0+0!$tEBa 32.676 + b*T,^<LnpT9<2ib<k(oCS_It-u\*X;_Q?&h3JcP4c9(P15t(]qd.^N;S"7p,L#_O,3Fi4^k 32.677 + j$U]NekoL0T1,XhXk8pRTBgNB%#fCI)5iu2u#o.D/JnQPO,/@#>Qt6]bU6mQCciV+NX<jS$ 32.678 + 22BQX+@I'#&C&D\@HMRGYp2Zr@O+ZJlCh30!^>Y=FB(Z25\g_#0Ijqq/;7j*B*k7;5)5g%: 32.679 + ns\)%oH.O#0:9]K'h22oqX*D@)<`>jDgsU4H#:EQ5P9N5:_:e'S15`(o$.C8=:2:c-SJ5^] 32.680 + m=2fd%skUl:Jb?;*qY2%S\%SV[lVp.;e_OO&eB7g?an#8)qDj^F5l,D^3J!36)c0Y@mH>^) 32.681 + 1TXJlEFeK)M#6k&R\&4N+/2Bbm?Ma9<J`hLD(mtCIs_3-$qZFCYNC`Er$YVYBWh4)eoF\WN 32.682 + M38l9&%'uJ0NEOcA)`6HCe%U'&)<@V91NbLNGu-o<gH=ZY"r:[LDOUif.n<_+-<'Vk()JMZ 32.683 + `F,0s@'s5Hi3!L.kdV?[=aQq&LbHdt(`:(+)716W"f%H1B;6;O%V0>7#O.Tm_B:e?d\]-^( 32.684 + u:lBhOHO`*DY=m#cGquSCAI2;!K>qMX30JcY;f1U/ZN=eNCr1iV!ocd2b=.KM0M"TiT6]A0 32.685 + #.W4U((`0LPVF*lG4(1,a)8'1ggbiB1Ah@RA,SC<.HkdASHZiEj]4d:OQ(>RN7(&-nlk2RR 32.686 + SD=HuQ9/7[C"iu6!@X!M<CV3S@*%SiaT5/_*Y:9sS@[tsP[1Q?od#iaBrg'SJD`YbrgM)CW 32.687 + iP*GLU>R=q9<KR^[PWFI/FVtmFO[4''<<\2F&YhfP9_;jXDI=Hp_2d_S_T$/A5`H82i*(kC 32.688 + MEOI+jgA0=n0/R*56,if?_EO""nAL:mg\Ztf=q#P4#4`(CeVQ%gnG7oZ9/d3`>@R'r(4GnP 32.689 + _=]@"Ua0q#Je0"0([R5_m"Lq;)gH8cq,#%)M*\UkV=IL!CQt+&2diCLrT-7/+5;\?%C'08% 32.690 + @q,=9f[Q'$E7):nPbE[i?/]pP6#>4ic4T+?/UAqJ>3X@X/2('2[<t7JX0#K+fNK9NjK2n95 32.691 + 7;Hk_Q[<[OrTmZb3UEsE8r0Pcdm%cO?pN?OcQ:pB?3^dC(=@#:Drr$bpFJ0,:fcoCTVIF#h 32.692 + o3bT=Y!0D^id+SFeBUom4gI=PY/f8rX*>sqBaKcd"$)9)K\YS*omMfY4=_EWo(]jK=)0%KM 32.693 + NH*eu_q<+EpB@5q&B$7l:rTOb/9'p:Vlnkf#9+TZXptJ]/>ff,*Wq(4C!Dp%7,H1'g'i)j* 32.694 + LF/,VUaDB[e\UglTY$UmPEnm-Nh1oC_^R<Easo6Md]^%_0WU.62WJc8M3(0;"pAf:a^nCAM 32.695 + LJm^)=g9(SJ%@^rkU$)P]#MK!Y'[_0G>d,=cfp)a9b3/<Jl,";pZkTuQko*TPq)O>2WT&__ 32.696 + ?"aS^e^lG8^$,HiM4-<P!i;'a="^sEah,TmQSrVfU-^qOdc@9)9*6?Qc]SZNa]g__85p 32.697 + ^5r]RC@=-2/V,3[kXE/NUX4I.1?0fJ!CsRO=fBfYJdfQn$%fJ?>(X18E69mZ6Lq!fspq.?K 32.698 + ,^^,Bq#eXp<sZ[nTg;NU*6'u!*(.sfO2I\EK5aXg"(5/d^=hT)-9Ldi?d*ef2:sBI9'fT%q 32.699 + g#c-5)75X\;%e&O`*XeHr0STJdaL&:ia3<D+5UWk^JF5<&[.B6l(ai=575Y4NEQ[6dblugC 32.700 + fr1`0brFIm(E)0;KpYTJHAl8/D.7[J'U_cg3A6cu%+@6:<5Ij_&s&#(_R)e;3rBUWd)#OLV 32.701 + FsTOJ0Ob]8^O-b&,<fa7_,hen#ji1^J8B([=[Pb]dZc%u0\9G]tP$7O%hn(@bs$l!Y5Z+p> 32.702 + VYVuWf3s3hnfl+Ucan5cCqA=d2MBcT?#>B$^8k*aS*bfEtj_u"9ed5dO*MLoo%u;;n4;*4D 32.703 + G"SjG6!+RA^ssVC5cbe_6h6s:BH;Z@)iq350W%8->meP#1S?$%7][$F]*e&B$kU:g&4FUA, 32.704 + n*AVmihH3i+ggE4r;%QYjfq*623kWWljfM#"+or.LI65#S-s!Ju$>X@58G2V%"Ym1<RD694 32.705 + C*Da;Da8?XV`*^g.S+iZ+'A'*O!,!8n(/3YRW>L@I&6;+D=WjO)!RdLaY;WAN1"a?/>t&2. 32.706 + f6A.K0$m&U2u<tJma@I-.9Jf:>W*Nf0O5dUh`DAiPAi$28A6"CZuE;>%ZlQOIQEMdKdCDt% 32.707 + ^)\H^%6o$SR[i<`0*!iSRNlN+g()2<X)WP5BTktdDf,G6Z/;^)<@0R/EE#2pA$>@M>bl2)q 32.708 + C_bpC$1Ipg8EUP8V"B_d0riM>"J@t*e-Joq(SUi[iNNN,.KP\b)fd_TZ8X"k4!W0;^bNk,1 32.709 + -g<s`bo6+(ZF"?6e*A*.Pehc-5&irTn=\C'.2.&/"rOJ@163J(^^DH!c=1(E;US#KFEC2(L 32.710 + arqEe5J)\gU5&)IZ>i6>dYrWiop(-H]X(`10$MdMbE7-B[.&;TC+^at/,$/IZ>Edap(6g3V 32.711 + 18aO!L1a1T&mYqEk^0*2t[TUH+&`]NGaVS[?jo*,I6$4ep'/n,SPXa17O)B%!F.j;D<ThHo 32.712 + o8-qOR&tjs^6"\W$:?/%4(kL&@cN'bKO9WO.+3&+?_#lQG4#P2D-VMJf5U6]cCEdXEDBRa3 32.713 + !cBK]MXEb'%,lCi;\M-B\q]/S3<19a5f#IEM`K7Y3X-.eUGf)kaZ:du21Yfq#oj1'W"T0Z$ 32.714 + c,LB+C5dl6FWYM+m,R=kB[b>\8'I^(/p(qPNG1@"ppL]'_Cn+P*dT4dMcPY&E&!?+Jo:C7K 32.715 + FV;'4@74U#6mKZK8p`*[1,'L4g.HrY^?_+-&5t"<[fr3Y/S^0O^!i!cA>Z8jX"=ct"7/oN! 32.716 + ;o//KG_$,JS,^d\c`@KQUH"+VQqe94-a<BBc$-V;Hq`i&lM\>rS[8JI@[70tRY<Cpfpid_> 32.717 + -:bi$$#$_-:!oP7'^dnU8\u3=U"!eulFN6H#q+T;T61-9,eCFp?g'Y4D$8g`HDDD6c%KM6b 32.718 + #iJ#N+jq8PNpVI2*)M5\5g0SoGU>!N#5"le5XSD0YQ^:5c2]"^#IFRJ.L4KVc<uG4^fgn,* 32.719 + WY+'"#F[!e=T]l*dE7Of;>V\[9$>8>?03[W8pQi.l?=kb2i5'D\V1<2()Iid7%I33oP3`<I 32.720 + 7i'ZiGUZ!$Qq-JK",G_Ag>P$ils'.RrmCC(T>4&s\AZ<OZ(o*d!Ze</Ja&FiPh[K3T/;>nt 32.721 + dF<1?q]e7>7m?5:"T9,JP1Y&J&p!4CoiJ><D\Z@Pe,W^-Cj!K9];Op9lE!MC>3p%;aYZj8Q 32.722 + 20N:PJcm]=1-XtX[@fm5Uk6D_ZgLDQE7DM?&<Z6<a`WUCM4k</$FK,=,]Gj/@qkRs>_%mq7 32.723 + _unpM$$K<]:buDYE%g/bBE2CQ<DR,uMeL\&BbEL;E(;f%P$mmC&GC<:<*;dXnS6XN6/]Nci 32.724 + 26^Xl5O^E,N*GBi?)hNV,?/R-N`'=QIeZ\+9L-N(ma2rf&pq:lYb'"?'=;ejouhAqaY$'B4 32.725 + 7-G<0e<o$YNiT8kj>H:omZQjs2&l!FSiB[R_)k.PLGJ#mRMMiIu?=pN+qNF;I:)2Y1Xl6sc 32.726 + -IA<du72+m^2j[rM@@A(aOJB&-d.N?GY"[G3`=!q41S-+Y!0>pTnf7lU$RdsNR^+u>gpQdV 32.727 + EOa5QNH3+sF@IgC4R3[!N<T/:O<_*_0]2eA^#1`@$+:2_D1).Pc)ZYBl_,#%N)dcSp!u=E> 32.728 + GNLUr[-Dk>ZjXkbGP?%:+:_KQIi&9<<p+dQX#el;;ZoZd?qk!0"P!*MH_B\3:q@(_[6gRS" 32.729 + 2HAm[Ik.iohmQKJIa0AG#CX`M(5gIKK)na<H3,A6\T(u&\)=TG?%l`eeXO[E<$;8Z*a5`q? 32.730 + nF3'K"9C@AAX>Z!2&H%[^Sno@."Z%n]m(%i-IJ=Jq%?TnTcaMPUZNPeU=f,?tkbD7+\[i6* 32.731 + +GPTCqo!PhoAQkgj4O][qKig@%BE%ViF`Yhn?Nu7I?esBFgooDN_$[DhVR-e07.L(#C8jEW 32.732 + :E]+A7a:Yh:6f@eaJUN]HM0NFAO81Sq=Z;P$h2dj`O4cQj+bu;I-3P2^D)H<_i8mjE`_k/H 32.733 + 77$>B!"K&f-]!d*+_4@mi#)VL/=f)-PZ`X+=biB#Bo;_D:d@,FTM#A5`"$r;()`l>L8`%e> 32.734 + 9n`p$,Fpj1qEh,BF/(,#d?&i@!i2i2gMrrSJfnI=k5=<O.Cr9%KP2oE&+^5rE[7pc,h)T5c 32.735 + P+*JLt<+)Bl<b+9A-H((<IB%K^;T_!cJ[Zkn:8OT[<ei*i@1rM&!&UDbq`=uIp,_OhJ$FLj 32.736 + G!EmPib'r8bkPi+im2:ZA*?:#?^)aUD@Entd@X;UkP-C%>@^g[K*>XJd7#9&2/d5RnJ7B"q 32.737 + $W>[^GZ`AEKP!c&a$m[!aer)I4+:MGW3.YA96m53r8gd%?"U#q_3lXN$6Q0>JC>+7E(o=4N 32.738 + 0o!M%Xr?&t>3>4?h6)Db)&i'4)Y6*-5H@(UFlBs:;i!7Q2mC*lYl]%]G!lI2S3o;-(gnGk= 32.739 + ssRl6*B<!'0A!@Q19=X0=0CsgtM/&"=a_i9;o8RSXQ\i;m2q2rMJhh-R!Q>;qOK"?S,JO;A 32.740 + ,Zl,o-QOHHj:\[i9t09`)2$L-WT.\JF>ue"aD3HI<Bm\B9I:S#<+FW"OH\\i[71;F9GW"OZ 32.741 + BCA)"FKi01gC)6oKX&QUUFS'AX6*D%&O]pm90JUP1'\.AK)(-D-%]D''u6+FQ'10BK4GbJU 32.742 + `'a$N@8J83/3,QGN)o:;O\9n7m!u\mB,J]Tu^rmb7'S4(n*Pn6n`"'OU_"_ZhUBa-!`5\pt 32.743 + @VJ269?"]96V#r74@<,]-,tQJ_PA?lp+=00[DR*9_l'o[r,9Z:6UW9&(0m"Qr/qgbX[F@I` 32.744 + Q#%!ggm\FMb/5\oD1b,goN2WE^BVI@XNK:gj_B_Jnj(rbFI#?4JfEZ^WIi<-N)^e4Jjfs28 32.745 + s,O`dH<,r,'bHrQDtWbSAsX72O13UWg[nbm!^/r;4lq8Zi(NC><8K'JsR\*[^eh`Va-(K*0 32.746 + Ce+AuJ9dBfCiSO+p`s3NXRct"BJZ_>b,,LIh&(>WF%4_EVhPLQ.@;B`Bu>q<'%Z-h^9f2N_ 32.747 + I4[;mCM:WBpe:!?/4\]\H$J.BNPaiAiHl$X2ms*Gj64;,JrKZ,k"4O%fZGM%?]]_5$N)8?T 32.748 + gTjD7qn\L[dOeal%iq/[4eVb$3SJjDg84.O)76Zb+lD,2-jY&1bFf8j*T.$@abHq(U47XIO 32.749 + i]t-h$",E4qAl_q1/Gm/H+Pa?0U'/iS&ir?L,T;IRcquXqH1;-_'ZB35PY:7L=F8jTAH#,o 32.750 + >HJJ_tiIg-TFSJpZ;)mH3LHd_[#@U2T%#Fm,Q46X:egk,rJ?+3EMrkl,'2I?Wq_\`6pLg&* 32.751 + _]4mh:cn`0lF.fL7LU25SXh?(^!FoKAH@o($TX`6[MeNE7H^31lp61)&,aatVu@VtBoM9;Q 32.752 + 0dhk#P]NrJ4H11aa*58EB!f?4?H0[S@l[49?r.X#m(2Xq=F\XJ%T/Z>Y;on&:59WcL?UMra 32.753 + #Og2gnAhrJ@2W1>$g:Wro]E5'I\ZRZbM8\KnGbT8D`^"MZUs%r.pj7>59J+!,L!nMbl93g# 32.754 + "lmd4o+!%gnbh\ibdphJa^?\9Ki.&+s6(/EVf^KpEG+P4X`Vo>spim+eHSu?C1%cq><IN'R 32.755 + [0\s*t"LL%npWpmh`dh$s0#&c"`ns+*GnOB==\&IF.XiK2]64s:Mp7,j>2ZsGI)NCMrjf^s 32.756 + VY+d#=VP$'W5;(7c&jc\;=^0raa9]hIJeD('bSMV^URH$VV3h*"@Zl1bnNBno>hA"Vu-?W+ 32.757 + _!$`4>UcO8GT@-N#fR6q=@Bir$Q<Q5<d:p!lm?ZLK[Jb)ngtroL[GC.o]"Te8\*a1PJ\ba` 32.758 + Qs;Nj4tX`O:DhkV59Z028K9`oZO\dSc"?R7H>CC![*`N.RU%hD;5r)\opX][^L=C+2KkA.o 32.759 + HLkoV!T*X>+Hk85EAnk>Y)=B:WS7\[Tq[55G?KhFS_(lMu*<t]=kC$>M]#PrTa1USmO=l'J 32.760 + 7=7]`-f39.JoDk'd8:[*(\-dJa*;ht-jJ5VNlW!^N^\Q6rR^q?HkrcpFbiU+3McNk(/?Ta4 32.761 + !kUNf_TXidaW-S#$="%9CN:D?5P;@;a%/$$8L]Bbs('umMcDO.sh=RdA$Z+K#kQuVbQpHbg 32.762 + 36s<-E<0nq'Z?2]e8h2&r.Od-HA:_no[&FJ5/d+"l_T8OkLeNU\GVi,L%+d0VP;K*q:,A-t 32.763 + -H3$]?Pji^]_:hK';YXn51.f;`lF;Q%bO;ZRkZ'`'QXX,.5F=68lE%(02,;$dT1J=W_=Ib5 32.764 + mg=IFN^[H,n`1[8hW,s[;*0/<]+%q<mu3!Dd6?mK^=-!9>^>4c`\(+@T]Zg#,'>O23tRG8q 32.765 + e-p=t(11UJc9#YA@E$e[KEO0`$b=PjP^MWD0=6CGFCZ]Y.?O8/7[kWFbJZps%E2%s2$beb= 32.766 + MaQ0!D]=:=2&5@:oY%Y@gieWkerW3tQY=r;DpC+)!JQ?csb2E"e"\=PpHA2tBlA)t%`8n6Y 32.767 + cABT>LapqEM\G*RhUlh(Qf9kFH2Fj?O\as6ZY0Pbi))'VpJ#$"&;KIS,3?B<9i`^K$MPjRi 32.768 + FC/f,#.C')Rdo4<,6uN7WG6c<ca7O@/S.ppH.H'*mMBW3$6gCi7"enq:%Q&8>PA*4,^&7hI 32.769 + ->l&K7[3Q%i6PV?j<+??Wr&(ZLTilmJq"paZ7Wrf\"E*]&O;j7s)DQ:5msTVcVAjY)2u,&c 32.770 + Iiig-#2*VQ@YFDY)]H8qVAI9d;ugH'bIp^UG=imIB&+C:AcGH9R[lTUu_LA&N'9=/YIO*-W 32.771 + Rof\Dp:b5=&n1!Nc0\<HV665SKsr[<p%qK-3SFA%*J2th-=TM,:bn,u'C1A_".0q&eQ,b5# 32.772 + s(aNL0UcKjmkF4s#c<!*P,**k;+GZUU$2_[b.tjri!YA/a&o/XEBUkQWl9Z4/5A%be$'aEc 32.773 + $@i7!Jrh#o6ae!-?Fp8@;">bM8%s<o)Ol+^!V40NR/.?Ib8cX5r/"pd7#(&0#Vfkc`Aj7G: 32.774 + :NNI"XF+<0p<Jalt7mt>ST`6Oo]'3:Q>LV3>]#2W/8Zi9JBk+4L-$0'p1e:,UH>YoKsXj8H 32.775 + 49>&k*J484&muClK&s8L\>#YKlam7ZpM@)H_ljUtUW]0eQ7r\=A^b!:#gMr`)2P&ljVWYEW 32.776 + mom=r_s(r-_E%J&X`bHbM$-1\>C;Zno#0o[n^>$<:&>`cV.pdAO)KQom?5=h_l2H=N@O_#B 32.777 + 'b_ZfqVKsAOPD4'%GH.65dX6$jNcc-54$(iLTg"[N'1u8H1+0<<T+[f>&7`:/kO>%8!FgT[ 32.778 + M?p;;/I.kA,\>?,R6sK@&"tgJNXg@a2G+6$UB1d^6IRe7aik;A'/D]_Jq"5k6nt)t3;BWn: 32.779 + /R"o-m6^opq(R>DH@8e+E&$]Q#\!CarH/1<<f-<8LhMd]*!C[%](5!(82p091RII7b%V>4V 32.780 + c)2"a+@Ob/u88W&UWRQ%lP'$8;d$ksbY1U`WXB5?h?oA$-Qd\Kb:8p*rIuY&#tsMs080C\< 32.781 + 1]('_TW3sf>322AFOp^^K4Oq]HiM6[mda]U\SASec@ZPI/t=h?\,D"XF-(%s)AC,@'8%B$T 32.782 + LVU\k^=_hksYHu)tfbJ'+Cb<'([h\g4>Heo^CH?8A[g(XC4,Irp2936D-KSLER<*7gcajo^ 32.783 + l!6BM?pVc`\*9sr?*J["CAY4WQ0.UC432]JX?`=8Q%"A/flh:Vn%KUXq-Q5JI;cOf^DH&2? 32.784 + b?,`DtX.G(^C(L4:-RX2@%&8-O!nj)1umO&&K/R$"5qFKlFI:_\d"q@D"Q(Yk>gBUIu2*X@ 32.785 + \7g0r8i+NPc9=MdA,!g:`%.%V%V8NH)Bc`u*t[A%[)JEV;W<)$_<q4Gf2@2Fkk,-RE<9R=5 32.786 + ,W:C.n,BB;6_Q#a<7/U*e]`#Q"hnW$>f)2BqY4NX"42J:8PV_r)!fpd&+DpB6@3G1GCf"h? 32.787 + EcNBLsA_d*RF7D$/=LFpeqo:d?+mu@6*7iYOZJdFG35+m@7;4n5J:]\G^7\\)#9>gh`dX3& 32.788 + )M_0%4Td#f*i#_R)cRgu'<9:=N*Be]=Z,+tDtK?uf,E`#Se*!ID>^IBqZL*h42J).2TO6eP 32.789 + rttLn!>q$'%L2Kf';(e@C:^C)-^VTD7V9;[]\NC"r_gsM%s2Z%;Q3f%_(jHft2/<b!m9UmI 32.790 + '4_[!/47g7-m*m</+O2t[s)6VDiH4pXga0*b3ZO+gb>XuCSY&)n<3;V-=m`+&0.il3'fnWL 32.791 + f)([`E.>R-91GcSpF4VSn0oECGO,Kj?i`>IBsPB/p%,e0Gkk-4H9F->:tq;EpcbOY-*Y)'0 32.792 + 7#=mt?4RIb"R@XO`oBI>Bl%T\H'=tT"NeW`%PN$h=&4YOA?&,[%N)JV>2Y-3Qn"'08aj7S- 32.793 + ,j6crc[npURd%k22)N[N!C$;V7fR^Of7K)&cF-%b1`Ilm"3#Mj_qB$:B^q+l[J:GDgUs4!m 32.794 + OTJtH+eM+b-9mt*aHu[W7Xsu2lH:OYJQBN%itRDWV.CONq7VHm$n$=p;ETHH]f];=E>Juq) 32.795 + e\NW+k]/1"R/T-LQN7F=;T^`nf*#L6MVL;Yp^Gq]B@"qb!(GR\.+e`-^>>&ej`$s%`?A_t" 32.796 + Z7RJU5:le2;2pjYNl6+;Pkk9&69ILl'>IiJC%0p%"R!K#3_LQaoTg]XU/rkMpe5ElAfKBth 32.797 + 4]XD>J^km\.j9qq`b7n-)^sISH$'5YL)o3ac'Ou1b6kl:269Dgj_/Q\FHl'V_`P1@K6()UU 32.798 + bSu?os1d%pR1OAT"%fG)-6j-XJcm=!BMZ3iH,7uWM+ebXEEJD!SLEKcM7_>h!8OA`K->f8( 32.799 + PjDq*#=@/c]YjY$.9[+>UMm:*fH.BT!D!OKJf(6*5c#&5HGqoOQqup=X@H-_sgo!"(K0l6& 32.800 + ;$Z*`OR'69lEo8#FB2%u`:ZN%KjCDCDipM<mPs_.]hsmDFlVQ7P'a<'*=?4@J]%2</$jb7= 32.801 + U%&31G&`Gg=F1g!.3Q8#*h#XWI5PO$28?'M,)4$-A"S6coZ:dT8$5FbV@&D0#d,qk>t7WHk 32.802 + 0F2>ji)+BFMW>n9f!H>MMJ%hSPP?Hn7W6`CiW#a#N(RV6>$u#tYcc52PMO\P'S9U3M)Ruko 32.803 + 'RX@VCh#\_*sKG^LB(J2?uJR=JOg3#a>ALi7"Rs/K?.;NaCL(IFGS"SM9(@-8<f"Q`/D^dM 32.804 + b)ofaR"o-oT7/tOi[H`aV9q1,a6>LPf[I#8T^6>I$Vm-RE:\M!iROM;Z%aV!J-m]!WYdpJ5 32.805 + ;3\HU$k3LanMoKO"j],g&r:`uDquC\!@!0?(/MWS!aj9VP/,Im[pVRM)A`m&cLoHpQ815?o 32.806 + 93BH;e_+TZgg94YM)Cq%TP\BC\X9=27Q]Xl;)^!"p>bKR`EjM4F\^s"(?bV[.07)I/A_ou* 32.807 + "b[ec<>fb-2a\7B0bd>O:`6(d'bKSbcbiI*ooY1DT%0H\4]]mas%+MhPYs$=+,M[(RP&?:b 32.808 + fGq\[`1WX=OGTc(TT.1H:%9:FUgVIC3_L_;b;8]^7(#_lcH]t^c?.FYD!4WAkg$!gcEuh2` 32.809 + 9PXlld"#JcK+H>gq&%r%KeKg2_Z7J5[@/biOuVM6B'S=AG@,!fM?e'#U1,3Z'PfVp.sW\^m 32.810 + ]>QCYI,!3R0/nc9(O3n19/V>69$jKp;khI0WT&$.+qEd#AF[V$p2.%++)Fd.IiF"V/oh&() 32.811 + +)d3TIR*>HmY'i@C7d<-5PKbdON(X\cjdA7f0[2dSr*RVhI;:Q`9"Wu+d'`e:f0CT@"YRZ< 32.812 + Q-(jC=$(:qB)e2ZcCer:.c]R'^]_KpVfWYf5dd[?5%53p1!l:-(^@Yr7&B#lf2D;,VK-`J$ 32.813 + 879\ER]GXDe$V2lCHVnNM$JGmdn5GESLu%i=&5YB<#H:D3rl.;5La*8;[l3ZI54*:1Hs>G< 32.814 + .Me-?l?*DiC6pJ<:llB@!5N`i;ocQKmcn9Y_!88#$#/e!?,3qHd.;nn3-gmeZ`o@`Cm+/5f 32.815 + uMIRsdYs]gU@%>ui*Ke9teh,tUCF8j:Km<^="s?"gqb71W(*23;kfK6.Gk%+aN!K-V_,@bC 32.816 + nbWrei4f&-sndPq;VB;ZJN9nV\3JU=)tF]W.#O;qUG*3e&"("Q=pemn&IFa]/]oFV?;=>N\ 32.817 + SN)ko(r%HPb"iZ$=*HtE*qUPg:=Ic.Q]NbcbE7fl)O7d#8nJ#'k%9NGj=:L@KE4pf3Q&3pi 32.818 + -kIpf(g=iheCD?OYJN/J<BODN,M88g;T57CV.#Q3O%N)=g"iE`V3"kH!a-KNfdl)c4f+!#5 32.819 + h_uT5Y+ViJCjlsXfngHg6*dcm>B5\Mp6[U=J;(;>hd1n7NgoJO,PiR]s$1P_:ho"O7fBcNM 32.820 + jJOW8"P=,)C7M3C9p2#[AW$gZfs:%CAR#TN`GV=oGT2/4_D<Y?X65M]Dc4XT;\35q6SZWdI 32.821 + n&e(i^>c&ru]08MYp7FE@@`6[8YgkDEU2+(VFLYGd#^9s_A<SWFYs4>fW%kYFZL![N@dG== 32.822 + 2NsH-M78:(8Wno2Uh-ms%FkO]-a&:I>b)gjPJDCR$Rh4q`hJM_<4hBMNl.uOIh@nRK-1R*l 32.823 + D_:p1?WHjXKn3SGpl94^^h*,NNV),%!o9kC"o\JYh>lIK1tTZ@7KrmRIJZ7rr&oc4?pOaPg 32.824 + Qa$_V?),Ni3j$<AceJaMG=oq%8I'kecn94#@R'#/9!!_<Q\`&(#`[hhjtUBmLVUc&NpmB@= 32.825 + \'g8Qc%j*Rt?5iV"A0Fr0-<aPi?Z@AD$)[NU[1;HB1sK?bk(<[cskqVC99ig@u"/,A0db$n 32.826 + *rNfu,RQi^b4k$n$>j"qZHke3lObeEL$N(,A5L+U&u0&pp(=<OOD[QL/fle0iMj7Y^@2DiS 32.827 + Rr*7f<-Y:Sj?-gK53BUn7A2)Ro#cgm]"'4nUA@3cFISAhLf]!Z@M_6tR?:I%`7qD,=_+57H 32.828 + cktkB*N/CBit)8N2-U+69]`+PjXsd!^pc_g%D]DWM^D7b-;cm+;J#@CK=5:(CZhE'.V<(h+ 32.829 + :&($Y%ZLFq?PS\k-f&^SddDd.qZT%job,8'>S3,DN'B\B.s\U6hd;fHj/4m1scV45\B2FEb 32.830 + D7qM"XU,Ya&htmq3$@B-)GZ..F@k8L!B4[b(a8q"05?L""V'BQf0G[R!9.Y\*$R&^Ec_Ajo 32.831 + -@I_1&Ykchm5l5g!JOfsu-!^;gWn5<]_O6L7\kJigE#(=5:N]Ubn#"V7:\75Y,2egj7C#5H 32.832 + H#+t/rT5#^Gl7Sdq2PfV-V<U7Al;jftAuFp[W9U7YC::,,^8gJ<Xm4K?lHZTuk-/UoYj3X@ 32.833 + lSc"`7^D>TZg1Z#lXmWl?F]<E\SHr1laFCj`k#s:]Be=dlfPtJp7[(O)M))jJ62pS0J!9U- 32.834 + <#n'l%[7<S]iHN2XGsXBp7oJUU7l,<s#lLKh*Nk2UCb#ctsQHm3^<L*n9R8eSRe+m<7(JL= 32.835 + U4-fBo0^mAAY*[bU8Qh<i5=D:[S3#2ehaheje!mOmJd2WX9qjmG=pmT/LgB'8TJkjG>3DRS 32.836 + ft^?Y.+mI&Qnm`t:hk4!9^nF%^om6E(N+:0_G`IRV-KC)fXY5$uTQg^#pm(;V#bH^EjcL3C 32.837 + UDta2"#4ld5!H8PMn2CF<7fmX2"7TY#n7N!qG6m\V$1N]WE0gq$`s_<[-uV`[!RD:0Y7QJ- 32.838 + &aun9iElA#0T,>2k\nYLBssOJ#/9Vo)"FK=nXgb?Y8d#`*:`23EVCLDruU_9+n?Enndcu9- 32.839 + R<^k,k>RolW1jg.fB@W#QSO!"%Y1OD\Vcn'(JIDLlW:b2\s"8O)jh\,6/ghPKof.39^r/o6 32.840 + (/se_]nI'kkG(kgWCL'<-%#3O6K<-m/X@[8&b0Pj)O=F>aYMmmDn$0KnS]\kbK];\R(&6<: 32.841 + )6k\j#a`YS2B9Sac[4jQVYs%%7ko#=e4=$;3@O&Yco<T1\eocHsm[no*J;0??X[`E#+Z;q% 32.842 + Y?.k4*orh`]B$!jZb'!c<on1q?PFV<D@]E8oK84*<!)DXbAp1$ZiiWc7Y@DXQn75c6(46WX 32.843 + f4F[%EVCi$QJYbck@;2dA@\m`G;ja?LNo'@FEGiO4bn2@Vg!?OIJ;oRPF"8mYB+ooeG$kKp 32.844 + Xan>7tgY8E_>T54F_nU07geQK"3gmpg8sSa,H)ZH?@2a4MQb6+,bBqOngAfNh;>RO,lE$O> 32.845 + uEcGrM)cLR=&kCZY#)q,>B1@uU5-R<dteq=)8p(Rk'DS%NC(\@8%)s.oKmV;/eA+o<kP062 32.846 + @``VMBHqF@E/a/o-fnG75dG_`8Ah`Jd&WjmhbqVSXV8$n)\?0:$\GE8`9=0af8Z[5cbqmX2 32.847 + "B83Zj?i,%lH\9+\PCi\0]R2*DqU^sR;>(&^&U\62kZC8C9g*lBao#V%L0PT]2p-N:^&0h7 32.848 + r:eO-(Tuu"^AS;brAW4(8(<h``-k_<rHHllLY109M.9l6m!%-2a5$XFh>QN#r>%_C-f4h=i 32.849 + Vk4ar\pKuqXf4Ij8N]RrcdQ)J<G=nkl.LFrjV4lhgg,&ljIr$^lRr5kOAKfnZ!ttqM41]'J 32.850 + ^;sX,8Zs&uTHqD./Hco`^]U>?NKVKjF_@>;/$k7i6b0?r-PC((CM%6=E^#A2YG=LdY]L32B 32.851 + S,(Q:gn;7P\14WfbVA5YE5Q;&`k8nCo2A@>bsQqV*j3Mb5C2k3WU;n:u_I6XB$BN.#=(6(h 32.852 + [;J>OaA+#l^W'..V>,=OT:49lm<3#&']jJ!0=r&l1PQ>F(>&@<H7CL*P\4UU]Mi=s]d'AjQ 32.853 + GIqFtl[Q]?n!G(?G56p3@W6;A?5FWCaCK<o4Jl13Qcs&_=hNm@4eL)7FBUgSQVAg(5H>N6P 32.854 + M2u.X&^`Hh*0G-T60L@>I?ZhDnhUuGPd_%mhNN7n2XCl(G<>>k]C^(fFmo*e`V+&?,#KG^# 32.855 + /=(HsT#bQd+^cH@9,0Ni,rTfB_;n4dBs=p\[ID?b9V+mXuVm$L[kV7a);=]P_M%!^E_9re& 32.856 + !6KEhCj`lo"b_,._$%)Yp.4V,IC$q1cHOXs3?`=YdD'uc!`go%jsMdWJIXe]/?\*N"j*QJ[ 32.857 + )37CApjEh$5EZ/^8aO3bI--;<dSL;PmN27uGP,taB7H`E-WN*4tSCu'V$H",6P9Ll#67tUY 32.858 + 1bE6KggeV8MYT*<ZWd2^3>'r]Nl#>To!OOC%.bVclWj(e/9#(m2\D-t0Y>_oBU]'!;_pj89 32.859 + X6-"+3oR&m'T]SJWDfEFR;9!c#as!N_d"XeNf1\<CjLDkTp#=;3Z)Y857U!.36kN&h@@`c8 32.860 + %%RXOV_%hU]+MSS-XlNMU@CQE@9)gD7qtVT&kY>1^2<qsA6*M02S#67Eq2K?*C+>j+n*.ee 32.861 + .u7@!4tdOp^5!a\MmOQ9bA4-5>#(^gi8h!7,OP20e.'mEe>K)IL^G`D$9U=[[!!+1[oeUP' 32.862 + <2?o(I\D$+dU3LDh@j60K%?BNfNb+X@RBCCrk8DQfSZ@pqo:NFmD8NC0H01'@i"f/bF]2<^ 32.863 + RY4O>o6c1nlcr"X/ot<?JiJdmkd.l,L.VG!0!5tB6G"/`7V-C(#i[!B'SBDZRo7R%6E!:&Y 32.864 + H9E`P-idH2H58o>)L_.d0mh7`$%e9['?;Cl34n<."94BTNaGb[*UUFh6sQbHZQ^B)k&"`!# 32.865 + ridKC=&jeYDW&HNi)?]^!he(VJ0&c4?H8);'0T%u'!;ShH)`q&W2"T4f,Lm@h`F<f[OTS\k 32.866 + oj<bl&.m3/VZo8dGGRu'/@-seaCmKfF^Xe4qBfS-o;?PnE6r'%!5r-lOZl?1i*b2lsAiG$X 32.867 + EJu31nlIs/2,#@:1]:o`0b:Dg$:T_\j_Y3lJ;t4AdgkELD"U?+5\pmE4_5LI*6"#4;Jkhlk 32.868 + (76fJTnG.T:sKtH=D\N+_luc_CtBu]Y.0V$3G,?X]eN?PEZfE$JOE?W^-U]X@Ta@s^]FKI7 32.869 + 4MK7Gn*0Dpk1?R(g7`4#E.]80YfZBE$?HQC<#rmOU+R2U3'4SjB="O;?%BiF;6")D,<7f/H 32.870 + H-1@fR++aMK6"`8Y;TB$chi7kt`!$Ue,@Z1,-/aFtr$`0lfeDGEdV4X\L]4";\!)8l0)&7k 32.871 + q)MIl??4h2RWA,umR`LXfDR:8QpK6NC&d?)NA1E7Z>$(&R.HOD%L,c26'47]Jdb1FHIhTWm 32.872 + '?ijMo\4\G[9Y2FP:,u"F*AD&HhB<OJA&kQW1`=MrRI^o*bLsifk6.cU;pK\b=m\B8`;-!F 32.873 + LjUEr8r[K3jD3*7q])$U433TP2_S22O>SsZAk@7k$mh)V\@Y-W]WlSk[M);T^Hgd-F+/1`l 32.874 + ,IFm)G=#[U%EYadZVdAbA@tT<+^5Lg1s18/M!^"hK;M\92$"11--*RU/Y<U;<gSAWDtMu:W 32.875 + `N^a1VJPMcpQ+3+!We$,iQlU6SYkfZIKr6=N6TRT93t67M:b2t^3lN<pOj-B2t[L?>VMH5\ 32.876 + GPNBa=>%^@!f#jc8:Dm*)g^rGXnat$DMKQZqCfD;CTm"LS-<_ge?>:a&minoOA9$=<ujW@e 32.877 + ,MQjJ_Z]RjF?RDm#['RVOfU?#Xm8*ea[E@+MZcd"BXP1$^g<s1L+_f-UWOI#=]\9t(D[?SL 32.878 + V3RpqY$51Jll62>[W^qA>HN&9`S%k)D"b!L[4(##s+hJ2.n&-i?nOap+B#M#&=]%jBTWO<P 32.879 + ]GjAGM?5<[F2Jh@URuldR%_XC73]1rQuNjI%TfuG'Fed>\k?tLrI\D3(i5^CZeH2-5j^'D[ 32.880 + p424br"0R<d+EU>c<>H*Ch/^Z7H27L9ZaXsB2rd;X`_3KZ7<NJ<`M\?imF9l1D5B#!!:LZ6 32.881 + t.Mt!l7`^=AW9-a6J-Sl1FaT!:]%"1/,,;d9(lC-aLUPZ;]@E_l811je8M]Q:%H-\W,8pnp 32.882 + Anh^7OUb<+oqSA&)4upEGXFnJL6p_9q9lO60g.k0t6*^E84P@aLONd$V10(``d$HsE(8t@- 32.883 + (/iHrEjKFkV4of$MNN,FKBK?=BJY+:eQT.WC>E0rbdJ_.30I6V"1X"aJtcDD'aW_<5!nD'I 32.884 + j,P%4ZP"^NiM4H^"52Ah[Pf:h*iR)H1N<61a;h&rIVl*hcqQMFJ1SO!S>g8LMRt^6hVk]+8 32.885 + ZtdkhI4J2K$X^A2e2=!^i(:VUpFsB2\/pFdDJc7,GM->B!mX_>$M,iERpjlQsB:?B5LS)L@ 32.886 + :nk4O\tE(tb@nALF%4JN[,SUOet:)90a3b0Z'R@.4]&@t_V6tTLCl02&M/XN@0%CFo%SmoR 32.887 + GG(H2RU,76pPAt%H,r_/0kRb-*EV/).:^g:V=m^X0^4!T;cR\-G-^V9Kh:BY#1eo%FGLsMQ 32.888 + cG0ZJFDeF]]A6#c\-H!]4a(+P*a?k9h_e4m9>5W,rSRMXJY,%cc/(YfBks]p<Z!;m$?clkC 32.889 + H%))4d-^],Q5@_B&2k(ad@6W'>K>f7'E[9R'LWHL'Whj0g7pWGp<p_2QJ1qosfkSWl=.KY< 32.890 + oZC8't?bJ_X9:[]!Nm_u*l$nbu&#q+Fnh,:]C"5$=IV8hn%,ZjD`5C:k.8hBZN_c1KQOMbX 32.891 + )@D#a_2R_:5%:brp-&J^F!<!%VJLKCPI?Zg>[O'tOk,O1TDOH<9+1iL/AO89:rY4E+\/8V= 32.892 + d.+nF<7f[+>r+/@N!n@//lMVpR<Y*jU!]'`?;#Wl<rf5RlmAU$15Tu4?'^uJ0km[cl[.k$r 32.893 + "3Z<"!>u#8;#2kc#;C9*E-V\`o'hRUc-Ui`%c[h(>mRZo#r%VNE1%$:SI+DM#RtJT#@RoMW 32.894 + $G3A$LkG2E4H@\]aO>F1bb`b$qh!Z&FJu2Bo[0B0\Ho>h$rl4%PZriXO>@4V[d:A$S_(ZYk 32.895 + J[4r=AE!&2==t0ZK@&,7nD)%oEoN;%XDF*>.fb&htZ;OUCps-;"jf&5b4rnMq8f4VR?O'IS 32.896 + MGY721C9bd+p'er]'EEO$];#-mGq=.)md:jB$D&2Y](GU%KDAa3"*tZfB(QjCgEJYO;N>V2 32.897 + J)(@9SOG+Q?1kC7D)@]S*Y(Dt#em?\V0Ti0'&ZRHp?rSE1)^9a2X9TWjboH9$*ANTmOUiI" 32.898 + cK4&H*Xp'VL%P6Dh]>AYZ%)i>@Y5>'/i\]FkgA3/EX<ko%.B;C`,NfKZ48snWdgb"+n+@ml 32.899 + oO'<*-JP6r6<#1ng+I\Kca,Hmp_7rMqTQ+r?8ID,r/IHC5X5^K+@HS3H'5e,&&BBo#$P!p4 32.900 + =@M!m^Rm_^<_3P@Z^=:_`gOk8^83,k>FoEg\A^S;'no(c%[=V"F?.DC)Th!s9,(&sOY^ZD\ 32.901 + u^T10`VDdY[?]..jK/Mbj.A]ZDW)(gIp09U-!Eo^QTcFWT7^7sdCC%>]7oZm\8.nKsF`L.r 32.902 + eo"VCY:k`fb72l7;Ea[>S1,C43F!tWtI.4D118?><^sH5io!Cg:1XOLmBsAdIO#)tg%;9e> 32.903 + &-DNZ/f%*;Zu/??k!\9o*agc]2`#S8F*L:*/fq9/1Ga>3dX=%?+=@h[mS\YeNhnYNOZ>3]K 32.904 + Su<QmGs1#0\O`.bO.@*;G.(N+u(]FFFfHoc20KlLHP1U4YtSU;VaKVj"t7u4q']+OttX!#s 32.905 + 'P\\Z)Je+pr7Ll6/kD43iN6&p,;AI34Z44k(34F;[B>]fi_B1,JFFniY-PV_l9j6=t!]A0i 32.906 + Y-[bl06+RJ,S$imtMeC[\14O?YHJdd`?0f`,\68W7CFD44>$J%\#+`qQboAh3>1oY2n/JIJ 32.907 + *e:)"M5jk?db-ZmHafprX;Z*7AaAdLVFK%m>X\.SM-.HuQ'&Q=`\Oa*!i<K*BP^,,WE?A0$ 32.908 + +NF1$7>"3/f1jaF9@W&uFQlQ$\hupfZVZ8p[-]^BVCkjI]4n,q0uP\$^h,"ETT8=):i=]ZY 32.909 + 4m#A7PnOB;e&E6qbm)A;`-BT'HpCaM,<fdee33Z1f,sX5e5DI7<K[O&-GZA=S(&d;q5G[F_ 32.910 + O=14'&X]<@nGLbVjC&atcsl>`faqCKW^+,>sSD;H740F`CQlSQYP72tMYtQ(TJSK2n2$bRM 32.911 + u#'E0bPY$3Uq8Q-'iKn.\gO&F:g=V#"J<NBE5h-KR\<qYAtFh^rcbuA0!R%llPYk(pq7!,0 32.912 + R?V$u`_U2>j6X]T9>nuO2Fr=_nf"9"K(\'(ce)OMb&hbW["Di'^/3O!-;^,6u;5/&;No=?^ 32.913 + &man[KHlB7/ONE7=].adlkV$^G%kQn5@.B,,n!stb`PVc9X49"Akh\HFC$9e86W8Von?f>E 32.914 + ]V>W6VK3/m*::9`F+9cojCgACGrS9E8=/RV'Ztfdo>=Xnr7I.m)7@XZ%=CHZ^)n<N`qU1c6 32.915 + K/,f$A6Ac>67Cp$tOf2Yh:"r<[XeDtZ+qJh3q1;OZ0cWCH\*68*<&SgO0f>&s'c1;Pc-]$A 32.916 + ME0biKTWJais"&1]XF>lX1DAR7N8KXlpi/p4YQVVb5?$5mL]2q^M,&WGUQP+LZ>^'n+GBnD 32.917 + AI%F?65*9K%iadk2YnP`J@i'uIGF<`cS;%],C_r^RilH+\SJ!\(7$jfuGI`(0]NUY7Hf@.J 32.918 + ((CrOaS_CDI5f])GM+q++M8I9G^%nkGNjRcm=+g!+]c8#Pdu9&rI=SCJ2d^UQhPf.#CuR]J 32.919 + N+BqF`Ddg)1hQ+JiG'.F,,>!.>%=LK/b`@ERf@lF`oM??Ijuh\3^s57`<qPK]=G62LC(D?% 32.920 + r&^<gSE<2s#/U,>].,]6J7,<tg<JI>@TK170Y3pi[qXMN\m<CfOhu315W5SMupkDqL3uR&; 32.921 + fdHV`:8M>4K:Ge#+WEGP>6<u39/f?1qpAg2-bo4NIRG;3!i%Q^U=>BnGc(rip"b?G/B+un$ 32.922 + Q+W69*>=DZQ0LfIEfXm6U%?U,kJ@NKt;<T_i"d"<RBr1IqGhaD2\rnX!W(HH?UCfrj+OCq* 32.923 + ,9r22QLC!fnuBe(PPGfUH!-E;LPdqNRV1f12m6@C#i,o\RkF%o`$!i79fik'O-rN]f^D^QQ 32.924 + ^1A5QBtT[67-Fp<L8:Gf=?@e=bAGsL*4$b"PI^Yft!T_]bS(d:.PdP2MH%c,XOGM\+uoaQ^ 32.925 + "p&d9F/KW7f023QmHb0:a!8SO9Me3V-6;f:EjQS,*;]H3k;=_b8)1g3Ao/.0WfG-_3..WEK 32.926 + sKGd8N^)fKM%U(jA[q?s(04eqM1L3=qC8Z/97r^cc@TCt-W<]H\>9;<C?<I-(&K))&S*GrA 32.927 + RV`JsuE1`fqYo\e7UO"C4RICtmfV6q/BA/)r>(EdM"s^^;W:Ij*.;`nTH)g_GX"TC/eE!Z/ 32.928 + "Q!%=TA!HlZ@OqQWH1+dP8_,TXu!.:Qm0,bO#kUd>-4i/mB6<Ti4?HpX+;5D@;6u?FTV,58 32.929 + i]o*AZb8?YHQr"F=Enm$a;t@Y`LkNH/l&s*NqOZZTC"o3>I%P)XSH[KXRk`q^[udT";O"41 32.930 + bJ:4%HQEDe7FrMRtgUHYKpi6[e(/PaDngCu^`&m%Thb[<_/>].U'EH\K&MRplo<(Nm5lP:p 32.931 + ,*[bIXiH`3p4pK&:CV\Bf@R;Z_a30X!g\[GkW]48JMX1\>W]dRs5oVgT0]l;sCAhNKpl7!] 32.932 + RjgH#4^0.,-]A0Lbi#u=s,!5+r@MccUaf0Xi]j);gHl/M;7>A3*l+n5%!T?&LQ]:glRY:iY 32.933 + `-7pp>3b.)N^ac!S$jPh56Q/5T;auj>UdPE=i3.u`>gsb>Yem&jrHQP!#l;<Htr[I_kUHUa 32.934 + ?50tB9Ru&4]ZU*"8c>WR+6+[Q6?%#49P<L9ErA%/nmoAaY7ALkU2VmPT_$@D;;$Ae%"'-Sg 32.935 + 7RDrEQnSSCu0"gh0jE9$e_9RBe"Q3e*u79fVhu:TQd&LQF:-YlZr2nh\T:p7D3E/oe]/@Q2 32.936 + Z'(HFVOORN_*dgaY4oa9LpBidUFrAi??4B``be,;_bI7_qu0seG]eD4-TI9G+1(PZAkefjk 32.937 + ?I9kF;D:\Z*IA:C)$D8H2Hld]e94VcqI>QUiNS+2lffbVRI@8d%S_<t8g-):dIAtr6XkN`Y 32.938 + gHDt!IC\+G^"`M%gc`X3IEC9Xc.r9Fh*'<EIG*Gih;/%ghEBuWIHfV%mG@g3h`^YiIJMd6r 32.939 + SRSTi'%>&IL4rH%H.3tiBA"8IMq+Y*T?u@i]\[JIOX9j/`Qaaj$#?Q_Q[\3nfT%~>Q 32.940 +Q 32.941 +showpage 32.942 +%%Trailer 32.943 +count op_count sub {pop} repeat 32.944 +countdictstack dict_count sub {end} repeat 32.945 +cairo_eps_state restore 32.946 +%%EOF
33.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 33.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/Time_in_VMS_1.svg Fri Sep 13 11:02:18 2013 -0700 33.3 @@ -0,0 +1,407 @@ 33.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 33.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 33.6 + 33.7 +<svg 33.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 33.9 + xmlns:cc="http://creativecommons.org/ns#" 33.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 33.11 + xmlns:svg="http://www.w3.org/2000/svg" 33.12 + xmlns="http://www.w3.org/2000/svg" 33.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 33.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 33.15 + width="744.09448819" 33.16 + height="1052.3622047" 33.17 + id="svg2" 33.18 + sodipodi:version="0.32" 33.19 + inkscape:version="0.47 r22583" 33.20 + sodipodi:docname="Time_in_VMS_1.svg" 33.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 33.22 + version="1.1"> 33.23 + <defs 33.24 + id="defs4"> 33.25 + <marker 33.26 + inkscape:stockid="Arrow2Mend" 33.27 + orient="auto" 33.28 + refY="0.0" 33.29 + refX="0.0" 33.30 + id="Arrow2Mend" 33.31 + style="overflow:visible;"> 33.32 + <path 33.33 + id="path4008" 33.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 33.35 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 33.36 + transform="scale(0.6) rotate(180) translate(0,0)" /> 33.37 + </marker> 33.38 + <inkscape:perspective 33.39 + sodipodi:type="inkscape:persp3d" 33.40 + inkscape:vp_x="0 : 526.18109 : 1" 33.41 + inkscape:vp_y="0 : 1000 : 0" 33.42 + inkscape:vp_z="744.09448 : 526.18109 : 1" 33.43 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 33.44 + id="perspective10" /> 33.45 + <inkscape:perspective 33.46 + id="perspective11923" 33.47 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 33.48 + inkscape:vp_z="1 : 0.5 : 1" 33.49 + inkscape:vp_y="0 : 1000 : 0" 33.50 + inkscape:vp_x="0 : 0.5 : 1" 33.51 + sodipodi:type="inkscape:persp3d" /> 33.52 + </defs> 33.53 + <sodipodi:namedview 33.54 + id="base" 33.55 + pagecolor="#ffffff" 33.56 + bordercolor="#666666" 33.57 + borderopacity="1.0" 33.58 + gridtolerance="10000" 33.59 + guidetolerance="10" 33.60 + objecttolerance="10" 33.61 + inkscape:pageopacity="0.0" 33.62 + inkscape:pageshadow="2" 33.63 + inkscape:zoom="1.3364318" 33.64 + inkscape:cx="448.37508" 33.65 + inkscape:cy="648.10677" 33.66 + inkscape:document-units="px" 33.67 + inkscape:current-layer="layer1" 33.68 + showgrid="false" 33.69 + inkscape:window-width="880" 33.70 + inkscape:window-height="1141" 33.71 + inkscape:window-x="889" 33.72 + inkscape:window-y="6" 33.73 + inkscape:window-maximized="0" /> 33.74 + <metadata 33.75 + id="metadata7"> 33.76 + <rdf:RDF> 33.77 + <cc:Work 33.78 + rdf:about=""> 33.79 + <dc:format>image/svg+xml</dc:format> 33.80 + <dc:type 33.81 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 33.82 + <dc:title /> 33.83 + </cc:Work> 33.84 + </rdf:RDF> 33.85 + </metadata> 33.86 + <g 33.87 + inkscape:label="Layer 1" 33.88 + inkscape:groupmode="layer" 33.89 + id="layer1"> 33.90 + <rect 33.91 + style="opacity:0.44897958;fill:none;stroke:#000000;stroke-width:0.10000001;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.39999998, 0.1;stroke-dashoffset:0" 33.92 + id="rect4618" 33.93 + width="413.02609" 33.94 + height="158.61386" 33.95 + x="216.25447" 33.96 + y="368.18201" /> 33.97 + <path 33.98 + style="fill:none;stroke:#422fac;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 33.99 + d="m 219.06883,401.37498 c 128.4693,0 128.4693,0 128.4693,0" 33.100 + id="path11721" /> 33.101 + <g 33.102 + id="g11990" 33.103 + transform="translate(-60,0)"> 33.104 + <path 33.105 + id="path11907" 33.106 + d="m 298.82881,392.82004 c 0,30.42814 0,30.42814 0,30.42814" 33.107 + style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 33.108 + <text 33.109 + xml:space="preserve" 33.110 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 33.111 + x="298.7023" 33.112 + y="376.52615" 33.113 + id="text11715-4" 33.114 + sodipodi:linespacing="100%"><tspan 33.115 + style="font-size:9px;text-align:center;text-anchor:middle" 33.116 + sodipodi:role="line" 33.117 + id="tspan11717-9" 33.118 + x="300.05582" 33.119 + y="376.52615">Suspend </tspan><tspan 33.120 + style="font-size:9px;text-align:center;text-anchor:middle" 33.121 + id="tspan11940" 33.122 + sodipodi:role="line" 33.123 + x="300.05582" 33.124 + y="385.52615">Point 1</tspan></text> 33.125 + </g> 33.126 + <g 33.127 + id="g11984" 33.128 + transform="translate(-60,0)"> 33.129 + <path 33.130 + id="path11911" 33.131 + d="m 378.82881,392.77746 c 0,29.45519 0,29.45519 0,29.45519" 33.132 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 33.133 + <text 33.134 + xml:space="preserve" 33.135 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 33.136 + x="378.7023" 33.137 + y="376.52615" 33.138 + id="text11948" 33.139 + sodipodi:linespacing="100%"><tspan 33.140 + style="font-size:9px;text-align:center;text-anchor:middle" 33.141 + sodipodi:role="line" 33.142 + id="tspan11950" 33.143 + x="380.05582" 33.144 + y="376.52615">Suspend </tspan><tspan 33.145 + style="font-size:9px;text-align:center;text-anchor:middle" 33.146 + id="tspan11952" 33.147 + sodipodi:role="line" 33.148 + x="380.05582" 33.149 + y="385.52615">Point 2</tspan></text> 33.150 + </g> 33.151 + <text 33.152 + xml:space="preserve" 33.153 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 33.154 + x="352.7023" 33.155 + y="400.52615" 33.156 + id="text11954" 33.157 + sodipodi:linespacing="100%"><tspan 33.158 + sodipodi:role="line" 33.159 + id="tspan11956" 33.160 + x="352.7023" 33.161 + y="400.52615">Program </tspan><tspan 33.162 + id="tspan11958" 33.163 + sodipodi:role="line" 33.164 + x="352.7023" 33.165 + y="410.52615">Time 1</tspan></text> 33.166 + <text 33.167 + sodipodi:linespacing="100%" 33.168 + id="text11960" 33.169 + y="412.52615" 33.170 + x="278.7023" 33.171 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 33.172 + xml:space="preserve"><tspan 33.173 + y="412.52615" 33.174 + x="278.7023" 33.175 + id="tspan11962" 33.176 + sodipodi:role="line" 33.177 + style="font-size:9px;text-align:center;text-anchor:middle">Trace</tspan><tspan 33.178 + y="421.52615" 33.179 + x="278.7023" 33.180 + sodipodi:role="line" 33.181 + id="tspan11964" 33.182 + style="font-size:9px;text-align:center;text-anchor:middle">Segment</tspan></text> 33.183 + <path 33.184 + id="path11996" 33.185 + d="m 446.59318,401.37498 c 138.89067,0 138.89067,0 138.89067,0" 33.186 + style="fill:none;stroke:#a94c26;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 33.187 + <g 33.188 + id="g11998" 33.189 + transform="translate(166,0)"> 33.190 + <path 33.191 + style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 33.192 + d="m 298.82881,392.82004 c 0,30.42814 0,30.42814 0,30.42814" 33.193 + id="path12000" /> 33.194 + <text 33.195 + sodipodi:linespacing="100%" 33.196 + id="text12002" 33.197 + y="376.52615" 33.198 + x="298.7023" 33.199 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 33.200 + xml:space="preserve"><tspan 33.201 + y="376.52615" 33.202 + x="300.05582" 33.203 + id="tspan12004" 33.204 + sodipodi:role="line" 33.205 + style="font-size:9px;text-align:center;text-anchor:middle">Suspend </tspan><tspan 33.206 + y="385.52615" 33.207 + x="300.05582" 33.208 + sodipodi:role="line" 33.209 + id="tspan12006" 33.210 + style="font-size:9px;text-align:center;text-anchor:middle">Point 1</tspan></text> 33.211 + </g> 33.212 + <g 33.213 + id="g12008" 33.214 + transform="translate(188,0)"> 33.215 + <path 33.216 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 33.217 + d="m 378.82881,392.77746 c 0,29.45519 0,29.45519 0,29.45519" 33.218 + id="path12010" /> 33.219 + <text 33.220 + sodipodi:linespacing="100%" 33.221 + id="text12012" 33.222 + y="376.52615" 33.223 + x="378.7023" 33.224 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 33.225 + xml:space="preserve"><tspan 33.226 + y="376.52615" 33.227 + x="380.05582" 33.228 + id="tspan12014" 33.229 + sodipodi:role="line" 33.230 + style="font-size:9px;text-align:center;text-anchor:middle">Suspend </tspan><tspan 33.231 + y="385.52615" 33.232 + x="380.05582" 33.233 + sodipodi:role="line" 33.234 + id="tspan12016" 33.235 + style="font-size:9px;text-align:center;text-anchor:middle">Point 2</tspan></text> 33.236 + </g> 33.237 + <text 33.238 + sodipodi:linespacing="100%" 33.239 + id="text12018" 33.240 + y="400.52615" 33.241 + x="590.70227" 33.242 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 33.243 + xml:space="preserve"><tspan 33.244 + y="400.52615" 33.245 + x="590.70227" 33.246 + id="tspan12020" 33.247 + sodipodi:role="line">Program </tspan><tspan 33.248 + y="410.52615" 33.249 + x="590.70227" 33.250 + sodipodi:role="line" 33.251 + id="tspan12022">Time 2</tspan></text> 33.252 + <text 33.253 + xml:space="preserve" 33.254 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 33.255 + x="516.70227" 33.256 + y="412.52615" 33.257 + id="text12024" 33.258 + sodipodi:linespacing="100%"><tspan 33.259 + style="font-size:9px;text-align:center;text-anchor:middle" 33.260 + sodipodi:role="line" 33.261 + id="tspan12026" 33.262 + x="516.70227" 33.263 + y="412.52615">Trace</tspan><tspan 33.264 + style="font-size:9px;text-align:center;text-anchor:middle" 33.265 + id="tspan12028" 33.266 + sodipodi:role="line" 33.267 + x="516.70227" 33.268 + y="421.52615">Segment</tspan></text> 33.269 + <path 33.270 + id="path12042" 33.271 + d="m 267.24968,477.37498 c 232.74658,0 232.74658,0 232.74658,0" 33.272 + style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 33.273 + <g 33.274 + id="g4352"> 33.275 + <path 33.276 + style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 33.277 + d="m 364.82881,468.62956 c 0,29.31256 0,29.31256 0,29.31256" 33.278 + id="path12046" /> 33.279 + <text 33.280 + sodipodi:linespacing="100%" 33.281 + id="text12048" 33.282 + y="506.52615" 33.283 + x="364.7023" 33.284 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 33.285 + xml:space="preserve"><tspan 33.286 + y="506.52615" 33.287 + x="366.05582" 33.288 + id="tspan12050" 33.289 + sodipodi:role="line" 33.290 + style="font-size:9px;text-align:center;text-anchor:middle">Tie </tspan><tspan 33.291 + y="515.52612" 33.292 + x="364.7023" 33.293 + sodipodi:role="line" 33.294 + id="tspan12052" 33.295 + style="font-size:9px;text-align:center;text-anchor:middle">Point</tspan></text> 33.296 + </g> 33.297 + <text 33.298 + sodipodi:linespacing="100%" 33.299 + id="text12064" 33.300 + y="476.52612" 33.301 + x="504.7023" 33.302 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 33.303 + xml:space="preserve"><tspan 33.304 + y="476.52612" 33.305 + x="504.7023" 33.306 + id="tspan12066" 33.307 + sodipodi:role="line">Virtual</tspan><tspan 33.308 + y="486.52612" 33.309 + x="504.7023" 33.310 + sodipodi:role="line" 33.311 + id="tspan12068">Time</tspan></text> 33.312 + <path 33.313 + sodipodi:nodetypes="csc" 33.314 + id="path12088" 33.315 + d="m 238.93024,423.61086 c -1.25694,9.23477 24.14401,17.15062 68.20717,23.60165 56.44943,8.26442 56.82059,19.8861 56.82059,19.8861" 33.316 + style="fill:none;stroke:#422fac;stroke-width:0.99999994000000003px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 33.317 + <path 33.318 + style="fill:none;stroke:#a94c26;stroke-width:0.99999994000000003px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 33.319 + d="m 464.69712,423.61086 c 0.98989,9.23477 -17.61775,14.97151 -52.53717,19.11208 -44.45606,5.27138 -45.92693,24.37567 -45.92693,24.37567" 33.320 + id="path12090" 33.321 + sodipodi:nodetypes="csc" /> 33.322 + <path 33.323 + style="fill:none;stroke:#000000;stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.99999998, 3.99999994;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 33.324 + d="m 281.91415,423.61086 c -1.11723,12.05605 9.34615,12.84312 48.3972,21.29812 48.67875,10.5395 57.28475,35.47541 57.28475,35.47541" 33.325 + id="path12092" 33.326 + sodipodi:nodetypes="csc" /> 33.327 + <path 33.328 + sodipodi:nodetypes="csc" 33.329 + id="path12094" 33.330 + d="m 517.32918,423.61085 c 0.89929,13.92511 -19.38736,26.89157 -51.01833,33.88658 -32.71104,7.23385 -34.04727,31.68861 -34.04727,31.68861" 33.331 + style="fill:none;stroke:#000000;stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1.00000001, 4.00000004;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 33.332 + <g 33.333 + id="g4338" 33.334 + transform="translate(8,0)"> 33.335 + <path 33.336 + style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 33.337 + d="m 270.82881,468.62956 c 0,29.31256 0,29.31256 0,29.31256" 33.338 + id="path3246" /> 33.339 + <text 33.340 + sodipodi:linespacing="100%" 33.341 + id="text3248" 33.342 + y="506.52615" 33.343 + x="270.7023" 33.344 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 33.345 + xml:space="preserve"><tspan 33.346 + y="506.52615" 33.347 + x="270.7023" 33.348 + sodipodi:role="line" 33.349 + id="tspan3252" 33.350 + style="font-size:9px;text-align:center;text-anchor:middle">Suspend</tspan><tspan 33.351 + y="515.52612" 33.352 + x="270.7023" 33.353 + sodipodi:role="line" 33.354 + style="font-size:9px;text-align:center;text-anchor:middle" 33.355 + id="tspan4072"> 1,1</tspan><tspan 33.356 + y="524.52618" 33.357 + x="270.7023" 33.358 + sodipodi:role="line" 33.359 + style="font-size:9px;text-align:center;text-anchor:middle" 33.360 + id="tspan4068">start</tspan></text> 33.361 + </g> 33.362 + <g 33.363 + id="g4345"> 33.364 + <path 33.365 + id="path3276" 33.366 + d="m 322.82881,468.62956 c 0,29.31256 0,29.31256 0,29.31256" 33.367 + style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 33.368 + <text 33.369 + xml:space="preserve" 33.370 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 33.371 + x="322.7023" 33.372 + y="506.52615" 33.373 + id="text3278" 33.374 + sodipodi:linespacing="100%"><tspan 33.375 + style="font-size:9px;text-align:center;text-anchor:middle" 33.376 + sodipodi:role="line" 33.377 + id="tspan3280" 33.378 + x="322.7023" 33.379 + y="506.52615">Suspend</tspan><tspan 33.380 + style="font-size:9px;text-align:center;text-anchor:middle" 33.381 + sodipodi:role="line" 33.382 + x="324.05582" 33.383 + y="515.52612" 33.384 + id="tspan4070">2, 1 </tspan><tspan 33.385 + style="font-size:9px;text-align:center;text-anchor:middle" 33.386 + id="tspan3282" 33.387 + sodipodi:role="line" 33.388 + x="322.7023" 33.389 + y="524.52618">start</tspan></text> 33.390 + </g> 33.391 + <path 33.392 + style="fill:none;stroke:#422fac;stroke-width:0.99999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 33.393 + d="m 238.89805,423.61086 c -0.4091,9.23477 7.28119,14.97151 21.71296,19.11208 18.37311,5.27138 18.98102,24.37567 18.98102,24.37567" 33.394 + id="path3284" 33.395 + sodipodi:nodetypes="csc" /> 33.396 + <path 33.397 + sodipodi:nodetypes="csc" 33.398 + id="path3286" 33.399 + d="m 464.68079,423.61086 c 1.41991,9.23477 -25.27107,14.97151 -75.35984,19.11208 -63.76822,5.27138 -65.87805,24.37567 -65.87805,24.37567" 33.400 + style="fill:none;stroke:#a94c26;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 33.401 + <path 33.402 + id="path4334" 33.403 + d="m 367.06883,483.37498 c 57.09423,0 57.09423,0 57.09423,0" 33.404 + style="fill:none;stroke:#422fac;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 33.405 + <path 33.406 + style="fill:none;stroke:#a94c26;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 33.407 + d="m 367.06882,491.37498 c 95.45,0 95.45,0 95.45,0" 33.408 + id="path4336" /> 33.409 + </g> 33.410 +</svg>
34.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 34.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/Time_layers.eps Fri Sep 13 11:02:18 2013 -0700 34.3 @@ -0,0 +1,869 @@ 34.4 +%!PS-Adobe-3.0 EPSF-3.0 34.5 +%%Creator: cairo 1.8.6 (http://cairographics.org) 34.6 +%%CreationDate: Sat Nov 20 00:16:39 2010 34.7 +%%Pages: 1 34.8 +%%BoundingBox: 0 0 206 75 34.9 +%%DocumentData: Clean7Bit 34.10 +%%LanguageLevel: 2 34.11 +%%EndComments 34.12 +%%BeginProlog 34.13 +/cairo_eps_state save def 34.14 +/dict_count countdictstack def 34.15 +/op_count count 1 sub def 34.16 +userdict begin 34.17 +/q { gsave } bind def 34.18 +/Q { grestore } bind def 34.19 +/cm { 6 array astore concat } bind def 34.20 +/w { setlinewidth } bind def 34.21 +/J { setlinecap } bind def 34.22 +/j { setlinejoin } bind def 34.23 +/M { setmiterlimit } bind def 34.24 +/d { setdash } bind def 34.25 +/m { moveto } bind def 34.26 +/l { lineto } bind def 34.27 +/c { curveto } bind def 34.28 +/h { closepath } bind def 34.29 +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto 34.30 + 0 exch rlineto 0 rlineto closepath } bind def 34.31 +/S { stroke } bind def 34.32 +/f { fill } bind def 34.33 +/f* { eofill } bind def 34.34 +/B { fill stroke } bind def 34.35 +/B* { eofill stroke } bind def 34.36 +/n { newpath } bind def 34.37 +/W { clip } bind def 34.38 +/W* { eoclip } bind def 34.39 +/BT { } bind def 34.40 +/ET { } bind def 34.41 +/pdfmark where { pop globaldict /?pdfmark /exec load put } 34.42 + { globaldict begin /?pdfmark /pop load def /pdfmark 34.43 + /cleartomark load def end } ifelse 34.44 +/BDC { mark 3 1 roll /BDC pdfmark } bind def 34.45 +/EMC { mark /EMC pdfmark } bind def 34.46 +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def 34.47 +/Tj { show currentpoint cairo_store_point } bind def 34.48 +/TJ { 34.49 + { 34.50 + dup 34.51 + type /stringtype eq 34.52 + { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse 34.53 + } forall 34.54 + currentpoint cairo_store_point 34.55 +} bind def 34.56 +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore 34.57 + cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def 34.58 +/Tf { pop /cairo_font exch def /cairo_font_matrix where 34.59 + { pop cairo_selectfont } if } bind def 34.60 +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup 34.61 + /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point 34.62 + /cairo_font where { pop cairo_selectfont } if } bind def 34.63 +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def 34.64 + cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def 34.65 +/g { setgray } bind def 34.66 +/rg { setrgbcolor } bind def 34.67 +/d1 { setcachedevice } bind def 34.68 +%%EndProlog 34.69 +11 dict begin 34.70 +/FontType 42 def 34.71 +/FontName /f-0-0 def 34.72 +/PaintType 0 def 34.73 +/FontMatrix [ 1 0 0 1 0 0 ] def 34.74 +/FontBBox [ 0 0 0 0 ] def 34.75 +/Encoding 256 array def 34.76 +0 1 255 { Encoding exch /.notdef put } for 34.77 +Encoding 1 /uni0050 put 34.78 +Encoding 2 /uni0072 put 34.79 +Encoding 3 /uni006F put 34.80 +Encoding 4 /uni0067 put 34.81 +Encoding 5 /uni0061 put 34.82 +Encoding 6 /uni006D put 34.83 +Encoding 7 /uni0020 put 34.84 +Encoding 8 /uni0054 put 34.85 +Encoding 9 /uni0069 put 34.86 +Encoding 10 /uni0065 put 34.87 +Encoding 11 /uni0068 put 34.88 +Encoding 12 /uni0079 put 34.89 +Encoding 13 /uni0073 put 34.90 +Encoding 14 /uni0063 put 34.91 +Encoding 15 /uni006C put 34.92 +Encoding 16 /uni0053 put 34.93 +Encoding 17 /uni0064 put 34.94 +Encoding 18 /uni0075 put 34.95 +/CharStrings 19 dict dup begin 34.96 +/.notdef 0 def 34.97 +/uni0050 1 def 34.98 +/uni0072 2 def 34.99 +/uni006F 3 def 34.100 +/uni0067 4 def 34.101 +/uni0061 5 def 34.102 +/uni006D 6 def 34.103 +/uni0020 7 def 34.104 +/uni0054 8 def 34.105 +/uni0069 9 def 34.106 +/uni0065 10 def 34.107 +/uni0068 11 def 34.108 +/uni0079 12 def 34.109 +/uni0073 13 def 34.110 +/uni0063 14 def 34.111 +/uni006C 15 def 34.112 +/uni0053 16 def 34.113 +/uni0064 17 def 34.114 +/uni0075 18 def 34.115 +end readonly def 34.116 +/sfnts [ 34.117 +<00010000000a008000030020636d61700076f10b00001a9000000064637674207d0742a80000 34.118 +1af4000002706670676d49d7df9200001d640000060a676c7966e942e463000000ac000019e4 34.119 +68656164d5ceeae00000237000000036686865610f7e06ae000023a800000024686d74784af9 34.120 +067a000023cc0000004c6c6f63613a8c41da00002418000000286d617870037802c900002440 34.121 +0000002070726570292ded1600002460000004ad00020080015e0380045e0003000700264016 34.122 +059c039d049c070017003700030000079c019d049c00002ffdfded012f5f5dfdfded31301311 34.123 +211125211121800300fd800200fe00015e0300fd00800200000200960000042605c3000a0013 34.124 +0108b9000cffea40170c0c024b0b180c0c024b670701021045070b4401440207b8ffd8b41010 34.125 +024b07b8ffdab40b0b024b07b8ffdab40d0d024b07b8fff0b40d0d064b07b8fff4400e0e0e06 34.126 +4b07471507022702020002b8ffeab41313024b02b8fff4b41010024b02b8fffa400b0f0f024b 34.127 +02040b0b024b02b8fffeb40d0d024b02b8fff0b40e0e064b02b8fffeb40c0c064b02b8ffe840 34.128 +2d1010064b0247143a124a125a1203350e450e550e0303050b120c000e180c0c024b0e160d0d 34.129 +024b0e4909090212b8ffe8400b0c0c024b12490502080502003f3f10ed2b11392fed2b2b3332 34.130 +113311335d5d0110e62b2b2b2b2b2b2b2b5f5d10e62b2b2b2b2b10eded10ed5f5d3130002b2b 34.131 +0111231136332011102122031116332011102122015ec8e32f027efdcc22727f070174fe7328 34.132 +0234fdcc05b90afe55fe1202dbfde30a0125010c0000000100960000031c0443000e00af401e 34.133 +0a400b0d024b081018102810c81004c70ed70e020e06094d064d68070107b8ffecb41313024b 34.134 +07b8ffeeb41010024b07b8fff240110f0f024b07040b0b024b07040c0c024b07b8ffeeb40f0f 34.135 +064b07b8fffcb40c0c064b07b8fff2b41010064b07b8fffc40250e0e064b070f170a270a370a 34.136 +470a570a670a0600050a400e0e064b0a02520c0806070a0c07003f3f3f10edcd2b325f5d0110 34.137 +d62b2b2b2b2b2b2b2b2b5deded10c65d5d3130002b01262322061511231133153633321702cd 34.138 +3e3f6597bebe68cd336003782bba83fd9a042fabbf1200020041ffec040a0443000b0015013c 34.139 +402517401010024b17400b0c024bb7050101381701114e17063706470667060406041010024b 34.140 +06b8ffdeb40f0f024b06b8fffcb40b0b024b06b8ffe4b40c0c024b06b8ffd4b40d0d024b06b8 34.141 +ffeab40e0e064b06b8ffe0b40c0c064b06b8ffe440760d0d064b060c4e87009700a700b700c7 34.142 +00e700063800480058006800040000101010024b000e0f0f024b00200b0b024b00200c0c024b 34.143 +00160d0d024b000c0e0e064b00100c0c064b000c0d0d064b00166a030165090103670e016813 34.144 +0102450e550e650e034a135a136a13030e100f0f024b0e520913b8fff040160f0f024b135203 34.145 +09180f0f024b09180f0f064b090b03b8ffe8b40f0f024b03b8ffe8b50f0f064b0307003f2b2b 34.146 +3f2b2b10ed2b10ed2b5d5d5f5d5d5f5d5d0110d62b2b2b2b2b2b2b2b5f5d5dfdd42b2b2b2b2b 34.147 +2b2b2b5ded5d5f5d31302b2b1334003332121110002322001310213236351021220641010bda 34.148 +e6fefefce0e5ff00c8011d8597fee4829b021af80131fedbfefcfefdfed5012e0100fe6dd8bb 34.149 +018ed40000020050fe5c03c804740030003c0160402c48195819681978190400272b372b0202 34.150 +65017501020320101c12064e282b382b482b582b682b782b882b072bb8ffeab40e0e064b2bb8 34.151 +fff0400f0d0d064b2b193a4e1c0e1010024b1cb8fff440860c0c024b1c120d0d024b1c3e0023 34.152 +4e0d344e12060e0e064b120c0f0f024b12120b0c024b12120d0d024b123d17010188199819a8 34.153 +19b8190488189818a818b81804280c380c02006701770102026a317a31026537753702031020 34.154 +37281a171f181537180f0f024b37521f40090a064b1f9708a708b70803970ba70bb70b030028 34.155 +530825530b01b8ffc0b41114024b01b8ffc0b40b0c024b01b8ffc0b41114064b01b8ffc04009 34.156 +0c0c064b0103522e31b8ffe8400d0f0f024b3152152e0e0b061507003f3f3f10ed2b10fdc62b 34.157 +2b2b2b10edd4fd5f5d5dd42bed2b10c6123939111239395f5d5d5f5d5f5d5d5d5d0110d62b2b 34.158 +2b2bedd4edc610d62b2b2bedc6d42b2b5ded111239395f5d5f5d5f5d31301337163332363534 34.159 +2322062322353436372611343633321737170716151406070706061514333236333216151404 34.160 +2322260122061514163332363534266067a68c8195bc20a82fe46b4fe2eaac9e595f7c7249ca 34.161 +a49d1c5e622bb62c9eb1fef7cb68e6014d637d796765727bfedb986f59428220ac3556136a01 34.162 +06a8e0417275565f99a2dc101003251e291f978694b64a05048c6470938f74648c0000020050 34.163 +ffec03e40443001b002501d3b627401010024b25b8ffecb40b0c024b25b8ffee40490d0d064b 34.164 +071317130201672077200202280f480f0200b70fc70fd70fe70f04010025150f053718471857 34.165 +1867187718871897180718254d0a4d881501150c1313024b150c1010024b15b8fff8b40f0f02 34.166 +4b15b8fff040110c0c024b151e0d0d024b150c0e0e064b15b8fff040440f0f064b150c0d0d06 34.167 +4b1527214e38050100050c0f0f024b05160b0b024b05100c0c024b05120d0d024b050c0e0e06 34.168 +4b050c0c0c064b050c0d0d064b05263a0301032500b8ffc0b40d10024b00b8ffc040320d0f06 34.169 +4b480058006800780004000218191c520a080e52080f180f280f380f480f580f980fa80fb80f 34.170 +c80fd80fe80f0c000fb8ffc0b41317024b0fb8ffc040240d0d024b0f124a1e5a1e02031e52a8 34.171 +08b80802580801006a087a08020347085708020008b8ffc0b41414024b08b8ffc0b41313024b 34.172 +08b8ffe8b41010024b08b8ffe8b40f0f024b08b8ffc040131313064b08080c2352020c521219 34.173 +0b020b1207003f3f3f10ed10ed11392f2b2b2b2b2b5f5d5f5d5f5d5ded5f5d10dd2b2b5f5ded 34.174 +10d5ed10cd10dd5d2b2bcd5f5d0110d62b2b2b2b2b2b2b5f5ded10d62b2b2b2b2b2b2b2b71ed 34.175 +edc65d10c41112395f5d5f5d5f5d3130005f5d2b2b012b250623222635342433321710232207 34.176 +273636333216151114171522260326232206151433323702e472eb7eb9011ddd3c4ce8b26050 34.177 +36bf57e9d35474732b5a2490b6c5906f7b8fb788a3e11a0104609f2c3fd4e7fe808d2f5f4201 34.178 +df149465a789000100870000061d0443001f01b8403821400f10024b21400c0c024b071c0101 34.179 +08216821022721372157219721c72105004d371f011f101313024b1f081010024b1f1c0f0f02 34.180 +4b1fb8ffec40170b0b024b1f180c0c024b1f040d0d024b1f0e0f0f064b1fb8ffed400b0c0c06 34.181 +4b1f101010064b1fb8fffe401d0e0e064b1f084d37070107101313024b07021010024b071a0f 34.182 +0f024b07b8ffec40170b0b024b07180c0c024b07040d0d024b07080f0f064b07b8ffedb40c0c 34.183 +064b07b8fffe40180d0d064b07061010064b07104d071117112711e711040011b8fff8b41010 34.184 +064b11b8fffa400b0e0e064b11100909024b11b8fff4400b1313024b11040d0d024b11b8fff4 34.185 +b41010024b11b8fff440110f0f024b110a0b0b024b11080c0c024b11b8fff440530f0f064b11 34.186 +100c0c064b1120171c271c371c030118400d0d024b18401010064b182c0d0d064b4718571867 34.187 +187718040018400e0e064b18400e10024b18160f141603521b0c52161f0a080a110a1b071607 34.188 +1206003f3f3f3f3f3f10ed10ed10ddcd10cd2b2b5f5d2b2b2b5f5d0110d62b2b2b2b2b2b2b2b 34.189 +2b2b2b5f5dfdd42b2b2b2b2b2b2b2b2b2b5dedd42b2b2b2b2b2b2b2b2b2b5ded5d5d3130005f 34.190 +5d012b2b2111342322060711231134262322060711231133173633321736363332161511055f 34.191 +db457816be776239811bbe7c3f6ea5e65c20ae5ca6b602a6fd5536fce802f94f5b5835fcea04 34.192 +2f7c908f3d52c5b2fd34000100120000049305b900070080401e270701280401079301042c13 34.193 +13024b049301442702010002081010064b02b8ffe440111313024b02180f0f024b02100b0b02 34.194 +4b02b8fff6b40d0d024b02b8ffe640200e0e064b02120f0f064b02010c0c064b02220d0d064b 34.195 +02074804480502080502003f3f10eded012f2b2b2b2b2b2b2b2b2b5f5dede62b10e65d5d3130 34.196 +011123112135211502acc8fe2e04810505fafb0505b4b400000000020050000001c105c4000b 34.197 +001100d9b613400f0f024b13b8ffc0b60d0d024b097b03b8fff4b40e0e064b03b8fff8b40f0f 34.198 +024b03b8fffab40c0c024b03b8fff940200c0c064b03110e0c4d7711010011041313024b1102 34.199 +1010024b110e0f0f024b11b8ffeeb40b0b024b11b8ffecb40c0c024b11b8ffe6400b0d0d024b 34.200 +110e0f0f064b11b8fff8400b0c0c064b11120d0d064b11b8ffd640100e0e064b11081111064b 34.201 +11130d511000b8ffc040120f0f024b007c06400f0f024b06100c0a1006003f3f10d62bed2b10 34.202 +ed0110d62b2b2b2b2b2b2b2b2b2b2b5f5dfdc610d42b2b2b2bed3130012b2b01321615140623 34.203 +2226353436031123352111014b314545313045443793015105c44530314545313144fa3c038f 34.204 +a0fbd100000000020041ffec041c04430019002201ff408724400b0b024b58170103b807018a 34.205 +079a07aa07ba07ca07da0706025705016808780888089808a808052808380848085808680878 34.206 +0888089808a808b808c808d8080c00571877180208221010024b08180f0f024b08180c0c024b 34.207 +082c0d0d024b08100c0c064b08100d0d064b081f4e471e0102171837184718671887189718a7 34.208 +18b718c7180918b8ffe0b40e0e064b18b8ffdeb41010024b18b8ffdcb40f0f024b18b8ffe2b4 34.209 +0c0c024b18b8ffd4b40d0d024b18b8ffe4b40c0c064b18b8ffe4406b0d0d064b18011e4e014e 34.210 +87100138104810581068100410100e0e064b10101010024b10100f0f024b101c0b0c024b1016 34.211 +0d0d024b100c0c0c064b100c0d0d064b102387079707a7070300270537054705570504020752 34.212 +2a083a084a08030357086708770803070817080208b8ffc0b40b0c024b08b8ffd4b40d0d064b 34.213 +08b8ffc040350d0d024b080c1e50470157016701a701b701050001400f0f024b01400d0d024b 34.214 +01400f0f064b010105581a011a5214100f0f024b14b8ffe8b40d0d024b14b8ffe840200e0e06 34.215 +4b140c0f0f064b14671401024a145a140205100c0c024b05520c0b1407003f3fed2b5d5f5d10 34.216 +2b2b2b2bed5d11392f2b2b2b5f5ded10d52b2b2b5d715f5ded5f5d5f710110d62b2b2b2b2b2b 34.217 +2b5d5deded10dd2b2b2b2b2b2b2b5d5f5dedc42b2b2b2b2b2b5d5f5d715d5f5d5d5f5d313001 34.218 +2b0121141716333237170607062322272635103736333217161514012207060721342726040d 34.219 +fcfc675b8fa36d502c5b728cca8d9da190c5e5827efe247f56520b0251484f0205bc65585f89 34.220 +2c202a8997ff0109a08f817ccd3f0169524e74734d5400010087000003d905e60013010d400d 34.221 +15400b0b024b07101710020100b8fff8b60c0c064b004d13b8ffecb41010064b13b8fff8b413 34.222 +13024b13b8fff640171010024b130a0f0f024b131a0b0b024b13080c0c024b13b8ffd6b40e0e 34.223 +064b13b8fff6400b0d0d024b130e0f0f064b13b8fff840130d0d064b13080b4d084d07091709 34.224 +2709030009b8fff2b41010064b09b8fff4b41313024b09b8fff4400b1010024b09040d0d024b 34.225 +09b8fff440110f0f024b090a0b0b024b09080c0c024b09b8fff4b40e0e064b09b8fffa400c0f 34.226 +0f064b09146a047a040204b8ffe8400f0f0f024b04520f130a090a0f070a00003f3f3f3f10ed 34.227 +2b5d0110d62b2b2b2b2b2b2b2b2b5f5deded10d42b2b2b2b2b2b2b2b2b2bed2b3130005f5d01 34.228 +2b2111342623220607112311331136363332161511031b766b458b25bebe26a95aaac102a178 34.229 +8a5136fce405e6fdd33b4fe0c2fd5f000001000cfe5c03e6042f000f0105b9000dffe0b31010 34.230 +024bb1020243545840120d0b0452030e0e060b06030d0f0e0d0b0c0db8fff4b70b0b024b0d0d 34.231 +11101112392f2bddcd10ddcd10c4003f3f3fed123931301bb1060243545840150d0b0452030e 34.232 +0e060b06030d0f0e0d0b0c0d0d11101112392fddcd10ddcd10c4003f3f3fed123931301b4058 34.233 +4c0801380f0127000103270401004701010237010103081128110200380d480d02020d0d0c45 34.234 +07010707040e4f0f110c4f450b0103040b10980da80d020167060102270d470d570d670d770d 34.235 +05000d0f0452030e0f060b06003f3f3fed11395f5d5f5d5f5d0110d6c65f5ded10d6ed11392f 34.236 +5d11393d2f5f5d5f5d5f5d5f5d5f5d5f5d5d5d31305959002b05060623353236353426270133 34.237 +010133022025ed9277aa3e31fedec2013b011bc2b66688aa6f5058ab7e02e9fcc4033c000001 34.238 +0041ffec02fc0443002100e7402b23400b0b024b081f181f02070e170e022823482388230300 34.239 +3a0c01351d0103c8110111054e671d771d021db8ffeeb40e0e064b1db8ffe0405a0d0d024b1d 34.240 +1700174e480c01970ca70cb70ce70c04000c040e0e064b0c22e81901271b0101280701270f01 34.241 +28200102651a751a020307191a0314034812581268127812c81205120f370147015701670177 34.242 +01b701c70107000103b8ffe040141113064b03522014181113064b14520f200b0f07003f3f10 34.243 +ed2b10ed2bc55f5d10c55d111217395f5d5f5d5d5d5f5d5d0110d62b5f5d5dedc610d42b2b5d 34.244 +edc45d5f5d5d5f5d3130005d5d012b37371633323534272e0335343633321707262322061514 34.245 +17171616151406232241439f61b0aa835b4321c09b75b2367172445d75887d72cab3a940b468 34.246 +946a4c3c3e4f593384944ab05a403167353e39926e90a300000000010041ffec03b504430017 34.247 +0119401e450501a1010103281938190200870d970da70d030200070d870d970d030db8fff4b4 34.248 +1010024b0db8ffeab40f0f024b0db8ffeab40b0c024b0db8ffe840610d0d024b0d074e381248 34.249 +12028712a712b712c712e712050012101010024b12180f0f024b12200b0c024b12180d0d024b 34.250 +12060e0e064b120c0e0e064b12120c0c064b12100d0d064b1218250a350a450a032a043a044a 34.251 +0403030c52070d170d020db8ffc040160b0b024b0d0f015208001800020000400b0b024b0004 34.252 +b8ffe8b40c0c024b04b8ffe840190d0d024b0452150a180c0c024b0a180d0d024b0a520f0b15 34.253 +07003f3fed2b2b10ed2b2bdd2b5f5ded10dd2b5ded5f5d5d0110d62b2b2b2b2b2b2b2b5f5d5d 34.254 +fdd42b2b2b2b5d3c5f5d5f5d5f5d5d3130010726262322061514163332371706232200351000 34.255 +21321603af5e1d93479bb6baa580824b99e2dbfee20129010253c203d8861d34d9bdbcc563a0 34.256 +630126fb01000136460000010096ffec020705e6000800c7b9000affc0b41313024b0ab8ffc0 34.257 +b41010024b0ab8ffc0402a0c0c024b070a170a270a370a470a570a670a770a08070617062706 34.258 +0306024d070117012701d701040001b8ffecb41313024b01b8ffeeb41010024b01b8fff24011 34.259 +0f0f024b01040b0b024b01040c0c024b01b8ffcc40170e0e064b01180f0f064b01130c0c064b 34.260 +01160d0d064b01b8ffec401b0b0b064b0109b705c70502010a081a082a083a08040652070b01 34.261 +00003f3fed5d5f5d0110d62b2b2b2b2b2b2b2b2b2b5f5dfdc65d5d3130012b2b2b1311331114 34.262 +1633152096be6350fe8f012f04b7fb695663aa00000000010050ffe7038805d2002601ccb102 34.263 +02435458401907221a0e180b0b024b0e120c0c024b0e22070e1a0425131714b8ffc040120c0c 34.264 +024b1411000401251749110304492509003fed3fed10cd123910cd2b1239121739012f2b2bcd 34.265 +2fcd31301bb106024354584086082401071001002520452065207520042a0b01034828a82802 34.266 +68130113074507223722672203221a001a45380e01870e01000e2777040102351e651e751e03 34.267 +351f451f651f751f040a0c3a0c4a0c6a0c7a0c0533220103380e010a0b1f1e04254814581468 34.268 +14781404141137014701570167017701a701b70107000125174911044925091103003f3fed10 34.269 +ed10cd5f5d10cd5d1217395d5f5d5d5d5d5f5d0110d65f5d5dedc410d45dedc45d5d3130005f 34.270 +5d5d5f5d5d1b4086082401071001002520452065207520042a0b01034828a828026813011307 34.271 +4507223722672203221a001a45380e01870e01000e2777040102351e651e751e03351f451f65 34.272 +1f751f040a0c3a0c4a0c6a0c7a0c0533220103380e010a0b1f1e042548145814681478140414 34.273 +1137014701570167017701a701b70107000125174911044925091103003f3fed10ed10cd5f5d 34.274 +10cd5d1217395d5f5d5d5d5d5f5d0110d65f5d5dedc410d45dedc45d5d3130005f5d5d5f5d5d 34.275 +5959373716163332363534262727262635343633321707262623220615141616171716161514 34.276 +042322544938a742758e4f9f769677e8b6f35f3b28a44666752a4b74789679fef7dec343b829 34.277 +3780634a7f4b3746c087a4d84fae1d36745b385c3e383947c598a5e60002004bffed03ec05e6 34.278 +000e0019011e40161b400b0b024b004d0d190c4d470d010d201313024b0db8ffeab41010024b 34.279 +0db8fff6400b0f0f024b0d080b0b024b0db8fff6b40c0c024b0db8ffe4400b0d0d024b0d0c0f 34.280 +0f064b0db8ffe2b40c0c064b0db8fff240660d0d064b0d140c0c0c064b144e87060138064806 34.281 +020006080f0f024b061a0b0b024b061a0c0c024b06120d0d024b060c0e0e064b06100c0c064b 34.282 +060c0d0d064b061a251635164516032a113a114a110303580368030216180b0c024b16100f0f 34.283 +024b16520311b8ffe8400e0b0c024b115209480901020e0a03b8fff0b60f0f024b030b09b8ff 34.284 +eeb70d0d024b09070d00003f3f2b3f2b3f5f5d10ed2b10ed2b2b5d5f5d5d0110d62b2b2b2b2b 34.285 +2b2b5f5d5dfd2bd42b2b2b2b2b2b2b2b2b5dfd3c10ed3130012b253506232202353400333217 34.286 +1133110326232206151021323637032e63bdc9fa0120c7a656bebe487d99bd01602d7e10014f 34.287 +630120f0f101554e01f1fa1b03366ce4b0fe7d39200000000001007dffec03e3042f001200fb 34.288 +402714400b0b024b7714010a4d074d070801170847087708a708048708b708e70803080c1010 34.289 +064b08b8fffab40e0e064b08b8ffecb41313024b08b8ffec400b1010024b08160b0b024b08b8 34.290 +ffeeb40d0d024b08b8ffccb40e0e064b08b8fff0b40c0c064b08b8fff440150d0d064b08004d 34.291 +e812f81202071217122712030012b8fff8b41313024b12b8fffab41010024b12b8fff640230f 34.292 +0f024b120c0b0b024b120c0c0c024b12080d0d024b12040c0c064b12040d0d064b12b8fffa40 34.293 +110e0e064b121303520e090a0e0b08061206003f3f3f3f10ed0110d62b2b2b2b2b2b2b2b2b5f 34.294 +5d5dfdd42b2b2b2b2b2b2b2b2b5d7172eded5d3130012b011114333236371133112335060623 34.295 +22263511013bd75e9c19bebe20c15cb0bb042ffd55f86c4702f0fbd1943f69caba02bf000000 34.296 +0002000300000000001400010000000000340004002000000004000400010000f012ffff0000 34.297 +f000ffff10000001000000000006003000000000001300000001000200030004000500060007 34.298 +00080009000a000b000c000d000e000f00100011001205e6000005b9001905b90014042f0014 34.299 +0000ffe70000ffec0000ffecfe5c000005c30000fe5400000338000005d300000253000005c8 34.300 +000a000000000000000000000000000000000000000000000000000000000000000000000000 34.301 +0000000000000000000000000000000000000000000000000000000000000000000000000000 34.302 +00000000000000c800cd00cd009600b400b400000000000000be00c800c8008c00a0009b0096 34.303 +0000000000be00c800c8000000aa00aa000000000064007d0082008c009600a00064007d0082 34.304 +008c009b00d20064007d0082008c009600a002300136011801a401d600460218012c01c20000 34.305 +01d600eb00eb01d1017f0154011301450168012c008d02350159033f0505012c00b4006e0136 34.306 +015e01cc01cc04d8006e006e01d600d2005f01f4012c007802d00190037f00800280006e00b4 34.307 +000000a5fea2003200b9008c0000000000000000000000000000000000000000000000000000 34.308 +0000000000000000000000000000000000000000000000000000000000000000000000000000 34.309 +0000080005e6000005b9001905b90014042f00140000ffe70000ffec0000ffecfe5c00000000 34.310 +0000000000000338000000000000025300000000000000000000000000000000000000000000 34.311 +0000000000000000000000000000000000000000000000000000000000000000000000000000 34.312 +000000000000000000000000000000000000000000000000000000c800cd00cd009600b400b4 34.313 +00000000000000be00c800c8008c00a0009b00960000000000be00c800c8000000aa00aa0000 34.314 +00000064007d0082008c009600a00064007d0082008c009b00d20064007d0082008c009600a0 34.315 +4036544b214a494847464544434241403f3e3d3c3b3a39383736352f2e2d2c2826252423221f 34.316 +181411100f0d0b0a090807060504030201002c4523466020b02660b004262348482d2c452346 34.317 +236120b02661b004262348482d2c45234660b0206120b04660b004262348482d2c4523462361 34.318 +b0206020b02661b02061b004262348482d2c45234660b0406120b06660b004262348482d2c45 34.319 +23462361b0406020b02661b04061b004262348482d2c0110203c003c2d2c20452320b0cd4423 34.320 +20b8015a51582320b08d44235920b0ed51582320b04d44235920b0042651582320b00d442359 34.321 +21212d2c20204518684420b001602045b04676688a4560442d2c01b10b0a432343650a2d2c00 34.322 +b10a0b4323430b2d2c00b0282370b101283e01b0282370b10228453ab10200080d2d2c2045b0 34.323 +0325456164b050515845441b2121592d2c2045b0004360442d2c01b00643b00743650a2d2c20 34.324 +69b04061b0008b20b12cc08a8cb8100062602b0c642364615c58b00361592d2c8a03458a8a87 34.325 +b0112bb0292344b0297ae4182d2c4565b02c234445b02b23442d2c4b525845441b2121592d2c 34.326 +01b005251023208af500b0016023edec2d2c01b005251023208af500b0016123edec2d2c01b0 34.327 +062510f500edec2d2c20b001600110203c003c2d2c20b001610110203c003c2d2c00b00743b0 34.328 +06430b2d2c21210c6423648bb84000622d2c21b08051580c6423648bb82000621bb200402f2b 34.329 +59b002602d2c21b0c051580c6423648bb81555621bb200802f2b59b002602d2c0c6423648bb8 34.330 +4000626023212d2c4523456023456023456023766818b08062202d2cb00426b00426b00425b0 34.331 +042545234520b003266062636820b0032661658a2344442d2c2045b0005458b040442045b040 34.332 +61441b2121592d2c45b1302f4523456160b0016069442d2c4b5158b02f2370b01423421b2121 34.333 +592d2c4b515820b0032545695358441b2121591b2121592d2c45b01443b0006063b001606944 34.334 +2d2cb02f45442d2c452320458a60442d2c45234560442d2c4b235158b90033ffe0b134201bb3 34.335 +330034005944442d2cb0164358b00326458a586466b01f601b64b020606620581b21b04059b0 34.336 +01615923586559b02923442310b029e01b2121212121592d2cb0164358b004254564b0206066 34.337 +20581b21b04059b0016123586559b0292344b00425b00725082058021b0359b0052510b00425 34.338 +2046b0042523423cb0072510b006252046b00425b0016023423c2058011b0059b0052510b004 34.339 +25b029e0b0072510b00625b029e0b00425b00725082058021b0359b00425b003254348b00625 34.340 +b00325b0016043481b2159212121212121212d2cb0164358b004254564b020606620581b21b0 34.341 +4059b0016123581b6559b0292344b00525b00825082058021b0359b0042510b005252046b004 34.342 +2523423cb00425b0072508b0072510b006252046b00425b0016023423c2058011b0059b00425 34.343 +10b00525b029e0b02920456544b0072510b00625b029e0b00525b00825082058021b0359b005 34.344 +25b003254348b00425b0072508b00625b00325b0016043481b2159212121212121212d2c02b0 34.345 +0425202046b004252342b0052508b003254548212121212d2c02b0032520b0042508b0022543 34.346 +482121212d2c452320451820b00050205823652359236820b040505821b04059235865598a60 34.347 +442d2c4b53234b515a5820458a60441b2121592d2c208a08234b538a4b515a5823381b212159 34.348 +2d2c00208a49b0005158b04023208a3812341b2121592d2c462346608a8a462320468a608a61 34.349 +b8ff8062232010238ab14b4b8a70456020b0005058b00161b8ffba8b1bb0468c59b010606801 34.350 +3a2d2c208a2349648a2353583c1b21592d2c4b505845441b2121592d2cb0024354584b53234b 34.351 +515a58381b2121591b21212121592d2cb1020042b123018851b1400188535a58b91000002088 34.352 +5458b202010243604259b12401885158b920000040885458b2020202436042b12401885458b2 34.353 +022002436042004b014b5258b2020802436042591bb940000080885458b202040243604259b9 34.354 +4000008063b80100885458b202080243604259b94000010063b80200885458b2021002436042 34.355 +59b94000020063b80400885458b202400243604259595959592d00000001000000050000093f 34.356 +e5da5f0f3cf5001b080000000000ad61b71900000000c142e956ff50fde708a8078b0000000a 34.357 +0001000000000000000100000783fe39000008e9ff50ff7808a8000100000000000000000000 34.358 +0000000000130400008004760096031c0096044b0041040400500434005006a4008702690000 34.359 +04a5001202480050045d0041045f008703f2000c033d004103f60041025c009603d900500475 34.360 +004b045f007d0000002800d20144020c031204340540054005940622075a080208a4094a0a00 34.361 +0a780b980c540cf2000100000013004d0007004b000500020010002f0055000002f001ff0003 34.362 +0001400a54bfa50140a5111546a4b8010cb2321fa1b8011540b21f1f6fc731216ec731216dc7 34.363 +31216cc731216bc731216ac7312169c7312168c7312167c7312166c7312165c7312164c73121 34.364 +63c7312162c7312161c7312160c731215fc731215ec731215dc731215cc731215bc731215ac7 34.365 +312159c7312158c7312157c7312156c7312155c7312154c7312153c7312152c7312151c73121 34.366 +50c731214fc731214ec731214dc731214cc731214bc731214ac7312149c7312148c7312147c7 34.367 +312146c7312145c7312144c73121b80137b26f0821b80136b26e0821b80135b26d0821b80134 34.368 +b26c0821b80133b26b0821b80132b26a0821b80131b2690821b80130b2680821b8012fb26708 34.369 +21b8012eb2660821b8012db2650821b8012cb2640821b8012bb2630821b8012ab2620821b801 34.370 +29b2610821b80128b2600821b80127b25f0821b80126b25e0821b80125b25d0821b80124b25c 34.371 +0821b80123b25b0821b80122b25a0821b80121b2590821b80120b2580821b8011fb2570821b8 34.372 +011eb2560821b8011db2550821b8011cb2540821b8011bb2530821b8011ab2520821b80119b2 34.373 +510821b80118b2500821b80117b24f0821b80116b24e0821b80115b24d0821b80114b24c0821 34.374 +b80113b24b0821b80112b24a0821b80111b2490821b80110b2480821b8010fb2470821b8010e 34.375 +b2460821b8010db2450821b8010c40ff4408216957311f5857311f5657311f5152311f464431 34.376 +1f4544311f4f4e311f4d4e311f2097309740975097043088010f8c018f849f84af84bf84cf84 34.377 +058f689f68af680360697069028f5b018f5a017057018f509f50af50bf50cf50058f519f51af 34.378 +51038f529f52af52033f7c4f7c02507b607b707b03704e01708f01308f608f708f03008e0100 34.379 +8e01408e708e02008e308e408e508e608e708e06107040700260740160730170440100282800 34.380 +000012110840370f3fce16010fa21fa20218c7312114c731210ec731210dc731210cc731210b 34.381 +c731210ac7312109c7312108c7312107c7312106c7312105c7312104c7312103c7312102c731 34.382 +2101c73121407c00c73121e0180821dc140821d60e0821d50d0821d40c0821d30b0821d20a08 34.383 +21d1090821d0080821cf070821ce060821cd050821cc040821cb030821ca020821c9010821c8 34.384 +000821230e45220c45210a452008451f06451e04451d02451c00451a08180816081408120810 34.385 +080e080c080a08080806080408020800084bb807ff524bb008505b58b101018e59b0124b004b 34.386 +5442b9000101ff858d2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b 34.387 +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b7342011d4bb01b5358b096 34.388 +1d594bb0325358b0001db1160042594b20b0325323b096515a58b0301d592b0145695342014b 34.389 +5058b108004259435c58b1080042591610703eb13737456920b0005458b040605944b1300070 34.390 +b33200300019701870737373737373747473737373737373737373737373737373732b2b2b2b 34.391 +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b 34.392 +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b 34.393 +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b742b00000000> 34.394 +] def 34.395 +FontName currentdict end definefont pop 34.396 +%%Page: 1 1 34.397 +%%BeginPageSetup 34.398 +%%PageBoundingBox: 0 0 206 75 34.399 +%%EndPageSetup 34.400 +q 34.401 +0 g 34.402 +0.864145 w 34.403 +0 J 34.404 +0 j 34.405 +[] 0.0 d 34.406 +4 M q 1 0 0 -1 0 74.329308 cm 34.407 +67.75 3.387 m 124.164 3.387 l 124.164 18.609 l 67.75 18.609 l 67.75 34.408 +3.387 l h 34.409 +67.75 3.387 m S Q 34.410 +BT 34.411 +8 0 0 8 70.70321 60.248497 Tm 34.412 +/f-0-0 1 Tf 34.413 +[<01>-1<0203040205060708>1<09060a>]TJ 34.414 +ET 34.415 +q 1 0 0 -1 0 74.329308 cm 34.416 +147.75 3.387 m 204.164 3.387 l 204.164 18.609 l 147.75 18.609 l 147.75 34.417 +3.387 l h 34.418 +147.75 3.387 m S Q 34.419 +BT 34.420 +8 0 0 8 150.70321 60.248497 Tm 34.421 +/f-0-0 1 Tf 34.422 +[<01>-1<0203040205060708>1<09060a>]TJ 34.423 +ET 34.424 +q 1 0 0 -1 0 74.329308 cm 34.425 +106.148 56.188 m 162.566 56.188 l 162.566 71.41 l 106.148 71.41 l 34.426 +106.148 56.188 l h 34.427 +106.148 56.188 m S Q 34.428 +BT 34.429 +8 0 0 8 109.10321 7.448497 Tm 34.430 +/f-0-0 1 Tf 34.431 +[<01>-1<0b0c>-1<0d090e>-1<050f07>1<0809060a>]TJ 34.432 +ET 34.433 +q 1 0 0 -1 0 74.329308 cm 34.434 +3.75 30.586 m 60.164 30.586 l 60.164 45.809 l 3.75 45.809 l 3.75 30.586 34.435 +l h 34.436 +3.75 30.586 m S Q 34.437 +BT 34.438 +8 0 0 8 3.603992 33.048497 Tm 34.439 +/f-0-0 1 Tf 34.440 +<100e0b0a11120f0a02070809060a>Tj 34.441 +ET 34.442 +0.8 w 34.443 +q 1 0 0 -1 0 74.329308 cm 34.444 +95.039 19.262 m 94.672 27 101.449 32.363 114.461 35.277 c 133.074 34.445 +39.445 131.441 55.703 131.441 55.703 c S Q 34.446 +133.785 22.595 m 131.344 17.571 l 129.949 22.982 l 130.996 22.032 34.447 +132.547 21.884 133.785 22.595 c h 34.448 +133.785 22.595 m f* 34.449 +q 1 0 0 -1 0 74.329308 cm 34.450 +173.063 19.262 m 173.43 27 166.652 32.363 153.641 35.277 c 135.027 34.451 +39.445 136.66 55.703 136.66 55.703 c S Q 34.452 +138.168 22.982 m 136.773 17.571 l 134.332 22.599 l 135.547 21.876 34.453 +137.098 22.036 138.168 22.982 c h 34.454 +138.168 22.982 m f* 34.455 +1.12 w 34.456 +[ 3.36 1.12] 0.224 d 34.457 +q 1 0 0 -1 0 74.329308 cm 34.458 +111.125 32.664 m 111.125 34.766 109.418 36.473 107.313 36.473 c 105.211 34.459 +36.473 103.504 34.766 103.504 32.664 c 103.504 30.559 105.211 28.852 34.460 +107.313 28.852 c 109.418 28.852 111.125 30.559 111.125 32.664 c h 34.461 +111.125 32.664 m S Q 34.462 +[ 3.36 1.12] 0.224 d 34.463 +q 1 0 0 -1 0 74.329308 cm 34.464 +163.922 32.664 m 163.922 34.766 162.219 36.473 160.113 36.473 c 158.012 34.465 +36.473 156.305 34.766 156.305 32.664 c 156.305 30.559 158.012 28.852 34.466 +160.113 28.852 c 162.219 28.852 163.922 30.559 163.922 32.664 c h 34.467 +163.922 32.664 m S Q 34.468 +0.8 w 34.469 +[ 3.2 0.8] 0 d 34.470 +q 1 0 0 -1 0 74.329308 cm 34.471 +104.352 35.625 m 60.328 37.32 l S Q 34.472 +[ 3.2 0.8] 0 d 34.473 +q 1 0 0 -1 0 74.329308 cm 34.474 +157.684 36.473 m 145.832 47.477 60.328 40.703 60.328 40.703 c S Q 34.475 +Q q 34.476 +q 0 0 207 75 rectclip 34.477 +% Fallback Image: x=0, y=0, w=206, h=74 res=300dpi size=796293 34.478 +[ 0.24 0 0 0.24 0 0.169308 ] concat 34.479 +/DeviceRGB setcolorspace 34.480 +8 dict dup begin 34.481 + /ImageType 1 def 34.482 + /Width 859 def 34.483 + /Height 309 def 34.484 + /BitsPerComponent 8 def 34.485 + /Decode [ 0 1 0 1 0 1 ] def 34.486 + /DataSource currentfile /ASCII85Decode filter /LZWDecode filter def 34.487 + /ImageMatrix [ 1 0 0 -1 0 309 ] def 34.488 +end 34.489 +image 34.490 +J3KW%GU+$o#COBr:T)u+*=mro@So+\<\5,H7Uo<*jE<[.O@Wn[3@'nb-^757;Rp>H>q_R=Al 34.491 + C^cenm@9:1mM9jS"!dTMT<$3[GQ$8#0$s<4ZX!SPQ1`B[F7^jpq0?^FN,^V01s.HIuWPG[6 34.492 + W[B=(iZ<kDqOh/Bf.DHAorf'R[o?>ioWjnAY&^gM+`4=1jRLW!YA=M/6)*KS9PE`kN%="Tc 34.493 + _Aoh+fk'&t\ctIN)4XQLiVp8<#YAIm[Y7B-r[TbficW^RQh!2M]<QfX_h/>87rW`7R`ng.Y 34.494 + r2oA,QcS@]\G\$U6`4nep,_pH-TAH`l>Cq)%f_I)hX5T5S6nLebM0LLI6LH!bN&*#rP(P"+ 34.495 + 0X8e4n!IWoKM[fr;O?J":"rmYZ)P=/W\C+#VBr\)#_11HnPfAcpQOe^lZJT&O\>6,mqMI<) 34.496 + 45nOSh6A`,RV,'LOT#CDfKZUgkE6.nj"d8#o$0"3&T&G8<[<jDuS:ne?\^ag-S(!6C:UB-p 34.497 + 7A"HtB0En$.'9/:TN,0H!@_^S6b'YcLslSP@q9rfh#(Vt(oQS:oZX&O[%1[41VTk`T"YUi< 34.498 + hWi8i09bg+EP\hF2dM.Ze8^`j*/PFP,br&5EPjLV0e.iE];:1TU%b7tHH5`j1e1'iRTrQXR 34.499 + INPu"D-PU,STS1=Q+_<Ies5WL?n57mLLOB9jb[-n29h7qf%+-#B\@P\VLI6"]sDG,[^EYYg 34.500 + \(fSCg4@h[qK%?D7a322>td=>o,*#G[4CIPBG^U($C!N\$_3;hY6\sHs_)@$XM]bjl;&$\7 34.501 + PhXh`*LjAmmZb(Q2_3`ZK_<p_AjFA%77DDdrK2-]MXs7L+uW=-cXF@lZG?OC`^75F#jVAY# 34.502 + <%\`S*rB">p.TkF2OIA9u6p5b>IpL\&@@QHqnTP$6]S#BkDG%7Req3JLkBtB=iV!+7RbHbk 34.503 + a-HE+Q3$uPElru[,[I%1alaH7$VVSE@=Pga+Dd1NS^$GKL!O-L47coJ*a2J%0EJR=cHRe=' 34.504 + ["!-:cS`u=SF8VeoGnH2dI`t_:"/bU:K>s<SSqfcp)T3*g%Lu?D;4e*cZS(<SaV!ap`9s"i 34.505 + V8utNT9gU:R1&;So:1_qAt]ol2%!TXm>j*caE0;SonVc[qKnq5bPJ>&r1NUs4-f@T5WQ[rZ 34.506 + @3_q>R"imJHo*ch78:TC;^Xhuj(2:_!Ol=:G;h6j\E@/d=Sn*<Y5Q&V<hS$:.cG"lR<:K2? 34.507 + Fq6.e=*i<1<W:lZ/T=A9+\6n*gdXqj@V>mM??%O#@C><YR"X9[MEL%+LO6eHetiWMQ';%=d 34.508 + <=H*pP6qN54/ga!=SJ1"9;2S4G.RdIA&#"ghL1E1\O>k=_h`2.$;-l"I=Nq`D6tqWXXu8c% 34.509 + h&GC-EK3oA3_*<>*TP(RM^.XAO1;bbUASC@0;6T[R11>#7#@%(/k/Cb*@'WuOciU;8kE/;- 34.510 + /dj2O0S[L_hc>[,m9p+;N=XI=\U@,7&cGLY#\0J>q=fKRW9![>/Oii(h(XBQ4iUl9A+_Hjo 34.511 + iMf;\!81=cG/u6n+Ei10P4AD#'kH@[C"?C/%j5*_"<+$F=Vf:"d3=k60b6;iYln=j8ti7-U 34.512 + 7@Y'*Rnh)jeQnX`\)H;@]24m0cZT2Y0,:YG\,#&OC0nY1N[=q*d]71#Ye/r!3V*CK%E&Y`5 34.513 + =51*N"%4/)^L@X>"coO<[klb'#e;OB*>"qTQ74G'4Y*Mu>>taF90r@pqRT!C,:$KVWVc<)U 34.514 + ;qcXql30JP<=Ya&>)cDE74o@@/s+%uP>gb#;6!VkW`<6)<U.P+X&X&?<:G07ke,0.nd7\ol 34.515 + C1rB7;7SMN([1)h-93!ENW<e\lW)&?0fH_WFF;`74Rn9lihsE<XuuK>7G$*[9j0(L-JP'!> 34.516 + jhhe$$2Tb#qh>>:Fe/ZW:th=kc)Pm002j<fYU3>>8i!7B*[qY1?e2?#/h]Z*m]Yg07cuD=, 34.517 + <Q[oVqR>71%%/@8*W2YQ-8>E*Xj7EN)A0'6EnSTF4QdC0gq`E:5BA16Q&\2S<n?.^<4.9P$ 34.518 + 2=*jFD=JoKiAUD);(7#/oh0SODnVKN>qGNf_io8IoZ*QKN96m9bCGk[u=:YGh$<;>*Q3>$+ 34.519 + /eq]M=*h)]0>4j0#iT#?#VVi&^=@i58'CRJkhZ96\6fkX=cn97:'eejY80CI*D3Pj/VKKb1 34.520 + ug-(NSkiq_fd[Cah&Q@DU&:')%Ro`4Ae^*<^k,5/b\3#;iGa-)9/(7.V-bG8h[ekL0/pIh2 34.521 + FdGZE@W[;9L34I$9rh7O6+*UF9`A+dDSAEPgC8PNA.GIV*0gXEI)WB.X"RieD$?fq1NC>KN 34.522 + >u5&JZn+#mrI*HuS$-I0SG/a&WiJ#b2_dopW0kUK6!2!1L-)BtAYX[N2rDPu#aHUuRj-9j> 34.523 + h(r)A$&F#`eXnBUKe%c&^CRol-2'jQugAUm5SVaW5p8n<5^KB&;q_U1=aP'ims(f;p[5Pt" 34.524 + fH:9)m?cM2[eA[EHRi]@NFe^P%cZ;KYA7H-f=U+HgY9>uE,Q3Q,PNN)b?LHKCJ?N?ZgRSG> 34.525 + 2seaSd3*m:@bn7$[V<&*?DW74PtC194cpp^c6f]dsMskES0BiX60TD]R,f2Sg/Bf[f=,_Q^ 34.526 + 27O3Ql]$A`OgQOn0W2'KJ??bF6a"Ac;eVq?Ak>r<K&bc=b4t?1,_G(T'UGF2[VC4NlJLVY+ 34.527 + 1Ed/(4SL]&<LFIXf2]*(@_q;7'II@jY%a'n@:_lS$qh$Nr?pZB0(\m^N_Q8dE+l8tc5G@(5 34.528 + ZHZ+E':i!T0DWfsU6kep5;grA^c_!<qOe^b<aa$u-iHL'4o%n6dGeIPGFM?,h5',.G+"?H& 34.529 + 6icft^Wh(s>lK-Ec10Qcd;m!/mH%uYJ:[=K;]qRu`+Qn%?OUcK?ZDhkKCKj%0Al]SS+=RQ+ 34.530 + 8'uaf"^Zu+$KA6pg4]pI!?$(?`29HhZ)e:s't7Q:US,jHhL$lFTC\4B`;?QD#W&`p`G:9V* 34.531 + ?p'<4gT;DWL-/Q@VikrboCIa7TB:jSqhKs,C.Km-=$m)!nC$kH:cb&298ChLJ4Yr3.s/YEJ 34.532 + o=IfF>8s.O-+mR$6><9Zpk"0\$nn3F,=klHZ;!QkWEn0n!L/G*mi#H8LABEG#ckSu:4'_%' 34.533 + XiSb(sI/++KJM4t>E'0e3VVP%Jrp!PjE/P"e>mV\5$"sbR8/DU$SI-gL#7gItmF)Hie;l;6 34.534 + J.TMG!RhN4BVa"6'_']Q&?a%bVV[C<"gIS.&EO%0;%Bi!"-EN'E6RK_q#^'o&ZFFnVuI4ho 34.535 + _Jnmr]njCd3B4hAIiXq$E*\48+R@N;%h81eIaXXnIjiaUuLi['X:o&&Kqk8RhIMgP&H'j:r 34.536 + pb@5fKufgX/-5EH_F<:6G'b(G(mi/7fPKbk@(E'sV*`l9qG+_VNQF(h`FX%DNV9HQ-rUV'. 34.537 + ]8kO]V]`:tJmV3/k=@=!INL`A,7)mC7X5oBG17&9?jIPH$e&_s2P^(X$)q@WH3C.f2epDcJ 34.538 + [$Hc-bB@e/Drt%dtqXMr.:R<&_8-uQq+UD3i&VR"o18N>L+7^-cnc/Y&*?0#A)A4>:ngPOK 34.539 + 3e.dP(@SFHc\!?r2]&U&(\0J\&D\8Fh]D<tr_^?K#P0($:8Lh6,_uUEESDkh;&k_Zq.`hLV 34.540 + r9"SHQO_3+*%/QEY\td.fN<N*)^i#n;/;BM(:&S,]V7]&"tCd9_ktE/1=FA&O*'>m\M[#,N 34.541 + 1L*1<h)Me>0D',uWNKP$7X$?DVY`-:g!3:b(aLGo@>5MG[k+b#3_n\KY\N%J'e#ZClYCiZ0 34.542 + eQVN72FL\i04$4RVKIBtL!Wa.D.h$co!q6N"4C/HCQHD_:C*HNj1Z6([hFXHBX2j7f2O+0( 34.543 + ::o;]^IrTBaYK6t3.41%Z-IK"UBBM$j;)T#%2X4@$8)Z7F3i6s_!9`f-8q@W(9,f[f3,2SX 34.544 + #MCtlFZ%P+2p[*s'7^CqK_l*p336aR&V2Q)m%lLeVXnR/PH:X&m!k4[4`ce_-n-k^FYQaa0 34.545 + shpWdiU1sC4B1@2D9\<ZO$=UAMrZ0$^*iSF2iYc!iOMH5En"%1cTpSp8=!h6ON?O-p]Hjn> 34.546 + 9-/Y*<=BnEQs7N5a-@_=.Hod/&<8A:??bV")PpZn39);*D9J#rFiD<,R,+7]3VU8CUD3'N0 34.547 + A/=#g8M7]PWD-oFP:T-I;.Y;F'c&@AB8G(F`LoJ)g5F<=7-f,@<n)Mf(f\=6SQRAV=?, 34.548 + o#MW%0j$dmU*>#b=DjNP*8:GZ<V(h4.-e1"pEi!j_-Ycp_o=TKO"YC@X09:T*Pn&5H\K);M 34.549 + ;Q&<HnEX%0deT%CV3MJr8(CRY[\].gK[fNb^]@LJkm5g=I<3o7[9j<L@gP"2V%m`o<JmUF+ 34.550 + %_7@$^H1;20sgpR+dap7W\'IeFchA92fs0;Xb+o[0%r"k>74h=>^X.'bpXHM,n@m=^fc`&E 34.551 + ?Z'<E.FA>JSW_#ME=HcRj9(**&^TojelH9.8.rV3Ot['il4eStu&(=CL/k192f/799%,1,R 34.552 + .M[LZJ@'4GWM@C?2=Q.Vp5Ndd9:Up]!+eX]^'[&%pEJMc*Z1u?Fjj^r1_68S2/<a'oKf0H? 34.553 + 97Ao:EO.0c0lQ'_C;?uM51tEc?[pFjO+Hj2Hp3ri]K4,#dA8st8Z5WJ%>bs?AIFa4NG.N+0 34.554 + P@rGo>4sHo'ZY!QQ"Y,mV3\uHQH'-8RN<(h9]tFtF3oIqVV60n8ubU!<d+7]JSnJiB<Qeu: 34.555 + p:otMcki(Bbo9JG*cTlmqL0>>um_>^mf<Ko4l>9*bnCFpAC_ph^hhDC_n0jQ:##D\qG5UB( 34.556 + dfaW_mk]F`"T^5mQ^n2cbB+V$=8Y0B`"H%u,Z/?PRHY:)7Pgk^@'nFJlP:CNj91kP&:_G7M 34.557 + [h=Z8<gG?\&<nSQmNK61[O-e3@KGBNNG6>sVTe&d!'dqo?[I!=4kep1c7,_(m>/@Mp:f(Rf 34.558 + uqdSiIH+3TppM>>gV.@r3J%)Oh=0[/cm<a%lKJ`4H!WRODPCa&^JsZJ4pHr"?c[uJoIFpN. 34.559 + =5p$aR""epV&)CJf7srZ(O6j"LUWOsC3_pCI=h1mC5;UM2XNR[j(\9)I+MYPntTc`Ck2!=% 34.560 + ^`--Q+Mh(1GTeuCq,`AfUn!ZeSr$rM.bd9E5-ros*lV_Is5=U0BIsH/S>oTIop]FE<%"=H! 34.561 + \"UMV+`$(GpY%M[7sqV>/kJ(n$$O*K+$LO&mul\7h\Jnta=jM\j^!W!e;5d-nJKOgn[lN)N 34.562 + Km&>bT"F74ArG@cd/r>&N:O1>RSoWN^Ac@6RmK_[Khpk\^U.]6@=PBcPN),Ydl4"L,>LcH' 34.563 + 3q#uCr@uZAGJbZb-pq;rm9pK`fP4?;N3JEeRK9)CHMKDpQBAo)an!=kKPp*K$MK+pVWJS0m 34.564 + K@hc6q0/9q#FS]aO6W]h:a"1_,kLMH:!XuFg#.S:?^l=GJ_@eh3H(CbeT9+C#hFtkG"M`PT 34.565 + n5:lIX1^e=d,;bbELW$Fd`].)B5Ch'p]a_T3;N#FVaQ?HH$YJo/)(<\ar?q++%0YU/gqn\c 34.566 + $N5,7Za:TR#sR\dkZ"/YP2FU1ccfq8JFVD5MU'T"!.J3\l8S'cEFsSiVga3Tm</6'f(GS2t 34.567 + D6Qj0IV9r=)7G*ap('[M.&++bDN&)'[MHBjo/\YiWMVoW)/m>72kH`>(2V]+A=>,%p@Vlb7 34.568 + pJ!RjLn[GPXdAr_FUj;@2g.eZ:Ffr=YV_5rZ/R=ocAY%2sW;@R?q&mcs,mg$.:AY&a;p;&G 34.569 + N.1WlP/-jAq?!NnO.r(dJ!7]@_&96Kl*S&1X;W+[qan3LS$8?[IImWJBN_GHJ#uo`K">s1q 34.570 + G_q`3i'@LIJZ@.4%H`+=FXOMUt_*A>0F%;>IHV#ZE\,Tg+U&V8\8,NXCp4r(#F_WLBho?Z2 34.571 + ;atg68a3-`7lXTP*;b0aN6Wk,%YF'3UI0]$7gS3P3u7]:+5a4+"QNq7?J/N-kN<]F2;4$,. 34.572 + 5`LV%Z[gNgV>Q`p9oITtQUBCWg)W.%t5V;(=Mqu=63TtafI`-\DZq_,@'_j9'gHo(<18:A- 34.573 + m)0jo^`i(K&4AURA;BP[,GF(+E\93d'=+A9JT^T&_R)R#!Q+^EK[9=HbBK<-*n\e[8_*"d6 34.574 + *1P#.\UZb_UMQQtY?@Xt/],$(b_P/t[oJG9f/%/EaH_0h)a2:[d175A^tc'-4RpC<mE5bgb 34.575 + $=\`S3s`T<NpkEc'TE'r+-V5Bu\sGJin%k]%b8P0g;+UBefuJ)5d[][E9K4`Ofun3Jn?3D_ 34.576 + lF_PW7XC)mdie\(+`]cs3?o?!GdKA'*Ml+8A42*8GtO!Z#!uQe]6uSA=uk`KGXXalj1!0:U 34.577 + D;`R>biIW@c,>CY-5YLIOOe?kL"Q8QiKNR4))eXa1i4IO-CkLTO#pcWYGSTi\q;6^RsYtrb 34.578 + lO4@iJ)r>AFZ7O8+I663=l-m]5>;fPOO+4VYrhQh]$^-4nh*\m2?-]A(bmKGEReb7ArQK]c 34.579 + d!M&/S]#tZlDI^e>$ZU)4bF*4LU*KDOT$_XrVWSBft9>Ei38F'rNEQa("GGAI_Hf#\m;MR- 34.580 + .op&k.WRr4i?:BoAaS,j/<^?2iHNul02jtdJb`O*dOSjdpnn2i&cRk'[ipCe^-HiIhsQtZ+ 34.581 + o(`$0"*2idH[BStG4/p!nM=I9sjhh333"4TtD*"Y^#^DSP2&8q<MW+9#2'hQ>n2YS?AZl[0 34.582 + <3VsE[6E?BYedN4+sq"O.r_;KdSm@=:48+l97C[O<pJ\I9'/q<,X7"IOmkQi-rVqpJJ?kJ[ 34.583 + rJ!,s((KCsXM)05UiZ=j>d`3<l=ShOQ4E9m?>?U<ap[oS%mscAQrmgfllS(JIe/LO\]Kh#& 34.584 + *nNM!b5X,j?R9`4a5J&^op*IFhd?(2NV7>Op:N-Ls/pilmItOEpUJWFs'aI8L%-84e]9K?S 34.585 + n\-fkP[UsrmRSa%gR^/#^h7)+V:#7)#1"a1a3J*PYNYBMacY<R$b<B$A8p8&(qWe8GeT7V% 34.586 + RFrM>J]L4m!Cobg'2eRms:hRFLYM4eGO6'H.\rM++1:knKRd/t#G3;sG)9Ptn;YX$r3%R.M 34.587 + i(?)uTD()itTiEJ-AlrKTUY1[[$>OE0DV9ZOV\ZIJCS(6ruFbCZP(X*X)SRf'10USA20,]b 34.588 + i:1Jn0gjjZ$P!:6jku=ro0pt`]dqAA=8YsmMobsB%Y?@ud<`7Q-"a-ZEgK\o+IFdk4]s->d 34.589 + =+0fRM*K[$%6Rrs6Z^H6F8?mCN_VqdP0)f@Cuh?S0U]XeZ[RsralW,>r>qCc_e$4JD;iW\5 34.590 + L+uSA(Jc:T7?>*rMhgbo7[-/Ca4tU^l:_@q`_3QnGPWaKHgdN:7=;f1=!H(br\K13psWK$V 34.591 + (NAE?n0j7.;/J^HKt3"E;?H37*I"$R./=S1fe2pr0N!HKRO$X9B\:C.&KkaGY^i(rgQq.iZ 34.592 + MZoQMQQEhc\CThrA&bW?'Y2\*H]q`oS:;QS%t9_1[#Sjc;R=Z%_n@q@YqBM7nCc1AmE[7CY 34.593 + [Kfr-c2#aN#1SkGicI<RB74L(('.fcW]/&`LEr',s]F>7f7FQA?4&7^i@^e9pl:T,e<:i$U 34.594 + ;j!5[8QSpUV"g!HeV$dbeuCT%<)k`F='!og"[,>Mm]@W@_fVVW0Jh)[1D*_IKqi?cB[oG1< 34.595 + -G!fZ64jd<nSXWN,NOfF3S6L<gP'0>MUb,[Xq`,otZ>f=(U\RfO+k)8B[1hPtP8D'Zk]0GU 34.596 + <eAg</EgK40"9EH<bUSf77WGa9k<;0U"PA(#8Nrm0%,*Arc9GpZ/<@0fT4P@]#M:PYV[7U" 34.597 + [.R?hWX65[t*ID]1K.dio%DF8(!qBh,q.To(MQ"^#+Rbq]7#%OPg)5a=4C@,nZb0*bK]+/3 34.598 + $re#c;)^`b-kq/JAZYb&!#H2BACD3`94/V;NCJ_sYSnlnN4b.&^*ppd_GHT>in=2u]U[@i; 34.599 + 'Z"[7G9b3WgW$dQC]!fi&Ft534$di?=$=rQHt)WnXh9EbeT'BHNP/I3m_aS9?!hC%6@ArOg 34.600 + \6(39AV3?:Oh>=*H$)RB@O[TiV@q4U"oIXL7R4J/n4b>HCi-;io>CKA)u>"cbo90hLET;A: 34.601 + C/rU\I&TgO"9qIXA;GqA7ubId:%]7t5+-qu8nU!<?LA"+ZIK"$h)C!ant8JWMbp5klK*@$D 34.602 + =VOB)`TGVKD1e/O%%Fq6n6-6+0@_/Z[:TUR&s$=O&fKoi_Z6MOst@?`R&OOb@<G]<rtP8\m 34.603 + 'FlYLUPmO0!6RhDr?:9%#&n4g5M30\D7/3Gi@['fKO]Eu$Gd/#ne6@inFtY@*9+_Kk?]:,5 34.604 + 1IcW:)Il`^NKLY.7ekp\iT"3NY%6u_2MW-Ee9`Su)E>e5!?bneK92636V)J7)4Q;,,-iOc8 34.605 + GODSA<`:@P#b4C[WM6gWloHZJjr?-5Y`QrQ^!Z!;bD=4.V2S>O`H1Vb5#HsAX'NeP1;oi2_ 34.606 + NuujEGPQdSS-_68p5&WgJtc@n_0111jM/R?KOA9_kA=AsCc5P?)HnH*K8>eD$IVG&L+N_)Q 34.607 + 'Aj.)=!F&%"L3N#il,86eq:ANj2B9`"ZPLb(VH1=(2eGGfRqL:GkkiO2G5`ZSaK2?k*?GsM 34.608 + b#a@6&66P5RBU'6"U@sLAl7kY>U&CVsjmPSD4\"ZN,G^#-j;gL28SM0T4JJ:2*84M?.-l5D 34.609 + CjKDU)IlNVeK^mNGTbK3G>N#dXD/4LTpsbJn_]l[I^L5p<;?,^85MaTPsVNOEqHgMOl*2Dl 34.610 + D20Cm6N&bH)n?=ZTKr!>%pE<Xd-8lMH\q=^_Lpm`jW(glB`l5D0<%IouMoH!*7='I^#+PSd 34.611 + E"?<ks-AYf<-DdoU*_ltqrlNEep*Ejc6ieWmJ,)?#BN[KeB!SM?EoJQ$=&:+[cm[>\3b>4T 34.612 + *&m?Of^Q'=:5EjcFZe[7)3RU'*O`@n@T_mkUm?<hP^4"aOP\Wk#`h"%lfDO&I!(Aa*DWf;- 34.613 + Re_<qGG4-@nR<WW2j.RUXo+eLiH>asA]$UHC>V"ERDj!70J1CF2]3ZnhSbnIk/-hHF21TW( 34.614 + =1u$(S'i8]JoFU""unHAfDtGnn<;lPQrM`I9JM4CNWlLC#-q[=6&89TA]0:?WWZQqMI$ju` 34.615 + J&+0@e&cCED]BHPRe:74E6BUYb/siC^+D@093=OP7G,;Xb0l@ONL$M\.f`*AGi*/#2W9:6U 34.616 + *)4*3e6P0KHf_X"9JTR:L/8?d+q&YC\m`<l@1;bh9D!NniOmo9!5n3S-2'bej<2c?IU&oV0 34.617 + ouhH%J4K?r6dP);sGO0SKTd@(o2kF.g1oQHGHKN<R1ijJi/d,*6?=&1JGRA`a1;Uh._MeNR 34.618 + VL\3R+c\>[4lLMA+FdB,[MVrSlHsQg\fVmDje:6bB%pnr&_p,Zd30g^2Z:S*8fnq%@m..Re 34.619 + [ZL4:RepJrS.W)Nek\bIaAhR*\%#?khZGs)Xl;UhZSoNVgfq62kV.!oD;O^;M"FO4F(@)9f 34.620 + '7;*daR>1Zb:T!'AMND&isn8_GD+"KclV^KFT06pKgVR>ZUrhTL$Rih@0ZM98df]S0p</Z5 34.621 + ,QhM/V+5LNo^>jd3&EEq<jkH#GJuUX,D1^2R,hQTO6]Z\d?fC!^ak.Kph,XauLo4F1'ql%Z 34.622 + YkLJq_8qNgO3q2_EGHWc71J[,a@GH>rY*&Teh"mgqZ,BeM$eT_U4m?U]tpA3lU`Xd.X^!sP 34.623 + )i+_%?fEUes?b^cU;-5Q^/+270_IYI1!dn"9ZU;pVG]+^+_uGoY60l^5T%1'XO.38g8'`,) 34.624 + Sec_:UFDrGdqbEU7l4WKo,\+KEisuX4dB;05muEd+Xui-T=ZK2TAON_1Z&#k<Z1g>bk'_;n 34.625 + nHAa*.V8VHlriLr`@PmB7(eLF(?Npf.?^k_s2[H=%.i2EWBZe$N>MepcXb6$\,P:"^g6554 34.626 + 5HL?e1AGYOH@Z-i4okp\R(*#Rum:\kmXdPLh@<4[/K;^flUFOKF(e#Sm7A3YKVh=P58;%L3 34.627 + s_3b/!$S.@%cbCXgJ%?MOF/-8*6Q9E;]1sc6(;T4BL(coSF_*f1iRi$p\T7R@%/^PFmJ9Jc 34.628 + 0HG7`r_-jCKYQ[0D@68!;_?;264.?JE/\hpX4n*NQF92\h/3R5bR4H;_PUm&YR#aU;":3[4 34.629 + O9:3d1cr&j_V@$qr%>L0+:XMk!?8cX\Dk9U&dm7s6ei<*\2H_Op]@L2#IHCU+NcU#BfjBS$ 34.630 + TKt/&19ehgC1_a%?hla@K/HC28h%?,\03QGU8?2#fR/2L#BrSXA_K>#me0L!J2RMn2A73FU 34.631 + '`tP>GW*X4m[eDoKefJim?`6qW(W?l,Ka6Kf]7/5SbCkranu`LLNb&=5id1(BGQ!%Z@uMrY 34.632 + 6?AB)hQ$J8%lka]RP-H)iI7iY&hBbUcAF@IZ(MVDcs(n?2JGTq4J!(].@W-?:l`5AMga4T& 34.633 + Fr-pd>C-@ema#&Al,Q%[D+q*lg86gLsGd*/=5Y-dCJ.UBh5T5L':ElGD8D1o%./egPO?GkD 34.634 + 8+7&!n1VmE.QP9RL.%=8cqm;]9#96;6DNC.*03\%r"e2sak59+a:Lg3W56,3U-NQf.#c109 34.635 + ZL+$79V',X+JI/oFCXNb*jR[/?9'!\-4ChJi&Ade?:'8"A9"qb8@VlUpC.+ZkK7B!sCp(S= 34.636 + <-(\0#E([tJHW+]XA,V8O9"-"r8JpfC,`'2/gkU-l%UM!#2X-TM`5$4rI1\/3A:OVQoCK^c 34.637 + %YJ7uMB'L\]<KcJB&[("79clX*i"2*&Q8@l_*b6fcn5B8!%/D!O.VS4=(JQY$$lk@VLi^<K 34.638 + !,!\<9ln40;3ki*G';V6X\9&(:6*Q#VNK=rOCc]@Bc\]HC-fjPfXQrWolqYdl:>G84m-c9? 34.639 + B$Un@#f+'e3!tY/>e5;%M>0KbBiN<pU5%%!Q!<eb82X2T+O:n^8jQFu,h._S!//h8!&0)/O 34.640 + =7umW&(AWaOh(<TJKDl0Ym>ELsXj%[0ogE$rG1X:tddu]_r,Rk!n#aXO%N4[1`kg)9dpu77 34.641 + aYdbH?J?%uql0#5!2+89E7h[`'q([3-n*N8jui+;:PIJ;gDCAI41;$IIl\;I(VID'r5(%oJ 34.642 + .A%2>U*fE`.`.oOSrLA6Z-r@\h[4>'HR;NXD"I5;P4$p`0ZN[U4sXZ',q3WcuT7>s.Q3/ga 34.643 + 0-e$=';r'W9l:4a31'tnZ4UF/G**7c.XVFNiN(_^D7!Jd(5`A[c9eb6)"\T:YbGfGZ;<5@q 34.644 + OHpE94AI,[dF;dWY`$uJ;7.SfeQl3UD-'_c=B1>`<Lm;nW)cp/p/Hj+\r^.C@6.7^^GGr2b 34.645 + :n6/'U9$[$jJ"`$fc>-NB%Dln'%8UMVSpL[9biS?a4sUeg,jt0T/prNt$eSRBXRMYliSpT# 34.646 + ;Vs"2(jg67'Z#`k\QQf0I""XYU$,?iU1Lf@\-e(f$g#/WlR5f'nRK!/4JhH5U:7Mlf6H8=p 34.647 + L(0j'E__/KXpXP8\5-^1?h=E(uO\9*ChO@O!5%f.OR<Kg*-n^ntA=>5E\7?/63Ko4]@fm'. 34.648 + oXd`-E8dk6)!-EO>TQ+-0`50PV#6gi)Tdg@jc35-d'h`(foTt78:=/s)#b@7e7@.14MV3fH 34.649 + =e2W*?t7n&6UmFq>8uQ0e#/D+;Hi;u_X&FLC*WlR\16TOg6d_#VuU#7[2<2O#Z\$3aJ'dIL 34.650 + E]'?9DDQpE4$=03<[=?>O_tdX/FCO-VnDDfM/p^rOZ:Q`Y]`0LeYV=aG\;^6A.eT-s0-Gb= 34.651 + dY\i`d6P:0BqJE!oh8kDHKT?(!`0=@:m5W!$tn"?#%-!(\Y+:!c_F_L!=,r,<D3^k"4$"3o 34.652 + t5U]\+("M^V"gpjHA_1LIp^XkX7#gAiiR+Y&-N7muG=m_cS5TS`Fin&^WL)otnX#=;:V?&j 34.653 + U6RpcI"I96\#D4o)U-'EL`W&I03\Z9N*HH\4qg^fUT&-,5?\*Q1^]7X-#"e=;:`,ch,RVGX 34.654 + ,[&t$`Md.iaJ"<:&/1^.i>r11=;g'X3XUl:?-l'-_)b)WeLq2?#dm;0!BOKj!M2*`12GO!r 34.655 + WQ^ZG$oJ!?\S*&ffDU4M[^F?^M#4HW[#)?$r=Aj@-.t+a?a:G3X&hA@K<43#UU4\hhi`M/G 34.656 + h$Pa[4rG);uE(aCq*s!(dj"al1B:?@tea:n1tn/f,QP?Ih5or+Hb>J-nQI@obE1?799K.L@ 34.657 + 5U!tId6UiZg45)M5(PFNm)jY]@?1:5IT;RG7gOJ,Ns3_HVcj,tJ!7QTCl4,W7T>fK=##!J, 34.658 + 5<mV.63d@UL#\M?2o40YQ%RI$#hC@W#TNiX$8N8BSpo_\#Y6!31';P+HF$p0WfEsNJM"M&* 34.659 + 7EXZ1?l"Juk0!,sku>)nWJnCf?cWRe.P58RU;H_*b?PH">Ok4rdTH":@/sB\SW7<r<=AM$B 34.660 + 0fU2hL9'.3a>KT$W_6hmW)qq-J`c53n<n9i1/(*.VF+_B8ml<R*e:h3&uDRkJ1eC?0^Wn>\ 34.661 + EbPApIA$0XtdE?,U<NU29qj/`m/[?=OH3M.#%I<@ia1-qa]Ib2/!\8@9-T3G0`IBPqTlIKN 34.662 + o4Tk;<+'n29WaHfME(R(XjAb``CPl[W.>fa5*K9MIPN#u#TbD'?./H'qPl7+t%Y0U4Z_lg& 34.663 + (S_mVjNbJ+il<.5(DLPs^>STr7MhK8Z@6$]p/HoBK@$2p/R)mP&>D6X:LKmQ1<VtS`6q:&X 34.664 + m$]?SBiMq1W/FZM#6ZgrV$:.hRVRq3B`>SUk^caZ"q;8"`-.<O\@0+[3_#]5Lr;?j<B1,mi 34.665 + $+*q%#l(Y,r%TNbMAOs82qo50$/WY.)Ra]:$=aX5[=\UAs>1C$Z1r:@l[QN]^69AkMFXO?F 34.666 + rF$L;2qpB'b%VQ4@eQ@ci'665IXVI4^8Z]>mg)@n*CnA)L6*M3KpOMiQa*PrAiEU<ee;>C\ 34.667 + @u+t1O%N^jpNA[AgD(#mRtrM"Za!Zqb:*ZF0sN/mksZ_KSic+@9>6X7q($Jh$\R<TE*r0:E 34.668 + &;..*eJL#5S`USL7U]?@9R6)(iJJ@88ZHS'i?>eH#C>k7aEYsc#mGD`4b6-4khp,\!%cW(< 34.669 + LI>2>aOl4Q[dbR0)N)>4,5pF+c!GE-@gXb7nHUV%`D$V2=+If\Cteg,Ki"LsP#6R!k6#p+h 34.670 + ;:SQqP%lfnpT8('uLABnSjF1$-XYk<[7sh6,9Y9$-K@UpI"3u!\!X62@i=?2NI/A954MSnu 34.671 + imgnLF'k\TI@,,P[4]Ym1rW*Gmr\AV-h:B-5g8o0oYY-7l7@7jHh+,_NR3?c[#*k_g5;M`B 34.672 + f&8Q?r"BjNI^N69j+=GS[;[Ke"MF>(q@0n#/j^sN-hC^Sr;p!>cRc-gS6@ni>ml@>H0T6"b 34.673 + ?YgZMJp17STD=6<-0K!F&/H'BT$QjsjHu+N6o:W*aY$).gS<0t:G3+2_Kun@2E<u%DpfqU^ 34.674 + f$JCPUFs;RA$lYVaL]Di.$if2FTEQYi5,3_(\Jo0FYJjj7oYC"<Le$6EUrR@k\FUm)P?_L# 34.675 + gU6YcX"nF[DWJL.!K('Ddg2q+iJ#+F]'fX7Znt>1Nb,DU=C@fd#=]A!R_qr:h,MS(lMa/@H 34.676 + :fMhp$<3B#mHCUf>p\TCs2^Q^8)A\g$3.NH#oo/P#NM"eo;u!Br#e'O`c<QTEZDlgc;]fGR 34.677 + 595][0Z$[Bkb@"6$[/qn5_CSqc/1\!n*)iq4XB9uAOY>=g&`q]X2r6V/-[i9p;*0f>$P>5k 34.678 + KR*f?+\V:FjC^BgY6u)(Ck'#kaqU@e"@#EO;#'a5[dN6].Ch\^MHhq:rH?q2A.#K?$/r7\m 34.679 + 8Q>s`>`1"P:IGW!hp61dp!IO<N:(j!@@&*KmdXdph*QuO;Xbcg.%$=]WIl6sU-+:2Eanc1# 34.680 + mSHG<'U&@j'9FEC@'Tm88MT65%KHOjok^95tLKa"==ikL-oCrpe]*Yrea!Nd<NTA2&hQGA' 34.681 + t)TL.*>M8S$7p7&Es7Q:kf;q1Qb!(k0_:PBYgDofJ\Xk-*Iml0h!65bBjbU\[a6VF2T/HA' 34.682 + S?.>UsgeTk.qYqW:\ldbk)G/7[o=_*R$6pT4:ZUp`HpLV=UF)0T7QZ`i"GC*@t<;6%1"u`6 34.683 + n)=YWs6!"ap`XsrCI"9Ng,0C.2_&U682$tpJ@s%)BL)R#=7MT*T(8jMkN+YdeXb8JI9oX_t 34.684 + g7U(]0G+b4Ee5Hi"DPco&Jr*)`A+02jrV(SNe0KlJP<%hg3$<Z[(l$7fo8c2c+<32CG!8M7 34.685 + "M]1blTdepfOHTmeV6Gds'g[oPFL0^X%7U8O,e1#l?m64:q_48Sds,$.*o##dmKb"QGXW]& 34.686 + Im!BaL7=K^egV`!f0cbn>Si45gm_k9O1>`R0'A(rfFCBW\3$_KqlQWVV4@.&[c?MPSNr<>q 34.687 + ^7'TEr$&Y,15aiQ*'-d#(sd!.-8@P5?\C["s9PjY=M8NHu>q(e!%3t*p`9MhbB\?aO:=jBa 34.688 + rC]hX.&q8E<Zb'0_ccFkq4uFW$#`KO`4TsD0W5.pm\06KZ)E=Hk.5hS+\BR^XK;eB:b\iOa 34.689 + l8[nj2J:Oc!N>NNLK!D\8p,PiPKK]WBS?L&]^?M96!\_>=3ia5R%G-5Yt><f*K\fPi.TB;S 34.690 + @3iuB\HLU;P)(]Mr#'#6l!4NgXV117pJ:gaG;eJ=pfQ2:q8iF!dB%['4+@oAl.@5c)H*J=5 34.691 + E\$WtDp^SL99<Gb)mt)N>l=;Au"RhoO$:LT:-.?]&;j@NUNg8JJ3UN@;RUOO5WhfgAUS)b! 34.692 + 2ij!Ion.Dd]FNIgno+9H0"fJB&,iI6&C\=u`L2A\Cm0_%h\&KL'iKc@:jQR2?umi$MA`,t: 34.693 + pDE"Z_:U6.&CX1mf=):XJDmI"%+m#i+G'V7chE`qs")^Iql*bG5^@7PgpT[$rn'+ZD^l06O 34.694 + nmL)bM3l/94Bk,pn]+uZOrSkA$<QfD`I(l->i&JnoA'@3d&`T8q&J=,nnT<)pe#VFUiI\YD 34.695 + ]CDmW`aM`B5iZN"Ce$6Ul+VVgJ"C%)nHJ!Z"05H-'sDCG9-.:ZqK77Mn2R6mP9l5aT&a:XQ 34.696 + rB=k+Vb2TT_ri+/jo-?X+E9HWY;XLA".kAbD6]RN(58B\B*YpLH,6^Lu\%*a@VIc]G)gB<X 34.697 + a]>9>'UbQkH5+=3\S(iZ]ML+IiZDV%/j&Fb),KSW$c!q[d;+db:,Po:\W(la6o.)I!UOUT= 34.698 + cZ5jM4<k@H_%cQJ3LW%-'M\q*XiZY=4+=0aUR"#b&a[o-_kS5#//JQ,3<H82DI'mD2)PZ7M 34.699 + !/*WF..W!(,:$iZd@?Oa7nc+/gSnT+XWT[SKLoI#U3L77j=$4(s$hP\+qaAC)\Zj"M*-&[; 34.700 + =4@GF[hq_#nA46\;i`(Z:a15I$#$6pW2>#!JlBLIBlPJ^B-ej?/1?,-I(48_d`Ve1mO2X1- 34.701 + Q<f(.2JD(^&4AKgDJW"sr6C"k*?q"?D/AJjO8]ZQ9dg!\cXsA2%_PS6Sc'7X'kiieHKe<j. 34.702 + >,2Wj)VS&iD6"c:27N=6AUU'5ZM3PRW&ES;4%@+<.!BI:kGq,O-:Hm3MHBL*pB(j#\":`9L 34.703 + &h#(np;6b^Bie8?Z4E=kMd>"+s/leON(]Y'65>bp$@gO>cUI6G2OpX?BaAe4b&"8]e$<'Gf 34.704 + r?S0o7Ie!R;]u]OOJ=.ZhpP+]!6G*`UK"mcb;'qe8@hfj<"c!+R[$e']<[+]OO+kQ3gV=-< 34.705 + @,r3.+OM\cN/C6LJ(2'!8>A)>EB&]!RQ/DR]TcZASjlc(k&0Z&l9g!5';MGYEB1V6V_TH1b 34.706 + TbJ8OmUgKOO0c,[i1&3?(a&q4MqT(lUn`.RW)B*0eB%02k1gQ"0oS+qA^R=CNECWW<osO/> 34.707 + W7b#\FW=VdmQ?H\Gb1=`HlBX=Bjc^'J-;k>k.,5,&5g60!^D:oJHp?L*kfc!6n)kF5]*/Hg 34.708 + g4`!Z#ZQ1sRG[#N84=UYO+nZJW?5pk.mihuUGFU8APUL3W-0H4kQF@P?'7AujTl&qR<)e"8 34.709 + 4\3/)(1]^O!#4+5YD*4rfGp1.$KUJ&V$jHR`k4es8RBJK'GA^6e.Ddq?tGV[+kUaq4M"3RV 34.710 + "#\8A1ifQWe:?u6Jj'@A;&r?1NLQ/?6o).f@$^Q7^:5h`NIN'[mD$mLrL>fQ@U=AS45k[aU 34.711 + Y\RES3kX&kFXP/>JT5%hPgk8b%<2aH[Pme24F^1F?\Wfpn%]*7^#SF@Ql[]VB(q\q=ICTpF 34.712 + V_H'?dSL.%ne"hFOkBG*!sF8.=19Y_k-%-=5UAamN2SV#e\Im\17&&NEVL>cSrC%;k/NoYd 34.713 + n&=cX#DBU$Y9Lhp0$p[C$&Id.L>!>)Gd3s"j0\3cn-5#$SWc_GieYFj"jAI(`dWS6H3p'<) 34.714 + ?#?l$l;k=(nDk4QIR:IQ@+im_1$IH$[eAfT<+)J?)AO<n2X@#<A)U/=Z6#Q(p?`pU]ia^ml 34.715 + ujl";'H!=Hu<sY0K8$K)1.^#E#P":kXGu'=?fDZP!=X+?CE+ME&8.9W^^@k%(FrS>M@@X5P 34.716 + V2c\9cbeOKFAZ[V!,(<8Wl!Y#7d##moYiXFa`cA$N.;)n;\")tJB%CO'Rnjo"-iD0]j(GS` 34.717 + g4h&XfU@1CZ?#RVa\Zq,<\("*hT;]9]S(E+;*2S.mHSKbPI-Ha7/:O1M*]i2:]RCU-YD@L" 34.718 + 6hRiG942V>*%O>1YO_$^VcjLpP+KS&'8g4Y4&jJE!rVMuKXE3<6a#iG:-c9_[q3(ZJ,kAPp 34.719 + NVLCYGBt$6J_dBRH65PV>4CH9iB+.t#4:X%WC_f\2*d8m2seLZ[7S8og^/IPciR"J4ok'02 34.720 + pLIM4t"<b?*_$1I3ugg?C8U6<0Lm!8$KXO;XkeLf(l$]n\1nT8fer;aY0^hIaJN"SicCW?R 34.721 + +[Bp["]_U[e>E0AldY%/f1!'p,K4n\=8cs23+rO91"8+C3nPF"dMXj>%k9N\hlb!Q!Xp"CA 34.722 + i/rn^'V6f:_ai;hm,&He+U>QS_L.cSk`'^b>J_FIr.c5QN\9#o/Ymr-qKYL`sHhZdt'/<?t 34.723 + 5O5g$JFQW($#I%n4OF7?&A7Dd!f^It`d!-c&B^cRl--u-*0D>RqV[ANc,_on9&@.5t+qUui 34.724 + mSKu2B_XOG+B`,I%)`]LV_Sd%ecrA4#8#`:@!N5Rpn+S344(eS&Fr:dOPn:Hq.^oFTqm9Z< 34.725 + p)(nPs>>SK!>/'>7g*W.r<lN0>@`h(Ab+R&Z]UOE0NpjSE1<Dfl9.gY_;TY]b9Y6/<HM)&> 34.726 + ]n7<u$fX-fi:I!ZVPeAt:Y[,qJHcEH36'I2@r`*(%Fi+gDkRpks[PlOD>e`$cY2Q6QD:)9= 34.727 + Z0!-V%EXW!==)UY]Od.l$C9#;.R,Au]g0'mrR3tt!gVns.f_S6_E]c?BR0B0dcn^/B:W;H] 34.728 + <aT=[A&OQg27&?rb*cPU&:l?GMNuYBerA"fr&eQ7[ruIa5*?rN=&QKb_-R+T!C&r\`Z8*U- 34.729 + GQhTr,,-hA-(;Un+?tD/N+-=7%_rgU3Y*Hn!+o%h!\dVf4!X<3-Glr*:e7:@Qsl*[+n<Lha 34.730 + 4;E7Ua&R-fP^>XJPQP+pC^97eFJW`!j:*0Tb+L>,0[XMU,rqWR/DOP")U_HbbZd5[g*$H/? 34.731 + imPceSfRRisLN+`a0rdZ>sl,3Y2.0%018Db;3=A0M>)!sM@9nieJ>>j:9*'Cu\ZkcRlq_K* 34.732 + J!,7dD@_g2DQfFkM?olBRY'/G@T5]j"9mB;a_&\A2*72u:-#I@0N&L&?u%-O?"2*rrRU(Vq 34.733 + '^=EPc[15[6d5^YLWmr:-Z/aC[a(0QCas8OM*^NR[JdRR&@kB0W+07Z[+u8-g2_.;=J--ZL 34.734 + +uM<]7!B<M,1D3i;i)W[\4TZF/$m>Le'T78f()]S+LAMNo=Hs`4$3b94AkUl+r3*[$3Tns0 34.735 + 49c)$,d2`M@['$<!<OA9unO<Ifa[K6.?rsc/gX2*eFjr(_Nj?1]Rfu+D2fP))ON%$.D9#Oq 34.736 + X'P%Q$p?TJ&`#+S=YO2e,0@LnKF`q'4B47au<%P&fs<G7YC5r3@@h1:C"S-Tq"QrXu:T["M 34.737 + t1La/)@nUa,"aUYZ%Pj]+l8OX:aOFKg??Tc]%##L]oaWX:<"\UJ"nVu65_D)lnYZA_\><kY 34.738 + U/J&9=k(Mib9Ok"_"LL87j$sg\:W(U0/HQD\$3:@L(!uM=,9R3M+Dp(!;8C(I&U4Q,AclXM 34.739 + 2rZ`OJ:BeV58IY(^0q[!inb_5s&>7U,kQ49%cK6=/Hlc7Vc'fG;j]F7-QuF=4ES"Ve)3C^B 34.740 + Hu\Nc';p6EA]4Ui&5GM/[<P\m<5^G;-0!i3Nd!R;q"e_CKbUk8IsoGe$W=j7p34Cn1LFJ!\ 34.741 + bJA`r)O@>f&1!JHRpnkQk2B$C0HVFlQ:icWh+n'D2d&@d\8Fa&LUd7c_T8BJN^'@e=,])tj 34.742 + b@BC$*$(FA&\?AYgYC.R]!F^g!m,7F<Seh^f&92uQ%1bKFu@RDuPqL6nQ4+S5o&agr8l@!K 34.743 + [2J<YGda_LmO'(h&3+n$jkCuXYE$U--8Omu91\4YkTNfI6e#e-oXVD(`Y;W)II`WL/8&7;G 34.744 + E$<eS0D9Zq(5>;c]/MH%9G.SEG&%$mV*<J/IjE3MEofLta<=P=l!Y"%j?s=Jk;;+CMA#igZ 34.745 + k+GsFFsj`,5+]^;5,:H,)QU@#:YH9pCg;tc@b'c_U&>uMu>u[]i8#kEm=_"f.qtF)Q^$S]W 34.746 + C`Lif+>>$4V2Oo]7;b[K8W"\8;9S3sO\^:9ZV-)Sai5)tCU^pN(OF2.Na7A+Fl='jT3B$$U 34.747 + TO-IV,Li_G7s8fZ%D_Uh8Yp#6BfV0[n:#ULQkFrDO.-ZL93nV$fH@Q(s(!hNjU,3*ib^d?D 34.748 + W%7<P:H<(djkD)gm!pn!](,nK&b0h?)l$o%ZJ&X*6f/=e0b%\r<guMQWM"k]9+^>2>E+$LL 34.749 + ;E07E\gE#E5AqAN=>D*%X+Qb?AUqmBUTd`2:Oi.4KYg0%Z+4B[=Yu4<m^J%+pgXgNO@Gsn6 34.750 + Qs-u!]Ch(GAZG"%(La\N=Z<HLB@&ELuKPj+LWKrHUmW*+LMXU[P/i'NXMQq^a"")R'PKI:g 34.751 + TKipOq0e=%Wp5Rn*T6I`/U;ZN-H8De3$^NP[>i+['s7'^<$F(rVs"l*!fpAf2!T5mEF)Dh] 34.752 + J,=97(^UmC9jD!n%J.!KR2NVOZZ!`aq2Gg`i!&7I/R3AU[QBT0fe<GUD',)l3ed=)oRhR2& 34.753 + C;YE'0quTt'+iOp,JhV,()*_Rg$5maOQmleq@d1F*2tAq7NE/E?RLRr.:fcFHDfcWPW4rP* 34.754 + BOnJk@?`jt$'S1G18-4Y@M9t//"2&RhGKRZUVuHNU7K3+3gf[e$f(KC$pHpT6b&.Q<,*Vu< 34.755 + q2G-,?6f85^@^`:(AR89@PdB'btc"X.Ymg,Io/[(P's.K_bEuT\:IS=ZG=up`>9q>f!rdU+ 34.756 + S'lXu_6UG^&+m7+jq.-jNHSI3WonfiTJ5KEuK6;?4U&-.Mjnr$*"#nV$0PGJR"H+ajRm2tH 34.757 + [0.>0[g3_bu+7%lTe@OOoY0r^*_DhG8U!F_urZqF:L45-hip[f[3N)c]YKUO#.ie_-]/lcD 34.758 + p6tE]q\tBd*W&g;$&Q,&0Kq!%u+ThD:$;('sPpeS:Z9A9gYJN#hDp+Rn0_OI*MphM,Rh@]W 34.759 + /dpis_U&c=2b"u#$]Va6ZIpIr&H@p#I4+euZMQi?=sZKEoHQ`:Q3=n'\2'T9RX!I+9op/i- 34.760 + 0Ulb,:kLTeSHf,L`dpVM"--d]+<)N!\k`@5`"HD2fr"#j*irLhbt^X%:Jlh[GD7DfM-n,]# 34.761 + [[Z)md.Zq(]<1-tSiMWQn1aa1Rnb]\CP8@PA\Sf=_"8^"_9i!\KgE_7kVmN*E^%84j9EW%g 34.762 + d;[XlnFV<Pc_-*J8P18?HX"R>`u'guLc@P7h2@NCQ'*:]BRR;&%_b0)P4\\Y!mbsA,(JMAm 34.763 + YrYTr?Do0P8)Ypo_e$L*!P?TheoQtgC0?)^]d@3SE_E93B>8PHk44GgM+`KLXm?pA_9`XS& 34.764 + )7gra=36m$?CV?XO:!pdO>JdU%P[&70iULnb<j'#[grSM68b#=)&6"FU>/>`a=-SJOilU-b 34.765 + `_:C&'N3!0?`X'Q(5knTE'QY"hVV>Z'XFQ_#@:Jm4kKS0GeT!AV)p;RN\i'SK)_!(hL]%<J 34.766 + >]MZaq1*4Yj_kERRAI8u5a8_o4o.1Etk`IbRa47)pUC=DipjHb3T,r'DV4fJi`(1Dh`U*9J 34.767 + I#lD0rO,?aW_pQ?Ye_9PXRcCEG/#%u2oK=C<VCnYdW;M6neYIM@mI5KeeQKgA=X.>t'^a)< 34.768 + /O(oCWO\\=4)M,#6aE(l?bag`&gVq76SNG\0NRDc?KpG/]dDN<HkMM/\e"-@"%HXXckaLPM 34.769 + 4A--Y+tWAtW%Wc"X[,sI3nQ,46+j2CEM>CofK[-?W:tq&j5*#]"XE$d/t%::^gLft*"D"9= 34.770 + 65&_hqDiG5$R-C'VA]B15`RdGX(9g:N5/Vj;>YHQc^N>jVYVp=gc_k]%u@31217&^W<UU+m 34.771 + (mWA6$5k,l0I:+qut[Cr!Za$\BNJScS1Z/`*m:d_[$=50*%^^#/h@mFeP;_B2WVn?%uB+rU 34.772 + !RIc'TnD="qdZ_#S%IeW>&H0r?OnCUNli6!5[7]hsMHU8A&!%EI@&+YnRn%'66]P6rO2KSm 34.773 + +o:J6W=7rg@=<XL+e7o7<4*Vp-",C<#oH.EaIkSfF(\;!Bp;S3Ghf&6gEC>(W+]sI'hX[=# 34.774 + NZo:9pOA575@q0KB@?gBq8K-'5G.dMn&YRr+orqc$3F4=Q6EcD".lXkJ&:h"Q$39c1qqH:? 34.775 + d_;kU]"QS'r$Q@_AHErBUbAQ+r_^(ht$/Aak^hNh]`%#90hD(=>V'2$&(_)OP"Y=+VBQ!if 34.776 + R?M?83=W7cTW`oR9(LO\"Pr=Yu^.n<Eu"P1aQH@47O;k*&rThJkQH:?Rhoo_sD-Tgm[6:^n 34.777 + IO/2C,eFP'5ETE;)j5R"0q3jDhi<pQ%)omX_cYu[L*=66"IBmj1P0=rb.f(saKmZ3jF[JbB 34.778 + 01p<09C^ht+_-lc">W*Z9M3:K&([5JGdu)7XnsNak?SRtn7OlBWV+:a7d:VE?Qgj`H<!@$l 34.779 + Rb]=*@BnL%p7#;%^<ZYbghjLsNRI-:[-=c<gi`d:alRR=SDBJe*!"'$\t*0:?a8;L34kW`< 34.780 + D\b8m6B/c?A]-<j7R`sT&4b+-+L<cXd5ONYCUc,5&V79](fu#.;2-O5d3'U"@4_@(C!10F< 34.781 + :cT0U*pl6EmgM$pu_u2\&3ZoKNmT0bd+j7'SR*$,nNTVYETbFC,kS0p2J-&5J(;*'12U@3- 34.782 + nL%">cWEYO9Q8?t!qq);*Co\Q[Oqss^#Vt5fH^f%PC/5%bJ[k:=ZoY3(R1DIkb9X?S%1efc 34.783 + *f/?@0FPf&Q1?;R_cEjnH4ARERlTPCAnu*[-/u_i;3[G4G4]+%9(Igja96U06dW=q,3(M_Z 34.784 + s1$OC2bm;Yofl8P2&/VZ<4+SZ<(o*E)cftHF^H>Tool+X<j#@p(0;uY:L5t;Kn!K42A6<ca 34.785 + `;.T8iRHALArI;oq!@22O11T>.1iBCg/gJ[r,EYotPHN2\jAR>dlT:FBph*f61H/Fl.FM2j 34.786 + NQP>==J>@Ga#opO4lq[JgWn0*B/RQP_NQ;rK\'(PZA.E]7I"D<("TY#MItAkI;s2i_CXp-4 34.787 + XL3>7g-Ot*2d!1LGsC*R;iTN.@2q&X1;B!O$6M:,Eo/S.i0`bhA^3YmLFBY$)b4s$AoQDtA 34.788 + )F(EZ9cA=EYB_o0@X>9Uj,5^P`%P^W0]$A@%CqDUOZu%?:q6hc':>U24/UE^<.[jHgJ"GCq 34.789 + pV(RF5.;kJRG7:Zfm=2d^MuA;(WLI-G)gWa+?(XI&q%#BH1N.k2QB6ZIm;;"]EO?DkIUqJd 34.790 + .KP'=4VN-F5"p>JU_:V'7I0b!r"'4GLuT&p1r(F>qWl@GQ'O^jEWpjQC\oLF/!8m/@]]b.Y 34.791 + ="jk'K;B@Gp<T)tfh>?JifoI(qVdd'UV2euB3eF!tr*/r=B?I35re(ONa^$,^m-_uG5u"p$ 34.792 + tI(*R'?<!1JnrtnTD"%o4+Jdfd'5r^9/?dfa>O+kM<=?-UooH/_k<VVR&U+p(2M?ZnQWWtL 34.793 + d#[qg./9"n2Z$2*7+ga1`&EXuIctO"_TQ#\k*,S)"U,$174,FOpRmSR;iF(/-M@i<,76%53 34.794 + TP0*1O/rq\E>o]dTH/t&/h4k#a?q.\a`rbV1<-iW)e3sC)0*UY_D;H1A$JuA1$1F8\CVVPo 34.795 + AF`ZMEXQk#pEh8@kHo?$'de2,>/mKOp?63$>Cq4jKpt/ct5PZ\M#=@oUh?UoIJ'>W"e>J@s 34.796 + PrePE^(9.qK-mK!Ju,7]BfJA[Jq5#gK@UU8S3ko"HX5k$\umGRPnBa*uIYdmI9#1M1aTRKe 34.797 + jlbrCUnb4mi`"].8)\YD)i7*:KA*cFe6aZ3ug=TjqaW^'u"=%@)q1^-]\cT0<7>m0)I'/Fo 34.798 + 1\bSI&nJDXU"KDUi#ZkZ+\N1tLKhqO^g1S?!PB8^>;*$-hKO#BDJ:<Imd1]#InirkUKr`Sp 34.799 + q]MjQ-`%NS6]8NXFD#jc.m[X4'gSNgBiR*(P`dECMKr!3oMHWO"R(ctLfT'q7k0)pV,R5X_ 34.800 + l;/uWO53p<B&4Q7=A5\/-HEI8@g$<E:g43%^?a9at-(;m&^tD7+Fo^U?[.&XgQ0Z=#W<K%e 34.801 + +,7%Rb@@](f8,om\1i]Q)RZ$uTkuj!+XI`>oQ,@ou:"JKT98#TDr=;C-7IQ<MO9]/\H[*M4 34.802 + X\C^'t\86$_(3$MBC9%pLJCIX#]+Z.7k#!6Kq7MNW]U5IbgLN;atGuR99%aNich.A#L`46[ 34.803 + 2jY>H@Q@M-EBu-#nh)Kp)!eo50G@[]VbIBnXM^TmW.aNc0U)i\VC:sVUod-7IHV`J@^'@Qr 34.804 + 7P!MIDmf=8!uh+c.#]oPI=)?8]^UT$nUXE2o;("X"^nt[Gfsb0_?mK5KOQ6:L,s7T=>p[,C 34.805 + _8$KhB0ZQK\52cfklPFdS5?E'k/^rYmW;X@SLkO9082mEOIgH"q3t2[*fJinJG<%!Ao?9M/ 34.806 + G&n7k(rl,\4QUP=auaapFr2$aMZ$19tMbJNG5jZ@.nAk$Q=MKnpLI'U\8J*alkD1GW4SRn8 34.807 + oPc.U,tB/0iDJsp0bRH0ISJ81Iu#'A2pG;s7V$))@[PgKehdK:HP7VaJ]!np.6k\V_7ZlYL 34.808 + ])J9-]D)dmdAtL?'RboFE7MYRHVi99A-"@_mpS1.PZT=jaCHIU^Fg>1P+L2:d<<t(;m#;Ys 34.809 + dopI6Ks>eYCnMqg/IGdN9ZqiS"USoeNNJ8@p*S>E)eP?Ac+'%T0&OagaAM@^YH<?#g='85F 34.810 + DeeF5Gjh*9&b2C'9_*\:5DX%)n/FWXnBGQo]*L?*3'#<#[BsZMW"e.4n-/bTQfQ.iYou=L2 34.811 + JHZGdeLL*+t7N^,a5YpE/H9LQQU@8]c6:-fl>GQ#[F1b=\QZ#$e@""tjQj3O)O>]ZZje^3S 34.812 + %MpHRj^#GH/gqnu1#&*Vgs8o2=9Wd8kbl5`BoFZueTHFHuA*AaN/SrqV#p2fJhA$L2@ak;# 34.813 + "BC-_;[3b7Kf?>mRmG5f:Fro8kHae4f*Tt+[^A(>_DfURnWCUdUpPh#%JFOL=\ej[b1^=PP 34.814 + /%'nR;YeLT:60np-%EFMT/hnD?,/roFnBrh*TfKsAFN50iG/34>Wk<To@ku=qB',?r?6X^h 34.815 + UJ7p^NK!`\">*52r?cjDH/jG_oocl<]X#Z8T=FFqB#[i)"31N?:Vs`59K2)T6^/0olKm2]B 34.816 + ]@hHhIbigAHWQmf&j3;h#**r-u-)raK+.5ER;kJ)C3&TAE4*MuB1CqE+:\^]S45;4P9KA[R 34.817 + Hu^g`nMkQ!jF#+Sp!!!E*`P<hGq)'PLR0rtbunrpk:#f-8M5bncR)Sj/3_D.Pj4?O:nEc]& 34.818 + )g-L*!&];f-,T4D5IZ;Oe^1'=?C^%Yn+K$b-XqW#u<"d$[,=+^<0n]Zq>&_;o,smc!66n"L 34.819 + 4<t(].gWcb_UL36,V$\$XMVn0Ln$(b,Vu2H0LJ.$6Q@t>F>H:+320A06]n%ZCc[AG3((VIT 34.820 + nGHoiL.Tr5DT/"6kht\X?T*-O2MGk`$@ahEWAKq8!r(#_rO;*PY7W*8;RAU"5tgj^a?>=7K 34.821 + o#RL<NPOf]\Plf7nrS`;EUGHrLEiW!Hp67:U^6EO/'/4iF^$7H*W%d#XA]1e&0WL<,7kJNU 34.822 + mGW^QbdN,Y<+OG1\FUrHYE6*&GN9L_<A*i.9:7I4ob*++Nl2oW:_7QES#LmLSup;\SM`d!2 34.823 + -30qTVZ:2u"7GMfOZ/<S%NlP7U4EthHGq4h]LWA(/`M?\X)"pK;Y"2*D81[e43O-Vp3le=K 34.824 + aJ%2*aGrenL*^MTa*<n$I"=b%-qMF\aVj53N&aG!MTJ`BaLkHn#`D,JW^[OV8H?LLN09'?S 34.825 + /tXn_i0i%>b@O&QAF%]#],[H+qR@+TZTjd8`Vg%oUng-^If&rb#j>>1ma/3;2(608X*XUd" 34.826 + tBQUr_2JaOmL\i.nPD:rZF]-/=93;(W(GXMl0e%!5=MY`)"K?-)408X`r.]V3GlYY(jJbCG 34.827 + HWUje+VI`p2f9/3k)+C<$Uf?9t394=ho5`X$PXda.<Z/!*OgnqtoVojtGRnTf;`5.6(kXLb 34.828 + `LiDS!BeI@%Z%uYPMG0(ee?'(RcNm4KP4Z*)+Y8H)g_1B&Xb>B0I(ddWHqf]Zbs7jqBS9&1 34.829 + jpFdYb]tm1r-loL0$JR!:(]2*+D;+(cpL4K9dK;!,h!%3e5!+0Z.te3A9c+I`X57radB)!# 34.830 + _Y_D0ho$ac2`d!fegYRL.n!k:P<a^#d;NuK?f:03u#koK`%$5[gD-c6Tjp82%,k[oE_h#aP 34.831 + =JReDH?%:rXW2aP?fSFUs9jondf*#^iq88mR6`]rZVYLcf,tI1_9oV9\;);%uq75fQKFF3n 34.832 + lZc(G&)q[68oK2McF9AJp^bl`jr"GgTbP._`i<?b1#q%+7\dA8.Cl)C,MLJ^mJ/:?R-:mFb 34.833 + "a&5I!d%iEn[1#ubU!V;!;cP?(>^k)UeUhWB%!8\/V%X/X!/On1$$;SkXZV+;#m`+39l29a 34.834 + AO6a#-O?6dLm8e_]cr;LhbZ/!$Pc-,j\AR4^Jn0]4FGaU.#:e=Q;B.hN,:^U(lD+fUsnh)d 34.835 + qg_eI5ocnRa[eE'6P9ofW#4r(KCHi:k4k^n;#PMQO&!*M.Kc."\/i(6rX`%asBgi[;/NkBM 34.836 + 'jn:NZDgV+=YVKiCK4#fL1GBKcb$>/Kr:e]i9*%:.Kj1J+-M<paHl"_#ln;UKnHLi$Q,D#K 34.837 + 0$F&UV08(DJ_70/6V@u8/D(enTTh*+oZ.+gAV=IcEoXUnM9o[_QG!!&,3^l6lE0%XZY=Wrf 34.838 + ,Knr@b1_,I>95RVP4c@nILkoVt;cn\%7>2"a1lLqFf;0kJQ&JcMRmn]7P;SS.%0Tgf3a)EK 34.839 + fZalZ9l/Nd;:eKV]u4^)XDGRT+$Oh1g>TbK4eGnpCYF24gB`R6^m7ufK[rjtLks&O.*#;pG 34.840 + hP<X>F:W/3AjttHWHuJgW5]7<O1AE]j(HHe6,Ss0V;JV/Qj*sggPWbrEn>&PYb&Ma#sLEkc 34.841 + .iXNDfD^gL[ZqNJgtBOPI@d7/Y*Ym0-XHO,9FX>V4=V"i44#f3>*(>t*ET<Q)b^`S>=dQ4: 34.842 + mdXhR;a^066+#^o\%9iKek!)kS6fQD^MIGbBbLKum#;ui68S\a-Y.GbW-h-b`\V<uMqL"LP 34.843 + 0N31l%S_[T5oTaRV<,L@r*Qd%VDu^&97m4bHUp\\-p>-pGhG*/>(&2-Ymp=f4?lf2NrTB#K 34.844 + Qf&>"?eBkcl%KPjo0S`7?WIMu?1qQpkZ\f+i'iZ^^#[c`U;pi%asGHc'pf3&rs1L_?u?/U9 34.845 + q2R@mb[pQ?*4t$2=-,NIgSnIN'7P7<XN6C+HseR?Ig#b%KbQ(,7#n88-M(SR$C76dl`=+M, 34.846 + ihtAc#ph)[KH($#3c)J:ba?ABT+N7-2n=gf7hAQ<C<FbhU>BDD-kg)-\-NhZ\kd7I)\b3(u 34.847 + ucb102n(*>k$+CZ*POu=Lllt9cr"P@ijRp_1]0ec]UcXFfVj(U;Zn:K:)3+RhujF/?\4um& 34.848 + K3au,8im<<g=Ye`kWJ2B36Hhf-(.)S`)<<\I@+GqO*Ym[%$WT%Q#ej6#hA'Q\NFPO3cM3-* 34.849 + d4ls(45`YchG-t*hG@g-)W3dfk$=lnVI^D6@YtX\65EYaNc1&'=lFNqjShR,7NH+aMG)'k> 34.850 + ia%\efJE/N_E<M=s[0-`4IQsMW^F7%!56Ijse\MU/jgBk?(GK4rEASGh_Y$hSraS%Yk=Sbi 34.851 + SPJ(f#<UV5c^:X$tR?20H#MhJd00L1_)B$Dpe@2JthkDeT]HNujFH(oh8V3GCl$Bi^O6Yj6 34.852 + "C(smu^`"ncWSsnoXTT3WSO''D3$t3']#XlD!6%5JA(8m.pU(59sAA4o(_sHU:H>)@B_Li! 34.853 + VL9HfLW=H`phRmakA/B!(Y\R([CCofgCmjJ]E62Fm_*56l?Fu0![d1`5CSVR.[_;#-_s>mh 34.854 + MWVXgrkIeH`/>DIlqjd"1_4Cl`pAehlt4B"ri<dtXN6^0_L#BMm`TGIlKk\#gd]LPY0BO-c 34.855 + 9U6h^4+LIG,W-E`^,pBN5ioR^<#]=gkiJemEh?iZjCThhX1r=D<Bf6T&7>$i9iMbM#QE%@$ 34.856 + >Ir#&[K)m\#M(GXu_gkjI$hmcNs*p@%GSnF%._mj@Vo2Y6B,o^>iRmq2:^G5(H[q!XOEn## 34.857 + sM[eoO5r9r58mtU03L/p];l0b_ULn"^^mfW&L"RoIrn7Msj``C#2!H9CmLj&r?G73o\%.Mj 34.858 + XnDQAn1skVf-JI>aE?MK)[gqpu'_,6>nRi8Lr:0:bk32gXnY!!%:hkYR*:_W$n`Lt`pE/r2 34.859 + +S$<lng>XP2^@l`,k>"_nn0<?G:2s:..W]Rnu!u.[k%$i/FqCEo&h09^B!eaO",o'o-Z<b0 34.860 + V7d#1\4[*mADf4B/fF:`H-5_o;=Y8#<DCb4S.-co>a#cpHRTAj#,^ZF=0ECT[O9q_3rC"nI 34.861 + \D'aLCes8G&6?oVY=R[nHA69_?q2o]K!ApJ:Ge;"YW%od<Z12cKB><:s<mok.=uG?=Hm=S8 34.862 + "`oqu!d[p/OG>kQ]Sp#fZSpL!V!@.kCFp*X>C2e2POAG0)9p1J"2GA$W)B_Id&_:^-)2b#r 34.863 + >8-d1(NR)M9pM]d2E;(/gpEt"U2fn^`FSAjZpLe[DGB`e:Gk[PMpSW?3[sRkiI.u6@pZI#" 34.864 + pODrCJG9q3pa:[g2hUlqK_SW&ph,?VGDGsKM"m<npns#E[u:%%N;2"apud\4pQ,*"[_*IUp 34.865 + :.Gb#Q~>Q 34.866 +Q 34.867 +showpage 34.868 +%%Trailer 34.869 +count op_count sub {pop} repeat 34.870 +countdictstack dict_count sub {end} repeat 34.871 +cairo_eps_state restore 34.872 +%%EOF
35.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 35.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/Time_layers.svg Fri Sep 13 11:02:18 2013 -0700 35.3 @@ -0,0 +1,198 @@ 35.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 35.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 35.6 + 35.7 +<svg 35.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 35.9 + xmlns:cc="http://creativecommons.org/ns#" 35.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 35.11 + xmlns:svg="http://www.w3.org/2000/svg" 35.12 + xmlns="http://www.w3.org/2000/svg" 35.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 35.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 35.15 + width="744.09448819" 35.16 + height="1052.3622047" 35.17 + id="svg2" 35.18 + sodipodi:version="0.32" 35.19 + inkscape:version="0.47 r22583" 35.20 + sodipodi:docname="Time_layers.svg" 35.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 35.22 + version="1.1"> 35.23 + <defs 35.24 + id="defs4"> 35.25 + <marker 35.26 + inkscape:stockid="Arrow2Mend" 35.27 + orient="auto" 35.28 + refY="0.0" 35.29 + refX="0.0" 35.30 + id="Arrow2Mend" 35.31 + style="overflow:visible;"> 35.32 + <path 35.33 + id="path4008" 35.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 35.35 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 35.36 + transform="scale(0.6) rotate(180) translate(0,0)" /> 35.37 + </marker> 35.38 + <inkscape:perspective 35.39 + sodipodi:type="inkscape:persp3d" 35.40 + inkscape:vp_x="0 : 526.18109 : 1" 35.41 + inkscape:vp_y="0 : 1000 : 0" 35.42 + inkscape:vp_z="744.09448 : 526.18109 : 1" 35.43 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 35.44 + id="perspective10" /> 35.45 + </defs> 35.46 + <sodipodi:namedview 35.47 + id="base" 35.48 + pagecolor="#ffffff" 35.49 + bordercolor="#666666" 35.50 + borderopacity="1.0" 35.51 + gridtolerance="10000" 35.52 + guidetolerance="10" 35.53 + objecttolerance="10" 35.54 + inkscape:pageopacity="0.0" 35.55 + inkscape:pageshadow="2" 35.56 + inkscape:zoom="1.3364318" 35.57 + inkscape:cx="426.82234" 35.58 + inkscape:cy="692.65809" 35.59 + inkscape:document-units="px" 35.60 + inkscape:current-layer="layer1" 35.61 + showgrid="false" 35.62 + inkscape:window-width="730" 35.63 + inkscape:window-height="1141" 35.64 + inkscape:window-x="889" 35.65 + inkscape:window-y="6" 35.66 + inkscape:window-maximized="0" /> 35.67 + <metadata 35.68 + id="metadata7"> 35.69 + <rdf:RDF> 35.70 + <cc:Work 35.71 + rdf:about=""> 35.72 + <dc:format>image/svg+xml</dc:format> 35.73 + <dc:type 35.74 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 35.75 + <dc:title></dc:title> 35.76 + </cc:Work> 35.77 + </rdf:RDF> 35.78 + </metadata> 35.79 + <g 35.80 + inkscape:label="Layer 1" 35.81 + inkscape:groupmode="layer" 35.82 + id="layer1"> 35.83 + <rect 35.84 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.60163802" 35.85 + id="rect2383" 35.86 + width="70.518539" 35.87 + height="19.030159" 35.88 + x="336.78796" 35.89 + y="189.7659" /> 35.90 + <text 35.91 + xml:space="preserve" 35.92 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 35.93 + x="340.47986" 35.94 + y="203.13492" 35.95 + id="text3161" 35.96 + sodipodi:linespacing="100%"><tspan 35.97 + sodipodi:role="line" 35.98 + id="tspan3163" 35.99 + x="340.47986" 35.100 + y="203.13492">Program Time</tspan></text> 35.101 + <rect 35.102 + y="189.7659" 35.103 + x="436.78796" 35.104 + height="19.030159" 35.105 + width="70.518539" 35.106 + id="rect3184" 35.107 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.60163802" /> 35.108 + <text 35.109 + sodipodi:linespacing="100%" 35.110 + id="text3186" 35.111 + y="203.13492" 35.112 + x="440.47986" 35.113 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 35.114 + xml:space="preserve"><tspan 35.115 + y="203.13492" 35.116 + x="440.47986" 35.117 + id="tspan3188" 35.118 + sodipodi:role="line">Program Time</tspan></text> 35.119 + <rect 35.120 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.60163802" 35.121 + id="rect3190" 35.122 + width="70.518539" 35.123 + height="19.030159" 35.124 + x="384.78796" 35.125 + y="255.7659" /> 35.126 + <text 35.127 + xml:space="preserve" 35.128 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 35.129 + x="388.47986" 35.130 + y="269.13492" 35.131 + id="text3192" 35.132 + sodipodi:linespacing="100%"><tspan 35.133 + sodipodi:role="line" 35.134 + id="tspan3194" 35.135 + x="388.47986" 35.136 + y="269.13492">Physical Time</tspan></text> 35.137 + <rect 35.138 + y="223.7659" 35.139 + x="256.78796" 35.140 + height="19.030159" 35.141 + width="70.518539" 35.142 + id="rect3196" 35.143 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.60163802" /> 35.144 + <text 35.145 + sodipodi:linespacing="100%" 35.146 + id="text3198" 35.147 + y="237.13492" 35.148 + x="256.60583" 35.149 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 35.150 + xml:space="preserve"><tspan 35.151 + y="237.13492" 35.152 + x="256.60583" 35.153 + id="tspan3200" 35.154 + sodipodi:role="line">Scheduler Time</tspan></text> 35.155 + <path 35.156 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 35.157 + d="m 370.89947,209.61086 c -0.45745,9.67339 8.01218,16.37862 24.2787,20.01984 23.26745,5.20837 21.22395,25.53343 21.22395,25.53343" 35.158 + id="path3202" 35.159 + sodipodi:nodetypes="csc" /> 35.160 + <path 35.161 + sodipodi:nodetypes="csc" 35.162 + id="path3204" 35.163 + d="m 468.43014,209.61086 c 0.45745,9.67339 -8.01218,16.37862 -24.2787,20.01984 -23.26745,5.20837 -21.22395,25.53343 -21.22395,25.53343" 35.164 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 35.165 + <path 35.166 + sodipodi:type="arc" 35.167 + style="fill:none;stroke:#000000;stroke-width:1.39999998;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4.2, 1.4;stroke-dashoffset:0.28" 35.168 + id="path4610" 35.169 + sodipodi:cx="384.12698" 35.170 + sodipodi:cy="355.53677" 35.171 + sodipodi:rx="4.7619047" 35.172 + sodipodi:ry="4.7619047" 35.173 + d="m 388.88889,355.53677 a 4.7619047,4.7619047 0 1 1 -9.52381,0 4.7619047,4.7619047 0 1 1 9.52381,0 z" 35.174 + transform="translate(2.1164021,-129.1746)" /> 35.175 + <path 35.176 + transform="translate(68.116402,-129.1746)" 35.177 + d="m 388.88889,355.53677 a 4.7619047,4.7619047 0 1 1 -9.52381,0 4.7619047,4.7619047 0 1 1 9.52381,0 z" 35.178 + sodipodi:ry="4.7619047" 35.179 + sodipodi:rx="4.7619047" 35.180 + sodipodi:cy="355.53677" 35.181 + sodipodi:cx="384.12698" 35.182 + id="path4612" 35.183 + style="fill:none;stroke:#000000;stroke-width:1.39999998;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4.2, 1.4;stroke-dashoffset:0.28" 35.184 + sodipodi:type="arc" /> 35.185 + <path 35.186 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4, 1;stroke-dashoffset:0" 35.187 + d="m 382.53968,230.06589 c -55.02645,2.1164 -55.02645,2.1164 -55.02645,2.1164" 35.188 + id="path4614" /> 35.189 + <path 35.190 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4, 1;stroke-dashoffset:0" 35.191 + d="m 449.20635,231.12409 c -14.81482,13.75661 -121.69312,5.291 -121.69312,5.291" 35.192 + id="path4616" /> 35.193 + <rect 35.194 + style="opacity:0.44897958;fill:none;stroke:#000000;stroke-width:0.10000001;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.4, 0.1;stroke-dashoffset:0" 35.195 + id="rect4618" 35.196 + width="257.40311" 35.197 + height="92.786636" 35.198 + x="252.16335" 35.199 + y="185.59641" /> 35.200 + </g> 35.201 +</svg>
36.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 36.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/VMS-core__internal_workings.eps Fri Sep 13 11:02:18 2013 -0700 36.3 @@ -0,0 +1,1926 @@ 36.4 +%!PS-Adobe-3.0 EPSF-3.0 36.5 +%%Creator: cairo 1.8.6 (http://cairographics.org) 36.6 +%%CreationDate: Sun Feb 06 23:03:28 2011 36.7 +%%Pages: 1 36.8 +%%BoundingBox: 0 0 366 156 36.9 +%%DocumentData: Clean7Bit 36.10 +%%LanguageLevel: 2 36.11 +%%EndComments 36.12 +%%BeginProlog 36.13 +/cairo_eps_state save def 36.14 +/dict_count countdictstack def 36.15 +/op_count count 1 sub def 36.16 +userdict begin 36.17 +/q { gsave } bind def 36.18 +/Q { grestore } bind def 36.19 +/cm { 6 array astore concat } bind def 36.20 +/w { setlinewidth } bind def 36.21 +/J { setlinecap } bind def 36.22 +/j { setlinejoin } bind def 36.23 +/M { setmiterlimit } bind def 36.24 +/d { setdash } bind def 36.25 +/m { moveto } bind def 36.26 +/l { lineto } bind def 36.27 +/c { curveto } bind def 36.28 +/h { closepath } bind def 36.29 +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto 36.30 + 0 exch rlineto 0 rlineto closepath } bind def 36.31 +/S { stroke } bind def 36.32 +/f { fill } bind def 36.33 +/f* { eofill } bind def 36.34 +/B { fill stroke } bind def 36.35 +/B* { eofill stroke } bind def 36.36 +/n { newpath } bind def 36.37 +/W { clip } bind def 36.38 +/W* { eoclip } bind def 36.39 +/BT { } bind def 36.40 +/ET { } bind def 36.41 +/pdfmark where { pop globaldict /?pdfmark /exec load put } 36.42 + { globaldict begin /?pdfmark /pop load def /pdfmark 36.43 + /cleartomark load def end } ifelse 36.44 +/BDC { mark 3 1 roll /BDC pdfmark } bind def 36.45 +/EMC { mark /EMC pdfmark } bind def 36.46 +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def 36.47 +/Tj { show currentpoint cairo_store_point } bind def 36.48 +/TJ { 36.49 + { 36.50 + dup 36.51 + type /stringtype eq 36.52 + { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse 36.53 + } forall 36.54 + currentpoint cairo_store_point 36.55 +} bind def 36.56 +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore 36.57 + cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def 36.58 +/Tf { pop /cairo_font exch def /cairo_font_matrix where 36.59 + { pop cairo_selectfont } if } bind def 36.60 +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup 36.61 + /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point 36.62 + /cairo_font where { pop cairo_selectfont } if } bind def 36.63 +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def 36.64 + cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def 36.65 +/g { setgray } bind def 36.66 +/rg { setrgbcolor } bind def 36.67 +/d1 { setcachedevice } bind def 36.68 +%%EndProlog 36.69 +11 dict begin 36.70 +/FontType 42 def 36.71 +/FontName /f-0-0 def 36.72 +/PaintType 0 def 36.73 +/FontMatrix [ 1 0 0 1 0 0 ] def 36.74 +/FontBBox [ 0 0 0 0 ] def 36.75 +/Encoding 256 array def 36.76 +0 1 255 { Encoding exch /.notdef put } for 36.77 +Encoding 1 /uni0047 put 36.78 +Encoding 2 /uni0072 put 36.79 +Encoding 3 /uni0065 put 36.80 +Encoding 4 /uni006E put 36.81 +Encoding 5 /uni0020 put 36.82 +Encoding 6 /uni003D put 36.83 +Encoding 7 /uni0056 put 36.84 +Encoding 8 /uni004D put 36.85 +Encoding 9 /uni0053 put 36.86 +Encoding 10 /uni002D put 36.87 +Encoding 11 /uni0063 put 36.88 +Encoding 12 /uni006F put 36.89 +Encoding 13 /uni0042 put 36.90 +Encoding 14 /uni006C put 36.91 +Encoding 15 /uni0075 put 36.92 +Encoding 16 /uni0061 put 36.93 +Encoding 17 /uni0070 put 36.94 +Encoding 18 /uni0069 put 36.95 +Encoding 19 /uni0074 put 36.96 +Encoding 20 /uni0052 put 36.97 +Encoding 21 /uni0064 put 36.98 +Encoding 22 /uni0067 put 36.99 +/CharStrings 23 dict dup begin 36.100 +/.notdef 0 def 36.101 +/uni0047 1 def 36.102 +/uni0072 2 def 36.103 +/uni0065 3 def 36.104 +/uni006E 4 def 36.105 +/uni0020 5 def 36.106 +/uni003D 6 def 36.107 +/uni0056 7 def 36.108 +/uni004D 8 def 36.109 +/uni0053 9 def 36.110 +/uni002D 10 def 36.111 +/uni0063 11 def 36.112 +/uni006F 12 def 36.113 +/uni0042 13 def 36.114 +/uni006C 14 def 36.115 +/uni0075 15 def 36.116 +/uni0061 16 def 36.117 +/uni0070 17 def 36.118 +/uni0069 18 def 36.119 +/uni0074 19 def 36.120 +/uni0052 20 def 36.121 +/uni0064 21 def 36.122 +/uni0067 22 def 36.123 +end readonly def 36.124 +/sfnts [ 36.125 +<00010000000a008000030020636d617000a2f14100001fdc0000006c637674207d0742a80000 36.126 +2048000002706670676d49d7df92000022b80000060a676c7966489d9ecf000000ac00001f30 36.127 +68656164d5ceeae0000028c400000036686865610f7e06b2000028fc00000024686d74785bc6 36.128 +0894000029200000005c6c6f636153405a880000297c000000306d617870037c02c9000029ac 36.129 +0000002070726570292ded16000029cc000004ad00020080015e0380045e0003000700264016 36.130 +059c039d049c070017003700030000079c019d049c00002ffdfded012f5f5dfdfded31301311 36.131 +211125211121800300fd800200fe00015e0300fd0080020000010050ffe704d305d2001a0137 36.132 +403a1c400b0b024b55060103370e470e570e670e04006a167a16025516010506150645060303 36.133 +680078000200160c0c024b000f0e0c44170f370f020fb8fff0400b1010024b0f0c0f0f024b0f 36.134 +b8ffe8400b0c0c024b0f040d0d024b0fb8ffeab40c0c064b0fb8fffab40d0d064b0fb8ffe840 36.135 +571010064b0f0645181638160200160c1010024b16060f0f024b16200b0b024b16100c0c024b 36.136 +16120d0d024b16120c0c064b16120d0d064b160c0e0e064b161b080168017801030223100103 36.137 +2813011803380302020c510eb8ffc0401a0c0c024b0e090118000100001909100b0b024b0949 36.138 +1303491913b8fff0b70b0b024b13091903003f3f2b10ed10ed2b10cd5f5d3210d62bed5f5d5d 36.139 +5f5d5f5d0110d62b2b2b2b2b2b2b2b5f5dfdd42b2b2b2b2b2b2b5dfdcd10c62b5d5f5d5d5d5f 36.140 +5d5f5d3130012b010726232200111400333237112335211106042320001110002132048d5397 36.141 +91e6fef60105e1a063cb019350fee287fed1fea101810147e50553a570febcfef5fefeca6001 36.142 +57aafd824453019b0155015401a7000100960000031c0443000e00af401e0a400b0d024b0810 36.143 +18102810c81004c70ed70e020e06094d064d68070107b8ffecb41313024b07b8ffeeb4101002 36.144 +4b07b8fff240110f0f024b07040b0b024b07040c0c024b07b8ffeeb40f0f064b07b8fffcb40c 36.145 +0c064b07b8fff2b41010064b07b8fffc40250e0e064b070f170a270a370a470a570a670a0600 36.146 +050a400e0e064b0a02520c0806070a0c07003f3f3f10edcd2b325f5d0110d62b2b2b2b2b2b2b 36.147 +2b2b5deded10c65d5d3130002b01262322061511231133153633321702cd3e3f6597bebe68cd 36.148 +336003782bba83fd9a042fabbf1200020041ffec041c04430019002201ff408724400b0b024b 36.149 +58170103b807018a079a07aa07ba07ca07da0706025705016808780888089808a80805280838 36.150 +08480858086808780888089808a808b808c808d8080c00571877180208221010024b08180f0f 36.151 +024b08180c0c024b082c0d0d024b08100c0c064b08100d0d064b081f4e471e01021718371847 36.152 +18671887189718a718b718c7180918b8ffe0b40e0e064b18b8ffdeb41010024b18b8ffdcb40f 36.153 +0f024b18b8ffe2b40c0c024b18b8ffd4b40d0d024b18b8ffe4b40c0c064b18b8ffe4406b0d0d 36.154 +064b18011e4e014e87100138104810581068100410100e0e064b10101010024b10100f0f024b 36.155 +101c0b0c024b10160d0d024b100c0c0c064b100c0d0d064b102387079707a707030027053705 36.156 +47055705040207522a083a084a08030357086708770803070817080208b8ffc0b40b0c024b08 36.157 +b8ffd4b40d0d064b08b8ffc040350d0d024b080c1e50470157016701a701b701050001400f0f 36.158 +024b01400d0d024b01400f0f064b010105581a011a5214100f0f024b14b8ffe8b40d0d024b14 36.159 +b8ffe840200e0e064b140c0f0f064b14671401024a145a140205100c0c024b05520c0b140700 36.160 +3f3fed2b5d5f5d102b2b2b2bed5d11392f2b2b2b5f5ded10d52b2b2b5d715f5ded5f5d5f7101 36.161 +10d62b2b2b2b2b2b2b5d5deded10dd2b2b2b2b2b2b2b5d5f5dedc42b2b2b2b2b2b5d5f5d715d 36.162 +5f5d5d5f5d3130012b0121141716333237170607062322272635103736333217161514012207 36.163 +060721342726040dfcfc675b8fa36d502c5b728cca8d9da190c5e5827efe247f56520b025148 36.164 +4f0205bc65585f892c202a8997ff0109a08f817ccd3f0169524e74734d5400010087000003d8 36.165 +044300110103401813400b0b024b070f170f0201771301004d11101010064b11b8ffd4b40e0e 36.166 +064b11b8fff8b41313024b11b8fff440111010024b110a0f0f024b11080c0c024b11b8fff440 36.167 +110d0d024b111c0b0b024b110e0f0f064b11b8fff8b40c0c064b11b8fff8b40d0d064b11b8ff 36.168 +f440100b0b064b11084d070917092709030009b8fff4400b1313024b09040d0d024b09b8fff6 36.169 +b41010024b09b8fff4400b0f0f024b090a0b0b024b09b8fff8b41010064b09b8fff4400b0e0e 36.170 +064b09080c0c024b09b8fffa40110f0f064b091204520e110a090a0a060e07003f3f3f3f10ed 36.171 +0110d62b2b2b2b2b2b2b2b2b5f5dfdd42b2b2b2b2b2b2b2b2b2b2b2bed5d3130005f5d012b21 36.172 +1134262322060711231133173633201111031a6779418e26be823c5ed50160026fab894e39fc 36.173 +e4042f8a9efe54fd690000000002007a018b03c0036c00030007002d401b0105870207061706 36.174 +37065706770605060803840207840706010006002f5f5dfddeed0110d65d3cfd3c3130011521 36.175 +350115213503c0fcba0346fcba036c8d8dfeac8d8d0000000001000dffec04a605b900060133 36.176 +b10202435458b90004ffe8400d0c0c024b040402010502020201002f3f3f111239012f313000 36.177 +2b1bb10602435458403804601010064b04400c0f064b04100a0a064b47080100370401010808 36.178 +18082808580804054606034602067600027601040400754701010104b8ffc0b42227064b04b8 36.179 +ffb0b41a1d064b04b8ffc040261416064b04240b0b064b480401370401170427043704570467 36.180 +0477040600048e010906020202003f3f3fed5f5d72712b2b2b2b012f5ded39192f1810ed10ed 36.181 +10ed10ed5d5f725f5d3130002b2b2b1b40414708010037040101080818082808580804054606 36.182 +0346020676000276010404007547010101480401370401170427043704570467047704060004 36.183 +8e010906020202003f3f3fed5f5d7271012f5ded39192f1810ed10ed10ed10ed5d5f725f5d31 36.184 +30595905230133010133029465fddede0179016bd71405cdfbc90437000000010014ffec05a3 36.185 +05b9000c01f0401401400e0e064b04400e0e064b0e401010024b0002435558401d0c0e180e28 36.186 +0e380e03080e180e380e480e580ea80eb80e070606080702003f3f012f5d7110d631301b40ff 36.187 +4a030145020143087308024c0a7c0a0203280301280a0127080102970101980401870701880b 36.188 +0101180e280e380e03080e180e380e480e580ea80eb80e070000460c0546380c480c02370647 36.189 +0602022806480602270c470c020672070c720b01010a0b04040875070a75680b016707010b73 36.190 +0207730309090275c70301270377038703a703d703e703060003770901016709010809180902 36.191 +680988099809a809b809c809d809e809f80909580101580401004a0201034701014704010107 36.192 +011701020701270187019701a701b701c701d701e701f7010a07041704020704270487049704 36.193 +a704b704c704d704e704f7040a070117010217014701570167017740490187019701a701b701 36.194 +c701d701e701f7010d0704170402070417042704470457046704770487049704a704b704c704 36.195 +d704e704f7040f00097102017104710702090c0806080b020702003f3f3f3f3f10ede410ed5f 36.196 +5d715d715d715d715f5d5d5f5d5f5d5d5d715d5f5d012f5f5d71ed39192f1810ed10fd5d5ded 36.197 +10ed39192f1112392f1810ed10fd5d5d5f5d5ded10ed5f5d715f5d5d5d5d5f5d5d5d5f5d5d5d 36.198 +5d3130592b002b2b2103012301032301330101330104e5aefec032feb7aabe01125b015d0142 36.199 +5a012903adfc3f03c1fc5305b9fbd3042dfa470000010050ffe7038805d2002601ccb1020243 36.200 +5458401907221a0e180b0b024b0e120c0c024b0e22070e1a0425131714b8ffc040120c0c024b 36.201 +1411000401251749110304492509003fed3fed10cd123910cd2b1239121739012f2b2bcd2fcd 36.202 +31301bb106024354584086082401071001002520452065207520042a0b01034828a828026813 36.203 +0113074507223722672203221a001a45380e01870e01000e2777040102351e651e751e03351f 36.204 +451f651f751f040a0c3a0c4a0c6a0c7a0c0533220103380e010a0b1f1e042548145814681478 36.205 +1404141137014701570167017701a701b70107000125174911044925091103003f3fed10ed10 36.206 +cd5f5d10cd5d1217395d5f5d5d5d5d5f5d0110d65f5d5dedc410d45dedc45d5d3130005f5d5d 36.207 +5f5d5d1b4086082401071001002520452065207520042a0b01034828a8280268130113074507 36.208 +223722672203221a001a45380e01870e01000e2777040102351e651e751e03351f451f651f75 36.209 +1f040a0c3a0c4a0c6a0c7a0c0533220103380e010a0b1f1e0425481458146814781404141137 36.210 +014701570167017701a701b70107000125174911044925091103003f3fed10ed10cd5f5d10cd 36.211 +5d1217395d5f5d5d5d5d5f5d0110d65f5d5dedc410d45dedc45d5d3130005f5d5d5f5d5d5959 36.212 +3737161633323635342627272626353436333217072626232206151416161717161615140423 36.213 +22544938a742758e4f9f769677e8b6f35f3b28a44666752a4b74789679fef7dec343b8293780 36.214 +634a7f4b3746c087a4d84fae1d36745b385c3e383947c598a5e60001009f01fa024b02a90003 36.215 +00254017280368037803a803040307002700370003000004014800002fed0110d65f5dcd5d31 36.216 +30133521159f01ac01faafaf000000010041ffec03b5044300170119401e450501a101010328 36.217 +1938190200870d970da70d030200070d870d970d030db8fff4b41010024b0db8ffeab40f0f02 36.218 +4b0db8ffeab40b0c024b0db8ffe840610d0d024b0d074e38124812028712a712b712c712e712 36.219 +050012101010024b12180f0f024b12200b0c024b12180d0d024b12060e0e064b120c0e0e064b 36.220 +12120c0c064b12100d0d064b1218250a350a450a032a043a044a0403030c52070d170d020db8 36.221 +ffc040160b0b024b0d0f015208001800020000400b0b024b0004b8ffe8b40c0c024b04b8ffe8 36.222 +40190d0d024b0452150a180c0c024b0a180d0d024b0a520f0b1507003f3fed2b2b10ed2b2bdd 36.223 +2b5f5ded10dd2b5ded5f5d5d0110d62b2b2b2b2b2b2b2b5f5d5dfdd42b2b2b2b5d3c5f5d5f5d 36.224 +5f5d5d313001072626232206151416333237170623220035100021321603af5e1d93479bb6ba 36.225 +a580824b99e2dbfee20129010253c203d8861d34d9bdbcc563a0630126fb0100013646000002 36.226 +0041ffec040a0443000b0015013c402517401010024b17400b0c024bb7050101381701114e17 36.227 +063706470667060406041010024b06b8ffdeb40f0f024b06b8fffcb40b0b024b06b8ffe4b40c 36.228 +0c024b06b8ffd4b40d0d024b06b8ffeab40e0e064b06b8ffe0b40c0c064b06b8ffe440760d0d 36.229 +064b060c4e87009700a700b700c700e700063800480058006800040000101010024b000e0f0f 36.230 +024b00200b0b024b00200c0c024b00160d0d024b000c0e0e064b00100c0c064b000c0d0d064b 36.231 +00166a030165090103670e0168130102450e550e650e034a135a136a13030e100f0f024b0e52 36.232 +0913b8fff040160f0f024b13520309180f0f024b09180f0f064b090b03b8ffe8b40f0f024b03 36.233 +b8ffe8b50f0f064b0307003f2b2b3f2b2b10ed2b10ed2b5d5d5f5d5d5f5d5d0110d62b2b2b2b 36.234 +2b2b2b2b5f5d5dfdd42b2b2b2b2b2b2b2b5ded5d5f5d31302b2b133400333212111000232200 36.235 +1310213236351021220641010bdae6fefefce0e5ff00c8011d8597fee4829b021af80131fedb 36.236 +fefcfefdfed5012e0100fe6dd8bb018ed400000300960000043705c6000f0018002201ac406f 36.237 +24400b0b024b05060103580a680a02a805b805c805030178150102480a780a880a980aa80ab8 36.238 +0ac80ad80ae80af80a0a0a1545380748070207200b0b024b071e0c0c024b07160d0d024b0710 36.239 +0c0c064b07100d0d064b07220e0e064b070d10441a44011f45070d170d270d370d040db8fffa 36.240 +400b1010024b0d100b0b024b0db8fff4b40c0c024b0db8ffd8b40d0d024b0db8fff4b40e0e06 36.241 +4b0db8fff4b40c0c064b0db8fff4400f0d0d064b0d24070117012701030001b8ffecb4131302 36.242 +4b01b8fff4b41010024b01b8fffa400b0f0f024b01040b0b024b01b8fffeb40d0d024b01b8ff 36.243 +eab41010064b01b8fff0b40e0e064b01b8ffff40330c0c064b0123671c0101371c471c571c03 36.244 +020a0a111348190722014722572267227722041722372247229722c722f722060022b8ffc0b4 36.245 +0f0f024b22b8ffc0401f0f0f064b22100d0d064b22221a17021048041a1c200f0f024b1c4801 36.246 +080402003f3fed2b3210ed333211392f2b2b2b5f5d717233ed3239192f5f5d5f5d011810c62b 36.247 +2b2b2b2b2b2b2b5f5d10d62b2b2b2b2b2b2b5ded10eded10d42b2b2b2b2b2b5dedc45d5f5d5f 36.248 +5d31305d5f5d012b212111243332161514060716161514040111163320353421220311163332 36.249 +36353426230238fe5e010b76d9ee985cae9ffee5fe423f5d011cfefb644f6737bcada5c105b9 36.250 +0dbbae66a8152ac2a7c1e60519fe5b06e7cbfdb9fdd10a8d9a8f8800000000010096ffec0207 36.251 +05e6000800c7b9000affc0b41313024b0ab8ffc0b41010024b0ab8ffc0402a0c0c024b070a17 36.252 +0a270a370a470a570a670a770a080706170627060306024d070117012701d701040001b8ffec 36.253 +b41313024b01b8ffeeb41010024b01b8fff240110f0f024b01040b0b024b01040c0c024b01b8 36.254 +ffcc40170e0e064b01180f0f064b01130c0c064b01160d0d064b01b8ffec401b0b0b064b0109 36.255 +b705c70502010a081a082a083a08040652070b0100003f3fed5d5f5d0110d62b2b2b2b2b2b2b 36.256 +2b2b2b5f5dfdc65d5d3130012b2b2b13113311141633152096be6350fe8f012f04b7fb695663 36.257 +aa0000000001007dffec03e3042f001200fb402714400b0b024b7714010a4d074d0708011708 36.258 +47087708a708048708b708e70803080c1010064b08b8fffab40e0e064b08b8ffecb41313024b 36.259 +08b8ffec400b1010024b08160b0b024b08b8ffeeb40d0d024b08b8ffccb40e0e064b08b8fff0 36.260 +b40c0c064b08b8fff440150d0d064b08004de812f81202071217122712030012b8fff8b41313 36.261 +024b12b8fffab41010024b12b8fff640230f0f024b120c0b0b024b120c0c0c024b12080d0d02 36.262 +4b12040c0c064b12040d0d064b12b8fffa40110e0e064b121303520e090a0e0b08061206003f 36.263 +3f3f3f10ed0110d62b2b2b2b2b2b2b2b2b5f5d5dfdd42b2b2b2b2b2b2b2b2b5d7172eded5d31 36.264 +30012b01111433323637113311233506062322263511013bd75e9c19bebe20c15cb0bb042ffd 36.265 +55f86c4702f0fbd1943f69caba02bf0000020050ffec03e40443001b002501d3b62740101002 36.266 +4b25b8ffecb40b0c024b25b8ffee40490d0d064b071317130201672077200202280f480f0200 36.267 +b70fc70fd70fe70f04010025150f0537184718571867187718871897180718254d0a4d881501 36.268 +150c1313024b150c1010024b15b8fff8b40f0f024b15b8fff040110c0c024b151e0d0d024b15 36.269 +0c0e0e064b15b8fff040440f0f064b150c0d0d064b1527214e38050100050c0f0f024b05160b 36.270 +0b024b05100c0c024b05120d0d024b050c0e0e064b050c0c0c064b050c0d0d064b05263a0301 36.271 +032500b8ffc0b40d10024b00b8ffc040320d0f064b480058006800780004000218191c520a08 36.272 +0e52080f180f280f380f480f580f980fa80fb80fc80fd80fe80f0c000fb8ffc0b41317024b0f 36.273 +b8ffc040240d0d024b0f124a1e5a1e02031e52a808b80802580801006a087a08020347085708 36.274 +020008b8ffc0b41414024b08b8ffc0b41313024b08b8ffe8b41010024b08b8ffe8b40f0f024b 36.275 +08b8ffc040131313064b08080c2352020c5212190b020b1207003f3f3f10ed10ed11392f2b2b 36.276 +2b2b2b5f5d5f5d5f5d5ded5f5d10dd2b2b5f5ded10d5ed10cd10dd5d2b2bcd5f5d0110d62b2b 36.277 +2b2b2b2b2b5f5ded10d62b2b2b2b2b2b2b2b71ededc65d10c41112395f5d5f5d5f5d3130005f 36.278 +5d2b2b012b250623222635342433321710232207273636333216151114171522260326232206 36.279 +151433323702e472eb7eb9011ddd3c4ce8b2605036bf57e9d35474732b5a2490b6c5906f7b8f 36.280 +b788a3e11a0104609f2c3fd4e7fe808d2f5f4201df149465a78900020087fe5c042c0443000f 36.281 +001b014d40161d400b0b024be71d01164e470af70a02470a970a020ab8ffe4b40f0f024b0ab8 36.282 +ffeab40c0c024b0ab8ffd4b40d0d024b0ab8fff4b40e0e064b0ab8ffe6b40c0c064b0ab8ffea 36.283 +401e0d0d064b0a111101044d014d1702010702170227028702e702f702060002b8fff4b41313 36.284 +024b02b8fff6400b1010024b02040d0d024b02b8fffa40110f0f024b020a0b0b024b02080c0c 36.285 +024b02b8fff4b40e0e064b02b8fffe40330f0f064b02020c0c064b02020d0d064b021c580d68 36.286 +0d025707670702024514014a190114100e0e064b14100f0f024b14520d19b8fff0b40e0e064b 36.287 +19b8fff0400c0f0f024b195207010e03060db8fff0b40e0e064b0db8fff040140f0f024b0d0b 36.288 +07100e0e064b07100f0f024b0707003f2b2b3f2b2b3f3f10ed2b2b10ed2b2b5d5d5f5d5d0110 36.289 +d62b2b2b2b2b2b2b2b2b2b5f5d71eded103c10d42b2b2b2b2b2b5d71ed5d31302b2511231133 36.290 +15363332121114002322260311161633201134262322060145bebe6c99e4feff00f2449b1612 36.291 +74370162a8b928743bfe2105d3586cfee4feeef4fecb30032cfd901b310190cbbc3800000002 36.292 +0050000001c105c4000b001100d9b613400f0f024b13b8ffc0b60d0d024b097b03b8fff4b40e 36.293 +0e064b03b8fff8b40f0f024b03b8fffab40c0c024b03b8fff940200c0c064b03110e0c4d7711 36.294 +010011041313024b11021010024b110e0f0f024b11b8ffeeb40b0b024b11b8ffecb40c0c024b 36.295 +11b8ffe6400b0d0d024b110e0f0f064b11b8fff8400b0c0c064b11120d0d064b11b8ffd64010 36.296 +0e0e064b11081111064b11130d511000b8ffc040120f0f024b007c06400f0f024b06100c0a10 36.297 +06003f3f10d62bed2b10ed0110d62b2b2b2b2b2b2b2b2b2b2b5f5dfdc610d42b2b2b2bed3130 36.298 +012b2b013216151406232226353436031123352111014b314545313045443793015105c44530 36.299 +314545313144fa3c038fa0fbd10000000001004fffec02fc0558001500cab90017ffc0403f0c 36.300 +0d024b0813181302281701871001109708010809010006090309010c0c064b094d4800580068 36.301 +00f8000400000c1313024b000a1010024b00120f0f024b00b8fff2b40b0b024b00b8fff0b40c 36.302 +0c024b00b8ffe8401d0d0d024b00160e0e064b00100f0f064b00260c0c064b00280d0d064b00 36.303 +b8fffc401b0e0e064b002c133c13020f0d0205070d52120152085207120b0706003f3f10eded 36.304 +10ed10c63c10c65d012f2b2b2b2b2b2b2b2b2b2b2b5f5ded2b3c103c10cd10dd5dc65d5d3130 36.305 +005d012b13233533353711211521111416333237170623222635cb7c7cbe0126feda5b65494e 36.306 +1c768d7faf039996e049fed796fdec877225a71ebd90000200a0000004a805c8000f001a0106 36.307 +4017670e770e02010e040b00460f0f1c16060d0d064b16450bb8ffe8b40b0b024b0bb8ffea40 36.308 +120d0d024b0b471c1044044407052705020005b8ffe4b41313024b05b8fff2b40f0f064b05b8 36.309 +fff0b41010024b05b8fff4b40f0f024b05b8fffcb40c0c024b05b8fffab40d0d024b05b8fffe 36.310 +b40c0c064b05b8fff4b40d0d064b05b8ffeab41010064b05b8fff040290e0e064b051b481701 36.311 +0245150103570e01025513015a196a197a1903101906090e1103134901010519b8ffe8400d0f 36.312 +0f024b194909000805080902003f3f3f10ed2b11392fed333233113311335d5d5f5d5f5d5f5d 36.313 +0110d62b2b2b2b2b2b2b2b2b2b5f5deded10f62b2bed2b103c10ed111239395d313021012227 36.314 +112311322433201114060701011116333236353426232203c3fe794391c80b0121420210aa75 36.315 +01a9fcc04844b4a4b0be1e02750afd8105b90ffe5c8add1bfd5e0505fe240a74957b6c000002 36.316 +004bffed03ec05e6000e0019011e40161b400b0b024b004d0d190c4d470d010d201313024b0d 36.317 +b8ffeab41010024b0db8fff6400b0f0f024b0d080b0b024b0db8fff6b40c0c024b0db8ffe440 36.318 +0b0d0d024b0d0c0f0f064b0db8ffe2b40c0c064b0db8fff240660d0d064b0d140c0c0c064b14 36.319 +4e87060138064806020006080f0f024b061a0b0b024b061a0c0c024b06120d0d024b060c0e0e 36.320 +064b06100c0c064b060c0d0d064b061a251635164516032a113a114a11030358036803021618 36.321 +0b0c024b16100f0f024b16520311b8ffe8400e0b0c024b115209480901020e0a03b8fff0b60f 36.322 +0f024b030b09b8ffeeb70d0d024b09070d00003f3f2b3f2b3f5f5d10ed2b10ed2b2b5d5f5d5d 36.323 +0110d62b2b2b2b2b2b2b5f5d5dfd2bd42b2b2b2b2b2b2b2b2b5dfd3c10ed3130012b25350623 36.324 +22023534003332171133110326232206151021323637032e63bdc9fa0120c7a656bebe487d99 36.325 +bd01602d7e10014f630120f0f101554e01f1fa1b03366ce4b0fe7d392000000000020050fe5c 36.326 +03c804740030003c0160402c48195819681978190400272b372b020265017501020320101c12 36.327 +064e282b382b482b582b682b782b882b072bb8ffeab40e0e064b2bb8fff0400f0d0d064b2b19 36.328 +3a4e1c0e1010024b1cb8fff440860c0c024b1c120d0d024b1c3e00234e0d344e12060e0e064b 36.329 +120c0f0f024b12120b0c024b12120d0d024b123d17010188199819a819b8190488189818a818 36.330 +b81804280c380c02006701770102026a317a3102653775370203102037281a171f181537180f 36.331 +0f024b37521f40090a064b1f9708a708b70803970ba70bb70b030028530825530b01b8ffc0b4 36.332 +1114024b01b8ffc0b40b0c024b01b8ffc0b41114064b01b8ffc040090c0c064b0103522e31b8 36.333 +ffe8400d0f0f024b3152152e0e0b061507003f3f3f10ed2b10fdc62b2b2b2b10edd4fd5f5d5d 36.334 +d42bed2b10c6123939111239395f5d5d5f5d5f5d5d5d5d0110d62b2b2b2bedd4edc610d62b2b 36.335 +2bedc6d42b2b5ded111239395f5d5f5d5f5d3130133716333236353423220623223534363726 36.336 +1134363332173717071615140607070606151433323633321615140423222601220615141633 36.337 +32363534266067a68c8195bc20a82fe46b4fe2eaac9e595f7c7249caa49d1c5e622bb62c9eb1 36.338 +fef7cb68e6014d637d796765727bfedb986f59428220ac3556136a0106a8e0417275565f99a2 36.339 +dc101003251e291f978694b64a05048c6470938f74648c000000000200030000000000140001 36.340 +0000000000340004002000000004000400010000f016ffff0000f000ffff1000000100000000 36.341 +000600380000000000170000000100020003000400050006000700080009000a000b000c000d 36.342 +000e000f001000110012001300140015001605e6000005b9001905b90014042f00140000ffe7 36.343 +0000ffec0000ffecfe5c000005c30000fe5400000338000005d300000253000005c8000a0000 36.344 +0000000000000000000000000000000000000000000000000000000000000000000000000000 36.345 +0000000000000000000000000000000000000000000000000000000000000000000000000000 36.346 +000000c800cd00cd009600b400b400000000000000be00c800c8008c00a0009b009600000000 36.347 +00be00c800c8000000aa00aa000000000064007d0082008c009600a00064007d0082008c009b 36.348 +00d20064007d0082008c009600a002300136011801a401d600460218012c01c2000001d600eb 36.349 +00eb01d1017f0154011301450168012c008d02350159033f0505012c00b4006e0136015e01cc 36.350 +01cc04d8006e006e01d600d2005f01f4012c007802d00190037f00800280006e00b4000000a5 36.351 +fea2003200b9008c000000000000000000000000000000000000000000000000000000000000 36.352 +0000000000000000000000000000000000000000000000000000000000000000000000000800 36.353 +05e6000005b9001905b90014042f00140000ffe70000ffec0000ffecfe5c0000000000000000 36.354 +0000033800000000000002530000000000000000000000000000000000000000000000000000 36.355 +0000000000000000000000000000000000000000000000000000000000000000000000000000 36.356 +0000000000000000000000000000000000000000000000c800cd00cd009600b400b400000000 36.357 +000000be00c800c8008c00a0009b00960000000000be00c800c8000000aa00aa000000000064 36.358 +007d0082008c009600a00064007d0082008c009b00d20064007d0082008c009600a04036544b 36.359 +214a494847464544434241403f3e3d3c3b3a39383736352f2e2d2c2826252423221f18141110 36.360 +0f0d0b0a090807060504030201002c4523466020b02660b004262348482d2c452346236120b0 36.361 +2661b004262348482d2c45234660b0206120b04660b004262348482d2c4523462361b0206020 36.362 +b02661b02061b004262348482d2c45234660b0406120b06660b004262348482d2c4523462361 36.363 +b0406020b02661b04061b004262348482d2c0110203c003c2d2c20452320b0cd442320b8015a 36.364 +51582320b08d44235920b0ed51582320b04d44235920b0042651582320b00d44235921212d2c 36.365 +20204518684420b001602045b04676688a4560442d2c01b10b0a432343650a2d2c00b10a0b43 36.366 +23430b2d2c00b0282370b101283e01b0282370b10228453ab10200080d2d2c2045b003254561 36.367 +64b050515845441b2121592d2c2045b0004360442d2c01b00643b00743650a2d2c2069b04061 36.368 +b0008b20b12cc08a8cb8100062602b0c642364615c58b00361592d2c8a03458a8a87b0112bb0 36.369 +292344b0297ae4182d2c4565b02c234445b02b23442d2c4b525845441b2121592d2c01b00525 36.370 +1023208af500b0016023edec2d2c01b005251023208af500b0016123edec2d2c01b0062510f5 36.371 +00edec2d2c20b001600110203c003c2d2c20b001610110203c003c2d2c00b00743b006430b2d 36.372 +2c21210c6423648bb84000622d2c21b08051580c6423648bb82000621bb200402f2b59b00260 36.373 +2d2c21b0c051580c6423648bb81555621bb200802f2b59b002602d2c0c6423648bb840006260 36.374 +23212d2c4523456023456023456023766818b08062202d2cb00426b00426b00425b004254523 36.375 +4520b003266062636820b0032661658a2344442d2c2045b0005458b040442045b04061441b21 36.376 +21592d2c45b1302f4523456160b0016069442d2c4b5158b02f2370b01423421b2121592d2c4b 36.377 +515820b0032545695358441b2121591b2121592d2c45b01443b0006063b0016069442d2cb02f 36.378 +45442d2c452320458a60442d2c45234560442d2c4b235158b90033ffe0b134201bb333003400 36.379 +5944442d2cb0164358b00326458a586466b01f601b64b020606620581b21b04059b001615923 36.380 +586559b02923442310b029e01b2121212121592d2cb0164358b004254564b020606620581b21 36.381 +b04059b0016123586559b0292344b00425b00725082058021b0359b0052510b004252046b004 36.382 +2523423cb0072510b006252046b00425b0016023423c2058011b0059b0052510b00425b029e0 36.383 +b0072510b00625b029e0b00425b00725082058021b0359b00425b003254348b00625b00325b0 36.384 +016043481b2159212121212121212d2cb0164358b004254564b020606620581b21b04059b001 36.385 +6123581b6559b0292344b00525b00825082058021b0359b0042510b005252046b0042523423c 36.386 +b00425b0072508b0072510b006252046b00425b0016023423c2058011b0059b0042510b00525 36.387 +b029e0b02920456544b0072510b00625b029e0b00525b00825082058021b0359b00525b00325 36.388 +4348b00425b0072508b00625b00325b0016043481b2159212121212121212d2c02b004252020 36.389 +46b004252342b0052508b003254548212121212d2c02b0032520b0042508b002254348212121 36.390 +2d2c452320451820b00050205823652359236820b040505821b04059235865598a60442d2c4b 36.391 +53234b515a5820458a60441b2121592d2c208a08234b538a4b515a5823381b2121592d2c0020 36.392 +8a49b0005158b04023208a3812341b2121592d2c462346608a8a462320468a608a61b8ff8062 36.393 +232010238ab14b4b8a70456020b0005058b00161b8ffba8b1bb0468c59b0106068013a2d2c20 36.394 +8a2349648a2353583c1b21592d2c4b505845441b2121592d2cb0024354584b53234b515a5838 36.395 +1b2121591b21212121592d2cb1020042b123018851b1400188535a58b910000020885458b202 36.396 +010243604259b12401885158b920000040885458b2020202436042b12401885458b202200243 36.397 +6042004b014b5258b2020802436042591bb940000080885458b202040243604259b940000080 36.398 +63b80100885458b202080243604259b94000010063b80200885458b202100243604259b94000 36.399 +020063b80400885458b202400243604259595959592d00000001000000050000f72805665f0f 36.400 +3cf5001b080000000000ad61b71900000000c142e956ff50fde708a8078b0000000a00010000 36.401 +00000000000100000783fe39000008e9ff50ff7808a800010000000000000000000000000000 36.402 +00170400008005690050031c0096045d0041045f0087026900000432007a04b3000d05ad0014 36.403 +03d9005002f0009f03f60041044b004104870096025c0096045f007d04340050047500870248 36.404 +0050032c004f04a800a00475004b040400500000002800f40166029e03400340036c041a0532 36.405 +06520672072807f0090009780a160b380c0e0c9c0d240dd60e920f98000100000017004d0007 36.406 +004b000500020010002f0055000002f001ff00030001400a54bfa50140a5111546a4b8010cb2 36.407 +321fa1b8011540b21f1f6fc731216ec731216dc731216cc731216bc731216ac7312169c73121 36.408 +68c7312167c7312166c7312165c7312164c7312163c7312162c7312161c7312160c731215fc7 36.409 +31215ec731215dc731215cc731215bc731215ac7312159c7312158c7312157c7312156c73121 36.410 +55c7312154c7312153c7312152c7312151c7312150c731214fc731214ec731214dc731214cc7 36.411 +31214bc731214ac7312149c7312148c7312147c7312146c7312145c7312144c73121b80137b2 36.412 +6f0821b80136b26e0821b80135b26d0821b80134b26c0821b80133b26b0821b80132b26a0821 36.413 +b80131b2690821b80130b2680821b8012fb2670821b8012eb2660821b8012db2650821b8012c 36.414 +b2640821b8012bb2630821b8012ab2620821b80129b2610821b80128b2600821b80127b25f08 36.415 +21b80126b25e0821b80125b25d0821b80124b25c0821b80123b25b0821b80122b25a0821b801 36.416 +21b2590821b80120b2580821b8011fb2570821b8011eb2560821b8011db2550821b8011cb254 36.417 +0821b8011bb2530821b8011ab2520821b80119b2510821b80118b2500821b80117b24f0821b8 36.418 +0116b24e0821b80115b24d0821b80114b24c0821b80113b24b0821b80112b24a0821b80111b2 36.419 +490821b80110b2480821b8010fb2470821b8010eb2460821b8010db2450821b8010c40ff4408 36.420 +216957311f5857311f5657311f5152311f4644311f4544311f4f4e311f4d4e311f2097309740 36.421 +975097043088010f8c018f849f84af84bf84cf84058f689f68af680360697069028f5b018f5a 36.422 +017057018f509f50af50bf50cf50058f519f51af51038f529f52af52033f7c4f7c02507b607b 36.423 +707b03704e01708f01308f608f708f03008e01008e01408e708e02008e308e408e508e608e70 36.424 +8e06107040700260740160730170440100282800000012110840370f3fce16010fa21fa20218 36.425 +c7312114c731210ec731210dc731210cc731210bc731210ac7312109c7312108c7312107c731 36.426 +2106c7312105c7312104c7312103c7312102c7312101c73121407c00c73121e0180821dc1408 36.427 +21d60e0821d50d0821d40c0821d30b0821d20a0821d1090821d0080821cf070821ce060821cd 36.428 +050821cc040821cb030821ca020821c9010821c8000821230e45220c45210a452008451f0645 36.429 +1e04451d02451c00451a08180816081408120810080e080c080a08080806080408020800084b 36.430 +b807ff524bb008505b58b101018e59b0124b004b5442b9000101ff858d2b2b2b2b2b2b2b2b2b 36.431 +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b 36.432 +2b2b2b2b2b2b2b2b2b7342011d4bb01b5358b0961d594bb0325358b0001db1160042594b20b0 36.433 +325323b096515a58b0301d592b0145695342014b5058b108004259435c58b108004259161070 36.434 +3eb13737456920b0005458b040605944b1300070b33200300019701870737373737373747473 36.435 +737373737373737373737373737373732b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b 36.436 +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b 36.437 +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b 36.438 +2b742b00000000> 36.439 +] def 36.440 +FontName currentdict end definefont pop 36.441 +%%Page: 1 1 36.442 +%%BeginPageSetup 36.443 +%%PageBoundingBox: 0 0 366 156 36.444 +%%EndPageSetup 36.445 +q 36.446 +0.0823529 0.580392 0.0823529 rg 36.447 +BT 36.448 +8 0 0 8 222.394666 145.083551 Tm 36.449 +/f-0-0 1 Tf 36.450 +[<010203>1<0304>]TJ 36.451 +ET 36.452 +0 g 36.453 +BT 36.454 +8 0 0 8 244.004041 145.083551 Tm 36.455 +/f-0-0 1 Tf 36.456 +<0506050708090a0b0c0203>Tj 36.457 +ET 36.458 +0.0117647 0.0117647 0.721569 rg 36.459 +BT 36.460 +8 0 0 8 298.536267 145.005426 Tm 36.461 +/f-0-0 1 Tf 36.462 +<0d0e0f03>Tj 36.463 +ET 36.464 +0 g 36.465 +BT 36.466 +8 0 0 8 314.161267 145.005426 Tm 36.467 +/f-0-0 1 Tf 36.468 +<0506051011110e120b1013120c04>Tj 36.469 +ET 36.470 +0.588235 0.0392157 0.0392157 rg 36.471 +BT 36.472 +8 0 0 8 162.495227 145.005426 Tm 36.473 +/f-0-0 1 Tf 36.474 +<140315>Tj 36.475 +ET 36.476 +0 g 36.477 +BT 36.478 +8 0 0 8 175.963977 145.005426 Tm 36.479 +/f-0-0 1 Tf 36.480 +<050605110e0f160a1204>Tj 36.481 +ET 36.482 +0.8 w 36.483 +0 J 36.484 +0 j 36.485 +[ 0.4 0.4] 0 d 36.486 +4 M q 1 0 0 -1 0 155.935211 cm 36.487 +106.051 133.129 m 85.43 122.164 70.191 113.375 70.191 113.375 c S Q 36.488 +72.852 38.791 m 69.273 43.08 l 74.777 42.131 l 73.484 41.564 72.711 36.489 +40.213 72.852 38.791 c h 36.490 +72.852 38.791 m f* 36.491 +Q q 36.492 +q 0 0 367 156 rectclip 36.493 +% Fallback Image: x=0, y=0, w=365, h=155 res=300dpi size=2955450 36.494 +[ 0.24 0 0 0.24 0 0.895211 ] concat 36.495 +/DeviceRGB setcolorspace 36.496 +8 dict dup begin 36.497 + /ImageType 1 def 36.498 + /Width 1525 def 36.499 + /Height 646 def 36.500 + /BitsPerComponent 8 def 36.501 + /Decode [ 0 1 0 1 0 1 ] def 36.502 + /DataSource currentfile /ASCII85Decode filter /LZWDecode filter def 36.503 + /ImageMatrix [ 1 0 0 -1 0 646 ] def 36.504 +end 36.505 +image 36.506 +J3P/PW$E,P#D#)]Yda6_*=IZk@Smti:+[9:6_dMgggVWNO%&)l3,F<u-'Lr3ni8Oi=Xo4rAe 36.507 + MXrJnFtN9]iX;9Zh9:P"TG/l2;B;6]T<ce+t'$M+3>"ku50(ntAUMcm)Oo767PIW6f'4L\5 36.508 + \kA?XR`oI6ngb@$B1Xu2,k(=?iT>clVY*TH%*\_C`i]H,l'I_aEM\,-pfWJ.h;Yh9F33aZ( 36.509 + 0aK`4DVIpEFWTEaCRq?tVS%dgY=GpbJ,H]O/Zl3]AP@]X%lggJ"c<!$+dd8mf/\XH'QJ?:, 36.510 + HbLg3Kn/(Q2)]l+lRfO)EV)>+[?Ad(f6041Y3,bl8*7kdSpsb88$VLUH@&DRa+9rLG^FoND 36.511 + ^X2u4q@0,r4R%'`mh`+CX3-Y/Xua.5d1A%#rg$9-NZ;D;c(\#%]h;k6Ed`o#K06XUA708PM 36.512 + G:_:Ffu[_f+m=#JX*b1AAfWRnX)R%nq*]_D+/;'#*l]AK8dRj:r0DD<q!/7PT4,JtE[WXFh 36.513 + Z%&tXd"P3e-lbG\<=0[)<K9emh`JeIZ!o0gPR9_.hr2bc)[-TY#%SBE?*drat:bDCoB2p^\ 36.514 + n#+s4[[-p+RZg?d-;3YfA5:Fucq*iMlPhS^T'W!*CVY!QK7oM7p0hYCXV+jc^<9,W0bnVuW 36.515 + ;'\#1='3nWbstl423K1f,Ls10@9#0RG=gC$oaOu)1lX_4:f_(]?<@nYX%h,EofY]E<IM,fg 36.516 + %F`jAD5UfkAaVsrQ/n[<rLW7fTbd7Q.hRAiHnn?75\r32k?jj?WEB-I+[!jc#M*rogs_mfE 36.517 + s?Xc5;8)LI&ErrJ'7?Sb[6`R%2i`h\a?dOAraOhg&WhV?)Y,pngWC_>'<<HV8THbEl\k:2c 36.518 + M()#a&;<d>/)Cuj8$UR*aGhHQ:WH5:"[<k4sRR:84"Q_J2?[7Qun)E$3<CV!K)0ZoQXn$AW 36.519 + J8e-9C3NfWck=j1?U$@Y$#G*$IhNOmRD5QKdgRF38]B"+s\\.F#4,(H7qlMS1E11ArOmUq9 36.520 + L@aukN:"^W=oK/O>l7o(VX,8eMp?*>#:mN.qtEUlFd_W<c>Yn4=0H,Zf/(A1]qs%_DgQtSd 36.521 + rO.QKg9Z!7glQlR\+k)oNfIXcLtO.;;1iK[iMO@*Ij(9pn#6MAp?Km\^u.5-`PRA*VL)_o3 36.522 + DmSNrCnS"dFBUs0L'u*S7sa?&NlR:(;K_=8q==S#Loj[HfrQmdhD3[sZIF#JesToA!9NI]q 36.523 + `/_$9E*hFn`'mVW'A`_uo19C-Om*W8<jB*D^jb%U4rk<_,gpgJ7EGjW?Z_1pn5Tr\o\&8@h 36.524 + ([`8\_qrBIBJg%mB56BR*4akPJpd=17oO/F/I.1;i6PcKkU4a5-YiZ9]UDF?2)ZbX)4r>s* 36.525 + aU;=j`em/1[C2Ih5"I0%7EPKS.<Cl4;m_'I#l-8#1R*t66B.%?*^ut4qP'-`NK8m`"=4p5+ 36.526 + V"i/P#;H2UY.PTj><,mE\^69.6`&'H8Lf5AjeHY)^(tFX-(iOk=HO`WMP0`Pp^<CSTt/de1 36.527 + @MaZ>rV`q0sgSS;B53(.-27%ZViTk`HM??6_I!2!"#'R7S`58U4(BAq[=S;d+*6fi^&lN7= 36.528 + .L12T[pf/=sB,b/Qa782qCPG[..T/$mpapIG\,h1tD1M0_7oO0m0]Z6RB*`u)rP<W2M!M=G 36.529 + !GgP]E4"%]"BG7D(:>-.CB8jEskH]BYl5;j`XV.=KqMEWM0g)ERs.r[-Qr4hg6k4V*85mA[ 36.530 + OHKs:)e+([eIJ<Q;eJt-77jIY/uDV%SQ"g-;6!VkW`<6)<U.E1X#4dt<SG,flNL^u<K=@c> 36.531 + *Va]2/00mY-qBbh-93!E@3Wd\lW)&?0fITY>qa4=1\?;lihsE<Xu]BgBh<T7>\9M0#f"_f4 36.532 + /WNOg8"_b#[g;ASf>"NW]Zra.aJ:m002j<e,s/4&'GV7B*[qY1?e26YUC[Z*m]Yg07cuD=, 36.533 + <Q[3TeK>MFREmKLG:<gqlM4,n7I?*LjU0%SgYR<.eMdCNA?NSQ[uFmd5^\@6)<>8s,WDEZm 36.534 + i(QS&lHae9=7Hq@LT(QD_`HuIHn%KU`qHH&7I;d+#[9)5`>q>#dDJc#](_6Z)bR&jhD?don 36.535 + )ZSa-M1DgR&\T#3$"7&9KeTpG_73\YiLE&UDQY)"=%<[.4)'IhQ70](Y1qr?f+;[4&B1$_) 36.536 + Im#hNUb"Ka&qdOA))KnnchD$=Uu]e>`Fm:7S1^)0.(5bSWiW!;9E$;.V2keQ1Dptb?8a9AZ 36.537 + -o68+p64=cY=M>g8].7VU+MY;U"Jh4+"jER%_53bM^bSb'jHcWT^#BAEHXoEGULOjUS5Pi% 36.538 + A*%Z/S:01KX2*M`7]Oj[E/8nhQ_V=_cqdopZbC#(qMo`h,6`61J\><S?j=SNp>^gIA^fIF_ 36.539 + i44Y=n=R/+eX`_Xjf37';lOg9J`?!>IUS)^Ec&JlL5/#WQb]=1iMfa,U`S!=KA8PV=XEGHE 36.540 + \g'mAM1)A2pBJ_TTh$V<@>GpkY2A&>>@)2dlZKZR;Vc\TG&*XuY\o3KhL"^;K>"%e2Ko#TS 36.541 + .BH']t;(i7^:f3RriV@#J51LnD'NqJT#sjYrJWZffT2sD&tLNp!3fQ)foq;Y"c_,?.7WbIs 36.542 + LJM-+pcQ+6)&<N,p%W\2`Trj4rNpMSOTML,aSlU[]i!/re9T7nMrN0;`jJS^[Fj;<hF_;// 36.543 + E&:WM%a[=];Z#GE[MJ6-+E4bL"_?HLmt+)1)tX0`;o(aCYho,L,U[J+"Th7I<FlpH;-MgM5 36.544 + V"i#<O?/NMCY//nK(")4gpVHWC*Spr2-Ns@^`q`sLgA+IknfXRJGlKGOH[g&'IWs4cn.jkC 36.545 + s*aORHe*G&(!sX$Z0WNMb'Iu;hL*Sqo7#TIp?pm]4@d'XhA=[I%fu15B5@1l6cJta47+Yln 36.546 + bM&N"ac`4mf'-*pYLh>I@n45^+I\+s*qZj@6Q(8Vs4.eYP*G&h>@5-nbunAqL;d$eVE1#O# 36.547 + _gCI4r\Amdg6nJFmd\p@#l/O2guL$LJ@i\aQ!gE"i=KTXmqt!\\HfbF\SB/H?=b\aP.P%p& 36.548 + bsQN8b:ordHMmhl6=W<-k1!jG;c&2:YV2$NFV"07gln2CS)p@#1_n1[iD0H.K`*sYTV"cK& 36.549 + Xd!l6/aL]`2#r$,d0F%EYM$G_&\I_=6!J1d=hYtm4$a@;PnA,Me`=-_-%'[tbn'_4F$IH\F 36.550 + s/jB2%TqVkB"@=$kE,&^:3*n*G2s50fe,\'mR[m@;$h,>iNVb.:0dWJ-P5]a%VqIBYko#lr 36.551 + 7T?qg/0-R;#\"f!tt#t"tQ#$EB)lr'*=:4&i!)mbEihR"P`G:\T%9XD>OtsQP4@4i))VI&O 36.552 + @28D\R.p'X;'!;,Fe8<>7/j&ro$2/l!+R=p;)!$S]%!&YU*tV&F?Q)R6C_nZa#f[2Wn6%8b 36.553 + XA932E2,k=gC*3ma.n^/@-QldL2*\j,l;:Q^BjW8F+*jP)RnaR\UocJ!@ctbW\n+dqWhX(l 36.554 + 6+-I'Une!#tN?+/:n?JN-;B[5>,pI@Y,-idEnhD@?QQ+1D+=gG3;@=^I73lnF,cm%MOl%&I 36.555 + 9dOg_-*gf&nmNk#AL;B2,E"W.b>TYuaX30r-aJ.Jl]3>)*?GiE.'eg\nrY@VPppaA.BF%,d 36.556 + +CXgg^6g.,Vko?o!']#%NhDN)hD0-ZFqe%^)]M2)=k0do$K$EeLbgp/[F1R66+L\DU@`\[1 36.557 + [TPEo/N*oe1@]0=(O0o)UO$"Yb!(0WTaW1&iK(kg^;1+E#XXdg\&g,r0Nj1:&Pfo.`$W2)B 36.558 + ;5dSg_W1''+MV^eur1UBe4o2.A$<Aei#27$RGo3jO#s!eA.1f=K,OpNtHH2nV(2m[i/F+$# 36.559 + %`AfZ$[ZcP,lj#NAGrATh3O>8:o-,51fGT7e)1a7Ti@54dBFB>?&qDJoTIW)h\N8\"3e<\S 36.560 + JGD>aL`J;(\F\>n1Pn7;ppM>'5-p?\!MM_6H5e[8\+B//%c.e]PQ1]Q5dUS.<"RSgiAqYj6 36.561 + *0rAOhicYEA@',]egHi!FuWR2*c6o5qQ-FPQs/]Pe&[45]bsK1]eNd<C'=O6n;n=bQ10@DA 36.562 + TZo2md67XT:c\&OSh26]U%k'Nl]GDar5i`q4C@1cIEo3Yk\I6.DF4+eTGk,>'+'(;QjUNuL 36.563 + ^,WCh`U(85LeN1TJI5=S?b5P,=Wi0ut$bS@t$("9uno=[m4^J6WM:34<7@Ak2TWA'Q9)"WS 36.564 + O$]dXgM,10^8!A9o979!t2+WsN[kp`GeKHl8j[nd6&YU*^odh'?"or(O;ft0#Ps&)(5uX%( 36.565 + (1Ceq6,FTbm^DdW;rM^oMk`t(CJ<7*9f)@f<G>/B&C+5u-PGf$cG_OHZWB"/5]h9>'Lr%$A 36.566 + @V;j=gNDgoq9V'QF1k4^6P_,26P5IM-8;[=Rid^oJ'RnJQjZU>BRJ8[D]J<_+/T(__p%;!7 36.567 + =g[,6j1W9;-+BPf2&$aNq6>30_`.!S/=.f0!$o@'o6-eEo@3aYGaP5c]rQZ\:j>K2G9k30X 36.568 + KQocIH1Pu&4V\WpB/og`$56"Ete;X8%-Fum1!p9f&e2q@oT2Hr,K?WWBg1_UT5ZYq[`n@Wi 36.569 + "@oN\:!Dci3O$m$'\e]]s[3j1B<jYnn]XF9:'SeW3DU2@1B_.'o&[uK?>A>8]C2?UZ[]ML> 36.570 + YdN&h^37\21!a0def/$s'hjfu/N[e8lXhquAoXYT2?u<e&NkWS*T=N92XhPL`Y___42JoX6 36.571 + ,t`<'f_J%[o<;dQ70/k;B.UUZnqIr2Aun&Bkroh7eE.V2^_D-jZW=a\J@\Wp-Ws;>S"XJ)f 36.572 + &qp(J;3h.^TuU5aED5;u^P^JTeKgc4t[ab>]H)F;I6C';7L4TfO,Y;AC_*EH?b+pDUCQ'gM 36.573 + @+EqY2HQAKr(NEIc-H?8[C1^@g?heQ;*](a@p=.NpP$[NurHblD%Zhk\CcH#\.AlmSblUQB 36.574 + Ti#=PYH]08"G@MQ"i3b3L*<D<@+bC0=h!Yf+aB/YqGQ?"=F*\Ym)IX*n!=qq(`GkPa[kl8a 36.575 + QS3@mlF6NR2j^VReGDLTfX<X@3EJDPFu)(b$%OPVFphkEJasVnHl]XcLI'Y%Qu.SD.t>`ZJ 36.576 + p6W$%'auVKo"8rM%&Qkp2ImU#BFsTLlS<`25uJV=_JLF5&B2*R'aT;Yg:t"<AG)DCit]1_d 36.577 + ure_"c<5:sFRWA/_.('@,3iJNV$+jO6*GFuKO@=>`0`nPY]hL$N;9=#.4O><)@$[^?Q)=AH 36.578 + 96qi2&(Lb!9Z!K\>p=q*aH)Rt?@2*$heLM43>NNGBhd+:1cUOW)5\("i,FVSJpcV[fC[b!r 36.579 + 2<0]uG4[F6;P`%muq&_QK)RYp25.>;k<e6R;EBj36H1VK1PuEi]7r)6>Q)d]Hi;#mZ)+YH+ 36.580 + Cm_>l'U+nd7^[NHRp!:gMe.hbI()+n'3UAZ3KoET]q'Ep=fYIe<e6VoHUTbkJ$Y$>H,3"WK 36.581 + 0E<q[.J9k2'kCF<k<RP[CP%_i;&s(f:I'PQh5!a=qV@7$FJLtQP4d2=r+PLbEk5uQZJ-G3L 36.582 + -/G[A5<?Cc3KF<LgMl02Yn,!#+IA=P9:68#=!$[[K]GoTtZ_;l?'6[X'#\\@\J<7-YW_[DD 36.583 + 2M6.G:D[?")k9R3b>CKkbbm=Y)nO`_O2FDEis2RV5-7*B:\(W/eT.AcmF]GW;a\Ns6]=0;> 36.584 + RQaaAe\ocFX5F"&L_HL`R=^>NZ&Sg$%Zk^hq==K*[l]dhM3;X%)qTEX,L:,bTVj1bllVUoV 36.585 + %p\uFHMV!SZ\*[q2d;b5Xa0r;4#"'H,A?s$[/&6M.nr2$CJm%=ZT?&k)aQmH'=N$,Chp5Xq 36.586 + 7=.A=(g8k[+,,b)Eh6XGGu>'\(QU&4*ar?9<iW3BGI4UgRXdZM5Rki=K>pt>B<\(VRTi]SJ 36.587 + l^KgR]<&UV']iZe!"%RtkKXMls0HWN0UEb^7)6/"s$j6Q7*m[.5-"j:6`k%ZBLY$Vc][#S* 36.588 + *['LA`595-FQiYMX0(DnfX2@hmuafC>N_H\P,fJ.;cZ,;K6:0[k-4?^Qo09@<e_8/QmN7"a 36.589 + @H+'bbVRK."eKL)+=bS^V@d@<s\Wk'TO1mDqT7N$3<;Xae!C/\b[aer^3(+EQBh8,BaNZrP 36.590 + MeuIeSdFAFPP.SN>NiN-pr`NScZrAE3EF!V\Y+#mMR6)T>]-oM3B0)#+8=5L4EYsE=3c#+$ 36.591 + ,#T#\k0PM6&'/T@l2MQgOjOqq6@S\d(>L_Y2@PKs)S"3ZMO."=fZsP1pq`"dPp0m<#*`Dcd 36.592 + ')/cp@]YMbVZo):DeXX?AGelTqrTfX?2;5eRcBb<^1I)%%<g[5s)#fLc,_Z6/a\fR&TU*1P 36.593 + Atq78E/eJet/)jrY>rjY)BU\riW*GPnoDRA5BdJT?_SW?1pPL?"sF$6)HSY-:u)1nnfeQl> 36.594 + (I9h<WrR!]Dc1C8H.mq@@O2sKMY5?PPq<ldWCX*UIZuc8746F#cX#IM1c/&<+h;-QG6e.lW 36.595 + F$3rGSUH524j`h8OPRO<1P=)f_UI93[D#8@Or7TBOq8c<mhDaO_32<+)/Xq)JN+G4*c:&&K 36.596 + ^UJ27N+AL)M%5Rc_'&9[2gpaSS#:=-_EE:hGaSApE-j&A@gK)`rH-AI&YlRB0O$(dZiEZeE 36.597 + b$M&&TM>ZohFVPJQTY?,Q@JmBl1A>Y_`ag$KjF:>Xr*94L_%05hc:mFDq4hVuc6)saP'Ed5 36.598 + 4=D-(d:Y?F":lWp90X&\,)1<"RQB`1Z61YJY;PsE#/^!lG_1O6';<V!SHo'IaH$Y0tQ:`S" 36.599 + iog-jGeQZ%BijW8k[>e3/F\EfW=;uER;`QNPm,P&CeQ]C<;-o$be*lJq[J9`\Y5ac_T:,<" 36.600 + Qg33(aDTo2H2EE(o9MP_`d`n1^SAEQ\%A2X]?>9;5HglRPGJ/RK"eST*T`_.-GS,Hs$@$qX 36.601 + <U#4H.L^!\%#B[%0hIa#mGrIekhG2/f:LA6/^&pPU0lPMa>t"Qt.s$(P>3<&B@J)4XG\),n 36.602 + Rq0Y"%Z>7?<WM$jm4ELFM:?H$gB3+bibU')D/PK*=tHj>:u.^*N3.d9lF/m"V,JTuQ3%#`M 36.603 + Ll>,bLPZ>.'fa&&!F,uVi26=P>1^nMTJe:*0m]#geNS(.k$1mb^k'mnDA?H9rSD"g%k(7Qg 36.604 + $aDo`]>^F_1-J!$t.0]PY=3aBV%NH5O9nm0;,o"M_<hWl^<Fa_JK`bU"SQN&j41+ikD34"_ 36.605 + <3=[=)_9!%nm"<Fk8-kFD'N6]%.<58b/3]%MD"`kb3sQP*Zl2ZalW,>r>qS4YM&<!-%S=bL 36.606 + We_9GIEuJ5FWr#J]4,?WG;Aq0H96Y5c(]`.NO8+UrAjY!J(<hE$Qn:5pE*Q"[15mg8g2F!j 36.607 + <1t$!T`h\uLE[\]%,1PnD""oKY6$d.C]G/;XG^QEeiCI*]^9"G63-VKjWuP(9Wo$Ckak`uu 36.608 + _6<21^0Ou/:M8M[Z7Fe6WW?<8(7FK[Dl1;q?jJu56mC+(k8__OpWK\n%L1KmL/MhRh736]j 36.609 + 9b'9O+N1WBuNA>O0W!U(b_^eD!P,$#jZqh[=0"Ns<[7>hOa%,b@JttoAZP&2+XF3AO7ZO3u 36.610 + 9#^5H4[dfIm5[qmFeVJ/J7Z]<>h9;i7XUXOM<%-gVYtXC$0$6!T\.f6FN)pufl5p((36'NQ 36.611 + =j3sB%qKgTk#%L!TdM?Cf4sg<XAl6[FI!j6Z`;:F\t_9UIF'b7'$RSON.rcL5K<][:FmEc8 36.612 + G]MZM.PuK0-$EHEAL#L#0j(GN'J\,^2E!JNS_]3e$,Pk!FK,GpYk,A*<8@Ip@r&GCla:Ec4 36.613 + Ui/n0@.UbS(UT$h-2'X0HQRmOT]X.:/j<(Hq2NTVil=Rp1HqO3jQCtiRnBiqZMfVi\83NOB 36.614 + >DLI6f\q2*!C:Y].]eoq&GC?qt;QlM!>:pk`Uq+5-p#X^V@$TkFP-qWkGhRA:,C2Za\uON8 36.615 + 7Yu,&*khVj/]2h3E`upFaC^sJ/]49P:0<*dPh,hhDKr>)+EC_`fsg/r%a`2dl6M%3T4cis? 36.616 + PhPMH/5%Y-Um!=IOC'6GlC$&%5DIG,"TMRJUjjAAPlG:HLS:!#!pB:WU"mq":t"tISYZOa1 36.617 + %B%cLiU?LW-lt5@5OAguFI0iI+5>rB)l#LHUDYJ/njPmi-pFAe'BZ9?%P'(eL8VV6mg"e+i 36.618 + H.M;^TFfHs+]>RaK54Y@<P-O!GkB7hI84f([S!FV(@K5$i\%J?OrhCJ:J/7bB?UM<.'P5cd 36.619 + 9:lCN+'J\Rg$\u[g+<iXQEaC"R-cMZ$R)1+JR*4_:bu'+Y-h9LDUCh3RJUJ4hAJ<-.^a.;9 36.620 + gCWIM5oPjeL;\Zp_^OHLf&GCfZ-GE_&H!W)g:g^0hDn).@V"Mm5nsHoF%8e6*S,i$N[iU10 36.621 + XDc9hha^XNG_=^.4TAq=[7Fibnirj!9dmk.?kH7:.bgDMolC&PQ1bY\AnIFfJIM//?+jhB5 36.622 + oOogEpJ?W^`._?Ap(,@XY@9`h!DN<T?Y>Qn[@-)jm![*%]$ra.cVG"&b+hflSUj/c!V7'f[ 36.623 + :6nsBP@EZ$dq31Y,j+Hh,3]%>b!Rrn"fEtpu7e424U.6*oR/p,@KW9me7niP;IJkHEr4Qj! 36.624 + ,C(n0m2.r+:&JY)5ZW///Z2[9!KbC)Co_,3aieE0nD[l::P>Z^(8nh0gI"[`2%\_DG`X$Gk 36.625 + a<:^%VkSp;oe.=R6BF@;0SZP-*^8cKnC')Hp;ln^VNeNSTu9-N*%@SU6nup.RQX)Q'`OKiR 36.626 + "iV8''RFX<?ZH^DpS_=<T8)9M?C`!&@T2Ll?iIkamCUC'^hQ$.<C)T?4/$sS78,kF@u&:5` 36.627 + f1GR4J,.0m4&D_ZDrgi&h;q$+2:>EKD@04P-V]Y(mRt$PCJ5_D+nid((B=7BH7aNFP58em_ 36.628 + <d@cO9k[_X)qP'q2'n]j14RFod<_G9-)!1IF2g.Oehj4?ou*%!;kf*cq1X-AI&(K"Hh0u"g 36.629 + ]L"]ah:-TA(Fus30KcJM0K97>N\5rNL]ba65=sG#$U<-,e9YMMZRK<I$PuB@OP5Ri6:;&== 36.630 + iP3oLES9+L6:j#]B]PmB2&N&W@[d+Jj9Wq9-NeY`LqU<AlN>MF$UNdWOWuSm/["<K)C1M__ 36.631 + =u=?PNq0[=S!YGb_BBG`]l,[E>ZPofT9:*Z%seKBHl$s=\/1%ISLp0Z]0t>&Bg3!O&W6gL/ 36.632 + 0%)L&6YhZ/EdqO`Y.cLOt>j9Zah_NFf-!=GKVg`.I]cA5%WAo*02&B7B^#.*a9`IUp[$hG% 36.633 + T5l(>9l#frmH/4uqkTem7#`&SJXAJ^K"b.^-g3=+U*da5Vr?>1gunnY&t5tIt%44K^c;egO 36.634 + Mp)b'NeQ!<Vl4be(#FOKj7P:JZ;ueL@og(pjGfA2!Vk8$r_9N5BOdd]HTCc/tcrn+<AB[/) 36.635 + PUR`jaTjWLP(so%AEINnU6O7sQ!KS"GYb<ciRh\E#0n2;ZM%gbDM6-CNRmGiQ=A**AGTd%# 36.636 + 2hZ!$XoXIB]Rmp(Wl1[[M95nL.D/HPf-^`]%85VMUj.]W/c*J//]jJal]=$:nksGX.X>Z46 36.637 + &CjQgc%L\"er6O^,;-XmqK.#CLr](NF-EmV:d;g>5sZ!.1*;e/F(Acs$)9@Vd<^a@_/\CFo 36.638 + 3Pn+'fGW.)j^)_?ni.mZQ]<gJ3J>23<Yn5M.t60UfSVD\nhT_da5SPBTTc/MH:q&*8g70\T 36.639 + hPJo,A7Pr,jop%8g<'dR5`9U?C5]lra6o`?td>4uU@[Y-=C=^Wlp<p>]JgoI^08j5l/F`JT 36.640 + !TSSDbfRIuCXB3_`%aXQjOY<&q&^-tHXF#!-^2BV?Q\>ihb`!eZec735eXiQPPBJcXSR>iM 36.641 + qT8l.N\mi@%OLc1[^nW1kqdj56LV.fA$1XK2m?l/Q+Ht[43*VkTLUp;,A_>5K"T0TN[Frp& 36.642 + XFP2K.fAIP]Z*VmGn7;o^X<j?,6qO#(Re$b&A?mZj8j%F];1.rl<]$EMguP+oR\j*ZYF$9& 36.643 + q45_@(m\B2Nk"HOJ[S"$UD+=="BNOWYR\B.]82ul%@f0MrmNt[BX]=^Ao6jU(K0R3+I.T\< 36.644 + s\X^P;*71CdJ=WF=nN[KoOqL'KY]pE*]a(;&0,d1aHmXcA/%Mp"LpNhAK(+d?.$fHIL=l16 36.645 + WaD\\aU*=lMEBr\+GC+(rBZ@o_e^(*H,M\qjM3:t^4ZCiqi6n#\[_i$5Np)&F5Mus]fXseR 36.646 + 1$bI>U?hK4.C$BVDBD^o(\/!j?l<q`$;%m6f#CHVo.0K7'Mr\^j&!5fgIfm73Eqr1fQnk5" 36.647 + /Cd6V-^`<&m"G8I?FV^_AuHPQ+!a=:[ej-H&JE9Mdu";+&gS7:]IfS0CCt@n$;k`fmhr"Ap 36.648 + 8r@>J-E7[W/SA5"s^?SpPQ6_XH9K2nlhP/:IH7pL4"$BZfPnW:$<KS\U-R0&E_q8]`J.T"q 36.649 + cS9DpaiPBSM^YDs^$+M<E>=G&VaAGl,"0TW0:.P-=\$7Hb!:mr/%`%)8PO&Lpljj@QO$JA[ 36.650 + ^o3/^^o0g]M%!=AMQE)GLn__+;&kgd6aJ12!.mN/,7If2]IQ7`b_&-UCW:Hu7]Y=c>a1BS/ 36.651 + <!G503N0Qn;g14U<8"g8s"WW_X3BmW_,7DN#8&#nkR=F_(GMa66*3:KRlcADFcm'6/.$RjK 36.652 + 8c1Y<Aqo81[l_3.f!;=1X<"[\U9"N"el<`C*=&`*43!9>EksW'CY(,;`]L/7(uELGAAN8[. 36.653 + a+9SCK+oZUgPbf$-qe)`YYVb<Pl7D+FMI*ma,&^6p=bd=%#N6d=6gI>/X87^/6WMiNb;oJ% 36.654 + Vbp:@KK[!4"c:Se+^&6's9ZXQX<(,539lR)?m,?2OJkgiSc,,^c1\a/PX\R+-:>'YXn:El% 36.655 + n>YGTa,<to,Oc6uLc+8c%eT3bjO6U=kJj=:9l0%5U+8BB_+f<s`giYlN8VJKg!=X/Kb/!Q& 36.656 + M'rQMob]U:fItHjTe?l#El[7LkLo;N=,`g$+Ij4:i-Zg&>G\YL9;K?$n0#ROe;u3/f`+MbN 36.657 + OPVPTC>B1Ig/5cg:DD/G`*ua$'%7a;kd&m&Z)lE0c+H8p]sC`?N1H?3n0//ut=:>ong3_6i 36.658 + gm:\;%XN8i*WJ'DM;;Rs1>bpbi(d8,Gr1aOZt<8Gaeo>F7+-.6);@iW]T&Bmi!O]*T"bi)J 36.659 + cafSd0NZ>J9,YClB5L*B5;lh*;r;*^'eVIKm;oKa*\JCG*_F`fb`e?m=gha1k'i]<*4sBkQ 36.660 + D+H^Y)cWWi:6c`R]g=>fpr=[M<7IWlbs&Ne1JE=NeNFpO'gmp[4]IR^::'H8`@'47?rdQDc 36.661 + Y.obW)!QfooJJ0cRia)4ElEspR_`[eg1>q/;-rm)q)Z7]/r-P=I-T>r)0(\;[gFj'k%R"ag 36.662 + Z&4NuXB\V$7?6G)ne2O%jnVI<sD4U_T[I41rgs;Md\li(9\r#0EKnnhX(Wk,qZ$5rfG'j\< 36.663 + HG51[,==#o?hpr+#$TSBQm3R&dNjWlB:K@4%f;JBB<c!aZ4<n1/W<m=k!>qsSULE\M^5+PZ 36.664 + lWc_F/.oso^LkR]@Z.p3K2bZ%u535GR<?,/D;V?HW<m>MZORK^&O&Rua=#G"t$anF55ZZDi 36.665 + 9p;V]Ccjh^SQTN$c]htp/W#X=U;<<+X`F]d.Vi6Fg!c4mgDuP_4dT5#[FDiKWBIW@A7sW?q 36.666 + 9n'Lg@_p$rE^$lFBGBY>[><LTS$$:q1h4GL.JFOE:VegTNo?E4F?s(4NC\9XP%;h2W@BUg8 36.667 + J50W`e/t#kGpLJeX7\H\_RPM0t0o+p\^%g64,COR:`Je<2cXc5!0K]:hZQdaM/DK@'hD4Of 36.668 + a%r+'$%;2ik]e6HnJOHD.$TYYd";S4)K*S$`MMcf>HLpca)h=9.ro.K<m6SS4%1_U4]7FdA 36.669 + q=^C5bmCQB#W=L$D,.NThNRV5+LYoeG>$_!ZV)5HFgY)Cc)&jN_$QU2%D?f$A#&n3_QtHY3 36.670 + C(mR4$>?l-1+G##k)&c0i&.>fj+P\%92R4]?KLJY?4i2s'%Di>>HLra!4h&JT\^YuaA*]^" 36.671 + s$VW=pbHVM;<Tu!:o+ir*DpVf*^Wop%qf2r/WH?$'#O&6O52af;e^2#rX!eh<3OPs0qtKiC 36.672 + MGN]kg/E(4ZQ)i@QcGQ!G#O.>-b4eNg7r`Xn@m0*q1l@p"e%*>2j5BOfi+M@M8<28bKG`8: 36.673 + J^A6c6AeF4#($jtJW&1m>^D9*6Gn\:?'-ImM"4p$N<m8r\Ni_CE2PJNCKV^T85hjmeY@.:t 36.674 + R18(u\5\5/qoF2:.b7c$WO*4cl/m[;q>)Fogf0$7bX/emQ9I,mu%iuS<ORGR94HC\C=?r?] 36.675 + -7rZ&dAQ"ej`25G/13I6,M<QGb)UJaSoTW40p[F_,]36+ohWTXk@0Ga6nGT;#&FQ/:sK7G> 36.676 + -9&Z:$N29e`BN?^`Af7IPfpNctBD1B@XWJ5k<UlIUHId*Q1F(GZo]\.1dn)!B:aWlfSud*b 36.677 + ?CJ#UJ<Yn<'hTOMoDK)G,l]P-rd.M[]s@>r0=0b2A4"A5s)cNGSP"Nfs]CPTt:m85>>N#aX 36.678 + `^92/6736@$<(kc!'KB(uL/fp@8p6c=HdqW9UlBR\[@'c+`VWNS)idQ65Sr]$%OGJJ9>Ac= 36.679 + `\7=CP<RnO+l6r!.<hO)MT4q<h*+$2^.+#5ZL57_cM7R9#BoD;Un`r1SCJ,^Y][./>^WCZ5 36.680 + laET\XqXtrSqH1H$jOL_>Y+0o^hKB;&dC^aN^W$le87kFgsolb3<HVYm[gT5SuDBa2.ST4g 36.681 + .1R*js=j0(083:S?UC7W&W/d5g'L74lo\#g;U(/:lc`M1TVVQMk9-E%<kY4h/9;"2_aoBd4 36.682 + =YCp1>B3h>Yph7D4uQ]tMuP$GO:]K^''leaGKhhqmFM[MQFZa)2BQ#>!8,L9ZU<X?7gImW! 36.683 + 7/n=@+GGM'g,?V?m@\i[*2YsNi>_O5:>*s-)@-uJaMmIl+i[2.o5(Lf:NnAc(%ena"E:YOt 36.684 + BE7Sa8#eBHes7#Gh$8.-5AN#r>2qf+0BYKFe[Z0M86.5QG$Z%%n"]mJL=:.uinTM2Iei9Is 36.685 + q$6o<1AosJR-ScY;fYp;.&AH$3>(i/=ZZ^E@cfM\NoNhu-_HGJo00]geJ(tS:htgIl\P:U& 36.686 + Jt!bV&R4,F($-Eh\AlNF`R!aEsFF>O!]^=1<%hlnCG>_!o]E!JM).+'o+nf]N+SpT1.X'$G 36.687 + Sn6"T3?'HO2VfT0F`b7acffe*t+PF]suG@"[OM"_>]<.H0Y*B_B,cnAjX!mG229%?sgm.o3 36.688 + =NF*iehLF.,Q[jP0n$Y[B>q9a9_<br:I$sdu%GrFK'MkGY2TXEG@&<f&+#U)M9$$sB<1OBH 36.689 + >E"]p*+]+?r.N!@hTQ]gWGElOF#_mL>P?];3fMf99^l-`k;\9"e-$[83a(Go5/.,E8_5j[, 36.690 + (k9M5_Mp>0h)3Rio?_6Pf^.OLpnqih-'&I5T1WO*\h=7&e0p4)N5G'k#AC5P:35Z-I&!E*G 36.691 + je#ha'Vu:T3q9TFo3?AUgJ>dBkPG><<[kl(6N*<>5A@[n%b4Wf)Y*uk&FLonZ=]C/dLq'N+ 36.692 + ge&'r]Rh3oQ3ejC<[/E7WE[9,*7].LM=kF>7fl&>aJrcjMh4BLbOr+GY:=&8W]cl/$k"GI! 36.693 + XQ&:6ksHW(W(W5X,]^&pmAH1mC,caAW2WJNp"M@[d]B?@_l[gG@0BOA:UcajB0b5B!_Lc;L 36.694 + -`(8Mc[W?VSO(Zo=[)mXpU[PD/I)o$0fXC_A?G+m'F)Qqm0>r2sU\dj-HnVc$#`AtdM2@9k 36.695 + kEr2rC>+*Vc]"LIqo?[(O0Lh"K`4M+Ef],$+6nO2i<A\jrkMZcfB%fBRX9G(3cF5+nFguh< 36.696 + ;EHfJ"5s"i2C186n+e%^G55uRo]jtrWNCU5Mg9*'7FW'A=uaQ=G.9<DDrkm5cD&!0&'AUSa 36.697 + E<(7Ki'l1n"^bN+Q'+O\996q1Qb!1R_$Fi!I?aEgiRXB@>K)ApBc8;,NR'Jb#'p!#'(r)4I 36.698 + .n9Ur;$daj+_d9EVJAea6A12UO,=^ZC!"PV78JQhH,qh<&OF1*Tg9&Q^G.s\hbYF#.[#5a% 36.699 + g@*n7n4O4C_\j8%6HsR1*KZRPb9iVnR+-Xu]Ee.K0Am^b2kqTbt7]'s/SCfGoAaM9^2PhKC 36.700 + 27#^*@BurMGBSuO!i2aE=Z3o678mtRFRsXFSkXj+l'^;5r-jE5G<FmZHenRL$jO63Gs$!MK 36.701 + C30mI'd'1,sn<Mjna5DjS!MeeKR4"Rr>9FqjFGRkaB.<S&YLF`UVZJ]uQ5a2&`\%!14O5RF 36.702 + MX,A8)s#^kmWZE1ZR0eGbqU"Aol-%`3>A`$Yq[k,Th\N^bT26/\'2$6#S"-n6._)S2s8Gb< 36.703 + $uoRO*c8UOXkWU_fXlR$VQG+Qh^KP'!e0q;:@W3LG3(nECOW34/IS=5s!&aBZ?[V:,c-;2J 36.704 + /_(I!&4RhOQW`4_Q/b=lqIo&Z&#st8K4V:(YZk<5'(8?ndQ%;@8:(tTG]eN40<8BQ0e("=^ 36.705 + :t/Jc8Q+'g4],2/<F&a.e^](II%D^F,`J*8Gi)V)<S_q,f@B^B>,@-cW_X;XOiUoI$(;btf 36.706 + LXPdBA)u-4I@21;:TA)p=5pTgX_(0:V0[JS0lJEH[b%hDJdJ%:J2D[Y/TTEEBG*0/G;8%o` 36.707 + Y>_?`C1-E8XA,\9FEoiFji"XSXAu$\f85@4'5T<*UC(`YXT;=E19^RYeI)N&0,8#EE<9L+' 36.708 + @h3#tt$A]`5&=Y<dmF#G@h[UGLLapOO_TT`+(WjfAoBqWbOc.7!mpD]pjX\.okR-6#sNbE! 36.709 + m\mZ%1g>96?_(W.b&#JbugTPC:=nAt:>614q-?1rqY&!p#[S;ru*jHGmR[qKIU)W-cY[$FR 36.710 + !9gE;)I%<o'CF__kSu+=K("(;PJ8F6Su82N>(U;Ll$MQ]l6]UD(p>p+AICk&1eecP;:L:G8 36.711 + lFEiC"i::^N&''?/KqapYGk#i:p:%AQi=2[;k1$?=0,_TU'ob>7,tV1[,7<.V=AM[cb/YqT 36.712 + 0nVR@r^ZXmXr:=3KXVIWEVU.GC8+l))`J(7B4^1nJOUL_o<u3D&a:5I)L6Qh-_qNEqR(6UD 36.713 + dt!-Bu*<+h%g6GZ.MV)-/BGcN/XB$Be+0#G1&QRFUO@+g>kE-T"3&o,S4*%ZX&V!4)0jBPs 36.714 + f1F@q;))U>g$q_tO,Y6.QV50>Qfo(Yd8A643aEgdIWqJ%1fqO\/R[t2j#!8dBR(2^+D,)!m 36.715 + L$Ip4`YR]nO'sq3m?j<7pr(b1&d3'ieIk?[["+6c?S$$P^_A]''o4C./1h&#_ka#.>l!'7/ 36.716 + r5r\dt$[Sd;OmmOfFSsnD>J>09:e+73.S3!E8VP3R>D:"P@Q9$-ZD5VQ&&n7ohhZgoXFG&O 36.717 + nhS,.HBmG*^S5>YCK-0'20-QdYk@9BV2=e[i;Y1EL(#P%sUsM'![/8SSoOMY<?NcWR&_<B^ 36.718 + KFZ:4uII6]3EM&3QRk5<@RWL3<HPifMK**t5e!1kR4Cl?RY6=2H.507hL4^q8_.E;me&0n( 36.719 + !*3to]PNGfXg%@A(AIY?_0mV.B,t-S=Ec,NT'-MB`4j0!!DSqG7*a.W]O?*t?EK'o+JWMt7 36.720 + KPrDSkn5o^/pQU%nrC(RJOG*7=sDp'U*L<&:M2Rc,/Z$H"bLp)K%Q(G9h([fW2EU\XB]CgR 36.721 + \!97KpFcA-E"02MIR]iNYIZV_r8M2j:7j/d`RO64A:Qil$1R<aV5(C5q)?_ZVY[J?AgA6+0 36.722 + $McfFdj.a6^&Wl98@Q$#<9eAW<tG50-kG-"QA;c6(1?G`C[qAo-:l*ojJJ=^+=.m3ST.eag 36.723 + l#Jr:uC26F:;^=ZX/ASgb1[9(qPe(]dtDUn?YQ'McnW-;F?CcekeMH8S=S!A$^A^.d;53Q8 36.724 + kV0).$^pd?FlePdQG4+JJ]@VN$>l1g3Y8uT7`N_m7$\;_;0eT^@`oLHQja?NnotK&7r*Prd 36.725 + IdcB#Y#I7:f7Iibf.Hs:fH16(S/$YFAT;^iB(Fm7c#9`g_&o!R=^MDHKWsSZ_q9GM@N7gmn 36.726 + KmtI0HCso_f1Ro0`R_u9WjmJ98rD<29+;+*&W+>;X2Of]63uC==`%iXt>JT2D6._S<]9.Ak 36.727 + gD#5:C(]pQ&nh>&o`%.:o$WQLa0D^Nf1Zj\3@)1'36J\IRV*l]#AWM;ESH3=][&)k=73ER* 36.728 + 7`46Kl=T#T1J771<VMB);^o?N'9H4WQ++a>XN!;mo@j$[T%%A^>_mMb+jn..7p3AdV(dWua 36.729 + W%^FT0#?b3Yg)j,UN:o(rR$0sA^JsKH.A'$uJ'^7"=R)FlUCR9`dMh:KCQ0j@oZirY>9>rl 36.730 + *Cb8G.+$Wd#?:!5>`*ZYd+[4^>&.sYYVprNf6TAGmG5=DoX:,KqJ/iD4g2(J<i"7"X(UfO? 36.731 + :+B%ld)!p'^-"8]sk0%b^9A?4066h;8eN/.+]7(*YlQeB+<hL5Co+q,K&_gA[hIBiCaT9R^ 36.732 + +XaaTlonL&f$b\Kp&Ii=I1WTi)=cY9eSbRUVipaiiiH/lG&M</QmT3JJs$k1nR]/HOK])#< 36.733 + &-K_(i-:6[++^_fLFLQV3MP,,WQ.7HA&QLul<d[ikH45A/]os-C!3RQaISGTR7Ss@\!.Gj: 36.734 + JCU!KN^XG5a.I%qmo6"A>b<*aKjsPY_G-7%^3T!!g^!!*k6c%OT3o'.o5EU3IKAO2SI.1HI 36.735 + "aBqpk5=>=bYoj_M_5D<.Hm\2rcck<T2k1T@fkY,56(K6-cNDV)6gbiQA`Ps(mL-?(?4-=G 36.736 + CM?j]V6h?*_W>TUV#H37re$hS&9V<1#"ft8GZ[MMtm;=jF4jhjW3fkrK"mm^/;lFT-KisT* 36.737 + s@;+4p@[)s_t1jn=g,_Z!mUn+g>.qA0+m2,DNpY(HK0]^5+^m;E^<%cIC@&H7`BqiC14:Pq 36.738 + 7FNr`h%s3G6Y&2ODb2Zo.'"4078&43eNBYA>#]qS[N$<.\S3!56\47DP:_D;6\^B0K>r(o" 36.739 + '&-3!S\H$-O!3ds=Dr0m-is%0Bl)u5p0Quc$Ain@T#d6"/0*#$lT)C:b!0<l]:W3T,]((l4 36.740 + l#;[[E0CUtQohOC$dZp%0#%a4cN$bjq@D6dJhILAM[Qbpn^,)NYTF9lo(^N_%aK\3&4I.-# 36.741 + 8!"*&CD"#&JGaR(+rESis[R#9[Y6goH%H'*^RR]"B8R`e?b8uZV`ikYsT3;7hb2F*eDNT`) 36.742 + PP)8JG#p'sV*\Ma"Km^9Z_p'p3DLd;]ok-m!4D*oZQ(;1fZ>LD1p.+!L4;60'(aKbb8W'p1 36.743 + -_,Z>@rR2V3E'_,'i0io7?[i)H_(.5nRZ)\hKR2;!6(_O:u;0<`'ORNjI*APqYOeEFWYoWA 36.744 + T)UVCs9fF,u`>e>\ZOu.;dK6b;b1EnJ+*%Ar&_@mTQQZt\(%LB(;<]7OlPf<a*0LgT90BQn 36.745 + )'b;+,LSe%&jmpB7jO$W]e%D2Yorc1,p]<R(6W#NZ=>4ZB-rdW-IQf[&p#EuG:/Q"/b2Zrl 36.746 + N5<DHoqG3.)8>%&5O^;QRS)e.FOh<&u-pSV^dk1.`r\Y%r3IhPq(e7%l1jH+b_IF].B,g/C 36.747 + Mir'%8F1f.E0?/^Y:FdY.hME@p/W:nTm'!ce^Tp6Pf(0@KkRm6oWJlS+M10[gOe',**!(GV 36.748 + *m0p:O]dcVp?%$MlS!Ac?/@H*<ad3[ac1"/?D'14TT7l6E&1t,5X%$`RV/Ai,8$hI[V"6.n 36.749 + 1^(W;<2UcL7o2@SHG;k_42q*79'8&8CL3Rc@.!#k>PEGrfQ7W)t3R`gG';ITeV`L$B3n(8o 36.750 + '=)nd/<t:;0Yp7A"-<MH`Z4TmJD_Y8'@T)fF$5_p4k&:P'B;8Tk<>*q50bR[bC$OX>;3jP5 36.751 + JsdJ8!rBP#=+/G)&)I)'GEc3(I=9)6.?uC$X5]U;)OI\0VQZW"2k1LZ3Bk^68Unp'LP8f7m 36.752 + rS77+=uBdu?+]$5$6@C2)IJ@*M/?B1??&Ho+\j'QZcDG=RmE8(<#J:+RJdLIdWB/`9c'#,V 36.753 + keQ?cDl*g8T2'S/kUVb32S9%:%;'XK%,r3/#78<W$UP.<.fT1k"I!qadB-\>3Hh+a-g9sfa 36.754 + M<9$_Qk>%9-:=S`.$meGD]H9cK5Ea\k@,c[O!$PccGUikM'b`9#o21bl;:Qad'dHUV-CH\j 36.755 + .rsl*lN9i=02Q&[;oaKt6E)cK.9)R*<7OcE'iS+4<^ft7iq/3^'amiIEWHni*VF;od>f;)D 36.756 + c`-D<L&&9'n]UgLKKh"8+Z;:7om-A`@R[e=k.+4ZY`gpVco@d>1Kf\'sh*:OK\>B&iH(,dk 36.757 + `c;'3YHZ#Be=9dka-ef0+\+>?0Qe(#rV#k?aG>-<4<9FT3nhlk=Na.=_M.!P)T.G=g9j@+5 36.758 + Wlee;Im(L`UK@FcLB'eNcja9U9G.=`RO!1.1\qdY0jA&0U)!=r^+pLJf.ACHhF@[U_VqdL= 36.759 + FA_(4#(1UrWB+Ro\8@2GLTtb5@!!".*B?"CX!XCN]Qq&>'*nH>bp6#W'Q39+8>QtFHiU'+# 36.760 + Vaf6OC=]S((:.dW[qh29:j%pCPkZ>#@4K,T'hoIqJmCjsVacuH-)DG,DM[\XCK)LG<-Gll( 36.761 + @uHFpMZApDo98#e;%k*K2$ID:"8-?pChOJ(NGc\ERnQ-<%TgjVfJ(45a7dhoat%W!n:9nF4 36.762 + WWu(IN:G7oD8j-$'i.e^lr_14])`.(8SdQXb2?B6KVWG171Iet5rbF]XcF=4_A8(P?s6LNo 36.763 + /D0Xl+%'+6prcZc^4='(B-(Sc:XVg=]18%4U9Es`b.[qLR.>ut#h(#+&da*a5sI+Q\m%N`K 36.764 + M;dseU<oMqWErSi]fjM9?jVAGV2tMN#pOAP,J'8KT2q`4M'!O;(:"ON;p_/3\(P.qmJ^7nX 36.765 + 0cthM$%$*9H`,P32VCQo97ck"K@iDA(disHR=[93Jo^,qGZ05oASoK@Fi&9E(e9<_B82dhL 36.766 + =gBB=0YqQ$\6(LE>W\O(k[WHLPV=QLK>jD\*OBe0R]9FIPhpt\>+p`Vi$kBI+XK72cG)(,B 36.767 + ]AY4VXSGfWC*7a,HD/N7Sl('o@.$RM.W0N;2:j(upWYk?D';0_^onJMRqDH]FKjO4aJo)$> 36.768 + Flm4d0B/K!8f2ns_V`K44AOkCh>)'_QE9/8@XHSYtVpZ!pSI\W7o3B36/Qgp5A8!KE7PhAh 36.769 + n=Xc\H:GGrZLS<L"\P\YqB9ns$QIUV9@J=C0/MVMZ?:;\`(6=/Wc"ae-R+[Og)3^IdBhria 36.770 + E,u>>+h*hIgR=I5MrM@'3L?4<\!retS'P5V2TKGFMhdZ/L\\]U):P-Zf:@kKOHU&mJZ"_=7 36.771 + X:AlF*OCL\auFrpRdlM^:!K8fia4YnV^d!*-r-a_;U=jrLoZ!U"UT_$Y*D+o3:sQ=;]Y8\I 36.772 + kPs2kug'UY7niqBqp^)1_n$#F\C:J3B_t<Y$*QK&oZ?\md6..THmT/%.i#,t!_.H!FgG$X/ 36.773 + !ZFu0MO;l+&*V4d@Tj\'94Yt?<:VS]=1"]qNc4=Q_QW&?N3J36hXEKL!H<8*[<>+/F%Sgg+ 36.774 + hW`iE&[Pb)]L+&]:XkL6p>.R0,:TOVcVBJQ3(g\RNbZ.iEXWWp0H@?5gRB=7HXoT'978]Dg 36.775 + WNQ*hRc:<MKi/)d-7PBY#Fbgnq['Cd<"dqH/K'FFgD@$H@T?ma%6I<bHR8p./#<%sY\u^(g 36.776 + H#u%5D+YcZpK\Z>=pEX:(99`Z@\"B79?sZ?8W[5VK]IK'Po??E`H=<[09R9_O7n[<OdB`;n 36.777 + DG-iJ4rf9=]C1<I5+Og4?%:BiWe[J7UOJ,)`II=f'6fBY%WL6G'+K:TT/+W[1$@j+4F<f;g 36.778 + +QO]PL!49@,2O/XEsY.%c>77k4fFhZs9YJQ3t`Drj@qGg_0QhomGnmA);kX6WBZ6`AaicW* 36.779 + a;o3k8ZXm(P_Ps;!42BiuZ)(7"6?0p):W+Gu`+;fM>;`Y?/$:ufYueFc]O"Rm@K7B[<81E\ 36.780 + Rk@]GF2ZjW<BH-i]0K?-ng?PQ<?%L<V,bV=MmD)C\:[T"!ia=28]lX)\V3u*)h#,@J[0WV[ 36.781 + /@Wm]YZ+ek#C*"/%j3NqffU4;nXAt\n+gOY@:J#Z+aG(<;c)4SFBMT^aQhh]Qe([jAXC!F1 36.782 + lmZ]rHlO"]<WuWQpsQ_n'bs77ECt'4i-"$X<G?>)Fl_l[IOI^jRgaNY<_o25ut\WSKe=*CI 36.783 + $AdD?gP_HO4p3jm"t&]`ViesaM-h)lZ>4f,a9Wh"L@*Ik2CFg/IgYs"$]K$h`[8][E\<4lr 36.784 + n*,\aRRG+0+<?+mcS5rRYaoEHj<.2C3]X>6.Fj%FaZTO[VI,l]g``.B>h8N%34lsq:l*\4l 36.785 + [J^5-IInmmpf(PPd8)kSRsE7_V9QWOc24S@SeNP83`MX].@qX>*;.K;q5#(`"h`V"4Q%i_2 36.786 + pQg\cF^X4qn,p7(aiT0dJ-5"[(_g8:-94o&Q[T>`CLa#LR<<i<5Fd_)2FY,;4<'jQu@HK"[ 36.787 + eR)gc#l>%('U[T!D@5=qZ:8hBc+a@9r**O1ShsR!olO5+Cg*J%^C&D4\<(D-Q>An5Xq2RX( 36.788 + s\i_/Y8C/j'?Kmpr,^>@DSj6O.N<t;lC*pnZ1S*[\@klHrI(c1X[L[[4"mKHVV+ZXD3&+6W 36.789 + Nmc59cq4mK:On(MdnmPd'@N5q;g#p=Uo05/C,u@`1JXC:4*/.8^=BG%S=."F8<1d1`P[!h; 36.790 + Z^><*p4$i+IrU0E=8%,hKn"JLIt;?a<)n85pn_!cpfH]k:\NIsq5%*c]1>q.I;PUT<F;k^A 36.791 + QSF$Q%^M]qnJM$79B!Pg%.CGL/b[J[`(oY9.bSFh*M,AJO&.T=>V'2$&(_)OOsB`+D-Huib 36.792 + c343\_M37cTW`oR9(LO\"Pr=Yu^I.@!NeP1ark@540Dk*&rThJkQH:?Rhoo_sD-Thss;=u@ 36.793 + @`8Yo>LPhL7DTi%dglBPP\?EmY8<pQ%)omX_cYup8ZlSJ7]r3\_jQJ5@/d/C:8XI!/!/hGb 36.794 + 7?JW*F]Ii)n!+>;`7NNWNM8`roR+ujL+d'lWnsNak?SRtnB(MGGp4#B%d:i0@>rJ<PWRYbE 36.795 + 2`m#4pT`CUmPd:@hf2<"]=49cm`T[fiGeR^?8isgalRR=SDJHSU!`+HqOLs%?a8;OA@:!XI 36.796 + B.!qg=a)e=Q<3(7.km)DP))FA@qYbrbhbFS+6=QIfH%toD\eU0GF`n5d3'U"@4_@(C!1*Mn 36.797 + 6EjY5?0DY"p;_lBq(f,7[)Fl,O>j9F9Xo`2ktS$q2mM<u+60FC,kS0pH;h7^9==*(Ma5G3) 36.798 + %%S:7t"%CCC)-KiU59Z]%hP]OsP/>"=_16e[d9!Yh-/5%bJ[k:=ZoY0\4cN@_1[ZV=X0JcU 36.799 + @cR$i6SDQ0K1R.&`::%=r4ARc_pHDBZo`%0B;\Ag\9X(<D\kjqO:D0n0%3EV41mC-q6Uj3R 36.800 + 9N*du2bm;Yofl8P2&/VZ<4+JDf?A:]bsYOrbNsGeQ'(N=1.S0Yp/`n5VcQs-om^@O2AM!V= 36.801 + Kl6"A.#bFQXuDiFcC'<2NtYW2A@`G+kgZuAD^UlNO<_12\jAR>dlT:F?5O))T!"$FjkSA2j 36.802 + /#Wd$D?UCu/mF)0PuoH,@ZI#I=&\0/qGmKOHi@(PZA.F<,M][rCkmijcDX6-uOcYr#qS>4[ 36.803 + =iC['Qp9m>e%'B@bH=-dEt[SE@+a%9'q$+[AKRgGnAG>[K2mX763)0DQD*]0ZT5j:<NQ_ma 36.804 + 7c0le*\nd\CgTC'uWTuUr/k0Wfp.n/;)]!Tk)B1TCL$2*ns.&Ea).g<j\*H2b1e$j#_J\K$ 36.805 + -+`I_pA_pI/M<Yqh\bebL=^RkfpOTqU$l,JQ%osoEjh:ib[$\LdDj<hQJbneCju5ImAq@MZ 36.806 + PjSa8BZ.FVWPtmgp^qMG.k2\_E9l=o@oq&[Z:s;/<0[njZW'njAS1eQU^-m*1tn8Sr-<:;8 36.807 + #\Zl1R8m9>,7*^A70l58VB2I&V=26[*oBbg"DqSD,@7IqRs@97Dm#ct)sG:[!0W>M1:(O[c 36.808 + Ec!9i>2GCZmJ"[KR7m?ajl@u;P!Lo;^-TX5Mej2qf`ACgYk;so4@L(QB.&jP2F@;Ja4G!K_ 36.809 + A9Ubf(J<1bp6<EO_Tc?"H&ETc*26>bD<"^Md9p<6_b.ea%s"[,qEP)E6V4lC7M?kCE&1FF_ 36.810 + RknSs`Y:U*\+^L@F@.`8mENLud2,c5,BY_LS"a#n+!WQA,H=p*Z?EnE+s@D@NaRo;Q?O*<, 36.811 + ]/P%L"+!2$I2j#`.l3r4NNZuLuT.XN04='2cfSgd48`SEUZ[mis-\EUg>:.at:Y'],ch:,T 36.812 + AM8Z:S`;(>I4RBFFes"P.P:Uc`9:0n=L>nBiLlr4&%'DHTK^ec6sO4-Tjp3MKS97i@JLNMI 36.813 + %S1J(\W)Y?d_mjsMlOg?OuKPZq"IQ4%#QFeBBE/sMo(6dF^2l5m!&!FSb9efF$9H0Ia6ukm 36.814 + YH0bMV_$cH)Du`Jg:GQC=#GDhWY=$9.mZ/>Q-1M:jcBZ>L*/X9,k"1t#Zdu;C<?J"AAh(Z# 36.815 + #pRSEruk(-JNUt<8#\'e0Q`t@\sc[jh*Ygl1r=BtMI0%+OUdnglCF*,KOG/)-`E[>QHbiL: 36.816 + flu7-1pnp;t:Gn-7pRAm](Q")P%paaU)MHk+,KR>tV-0MlC^TIb#uW=U6lU0X[^9f#%ciR? 36.817 + ]XG%Z6deOt_^WlccEj,-+@/F^Sub6RJ)p;:nod>DOkMW)_!;5V`LMd4LA$PtFKq8jd6-oq* 36.818 + V94fD3JAg]/f*'HpLH7id=eW&SGZkg[7.O[p^;(Grt':#)sW[L*oj^#=u+d9IK0[-$:!hMe 36.819 + <h(rhl.EF*UZ"=d0OE^n9g@X/CaGoV^=.OE64d73n/100"i'FMrHr7@JAR-1Tf5ARRPr7Kf 36.820 + `EB_BCi)-SQ^pV$R_Z[AonFT1@$b1Maa'^W^h]_ml@98G.W3@Z]5eXU>ML8^-kg-ZU^bhrb 36.821 + ;g:VFr3C'(C6tp-qUQ\@^r>Ij48/MIkDKYB6[s<@Pg`78,QmBe+F=2ZO$QrHY-nMqFScF"G 36.822 + lQ]0uP=N%F+_HcNluJ_4tWMj%55`me-O`"N)HnbWn4/ps?pH3rI-ilk=3SqF%j)Pi(W8J-Z 36.823 + nl+P7:<gYC1uYYDIM)<X-q#LLKG2%Y$F)+Mt_)T^S<&n'D]7;0,ZOU(dYD@E,\&8;EqEL"\ 36.824 + [L(;Eo=eA+Q\HUE_gImXN]4MWqOs.A7<+V!(9:G4T$+c(Ll<EaChqF(26oRm&P$&N5(:#(T 36.825 + $QD*cJ4qg1Z,noe9RmRG@!,T[eP4(em(D7DYiu;=>1A8X6O0bc<h)>$lW./:ZpM4Z!8GF.> 36.826 + G>C/6=`M4bYLZq?LflDC@9Uq]3]2fmA*3pLpA1d<06Qj1e.2Q^Y'kc@;59CYrG;af_ZA9CJ 36.827 + )"034B^M)>4?M<^EG4)3Wh@2</\:8]aY+8Sf@0JT;bg\Oa^4[e\fsB]9]:bV!YlRkpBBmU; 36.828 + Z>@40ZHr[lEt>"6'JPNS?tR.KkPctC!?,J4D_o0Nh%N%XAF/`@?2Jd5D%kr.c'm"Y,dgX?H 36.829 + ^:8!"DKQ^"jbdRON+H/_*f:l=]H*c@GGe[PrY2j"QTa'[CA"'_oXaW2D7$0X=#'T!Yg*Vf+ 36.830 + kbPi0?D9s?Z0O4kGuLjW?G4-816:q;</p]<)9KQNVhY+b5Pfu)eST9nCEBh8HSVYE'Q25>r 36.831 + S55P7dCe7c]fONkQ#tTi'uW0G4:U/OgGSDdOtRBQTl18;r-.orVr_[X7qG`mtL9nfcbL*o9 36.832 + T5+&bl3Yd-^k#KmeEo6)bocQ&Od_7A&X,Ihuf0T;Tbl5O\3#q<5DON^)j72/l#A)INhlp,E 36.833 + HI3-^0AlfGjEg-Cl/S,#@Dl]%MZDa;b#![I)jZ,`fQq&Gn35pR)#,-rgDbeW_"VsE(VF8%q 36.834 + Y(bh$uLbom`ETjej\1H(B/=Z8;e/L]bVRB\J5[3mf3YJA)n0C[-M'O31$m,a;*/0UtUX4ZK 36.835 + dtU1O(pNWW#m:77.rgLrNuj3/5'"_&lc]Va]<Pi$V\"t2A1Oi3R6m,f6$r4@#an&1PJU!GZ 36.836 + uRY5F=4(F'1<O#Rm@;rW?85cncl0aU0n8$;ij-CI^pFb7&3G3J^ubAgd;300uM:'e![:*:) 36.837 + e8hLb!PW6_Zo#<(.B3];.)Jr%UHq=$,1a5_N.-e#3O7;^tI8^"A[dHnG^&=[1[n`Z+*Y]=n 36.838 + [d9=#1^5J-39q3aPP2ET'06<mTJls2(l,/u/378-n)g`FHt?9T=-`O&CYZua8RLI<ib&d1V 36.839 + C8=cAn%h_J07soX'ZuSY2J#DXG6'Qc6b[<pTI`CT:Wp-%<ZXLJ!?cVeW8/tVt$g>Y7@Rt<S 36.840 + 8:5tY#b4>VN6!H;83AFoP`*K`Ku8".aNT1PjB9SL\3IV[73emflF]6+HH*%BM#<6aClZDkL 36.841 + ;W@n7\lJDFC)rqS]UMbaK0a21o$bsZc?M\4]p/79W,gFW61@(b+u&[[&_?fXNK%pb2fXSKW 36.842 + fo*Yfd`c9)&Zam'Fl'[*)FVb@J')FLTGH\BC,IbG;_m[(FN"]Z\g<bN-C\oY8TQ^s!M.)G! 36.843 + ,[)>h@1\])@=3*_u1Cge>ERg:jjM/+S4N1\-1@nJ/.bbJLdjH@T[TKen]6<"iE0V(o$Q-?S 36.844 + B8X$j*g9SgoU!7D96Nd2,eCbrI1HEpAc.#GnF"08ibQpnoM,`$?b9=W"cj4II#rLd9lW?X+ 36.845 + M25-\b!bO?Z&64m+,r6$:?6H@o^C*/nBVg=cQr)-2"T$]oZpM0cXcaqFSF+7ps53#c_UE`[ 36.846 + /7C"M9J)I);>&,CB[N"E^(e[`;@tIBRrDh!Jrpe^dQFA'K]"@N)3'2WU"jo1nIOVRQdPPLh 36.847 + $ZNeCk4?$&N3t,D=ak*=B#mcV;@e:k].1bl^['%+,')U<K")lll_ab;sl):(W(U6R`=9&lF 36.848 + nX:/H[Bplj(\&r=L;1L/U1'^O2$.%!:dMeKPYP]mQ^mK)DH;WTOZoe4bt0[gakdj6cu2)E] 36.849 + M1t,G^dq&0ud;_K?(,c<O4p5ap!/s)THrHg,0f7P)&h;Ad",TBd]G/`:bY,a2*@b!kLikhi 36.850 + /J$-gQrFL7e+A4@;jBop(!W!bLuh,@]gu)86S"Ws[q*Fg']Y$;j.oCB`a(dXe9o[mL"0R** 36.851 + ha$+]g`9E:JQmGLi#`3Q!`)CF:`uU;Q.#EdG><I/K$Q\<b5moF_B9ZB\&G_etm-4[;4@4Ct 36.852 + @-RJu*@:I;d^@E)u0P<o%fJ207A<FOsN8f4B-WFa)GkGh84+f;3fF[<pNEI+QnsfB%J5omb 36.853 + TtJCj!(fHHI-H#TH/(cIiT&M6>F<!^augFlie3kR9U6p-9J78So![Ts7Hd]V5AOLsl\;B9( 36.854 + B[>iI8@b?cr]1&"0]buZDOBAmoZ=(OH_;A8!7jo&N8NiG5,o9)M);'ni;/J\G72`^(I_=<b 36.855 + /i<UG[?jaHKN[(3#jmQVD2h^%(0RTPa5E39SHT<%qH>+L2[\tW*F7>cAQY_NTB0J8FgmZn_ 36.856 + @(I_N@e]R-l1RR*/9`lR6@^2]0eD:7,*F3N+8BEBm8$Z:VXT>_c.>^/WU/\J#*lZ7h[M20p 36.857 + t3:_H_f<O)fe,Mg#k`abWXN1qB#=]+R[(JmBTH["H[14iXZtpJFJ6glc\PA^S*:Fr^ZXZ`T 36.858 + il%,"A'2V`o#]a_>PaID"<V;0gjh$r+DUCgeV;r&kr>rrt\9uB=X;ma(ISOtfK"GKg7T#OT 36.859 + $?C@4q8TnEFOP^M6hci(K>`gOFY9a6r28u!;/Ip;gL7+n*N",3LgIp@,01/J!:^O?\ZZDPZ 36.860 + oSG`t2b!\TII8%3ml5aRU>=e6!u>&$oiWu(?;$nt:"k=abM4EVi?:8-bq';E]*p:(!GNO/- 36.861 + 5X$K1H>3hhoN[QSeC"tY[D$pQNR<C&14Zf`EQNA[_+j]E/*?d)n*C?3D#dN4#L-.k$\rPWo 36.862 + `uSeP&HN;i-_=g;5u1bO!a2Q=<N(@Tupn^*co*S(`#='RID5ANJNCUJWoYeBAlk4fID3[+1 36.863 + G3QXrhr*']ns.GcsC>l\j(ETQ52J)Xn#RjKNC?2%eL0SmiZ0k->W:+i,M0?!QU2qW@+ZCb- 36.864 + 7*9@r5P+6ZVOW[EGdpZ(i@:?sbEn<I7;ItrjiSDFS7%QMA56qmPjJktLfrl@Fn!E9gV;c/4 36.865 + g/C[aOCdOo-\c"J]C"CB1*sU[0q*PHAPn/EJKo&<1/]X"->"Q;5%\b?_-9EoH2XZSHsgo8e 36.866 + Vtp3o*XV2<Z;YLft<5Qd%9B&PG<#8k(Vu1P%7C(9'3f,OOP;=c@/#r35pVI=tX82V6.MPA6 36.867 + CO3j1pU85f.'^S-D(rVS,LFIJ17TK&\S/BK<6X%YX&oY+4?_Lc0f3IR5RtZS2/aM6T]e0q2 36.868 + iG!CfC]k^Jl1p3E('HIW4W#k!),mX==XBB_lgl=QoUL/UK+1UI<:cL&6uaW*RmDa<H*M]<9 36.869 + o$k_cJY_mU-R%m)_DQsaJZ\jDhlTnSW`j^Uj\EfHk"pV[)DS+34V%AZcPXT*l%TSH/<ft<h 36.870 + L9*k_IMrFtif$@>Cg`t&,=Up!`fL\OMKSdMDTNV&Oc1n6CrXcO(;1=VLME(@lE1le\\H1DG 36.871 + t4aXD.BeYXi'HT4m]&sO3ZF99.F0>g(WVnD2-k`nSho#dH+EWj^uu(Z'!(g9];T#mU5;GI^ 36.872 + ;m`k)]5j$5M#t.)KTYknCM^$m*]3f'eke.TS)/>HZt%%c\/']nVZ5mntEn"@h*Lmq6n(m\] 36.873 + IehWO9lkjPbRDlB7t`K9QA4H##5n0\;,0'2R5"I/kq$YJsEV(Lu@(6QH-5mUbi!6D+me0su 36.874 + )Dj]KPPhubgc/_G;.djHBA[:J/87IllRd?P$?MlV1rpWbGnW9=+qD+oHC2ojdn`LsM0&W1a 36.875 + o'hC_E02)tHe4$l[uRp9N8reh9U:Lh?.shJSGB[8JA9T8!!phTADA-pdZ<pR+*/5Qo-Z<b0 36.876 + duSs^C:C_!!^7O^@cDU]o85l)%FDb4l_QS.b%N5>ug*I*h`rP-42B6#o)Q4"@-K1ORiu=oO 36.877 + gYcG=V:V!V8nUM.pT+/SGnbHAZo)F)`.-G]I5R:W/"+`0SBh-ADuIj97\Nh/J@RmKF!%5me 36.878 + jqBZi'q[Yh@Broo`2ch(qQmmZl0@.kCFp*X=0-V<TjQ7.l=F9%s*k4BSK=.6R"^Fp(W$7b: 36.879 + >`JA^*<*r[urr!23Ka?cbl5r+o6fE,ZK_>X\G@u*nGB`e3a*'_9p0H0[8>Ps/,*B=8^uh_g 36.880 + EE[=aY]IOG#g.H@mWBp0%LD?CRG*+bDCAW4IktJ%BU,@W"q;8aEoQO"j5(@,Zc2^6FBqL.U 36.881 + CNmOLdl<C32nYrk426O@Y/IBKjK:9Vs:9cY_HuG/,7/+@\FEY!V:MBGkr5MqBr$60VnH1R7 36.882 + o/$RP.D(2`CA\)=/V<lmGZs;&"!4Mm1U83CaW7Y"tS-46><,k5rFP]s(jU3]mVuOY<n77dI 36.883 + [?i[eRq>,5fdmTus?D0aj&#i8"TKj%ipb4tsp2_7YQ^kDVEDgP6RHs`HhLS4K.aS_CHr27\ 36.884 + o3mf,E'NS#-o]``"8e5cGJ\<#!6(9[74(\2>\;Ue?h^/Z!1GJ_.l<l3iLaqe5o.&`)Onk)t 36.885 + g)Lh&e;G^?mBVH!;?t_WK.8MBHb\aR?uF0afP!#Lqe(,T=QPE0P<++U8E<B@"D/n4?HmM[@ 36.886 + 'O:4TeGn>5=Kp,!,hPSIqSKTGPD,PL)7>CmM@#\DpFKBj@>O>%[B$:!.[+<:\Z1N%0n5s5S 36.887 + 1G8_Arl6+!OP&@id35N'Yoi\BGj2n6&:lZ.83,.1;6=Ui8mf;HF^"b@I[,C^JQ2BMN/;Bft 36.888 + LN09=7enHk_oKc-2o-1b`n2MWiZJ1:%GAQBZT-I&Q0=HW/Y5)<0IQ)`VKWf4.,B+q7-Su6& 36.889 + '^Z0%-D9h0c]O#MX]B/bbJ&#H2=?HtH%:VG/E1":M2][t#A9(g8VH5@9b[tp!]]OE$T?q7n 36.890 + >!44!9rHKUF]uIj[p?2iCj'#GVUo[oghq=?^#o';J:DNFS2]=ANPg30H!D0Zs!Bkl91?NXG 36.891 + ?5!slr^k/0"$tbh['")?7'l_*H7pqR.Acl[c9f?qP"\TbdQ?(RnIP&s$^hNX.^pkY_FRi_q 36.892 + J&)!br(;,YW"EPJ:j!U5uNSlJf]$.nY9'5**"LYc9B,pn'pl@QOOeX&>Pt+R&ZM'IbO7],A 36.893 + VNW]LVD$rh'aa-#_:+35''Kd"O#/<(mr&knQ:ac^J2-d!'\V('QMXJk5&Y!\0.\8oKT.j48 36.894 + 1Gj.8Q"*St7"l.Wcc#Z26,::8QjZ1Uuo^)1L.\'n$6P-j>[_q=W2[qW!@PL57PQX[35j2V' 36.895 + 8#*:,(B^^oRMQ77oKiho^IXS>4KfH6:;>0!'$.jd8>IYc,O&sI\?&\iA;3;>2/QQin\V$=N 36.896 + toW^?e?,'KjiW"/WF8n(/:'*fp6KGBA+,\V&m11`3h1hDFD.qf+Sk>(><U=OEXrr/^!-Z1d 36.897 + +*teLFJk6W)l1>?.t$$:?u-FW+=U,7o/M!lM!#:Oo1#U'jgEb:W'`?PguCI\9bW(9AiujnP 36.898 + 2!3-I0,`!T-RKHZ__#l#U.U<APTbI,fa[aifi?=fObAXV\KY&0Zk):!AqkF(adTBI1'KZRE 36.899 + #<Ne"/:0kD7gW;OTE+j&4[d?-h1#&afg<R+.*1H6aO%"7ro2=pKJn($GFABWF`0!_OK2jTX 36.900 + &QbXo;Hl>]HTohZWG!&&W8`Xc@Buq\h[N(R#X0lSjkN,JK(%p#n\Xc$;PLLo2*Re[Z$^:^Q 36.901 + uef/7FCau029pg*D]\copp#,fCfJ.M_)B(`fbeoqI?:u9YH<bY+1s<L#>MWngNnkl"]+mE- 36.902 + kh+jtM\[>_KdlVE<mHIY(shmd)\P]l&W*,7u&i1ZXMk8NO-AU%"D=Vl"^%.84Sb_XGIJJ&; 36.903 + $&TpYrt]NZ?/GL-bW]OD`A+=%8E:bDr;fGt(PKFrf4:'s9h/8lPu7n\U`V&\*/R,-e!K'>9 36.904 + H/ndqi$u>\^O3*;DU]Nk&ZO&@FOG5th_Y_qa3(2k2I5(cN:<B74+E+giT&L7i'Y9lHn-Sk' 36.905 + _NMus*%E0Dam29\QsX((%Xda%/&F5>!JjtdMp[P?7TdnQj$[U@;6DfHf\ILjlksuK+YLU]] 36.906 + 'dY7:P)0jD^S*S*tg:%O@c`E-KgR'8UCneAPM28;@:<D0nb%0/k*[%lpkNJWJ8?#8WcOD9& 36.907 + E/>PN3WWa\mm.M0rHic6asYdP@^>EKQLiiE!2HWoYDRE+i+!!(JD[0BNDRQr=K(9Nd?0k![ 36.908 + =Z7e(7a3&\5'o!W8;jkdfCX#83Cfp^r$ihu@1nfkHO,8-sW+O[^uJ-9(!Z]KmHVt2F4ba4- 36.909 + K+H4KE9+d""H9m4_Q-0GDoB-e[SqZk89/6q18>M991W[R3ip'#MI.3P>:0pTY-Um7<)5C/K 36.910 + N`"Ln8*L1#AS3b-**7%GAs@N`Om8&J'\k$LKe]GV>]uM!9)"3hWI-;k+2[(Q9&Gde0G8P5O 36.911 + kJDPaNZX`,^"\o(Bd@nYr.>JN[+T0-W(t"6`B?6L_FHq5_'#"I0s,/PiD3]@OS.9ocV7NKa 36.912 + C.\%4t^^<?5-jm9T%sH*:69^/s%e?g/!D+,aQDa&d6.ktE4gOGX:l8nDMsUGST:9SCM#7pD 36.913 + ]YI'U[)T2ZM(8EJh9F%WZl'B6W;a8K#Foh9t$C)holbMRZ2qTZ<*S=_7H6^0?bQb7"*C5A. 36.914 + R[E8q]96Tr1gmK7T%%=2#HSVSI_rMrYg%cD1C-drtlB?-mJXG_F$g8lLYR+LE/)/*immZKS 36.915 + =0D7'gYI5FJl7V0%-!>Km7HY2At!hEC;Au/<+c8#46)?;SiO5iCID7)CndUo_[QI471(0]2 36.916 + 2rD6-3,Oo@k5^E8&NL&.S-r.T9A,e:@(#F*&\S@A5`oN,p)%5gn:a+cPVf(*J.NU!6!/4nJ 36.917 + BdLFJ'(_^*u8:j?/EanjZ3m=YD+4gmreqSbC2nlMO?qoh($G/:n2>670e_O].3f:9!$jU@P 36.918 + =a8tF*fZ?:DbHAZ#><YVij1p`B-:dcqe1On[P\]SAnj@Z"U&Xf@._]*i!kI,R\DF['UD"ED 36.919 + C=D6$hjFZRm?:*p3(=#/FZd,<78md]da)/&NQTQF'F/^J56iM]S`VlgnD%+PN-R.k>D6<KN 36.920 + \^sIgj(6`k2YI?efNSkq'`7'%19>])=7X?rji7[o3Q'LN[n:L#XH0clf@sMJDJe4BBPNHtY 36.921 + .K1(DHkYrh6i!6).-t:S,3;+r827g(7I?4[dc:7q;4q&D\CbU^A%p6i*6e%DA"D5pa6C,;\ 36.922 + e!<,E]9>qVQm#"+)oF]THrC-bqhtNc1Jpa*@n5jBR_,n7W?Bq'RWQ:fE+UDBB*75$$YsLQ: 36.923 + a"TKAi;/*C+!O7U)6ch[l4J_<RoFC'sS\DKX;>qOHEf4i.bL?hMLmrrU#)]pjO@iNN//o0E 36.924 + iQhk?']tF*EG$`GHqaYAf?*A\EM!<,EP#gju""d5]Z%5[\#=uJFQLpd%hrtAVn/`+WG[Cp= 36.925 + r'uV&LBbS2NR`K(SlkEM^Ob&'+&(D'MXsag_0NdYkPYXZoNmU,1<cMXa4)'r-9,CZd1P^CL 36.926 + ThjAbh)SQlN=f/QP28IdehmFkC**@pg4QkHs_m'c&\dFB,YG$7<hq@H)LAm;?cg?28%?_g[ 36.927 + ?0FC]'7,!e(C3r*PNUIUC@qr]b;C>X6DYqd;NLYEJVK2m2K7^l\E5=U:/moRGI\r%J!K0Eh 36.928 + Gq#lq1<i(i'qkj1'CgaOnN1s`&aa;F'aT]\!>!peeF&2=9+3<QKK"7SRPX6/O3T`JXKVLc> 36.929 + _0NA9EYl66.no,k*DDHJ*YXiX[ih4NQ&46\;k23;Z][1p00SKdOM$U>EJZbOHO4`9K,_@W6 36.930 + #7tuJDlj4r\Hq]+9Fs&gn?iXC\I5XT$fu@2B]f\?,6dPui,C)tmA14&fLW6Q%C"e$0]`d`k 36.931 + mjIc!@ge5mUY`]jSFZHbV$4$KS]W/])M3d&EA*HnIZ@Q)%j+o&b-tcmi("7i:7HT%++p'/- 36.932 + buZ,4@pV$=Xk@d3B?8;\;ku'_,$80i\s,cD6;f%l#RFA?,ba3qk9[pQ8Sp,<HUeFVh<2(\* 36.933 + %n/sd<rkj@i-k%b`a8m_6fG4RGB)<PWLOeE\5W>`%D)XV/J$O[_%PmOB3Q]X[+n$Mt34W>! 36.934 + W:W,"iDG_DDfc@?R*V&(k:Di3@MZHR_)m3k+.0L^[]^+Y*8C-l=/BJqg#U$CK+L2S&1)1sQ 36.935 + (jFB8%$<1^a<$#;DW_S_+gNdn&e?3B3?tgm,P"*&dN8usnJN`"*"ZjU:i>9sUEhRf,B@':1 36.936 + 1_eQBdTX.,]U@4%@D`DT-]LN'B?C6&lU.)FX@`X..WKL16j:u7jen/YqdT`0[a4Q/LcfZ.+ 36.937 + 54J1:8WQ\LXDt(lo[b18,d<+V5($&4D9bM$kEoN#r)W*T;SZ^t]\jQ3hTr0%0&<o(=Xkq(E 36.938 + BZ067(FTtV;9C,-sl)r\Oc',<1,(GIWc0(TPlj!-6dCGE.I0p==Ho'.u]U_9@O1@m@[1E%) 36.939 + 1edZ+<1k=17'3-hE!AgE!16Ycr;ctn4-qCSJ/(8Js/cn%r.NQ@m2tM/O-@m][.4ObS/;PA] 36.940 + Dmhd%S4M$m+`YBnTmdFndLs>0!E6*^'<aJR\N=lG4&`sWZbnl`W1jA8*J(.-PJo\+^HIe$4 36.941 + nH!C!N7b0aqI_054dMn1Z:CT-l=)`%J0*SF9OhD;?ie/16`+MZi`U8ofQ1N%HAm'PQsL\of 36.942 + f^!#L3i#F+lu'38e[JN&3CZZp^^"Kba-e37,hu.dj[foW05L5j:rsd;6*#SG8dU#/G(B<-: 36.943 + Nk_*Z$_5#c_mFG2nWkTb2%8FsS\Zi<T2Kfi<J5njc"P_29o,=dup6F4m*dr.Wr\P'#l6g8q 36.944 + c1qcRoQP+:t"OiDWbdL4XQkLXh:#dFg"uOC4fg.FL'S'3fFR`.+o1sK,:UL4!Pm'tA<Z=>$ 36.945 + 'a#X#iNsP(#uS)4;:PnKo`J&WZnaKI'bqlj2'l-X3DX-5)'K+o<Ad^_2cO4!$36_SPthZ$7 36.946 + ocri:c1KL6Rc$c8QN5B;Y2U_-=9GGa]Glu9B$p]0S*<uLfe\g9b^Md#TT1^LKUAr/E3nMU' 36.947 + S*(@NgZ40N#jY&^'ljm5ss4=JH0qFhq=*aJ:Qa%e\4T2:<95fj(r?9\#1FnoX/q,p..(/`G 36.948 + PA,V_b4%^Q-8`hNJU1=%(]M-I=&>P6i+[DcQ4).Bro@IFY3031]-BS%ufk2VCWc!(HS%6HH 36.949 + [@M.!i<^C8>8S#8'n.<PUZ6:!&qZ\G`=d>L6[PfXV<o28.pf9I;p-3*I=(-8tBD-mi2MB_% 36.950 + P6k.*1+e"qEVj5j?"0`U-`ucM2Dc]H7PIc4!#)+![W2CLGA(cs6OlmoG.h^8a_\E0f%*b&P 36.951 + Ya+()I@2g20PM'WfL?D""J/^+-2I_FU;&kcQLfT6l*a[[fp_p$#lp;@Sn[2f%MD=*]1=bJ^ 36.952 + Vc'_5D<`3[<pi`M45$9YE$E%/dP^F14GW2aqh+=WVIP37$2%O;K]*Tl&giETe?%:@Q`M.TU 36.953 + ZT0p]"Y2b5gWAp&[YRc27&_0pPOHlSi5(di:apNLn,R<c93F>&m$:RP>f*]n8#HL.I3e5WW 36.954 + +2.-Lg7VZKN(S3MYH8<_(bk8!^D'U?KUe.8'$in++5r\rH0mP\W9K*'$GP-H0q1#`+FMj45 36.955 + %oX5Z-;&JiJWZ8m<8JVh.^YpjPIJ5T`/f;@*[\uiD$As;KSb-Oj#d"uI\Uh,==&WF8VFTI8 36.956 + bWf4<[hUY-"[141s%h#!rZ=S$G^m^C2APYl$15t@S%CsITPc_eTB^!H%u*RM"m*h,`@@39. 36.957 + +`OOD_a="&/u:)djrXs$2Ck(mHf.-nmtOIRW6Da_n/r9%;c"MaVcEpcXEm6[nG8Mg43@39? 36.958 + 01D.p.Gju<]?=:Tn*0%q).2#+\CK4Buf!1arN-1#Tf7"L=r_1VN:A6B)!3@0i6-o:YcATa2 36.959 + 280<Q)$HJm=AuC?1;E.Lt/7)AV9-RCabtWUDrZY<Lg7l%'il#m>6ZJj/cpsr>XXAp>#0.S- 36.960 + ,Gk<mU*WJNCa^$M.QMr>\J[Ih*K@UT6T=V"\YYa?WLBRSP3u[oG$,Io>_+f+GZLV)!X)Gpp 36.961 + b?rq?]l6jXDk<$W5HXdC:3mc36YEGU9ik>SToB'(&`=8?GbaPW9]g(l-Z,VCRK7IRB<HVp; 36.962 + <?Q)54V^U$$!;'MXc.%>B]#6PnH&lX%I9ShP?S>``/7q.G*URshbZ+pgST+aTI7l&d7n,74 36.963 + :Zb07lAi2WNVR%an`_&0cDl&<_<,l"AglED<9+f8`K#'gnQRLB4#&2q$eU)K`*3i-q#R9ji 36.964 + ?Jla-kQR3V\*(C<([=S[o@d'`-*HOX#+*'VIH'0`&4=_?$;QV&bQeGkXhRUE&TRm*QC%/$S 36.965 + pmi;L+pX'tg4tU>NZsA!8(s</UM6_(Vm3iSZ1`lt/+7UYa-0%7G"`:>ir[&/2I8H$0,`*%& 36.966 + hkk?n4*%)UEZ>0)I>)mK!RIgS9f^NNFKMtb<m0L-#(`)=UD#$F.$+gL_rFO3?b[IM7C0WF0 36.967 + F-"G)qhHS?CuiPG596HVcG`^nrgq,:-'c$-k]9A1nmFa,.aOqkgG%\>_&57EU'bLh![d^7I 36.968 + E#NB;WLH\8<Mh2&\(^AIH82Bf*4/%MT#JM/[-Gq4K608G;1WWF.d/N:K)0ZP)O^!&ZrqX(k 36.969 + :rO2)rPK9*"UTLd\fsjo0RQL2\4@R22M8,;(^X\["op^ZrMh[(pL<ki:'*0rnJV'C$K,\>D 36.970 + ln?0/H+U.L^#BCWg#+JULiQX+PIj",HWlY=F0Q\EOh<ciRMBc]8]n]Jb4N6_gR2B8T-'Gq/ 36.971 + b/q"n+FdU2/@BH7bhju!qaM<efrG7?_#T_=uXL2e0DO`ZU4=lg695f43AN*Z$YfT*3mk=$. 36.972 + ,tpb>KQf8/mVg9onjZbg[*A][T2L=i'+g\/EK-4FPL;I@ijY,)V)HC!=m36:(sB0ErJN7!9 36.973 + Wfe/^j7:>K4q_;lR:_3+X[d+r\h@HH*K7G#5$f>/3S4`b.^&Y"!QJU'4G[Z^prc'27K5f"s 36.974 + Th',Aa.AM700?TQgHm0[/MAn+!e"SU]>u/;g?-#)7H`EChS>V>CZuqiUfR;^eeA7.Cj'7"j 36.975 + KmC3VL9Ut$_FU1t/6`%K.M,0-INH<si8A&Fi#WG;&cjmRg15V`SFs:"$"dcD_Ybs1Ho)tI/ 36.976 + pQ%Z;4G(nglf7:=jMNPcop^V2`olCmH%SG7'Z%n)7A?BNo2.A2nD@FI6YB?Hl&B&IK74C5T 36.977 + V)!Q%"sgiWOUiN,dl@Z+T'8gnHU2JicXHYJM?+YFB$d_C<e4+cH/!V-(_[>]toiDLe;8jke 36.978 + Bd_<L?3YS3Vam5>hAPg<Z?qob/F+BYnLA;sq.qlLbiIcP;l_&`#WSh+3$';/e=5*%u-WR>5 36.979 + djFE[e\2:fA/B5@W\3^@oG23&u19.ED[2N7<^9/p\n_7M[#(1?E[U8,;iUsrkp$kWA;=0Di 36.980 + UQ9('ZO*u(KR)J7UYmUTnf-:>"-G9gCK1A-!5FV*5n3X<+n;-Kn\Qt)s%7,JLV[P4`Be$j) 36.981 + >_=%;tRq.Z^ccd_8DjV*%Mj_GM^[>+4^=>f`42(U:p-XQkrK/Y+n1onglaYiNN9(dK<kS+9 36.982 + 2Z]%LE;k#%8#:;P\%b9*0Z@n5M)Vs,0>+&X_'c3?=/Nj:W<j)@%IM7bSK>e?#,kP!G(l'P, 36.983 + I820@+(%!g@@q$&ZOj_:V%%Q-+Mccm)*'b/$XVb9Ufl2<V<2g!6Y&pVZ)Ypj?eUbel1bo'W 36.984 + ^</hCr<J&n@[p/8:)jS]%9WT9g(JE<Hq0g"bn/*,\%gds-@IY2)<\G>Ma(+ZX*0sALQ-3b1 36.985 + )4]8r3M"K/oGS_cO%H1sC%WC8<j,Z.f5('sfCmJd[=2uMH_&aDq6b\<hq3^n%Gf"`EOZoAk 36.986 + :R/pkA5G]2kNf#ea%@JrLT'g\_Xbk.hHP>:$.u;%XfB?<FJ2\Mo?l;.&VFVoshi<)&c$)>= 36.987 + Q"A&$uD!0$/G/4?u_2'*U[@A/bb>n:W"m6?&_N$UX@$1CZ]jj?!l>nH;2k43dqUhD\0`DVm 36.988 + H*4:J;UmSfL)\\W)OfKb9:LE/]S&0i8enbL3K7a\QXJuX^G1uK3+@)42kP(V@8-/j6Oh`^1 36.989 + =ieTd=,eCr;b+g/]/Fo56r6*=.E.^F)7,'Xpo7Z-a:335s4&5Cco0#ljjSM/;oE><G7'3e8 36.990 + 'H_2Q<nX_iEaKY?:0;c'\b$O`Hd_$31JLe=;;VZuFT@7q<-9+]9#)nb^o&CI9."]0j:u,9e 36.991 + oNEXobTL&2#&7*OrI?G.P_F016;:R19?c<!Au"+AWpb0p4]8U>'?aCCKgGNZY`oijh#G8lY 36.992 + QoV`:Q2*g;T".)Nmtb%3nHa[fZE`3;91jGi%ZnOX&Cic!&09kID7W#'_G2K-Z%,&rtRWN43 36.993 + /$&@/E;TW/A\X!l.:a8emnJidP:Q>SdHA9fLpP@XJY;jCp>Am:U5q1S]d>`hJ!hpH7#Dk.C 36.994 + 6k'N]X&WJ(Sd[>tRm%!@ZFCE$UhO667qM(Ydl?Xro@,GNV4+B$Irk!A^nrO$[)>b`s/D$80 36.995 + /#p4"?9,F#f_Pi7mJEdH]5IMco=]'hk52o3r!*;?`7-\\'jURQM6ES7VY&i=g5dJURrF[XX 36.996 + B9i_goj^]b!3#7/cd3E!?EN&Oph4T5[po#aLEjFU?>S[o.:RZUahnTBZofl(?aLtrWe)7G^ 36.997 + _#uj*:PnPN@'"#&+d\]L.<(nRs!`jhVDVki9hb\c9q?#rb&m[tUHs#Q4NZ8-F-#n(T[CJ-U 36.998 + MsIXe9]qgSRcoDO/gkPP8kG6gDI3f%bAh<?npAE+RQG92i';F'n?1shDV;fGa04J]tiL_FZ 36.999 + R,eVJ-3'[cn&t/i?Q%LmErsD='h\Ms9B*cm($cH`+&n4Pc56p9WU!u/ZOS0b`pjiuc'LR\2 36.1000 + Fd]a:ob(E5kXNlpJN[W74CXI=MM6o0USf_A*`Eu!bS\J5LqlHtlsh/GhD63]313%%CK%JQs 36.1001 + ,47SQ@Mf%!rudLPVVZ5@s!'YOnM"0q#MUK'SDL+Sg0<;P9NNH95u[E"MInR+\[5Q3q?8@4L 36.1002 + i!M9Sh)[J::9%)*gX;0HcU4IT$D!:jU'-X"hN-D@OF_)!-REQ?(PZ96k5(-+(4LP0AB9On) 36.1003 + pN8BVlkmUJnhOY:<;g_I]9`!u6M/LEU&RZgK\N^81L$p`DY@ZG4tRD1Uh)!dB?'RUm'_`DE 36.1004 + 5aW@4MF;S.d/14]^Q]]@G7nDu]iP^&*;tb]:q>iip'a(+n(5!J2%fk[$#Ed7<"YU)M0F,ge 36.1005 + 3pdu@TSLHr>aQ8$O.6H7.R7qkR-c*X?BY@]:dKXI.uXSg`sn_?.VH)$@C4URdqWS:LWiXMU 36.1006 + DuIQg2Bf%bsSB39o#*E?Dsk=7B(Cc3!KHs4t:D;WcZa''/KtW#,'JG[<AP^!R*8f.>=W5b- 36.1007 + 0=;cTU<iG8r@!g!P-)>\fUGY*ISM=*jAoUcUE,BmM-,#b^#"qaj:k739E9Jrnt4))4H%`s+ 36.1008 + %:7E.3K!7k+-=`QbA/C=Y:(3IXK>.n)k'fr7I&t`,1dqW_=Be^>J,$Gpn6n3U^NjcsXe69" 36.1009 + ".a;2+f%R@Z1C7_H<M:*\MRHRNo5\_KbINrtk?RnXFAU]NJ2Al*,!,a3>HtbkWbs_g(aB.5 36.1010 + ,,VVaGfH5m1a;Bc(E']jl]JUI!!m6q^#gs+>C1]k.G40g[/U!\McaETFoSJMbeqs]LOsB^= 36.1011 + >6"TY$e=1DsJ](^m*soN:A#9/ij0.QV.itr'?-Y(*gbbQP0u.W1crGd"'6Lm)^%.E$!EH?J 36.1012 + (dnfY[\hST%gS=S2Wg66H>pGi^I`FFh])Zt/>ZmN"YSB4TeiPHopAb#qdoja=%n13!4NjqN 36.1013 + +kr3Mc2[URE_P]p#8&3InYg<>to1$8DV4Cp7'S:a<jAmFem-Z&6*KC%R[SDg+s./GuGR,[< 36.1014 + ]"e:>CYFfsP)ef0nUi_odd[F614MtiNYuWB*\()%!qB97)<J5("7EN(UUIaAk3%slF;33J[ 36.1015 + XD!j%)iZ8UP`#%0?IR]?RQ!n*rIM1r(;ndo(Lnj#'"N,NNOofe-fYEpj7Pc9EcG>m`KA'<m 36.1016 + kK>.>BQJEE\8?@&H`R@PeK-Ro(n.rV;7J"?Yk/L]Q]\5hOE,DDf\.K8)/s)Y>8e5%ABR=c8 36.1017 + -Kpo&Yob&KO-U*iidIh?[F2_?ZCCg20&Y>i";O37f,0S9L$6r^!g@&\=*%-0OOR5H#ON%3C 36.1018 + jm;8F(r6E]UBK([uW$8-9d`V2I"TGeCD60lmC%E[Wn-qOj\PW9BhSM6h4+HDNn-0fsEe 36.1019 + 2C)61NLQ.*[kqHN4D6[D7[ppOuLe*YQd29gio&\#NY)E87*\c`:l+P]\GCK$rH3j0N^%]9c 36.1020 + mFWk7c\(_C978r%VdHq3g<rksMB,hQ>_]GGUhBT>q/?T$<PZ0&*H</ebE^J&0;J02QdZcj# 36.1021 + Mf8BX7_4^_jd4o!]md9lODF%Gk7s44_\t.6];6Hn:g@FPEQ7O'Q3huG<ihXan_PfkBK3h8K 36.1022 + lF+qO^a?Bq7,Z0jfdphTp_!<pB6I1sm(pn==j_,O];&VU8pV2ZE7O)Ln)@U4i_kIt$E^I95 36.1023 + #"TD/@E]<+:_5en?=^aoQqq\5A9m5A1K&JLEKb3h9W?&)Yl'_tS;C@WbY35F7/#0[Sei$,u 36.1024 + G%>0Rk2nDD7_t$%7j?PgC6#7?'Hl,/-HRmdd]o%Q2H+bqrJg=#*\<)W+0ET*!T8k`L3=H2( 36.1025 + Ri[>a'gLIk6>S#9Hmh=?.4_INTHb445n?5+]KZsZ_+R]FF,IA'6(F?GJJ_"s3/`Hs2#sF1# 36.1026 + %TYR6le"P/1[d__ON\T]KAR*4[[p$+:<ffA&UY'`\rY3\>V24!,4LpQbCg2%H.8sqojR-?: 36.1027 + :0=_Fo3jn8,1n@gN8j#UD&/nFAuqK0u_(74_A+4B+aC<>ff=S1DN!Lr9Eq=XdTZ7B@RFK>k 36.1028 + >.8%9KU_($Y1E'utt,)t!lW:2=W4,tRZKe.a/,iE?ldqKeX1.I`+L1lPWpe/WJKE03!72rd 36.1029 + $P7GQ:ECV!h7kA^O3Bk@PAO="@$lO0n0m4!//KeL-4(r.p\F)+kB.it?+J]<(WM9sECIf?X 36.1030 + XLL.o*.nO/abHbN3;eC71,As@4NO"0Kp6>d3,Z6A,UHP_Ju"G?J-H8r&BPnPUb#D67$L8:P 36.1031 + t>5H8SIP/X;_QnGDIepN;Rt4ask!pc&Uch`n9T;@#Z/57AA.f#@sS44JY>P$7BmY+0484#U 36.1032 + )!+D%5!n3UBF#5d;TV>/1t?X+Z\YFKeCHYtH(B9.7YKKKq4No/gV08d&Be'O<>1(sA:tW:X 36.1033 + [4BM^d:o`SAg9Bh!187>0t8k^2=!'J.)(aVjIrAiM;7#2ONGlPWS;*&Kbb0[4/&-5"+Y=A= 36.1034 + F`sf:Jr6S.Hd7kUdb=$M=Bb8CugEm$X"O'=FKT8a2.B/,&T:ep'\4fW<Mn:ZoK:Lg]+?rU0 36.1035 + fa/q&/"Eff,ih]oj\B(C6'Th^j4Q`7]Ys#b`;&a-ZBP>7iJ9/n:@*KP;1L\(T$1T#c+$KW6 36.1036 + c#:_m>*8o:,L63AC""eq+mOW:TXFU,j3.!m`ps-69=PMTQQ>)`.Ct]L`eM#3T\C;Fq?@a8/ 36.1037 + Q+jn-dU%>J4,X:orW+FUU@epHR/H4/Dc#r=Dg8&Q'KVcc[*MfqH.]\&4'i67D]3kYtA,JZB 36.1038 + FA*_bLEn:?4?*=0:J::&LpW(G8O1=@)Q:-B3(O>P@M,uS"q;JddZI4/!Q.8l]d;QVHI]e!( 36.1039 + +/Q1CW;XH,8r@h.Z0iK)J;^jJR>r5D$O$!k-;f+HlI5k/b3E)J0;lr,[]G6?h<hL.Lc@d.a 36.1040 + 8\IllJPkq)Qi`=D)kY5$^]fE]*1D^J-m+6c(d>=n.8!:]V'=62OACin#dkpV`DBPD;,nW7< 36.1041 + @q-L4]GEU<E3=*<Gbf8eMI>5:5J!i<IJ(O]j+R^>uf]e;fh2]ANds/e&2[o)n]jmS4!o^Bn 36.1042 + I\iKH4\H/+u`]bCN@.Z03pn\DogC,hCYt!Bk?Obp-(#:Y"iQ="SJp4`jb"F]Vjl=)E._79J 36.1043 + *-NRb.Tf<'C$]mNo+I2/kkMZmM;m/9\=5VY@(9$dRj4O"nnncd!e#e\fG&11M=76Yj?(c8# 36.1044 + k4`FBJ\Q%Zcf,0Z?3%Mp)O]`]f=Y5h?4d9)DQ!%CY=`'L.I@+/sR9?)L=fn/r]pr6MSQXd? 36.1045 + =m_harLd='TirJ2=tQLQ4eu7UV-7+k$H78AOGqhjJq6q%>%Oa<]rYD^X]jP`>4&LsrNKK8P 36.1046 + h?4&Mff\8R1.>;\iF<08%<(@8Dm&V&=k[L*YMERPFfeXM[DhA"V_e6A<7HU8;AM.=Nq=Lm1 36.1047 + 39`O%4`.g4dR.D*s+2VqcNHg5pnG]uhs55p))H#rT'0Ct-GK'cUBXajF@T=X+bC:L.,Ia3` 36.1048 + [&C6'e$$I*r9!q"_U-mW*@jjsqQgg$:QD9UiEOPGYD>b/pjY^tTKi@DmlfBA?%r7!S%d56f 36.1049 + ](c*;]RD-:\+Fkt^"-AG;!*Fg&nM2(5[eV\l!k[:M&7+dW8Zh+3H[FTlJ_i9)?9j'J<VS)@ 36.1050 + k1o@e^;8tqKXBAELRZcI]uA\:&G-"F14n?e)sW8b+EAll*oNE:KanJ5!8>?+hDe?5&cD+T9 36.1051 + oU1\r_biR&UiSEc4i4.q$7`3>(uhR"oMe$\6n(1MUWP0>sCBP@[jdMe0+t4:eMHQSX[^W!X 36.1052 + 9kMAgBFe,c)Up4#Bp`3&?H2CP*TQd-]cK@"I3Y).M?/@9<M<D0]Q=(ujP,iLm]r9C4RdJCF 36.1053 + Ju^jt4UPR5.)#:U\\MSK[2]O)SXXU)SQL_qN"pu#QX;dTO+=C>BCXi+\_&sRPQj!I8Q^+Wt 36.1054 + "=lU.3jEcGg0XtQ(=4'243kQGlRt:lf(D)#,MS^&HZ1<U=mXU#8?*Gs8TG9l%F4TgoL_plg 36.1055 + ]'/$O&)tBU@b+1`q\s(*1l[BY`Wfp(F!Nnd8i85/-lu%iIHX]XJ\p/=M1-NX>k8<dPaf<R4 36.1056 + no6;OE"n>a5bs>eo3p2*51IZ&DZCdf^;1p?:LFU<Z^[Sk%MMBW/YH+s5k&!%?>)75%WocB4 36.1057 + e:sABk,`];S;[#@<h2eiQi38I28X21V'FJYn>EkZ?ulbX4?^b7'>9gnn^a_p='\doKcT#%& 36.1058 + -ge;m_'$Qu]g8<@K3%%=[+$8Dj$ON.^8MWn5pML`!'X:1LDSMoo-#UZ/MStHD+j_;MgC17) 36.1059 + (i94hNdqB5B-k<4W"7/#mP.<a&?Bhs*)b>TfYm;?m*!HR@pd8gi&*;=<krtILr;tkGR'tZe 36.1060 + C2iTVYf!Z'XU3sLCXPoBi="of=Z+#&C3I63`i*PDJn.O*C8S#/ri=ZEK;:u=NQrO-?E]B@( 36.1061 + 'UX>;b#&a?I/!KcYX`MD'mYI0%=_4`!2G^m69-=2V;kAfS0U8$p\8`*nTeFh/1Hmm:MB:Ks 36.1062 + s)0!!r#LD3!WChU65m_R*A(mV_'%Lj$Fu_X-.BDFWr/a_^CJm;@.pmSLc<B'sQnldJ3iDOM 36.1063 + @0(A)Gjea78Dmr%ZI?J5K``,C\.ms`aQnAK7JqX3kSCLm<XG'K=,-0tVnlo>AdVOJ-X!t5[ 36.1064 + 6b0[=/mfoT6#EZ\(NfM"mU*+8CfF@J3E9lQ%'@lGma/A@HiO6kZ(<bMDb`.En$!Rb@!!Ncr 36.1065 + @+!RBW`^r(6DZAk*<9.YK6Xsh(cr$/)Qd'VK[S\\Ii'ksYm`90nf$8KcR12L,4[rHX#gQ,B 36.1066 + ,>RAgMrPuEmk23\AFVG.]KTmN(5V%^F>76s%ffu&-6ON_#K;^@gRVfM"_7Is#Z.r3Jela9" 36.1067 + 9q>[gADA4bu$\_!mG-#&TIR4H5+(M'=-_e`4,K;K3c!CgN97509kf!97Ze%9Ro=$.s;[Zh! 36.1068 + $5ob*_b!5^E306)b&MjkW@pJW<'1lN@YFc)VAOMZ$V<NQRASX31GgBD_e_0)qhEJH(;cReW 36.1069 + _<V7_D.P\=>2_fJ*S+UI4G%c_U&GpNRqK$@dC3I>l#6Ggq$m2ZAMiO532aEh8F,2JkPFllT 36.1070 + G=IW++nUKboT5F"+%ddh&rAe/1ukRi5n$sode4m4"X[IK0GX@QKm5h:GYa(h?\\Ya`!/e8p 36.1071 + kOcPIuJW5Mh+u6/C;<=c.dL#Oa,37JR=9;&B&iIQ$Fa9L=4BV,;f\WQ2&ssH)I,:;YI.8cM 36.1072 + =*(H)YNOMOOA0Rs?ZR"[Ks#O.gkqLA?n$"\5D8+.DspM>49QqQHiBO,egB`-Tb-qA5@k:TJ 36.1073 + g1LAE>%p=/p3k;W,T:3<^lCS+*&Ybha6N=(3/i&HY[/te*KXp?Z^&,<.8fRi@,SKR/G$Zo& 36.1074 + L&&8GnSo^j7$Ps)!#+r?l[trpcMg?u](WHkJ^C#2'SZo)NGInjhEJc^#L_5N#pof%-%=D!> 36.1075 + S]%628'C.qR\a]*Hha4k8(TZ?XVMVFI7TW\^p80&b"\53GE@c3-ek#]Q2=[.IB]N'.GOe+f 36.1076 + 81;gLa]e3n4e=eSpe\a*uF!eG_1?(C3QNkGHi.KYC*,nIGFG\0!#8%!4f`M^]0i697@n@5D 36.1077 + "$Ejo7n/H3[CT"9&H+JjEekGXNkn$\h#Wd.i8`,nl/)@aTG=Ai1Nf7q9sB"GQj6OoQcUGra 36.1078 + ka,*kl5deSR9AM]cLB#^7WU3,mr9rHJ8`9L27Th44-=Ye-b8>\ut'_kBcTgGS,U:"/<*jk1 36.1079 + 7'5Q+O6))=gYYh+Ca+<g3AYrOc[47/"h/&lkXq9l0!i85g)CF(JV)#(a]YLX>b:VQ\N5f7> 36.1080 + M6)BJ!@Y\=WVGaJ%e2SYkB#=57X>`@_SW[iHqcp>PL<?C;#N#`OVPk\26r0mCLoqcl7<dP# 36.1081 + 7#qk#OuIq^./^!bN<kkh#;u?9@KalqV<45B=6L^GC/0G#D^'-VFlm]L\IYBl[F2/hZ%Mrqr 36.1082 + rT(r7&n[KR*Hg$\-J8&9\tHTe$?J:b3+Z)N9UU#/SZ6+UGq]RQOQ(Tr\h/6G]`P%`?Zk5nL 36.1083 + nI+i<fHE>27a`DKfFS..-gHPSjUMU%eA96/+N[jp@bK,:fj@!FMBdjg5.WY3\6W(dm3W@cP 36.1084 + -+W;Kh6KXh/C>oZ$8EhpNKZQeAC2D*b1=721Z+@UGTlQ</0;T$'Ng\*\bg<i,80m?T,ni(X 36.1085 + Tf/sYmX`Xh9_>efdo>il:J!W_QHdN7#+EhYX+5as.p@'Z9ksm8*h]ikR1`">&qZoTlLcWVd 36.1086 + O77*SPTNB%83r?b^WKf9I"/*d&QaL(ss\T(GIS/Z;FQGeV-2h7SnGh#Is1rQY>)RSZ%+NAL 36.1087 + jeHg:#hJDVNb@_!sOE6d50c:Li+,h,dh9q*'kF<?T%PicP2(Yabju5g[^i#$a+d!J'*/S2Y 36.1088 + lt:u2G1iE0D'L.%.[c\CF]Sg]<3f9RnT9o*'s/mm$FMc?B"_`5r8/GaKd+kV1EIq*.;GraI 36.1089 + ciYQ!Q'j;\3Tkd"PLePsd?VT[>p2-'A19+1m+o4N$6t?X:P_ccI3o-a/)7DqmBW31mVBjm$ 36.1090 + )6X#YEXJ[Z-pE-DPkH<FM_)IA,I)+l<lM?eR=:c4U"Yr0Wll.-0W.`/.`&[U/leBRM0qN*` 36.1091 + o0t3Z=3:YT..qRgq"eOW4+6/qE@\tepVXACY*d-6k<*"oj(p*GkK[UGlGJIQ1KVo&6j;$G? 36.1092 + s*OE8\4\%>8r>+,T!PR:eGlptfAFk[NgHmH2PKbbgs]>NS;hT_lS<bp;j0&*,#,Jf0el<^H 36.1093 + bE,Pcal@b>RWGbHhg@SEGAM#BWI,$RauAS=d<Wt?/d8Xh^KIB#$r^:1%7hoVR&`'sYS#Q4; 36.1094 + R=Uom0&@'"Do\5>J5pC8*n\FjGO9sAqE/b;j_6O^S^]XfaE#i?m`pu_>ld@)^,b5p1(Cd)! 36.1095 + 4XR<sU`F(o&#(=<Ls[3.4lUSH#d^+."7ac-&bP;uRH\aimF\UDAqXHj^d0(lgdHt;(ulbSG 36.1096 + O^+?7Te1Zf'Fq60.JkM(tS<$/('>Ggp3m-2[ThKpIelp*"_7p+@m^t!"[;81AM@eN`5\$jL 36.1097 + .R@f<@j#0b8u#kgL6$$pri-D,de0N_'jJ,fqm.ARq$r8V.C"V-FaeP(B$c.5jP)+97YE2G: 36.1098 + iR>:^oE6^*7I;A#d4e/S=+,&lJ)6`H&#j!6l<YmP);)5T1BUe2pF0T*g-qWJ_p;2UC%ai0$ 36.1099 + G^"oCbG0BR6bt6GHgmi"E87$I8)<>l!E@..gc?qWCk`Q\QEfUAISNSuX6XRJ<J<+ApR_hbo 36.1100 + #SK798f:gV.9o-uqb<]Y]q,q;C1(DA!1"qZNfuB?-fti*TO]g8ch]XGBULNLA6r]mg'LH/* 36.1101 + 3::tfRqWI3C)iIIOnHscpKfV5"I6G,kEL[<0nO[MA4F:<Bd?]':h"UHP)+8So(Wqf".aV<c 36.1102 + XC]/P\jI3MQ,SA+`I$<g4mlSdb+j<PGsS\`s/B]lC3u8puo70,k:5?W>$!WlmFi73B1nTHk 36.1103 + FC96(5t.7kq^!q`3c.W@ip,s\DL^66?rfh*^h3j;"qahiB\:$JIeZGe]j&aLBKi)M.cG)a, 36.1104 + f>"rfZh6`6Ob/)Q=D#/"fU4lX2e!A0UDl*,)W5P.#=*p1=C100&f.@P;)khB#oi.O1^ktjc 36.1105 + \Q8"[orIE*PV6V<=X*fVSMsI=+n>E?LD[`Af=(G1iSZX!j3+Q`*k*a0Upi#10>FaDG)]A"H 36.1106 + nU$3(deTAb(l0\Y>,NnFl\cWBZknhrPcX^>q[''G$cB9,8[J<PK8UbL@+4CB#V;?@4<4RBr 36.1107 + RICP1E)7]DmcUFgJR?Eu7`*=cD^5/@_'W+2:ufO0$>[_YFQ`iG2e_Z4.j%\5G<ADujuuG#^ 36.1108 + j&1mD8CXFmg2P@iCMLV\".LkmiF.>AhrigTV-abA<KQXG[+WjR$]Ml!K'L@>h&`Aq#Mjdd9 36.1109 + q5TUO.l_c]L(ub*Nhde@UUIsFeX%,\.b\J("fO,*r(et*^0nN7PjN\YK:`UN!7?SA.dPT9A 36.1110 + g^A:k9Y!2=<%%`6;COnqh%A0Qm[Xt2Bpg__9$''nR)/o!Y6buTY_oro>EU8fF'6oC;B3)B. 36.1111 + fHQTXG"$m1L'7*>H2\Oe8@?D?s0V6PB&i^DOZ0?@3S(<j!I[HRYQ,-r3/c`f'thkZ&J&G(e 36.1112 + (7b-A9sii:"AG7l,:1,$E!9<P#`3@]eM5&SCOOZlp6,oO+cu%u_23#!?u[LX@anqrlSD^(F 36.1113 + El``Woul!5qY[*G.-<R6;;Sn(Of*pM@f:R#BQ\[D/)k6\YRBUEE7W<hA,\9iF-93,Ro/8^9 36.1114 + Ofcm,4!c+:7q&Yj83/("mA^gB.&s7G&k]KEC97"3TJ649(FhN:SYo_UA=S&)FNlj=PQWiZ; 36.1115 + G@'\M"kVWt0]^V'G:a;;i5qkf,hpqf*8^\6;lL_gh6*De:D-'?/tX=M,D?Z?]+sqZ-I6gq5 36.1116 + -S_<jS^5Rj*Z&=BV[@!\J!`gBSY42X]HFO<g_?>EJSpJF@^\XA*3<Ff^KDadQ:kGZEdE9Cd 36.1117 + *JeINI7QHTo@$%WcPCYJGUm!2O*<<`A]=cdkKCI^=LDWk36Xee4qLrXr$#LcJB(6jrHLiZI 36.1118 + rAYAa8^e)p>?1&PDc&H7a1peT&qNq=F^cBh3%qIu>d.!G?()C'//!"TYB_L24")#Q&>eUjZ 36.1119 + J:\9"3X=<Em,fMVB@MJC7(aA-,c=PYeM84,R^u?i^ibQX-:+l`hC*E%@XJ?9bcW&;Mo$Pes 36.1120 + >Au&9E.i5WC?:LojmSA$mk"ajRNX>1h+5Ql9;JHo`-^f2J#)'IA9e;HLtlp)mg=*k#[6Qr. 36.1121 + ^?4P+H;unNgf=PK#@q(l"*sj8IXKj#2(CU.utV;08a]PAq@tQ4:p?L"N!iA&5I3.KL-+X^m 36.1122 + `J$o%=Tm"-A8G7VrVeb43`S$fVg,`qp8*'b-2e+jiIsL2>dB,l]=H!H=SE65ot;,o'lp#_i 36.1123 + tH&I/<q+R)`2$j%^P0Ad)?8g@j0]5U^kL"suC>4\BeoAh#8+heoSA2t6l$#uUWiG'.5?Q-c 36.1124 + l#7`6hB8dZ-edZVm)A0OiAcEMk,93aA!0&DTcYV^],3BH))Xs:)%t=p_JJ(`<!%rU4DMH*1 36.1125 + .Q4/_/J#`5Y979#P_:2TDIUuk_UNI?G9Mg#Z!t5)anXA[%f#QR$*bs,WZ;L`:>]nr0_.($U 36.1126 + ?)f%fY?u:kNPl!P!gF'859bA-*g@W0K/m3>0LI+,Xe1KYfcsmnG1DR+i*kf`(9drIih!%,S 36.1127 + G)5$54\J;LIql.<-FUJdWde!%ZKp+7`th5oD0c>Ur][gksJo1#jgI>$FnG+7]IhWuB5:!:K 36.1128 + =M/+NC__&+Z',aPOI+V?XKNmo5(Uc0X=0]P:]!Y#S.kTG_`kjmU$KP_dUAJ`3@(_BU(EJDc 36.1129 + a*>m'EcV>asOUa,S)DLZm0k&urb8N%?"V%Lh8&Tm5_UU'/"AHgO0^peEX"I)p<Y(Bt+7ihl 36.1130 + ;e%22D&Xf2)enIe5u0(b)#g6Q1P%DAdm4co"@SFQ'*>g*1C#?1T/mUTkQ(E8d6JnrXtd1'3 36.1131 + cYZ?On0SHaQKY:0>eqe!nBAPd-[$4$Na*",In*$^?)P;e'Lf@&QKlm.\G0.[dni)E!.<qe7 36.1132 + 6\I+_quM1;P)i:)ktk0JCcqO?bCMF"4M`bd-=Ei^-.obVKE/+d<Bidq&<>2J6KE6c2JZ@UV 36.1133 + X22+-J&2l-X-8l[._m_lJ1ISZ:1F2fE26ngGh7hg43;#Fnad7>K&7<68T_i0@("[@!./BES 36.1134 + bo!C.#'1kM4-W@9=jc9KhQOtDd!qUb*K*+[h#qE9#+On^9;'Q_$j"]OL1+j3u:H#iV0_<aM 36.1135 + Xu),,_V%<Y(=iRR9acb,[#S%IRPYW]kEQ9JCAM')+=S$:H*_sXdt4-4W%^'0HD8kc@_kjD+ 36.1136 + Y'jK7P<dakj_?C#ub>)fi/$kPQaBr7Q0p45\l9KoLLr_l9Q*P#q\3SFIsK#qO*GC7b(Wp:Y 36.1137 + /Q"dOS9G/[2W(oM&H(O$\HR2PeR)P$]h.q`H[E+EQHM'?_Y0TNKaS-3WKgF5nclNZjUA1kN 36.1138 + Y%d*XR75<U/I&5:G*Q),Z+Ip>n'>a"8T`+q20nQTZ\%2IJKe9;<Wh-crm.^R\:Pfi'Pd9e\ 36.1139 + %1UYn3cos1=O\6H<&XFske_a[WeQO5I[?8aZd`5FO<D#$g&J5!cPd=7%90e=@_bf;@@K]B' 36.1140 + 8?p+]YA!qL.0S@I0K5m2Z0(CR7/[mq#+F+e$rjV.e,<"+q%$?+:$Jsa&VDiYM)**j"k,73$ 36.1141 + JnC:``')sO7^U2FZLXgL/s3Tl[hnmK]`n?;#h<9-qP7,[an,Qg+1GJD@KlRVg202^J]p=AM 36.1142 + >l2oY4<O`G=P'.JCX`Q!u.C%NpaEk^jdU@%(0*Qll%H/ogVVQ=Lp\@rAS6860"Eo:&%?-ZX 36.1143 + D]F2`\_<$`s<dqk*(/]52$`!oc[h)nBg5?:D[Fa\I29d:I$GSc!W6:#.KLB4hZ*[gAf2J7- 36.1144 + +*htCb+mit?m:fpMROD,h+@iYS`B7o+jD=1'n$`l2=#3iW?6Eqk<Y.c9/$iu3,kFi6(q-[d 36.1145 + nWL$:D0i5pEFK2k<U/bq..6=:Y&^d:6'#]Bq)m2aHmcgTp]YgX#qK\IDkmt`l)Aqp\Uf>3I 36.1146 + b/$P=41p8M^l/>HU>D!!XNQH[3/NW'2]bG[=_J%R=l]PKQ_idE63YXhg^;,G$l&.U`gcQF* 36.1147 + Q"YGF3iTMALs`Ko"BBLf]Lk%gdLnY'jE-FCIBd;0ZdjHm#k?';>nhQ"X(6`IO]CHu@@U2o/ 36.1148 + 4r1HWKjq_n0B=4YYUgJ1H,16*:EPjK>&n>\3UFb2I-=Ge8'WImfh`2qcp/[L<mBeblTEk!> 36.1149 + !:K!cDSg'QlBWn6S'+i'k[0]sGEqm>!l5PFRXtS%\KlpLp/\-dae5uFZagD1:3-0jc+,@@l 36.1150 + oU(8s!Z]dTWKqgJQOoXC6mu>LGF.!4Qf5E@=`RtRRi9BX6'_p+`a8QqY_A5Er%:aaXdLBAO 36.1151 + ,Gs>\2a'pGhCsLh"*AdiT\@b%eq;%k3fI=Roob6&+P&!)0@bCJdi"k/Idi!fpNOr,+6NmGZ 36.1152 + `]<U7t,4._.:)R1";IY*\*C=d@`aVS@lH4-bniG1C[_:1KZN6'b\).l&D_,B82o0r*Gdn<n 36.1153 + GdH+B^S^R3DU;UR:H)$sOZ3Z\@'9Obd\.BT$LYei#25uM=iDo2]PBk=I9<VeclqFDe@0hur 36.1154 + OC?HIM2",3pV(fA1')%TJ%=t'MR@nk1FBYq[7D"[bki:p\V)#/nNGKd7SrsudkIP`4<Fmd` 36.1155 + -(qj,R90ujiWZGff'Sp7-@-aS\9W8o.AX$cUA8aZ\ppp\$a@jWUdQN-RgrVJ:J,*,X\0b=+ 36.1156 + t$=Rrl+P94F'd4)XIG@X<_bLHkAf3"R7FgC9T`</K5HKg5V+.Xc@\FXm[%n(gEQBZ`\AkF? 36.1157 + 6J2]'rpM]7P/UZ5)qFKmBbgj^@PF[^m9bq`$$[_7":*$B0;cS!Y`e/"PFT6e_2t'mHpA\$. 36.1158 + l2PLJ9u]>qRR&P7hC8]3]u>KTB=*D,>:A"`XZG;N'reZ'Rl+M&j%/T$f[:Un;sZ*2'OgZOn 36.1159 + befj\GS,/8TlGB\CAKKMpWm$="qes#Ib(mTWSuS'i(I6[njhL9sPZsuX4%HhB%B^9:\SOo@ 36.1160 + )%\nL[9##&]o1@Or+!a:CW=KfYp:NN+]ZRQHcMhVa;f*.K;aS]cZn%b^NS#Ck0[eiZbk3*$ 36.1161 + QDIU40="4otKgG7UkV2p7%eh%CK]pC7!h<0Nij,l$eMcn_u^V3O*9;FeG6TbFAl\LjC/\ef 36.1162 + H!I)r0o.4RaEng`=PraT)?%SCb:kho*A:R[VRARr,bVn\gX:`4Zi&*(E%VllACBcWp)`6,4 36.1163 + HZ\"[m$a@`;KI7)MT9@V8g]]tQk4\i"]h0<gsb+.B5]0u%t#hB^-JLiPi<o]F]4O)LUp0:7 36.1164 + 8>eD5a;2shR_,Ta/$Iopd3[>Tem/-H/H54C=T?2M\V49!bJpl2f5?55?,oA;8IC6O'O.Sa- 36.1165 + frH?^4Xn5`?ekSpdYR"MrO/gk8)B,uI4o"o$AapPoA8c)a$'EnI9hX,gRt%2*u=5V![.Qr$ 36.1166 + n'IN5l%852hBV5'&a+lFFB@C4;b3hTr::/s,hH$a<atliL:am[TqYM*>dX>i5YaZ5og?6*G 36.1167 + %mS2C)BhO.>=Z&BCp0C!c=XN$r0(h=ceukMMc.ic/&VhHHL\&)Y;i[tr#\UEQ$hR%@UcWAU 36.1168 + Z0Ff[>9D2E]J#10ojXh/9fBH]F\+k/o0I%+s3.hnRq-1q20rH$BcB6\kT+WFS;*63LP>SnO 36.1169 + ]&K_,E?N_Gm$?dGUXp2k/#/`Jc(*Sk6Bc_]W4WE,R*S.r+kru6>ijkn'H"e?8f=e6Q[mTQV 36.1170 + <S,n7f:M6P@M"XV[NGJl\Gj]aZK8<KFkC!]YJ!5RSrr5=Om.?PRV0n.U4,UaX2',B\qrgr? 36.1171 + YfECU[&tj<8s>AQ\Xo=CELG3+9HhAs%Ou+ULs'QH'P`'S2tOuH1i$u+fsMpAmd-n`t4f4JO 36.1172 + .3>>,/TW*M<?fAA7OUqcOb?>UDc;G_#i;OB=$M&H@GNiK2]64s:Mp7,_XsZl03%NC>(Sf^s 36.1173 + VY+d#=VP#tY;;&Fp7jc5aN3Y:do9[Ao*F/C0<BM,/"`m"E&3[W58;lHLl$R)<3.9*lA3^HC 36.1174 + =;eZkZ[9g+@X]FbQg@]otZEZ\mQ<?S0(GV4)j]8mNSu$4lbTRY!mEQkQP$Xl(H5SV@AO]JM 36.1175 + 2Yf]^&Nu")EKr$eb4,nW:N)@H,c^l6L?.L).SN2OR%`I_Qg,i+"f-rWnI0eE:Ffi+D"a>KK 36.1176 + e<LQg@"^)h=NLA8@.d[S6e,q\7t&(VEBl_5G?KhFS_P1?O#?;][S4=*nPnX,O\,SE*aWAdH 36.1177 + U=MrLV`Q5N+(<r;GMYr_bIdk/*uEYOYZ4(U(1N!]^E8%]L:a<!rmrW:81?1XM=lN^!sC,/H 36.1178 + T>oDD<>.)Z1K]Vm'\X/7SX2%;p1Zoe=ClJoni7PU(9R&Wm'XFE_flumhJZ1NMea(OaZIlGW 36.1179 + qR"W/oY]uEX6#:(URmtdr'np\(XX]f/5uAMqCHDJ06;/"?f$#]:1lb$7K=Ht:87^M3c48R/ 36.1180 + 0$^f0W`f`2KWcoP,(`Al%21LAR\S=.:I238/E8W<1hn<M1UKcN'd@X/-Oh<J'el1R8,Q.QY 36.1181 + (q]s9H^^B+&>Z);?#LM;8$%5/'uI:7Fj?'m,\[36/c&"[Io#W,P@E(eNHo+f/d"l;C,hY8c 36.1182 + $P4fliXYC/3***r/!cX;t'eKOR(S+KPIME][)X9*E(T/_7*_[N-&O25qdA_+Y2F-J$\2$om 36.1183 + jPO:;9;U[ATfXs['-m%c#1'EZ@OM7O(LWtoR*MDqf@E.LLke:er7&ep0H8B;^8rOoLARZ5< 36.1184 + 7@AmoR^ebc4Af5lms':t3b,I&h>8`7F#X[-n,8:OY,bt.''r.Dnp62@Q33Jkk'd9MkR-$Gk 36.1185 + C9(t-@\ghH8N*uHW-R'CStUI*c)2eR1];u'KBC4[[:qtZ[\0'->*iq^VK&:r)C9[)D(5m*H 36.1186 + I3$/ekL%\2AEIUM1"HNC(MChN)fe@Dos3T-SNaq[EWp@oK=![M)[F5h6Wfg:J#&88=gF<op 36.1187 + qF^W*8o9QeFL0H3n&TN4LaIG<QWeF58/bLZE_E=-r%nR(AF',a'K7NlUqo5pEe9-amW6^A# 36.1188 + ;_5.N^/-Uq6F>F4WcSnmKe^N\RMlMjZqX8X3Mn,+[5ap[G50)FNO$D%2Y-U,Wj/-CG7,i:& 36.1189 + X`hSDWC*eiBK/[dFlpu/n=Xl.:Q?Eb4$i9cI"]<@&ec(50$g]'4+iP,Cf*.!4q,0X(_&2l< 36.1190 + ]\F`Z+OGN95IKoMQ5V$";$J0_2f(qoS%+8f^"4gV:*u].Q[#>Y"[%%%'k4OOMZf%&Woc'.S 36.1191 + t"8#_sT6(kH=Mb)ri'eQ'F,Fk0-u(:5^jH3CbhIr1?V8I^.<a8%!gW!!E1\KmkV9Lhe,6>Q 36.1192 + o]J*^`K-r.#2d+sRRH1Eu!*"sN=O,t_H2VLkDF<?XdXBOVrIL]g,g&r9FtAl+Ws5:)2T,=! 36.1193 + rC7S>]G&P+`KQAZqi8H8aE--EZR,pFe]q2$h<1;Ju^)F+oP^-?*9@[[mk*O6KD)@.m/6-l, 36.1194 + \^:<,Vj4pf-'#&9,3:+k]UJm\(V!lSH>ik#<bFM7=Q4g/i4B95@JBe4C:UV\?a>:LSV+Eqo 36.1195 + _A#_k$]7=bk_p6e;Lb,$Z(EdoGY4[&6_4So6H/m'aAMqL"6/eoO8o8!P(5nkN=^jk%ZXDB@ 36.1196 + ^HOa-!A,t8P*qg5DUlkT9SGX94A8]-W@'gFQi!`&lgXN'h>5<,d0n.q%lURbt#\:WDtsP). 36.1197 + $"f,:o^.`lRU/UO>ajF0\G>"1:-m[-4TVUodZG0ft4b(cPHp$^A/,>`Vj?,uh%Z=0r2ZJ-C 36.1198 + (Z'J,>"qBI:W2%1pU&;aKPJROC6E?\$a^Y&Z4W@Un\+VIV4dXhj=LiSt-[PWhC82<^Uc(;, 36.1199 + )V#o,_#u@Hl]3(<5d^PU1C6!F),8D-O>J#/8l<sge"Fat-$E$lK)EjOOS;Y*R["Du@?&d4* 36.1200 + hVC8l88C&,XVY%*7lfI*X-K1tO>cKsqXG^S<TCat(>)]eR;#4jTHKIF<*NN@@EAYo:c(_%> 36.1201 + (S`rCq1R`f7dn'b=Fp1o`_dc9aDQIkX4K,ik7<>j''5!CSr32Uj*<)h[Ah)N\.a`f'<iU4@ 36.1202 + o&qr-u>sNi42WMc?R:6Us"?ji3dYK._Q6\heOCj1=W#k;uedR0E<?g>cJ/<Ii.[f(+o<fog 36.1203 + Aq*cY:;pF'e56*Q!A_6sRYbJjXMR"LI5o?P/eH@nI^I=ArqV_$J5:QtBi,f5pPFZ?0Va[qJ 36.1204 + @+LgMmQ2Em5E>EoJ)?j@)H\+bm=T"U$73Ki;@l87rf>aa*)o"GKTX;)Ea3j'Cl*]-*/!A_. 36.1205 + C)9Va9U8!55,6I>"#\ss;A4*D1aH8*.HQP$7j+(56:?/^Q7H@2WF[0ae*AW%%>QpN7[q[RC 36.1206 + 3pk/!BVkKa!;PpJnP%U[<Ah)d$UVkBR-15nU8N(<F>f$Mk*p(`8')D*.AELn2#`2NSW@,GE 36.1207 + ,OR0V?XY]/uoi%In0bGE223,"tS'/Nm:=[&`(QB2XgbS&0.dZBo3\[,tDSWnU"Niqu6?CP4 36.1208 + R:XBB&b(!hhNDF^/+0+PpI-6uQ4!ksbO/Z#W@flDZj["&A1k+(V*'qM[n?BZ=<M#_uf9OSg 36.1209 + J%ZdY>4uL'6c2tAPh;Zt>-1OLl:"uHb.!*o1O-/EaB%RG-iUf>&G,G30e`5r5Z%PKGFj1*B 36.1210 + ?jmRi:'#l"_(r)skLCdY[qll+b-q`Y*&kW<Xs'2'QQ"mJ)i8T^*O.K"Lub-mg+#GgCN!YAi 36.1211 + gse]pcE?8Xm;D8hJe8ADK4mR2lEIi+WG9tRF!u26E8a"-="i]<r-Em\m@&37lH^rhm/$jVL 36.1212 + &5a^:W"o%qC).iuhX2J;1c[$17]2Y4k-FN-HpH_j"NX&`3WI^>5gY\Sp:89\[Y%hi[G6Dj% 36.1213 + ]@(&*U*(r6'=NHq]FH[e9;\"7p&CN9`MI1t$F;uAlod5gHN#OrrqlU<iR7QN9Z[hEd:ZZA: 36.1214 + I[^D%N+B..3WWYCcTtg*k3odCrJX=)4Z5TI?]/o4BfI"E"SN_tB4/9Cm$e;l3UUm5G53l._ 36.1215 + )VZir_nSa'0FJ;Tqo6'#n\5b15Io=D&;%`#XM<c0TaD#adb$"b2ScYVZEk!+b3?[he<M7/^ 36.1216 + _?bmUb'CsPX$]O4`MOM9&m]kU9Tp8Z(p$^/).)iVnqF<VYd@0WTFjBN'^b[4tI8W"0k-:ZT 36.1217 + $%`6eI#YlkV[9(I"f'5.[FU3m`^o0o2VE[M2=c9I.,Y*'^eOM!ODd6W_,E$Gaj*`:5e!gJB 36.1218 + ><h7j=MLf25\S0CC@O/>RP7)HZ)g:9>?PsjZ^6NgW5")(%MX2%+[6VD@)C?7g(84.q4#H2_ 36.1219 + L5h?,!Bh"2+#"W:+6rKb,$pV<+7+>(rPRkJb5p+!pKUcc`XE-"qDo3P1^76"RZb)a.egK-K 36.1220 + />Ps-Zs^"/$o11N7d,TG;t:84MA7Bc^I1.S4B]EU;i'sA2L)@@C\J)38A@e2`(S%i6N5#e! 36.1221 + &'Rb7DS\m1M&'\<e(="^>*):oTZ]k@DF]&_c,4-;3XOac9\I"_o-C6ZlP@CEC9pAa\a\4e1 36.1222 + AX\F$?B:6'@p'fDn&CT83>lb$qXrb_&=IK+R"5]1B@;>cA!5p^+8\$TmOg["$-gL)^Vl#]" 36.1223 + #gKW,Dg`3g/59&Mm*Ya7iU]WXC*/Ej>VlAlrj+33`GVrV*Gkop@S_9=1A#IMC6LpOs7,re: 36.1224 + sa[Em;K+^a`P=@&j7QX&VA(aG9dL<,c)e5rNC(Lb<OeID8+cs"'UgC,WI[i^,$S73lJ\@N+ 36.1225 + 8@lqaaP;J<1lRqaR@rm(YV;N>CaZu]oV!^",&$0f!rYH-d>.YNMHI\hJ<!4]VTJJOO)3m\X 36.1226 + O^,(s3?#Db\HOf)48PtGeo9I.MBK[e=Xm*lRGJZ8F2#+Ef(/3OrJL?6`f'37'eRdKMS:0`N 36.1227 + Y(SkqJ4Y^JB*/1W";A,*Y;Cp*rbO&Y-t,ZIfj"P<mF5ct*TfV$K5#".lSN[e.d&":$tTEO: 36.1228 + SGN,t'pjR7nN;pFi#c]j'?>7M<'LPV2oPf2ZZ^lM:u6-oIf(_%EZLp,+BWR6VY'ZCss%-aC 36.1229 + SlHm?9dMjc9/?D`3=K^0CR=+PCFPEr$H7)CBbuA(H>pcK.:!r;N$TXk'1Ji_beASkZ%!iYF 36.1230 + XT-7Ta%spa:"X,Rkc#P07N?B;#jfur;16]rk"=:G+HVIZ41-A%^&pX20MOV7C6;C_0df[#& 36.1231 + X<e<m):u28'HYp<2EBkPtWeE1X*0n`^C$%U^,9raXCgs.!Wb5.#4c7OpikjLP$!CqnZ9HT# 36.1232 + dVM:(k^[N$'Rb_C;!o:!FZ6RZ*+BNNYIX(A(HD//;#]oT#J&b+aYI!/8teo2YRJdSd6rAPc 36.1233 + 9Gc.1WdLfJ;J,eg<Z.f`R#&8Xkg&q3agGc'ugb$<oMeTs*\1tP`U,\9U\NDWdI!`\iDfJ7R 36.1234 + $&<=+\%ok_Mbh:C$PXNK@;i$?;KohD#`3<,1rm=PuYf.M7j[k8=Ut.r<b92SAOJ1$oL:B:% 36.1235 + ei8Uk=RB.r7+hGf#pjMf2/q2-kh2MeLkV;MU?YfkG7\>1=k[@eSYN%'@G-U.dV@2soq`u5J 36.1236 + .Q[Hg9<Zm`N7e7>MA2<&7pIIort4QKS\`Dbe,g\%91^p#YCdkYJ\)3m%hCTL"FD$b"[6;]s 36.1237 + osP*)iMc0D1qCj<)83'A0i"<j7\?a>=73S/I<W>7fe!3l0<o7P:g:a+Z(j.Hj[ka.qalgu: 36.1238 + K!-&l&U@p9N\=cLb%`N!313a2d<h/XZC+GsA\;c*[.\iaQ89[6]b4KklMgl2D57)iAO;F3G 36.1239 + LYi)Uq^nojJFktjO32OV\'QRK(hVJ.Dg(ZurHq)_9/MTX2hO6I[p$\Z5K?,&->pZ_ReP9Ha 36.1240 + 5i#H5U93#(FnhPFfSJn:fO`de6.sdfRF*nSb8#q4fhC5h^>Ku.PpD2jV;EtC`OOt#g2Q63X 36.1241 + =.42MI(s$^.%i*"pi(($.iJL8gV[;h9<LN$mV&,i?Bc"NP8a_UZ"r]UXf(sEWfa((u_19?_ 36.1242 + t&jba20)ZsBoiT%J')rZIg>-!OYTRYD7WFT\Zc!meJ\5GdASXp0uQHf0/3@R]ln=Et.5:4U 36.1243 + \#@cf=Qk[fE$6Xcpqik9_B._,``21o3giqQB%5SQgIo4'6qiAN`k%?Y,$aOq=k+BB=hnb;" 36.1244 + 65ia)'iP!oQb[XqU*ad"A&j9?XAc:H8k8R*#JnrOtjDJAdZ,/+@ff<[)hBihp1Z;A$f,dOq 36.1245 + 77^)EULc1WA%l"*L02gB5\6):j;qLd_)p^;M;P_Iaai4.H:64qo]29n?hE>XKf*2DWT-Yq? 36.1246 + qpc57VEQQp<rp#?0.Yi4hAtJ>is%*jPFP.>mob+DB;PSk9b956igkrFIa1Ok@Sq!AmL4@ft 36.1247 + ^WqNNQ[4VI>NT@\"8D6>_2(hJhE&.63t/gSnf)r?0(FBFe]QAJTM"reG)tL/2E$\NgLTTF0 36.1248 + o&NG-KIk;J-1#*?9rFgeH4kr+R+p313dQ&_/U#^1McHj1&PCPGARl*d)G\:!PgnR=*L<G$' 36.1249 + dSr$k*M;iE(0Pl9V"BK-IjD"mVAEILg@kqe:E9>u&BX$`Ui-0q6;$NsrBg.OWW&b+_3bmSM 36.1250 + #,$*nTa$5_EJ>6glW\]Km]Yj,l%D$,"?s#E=F19TP&&-]lMeAJ3/E1E=p!isB[2V'(:%]CZ 36.1251 + g118kl.OIL<-Y1Oq'[WlJA]12R)KgZKu22CM(%k@63c#\neaeCY$48f"^OZ_/(IBlpf7d?F 36.1252 + 1BKQ#)c?NTQQ5DO=khHWsM*;'qnGY^[8KHj=n?mO$t3.s6WcCun]JLik@`d"g4BULs-BaL/ 36.1253 + fuW/0X8DUGRoj62\<#ifTam&'9"in!/X54]#BlL,d,=4XF4GZP*r=)E,un$]H:!=%p.NpGn 36.1254 + 6#5DG>8F(3Hk_<Je#%k(-n6?8I"R?!gL1#i+Y-;`f_1Lgm&8oPU[g_cU/P-"JaUmb+QMPO7 36.1255 + #jC.COCnTMVZ-&a!045s%Y"_&7fVsas6sq/E/,%q`sH\!$?3DVO?tB]%h8(AM`k*%.Xb2Qm 36.1256 + =rj6g)i-X6^ulf-?%]WLJ*$)LJ57e%e=9ir(F8G%",^Er/q>[^C0tA0L0`M<E]ebE6U"5jW 36.1257 + :Dd.X8[.p2btBlDBHqj$Jbi`beO>LDY:A(l)q:&FakhCMo*sG`Qi`kk&!<#E,a"rtYnV`9R 36.1258 + @mLQ<DEcjGSQ'a;V$lfeIia!(*l;:'4kWUC@XO$7Kr^iTN@Li5TJT0eWO\*XC0#j4[;Ip<I 36.1259 + B96?3!M'ko6^Ir[gYOp\bE+^0_q#Tl\;KcH1D8:lQCs'GGR;uOknn^<9pF'W\D2<'0OHfk' 36.1260 + $M`LZE-$k/G7(cLD.(,h8Bio/;jO9<LH>!dD'WaSY,:pXI]#l"p^T3tCB%>*-X@3PJIXlLm 36.1261 + 5DZHk1&k6ZA>E1#QJ<"#8$P0HtF1,ppZ1S.;VQ`Q0fp1n%XAn+,:=ZOU`akDnfh=k.^-\L' 36.1262 + XE,G_V4QQXt15@<)m;H*T#B/^7VkOEQL8)#%c:O!ZnlYJ[8"G:8;I!PX1Sd;l'N;bnu3U\` 36.1263 + J2;k-_m=XSV'<7r*W44D9Ie(m4aJH>McE[Oq8/t]E>T(hj$c&P#O(oOhPpUC\$<GMgBM"d8 36.1264 + "cHc6(*/LM!ESeQWR9a?YS,=YNV9[3mkIDB^`=:_E%Bm?Vhn'0_]E#.K#a^<np98M4JpEfZ 36.1265 + q6.\a"cE-$&]6I9-?_gjYFo17LV:0kG1Y*M:U>J$Tm,[^n]tVNa+&7?Y&R6k!3_UmO3I,He 36.1266 + VI9>Bg@IQ2b`ofM=e7[KW&O:Y0?li9(5X7IP8D@<lTR=r+ic0NNW\+GWH-)?i[CTM!qftG? 36.1267 + 4MtY\[)Hn`s(tVL8?7q>[0>Hq23T^YXCadf&&rLmW]RhTi@*:b)Ti^Yr#!A1?O6Gel_O,Wd 36.1268 + .[$].>\d@dR!)'"`-jA@oWH9Dd`XrH\[X$%sV$Hl>QV8OQ@0SQnTD+LZJ3B^e1fMZH1(6&b 36.1269 + U/IR[cUB'OKL/Uj0.S4ZS(m2b:n>XAI`q",JR]7dt8R0tN2]_;.h6r9=\,\-_4.?`IDS0:o 36.1270 + =1dSfrI;UjE*,4L(Cc/<@W>M_AiC`kaC/Bm4/Q!IQbU;A:Yb"%4T!K=F3i(jpGDljl>d!OA 36.1271 + lJa^fP7ZD`hQB^$3b;@4,0JD26u.ZG[*E[(QHJrEd:a*8CVFdh/c&u^8G&7fBd[-?+\:8]r 36.1272 + np-cQ'K[EmCi(1E?nFjQWX?RRF$<%s2mBbcFB#;9CH-r2cR6/+3GPDu_Am'M5qH"@.e(&B2 36.1273 + <GikBE2Ya`kD/ZS*>%3s%n\H\jDlPqb"NrnCaSdsg]'uc;O>o1KmN+EmHOfWC=`t?K;#KMg 36.1274 + CQQNksF>!2>0H*FT4pbHSQ+i+0m.J+I,PqR2&(CaTb,L%8L<E40Z@bed9HoV9E2p_t__<pr 36.1275 + !i)b@4YMDl',n@pYqQ0i(ie'u4jT>YrBJX@Zr&nI9Zo?>ZcCT27C4Ws:I)0Z@!L9]!GlN)2 36.1276 + U0.4hD`r<4\rLb[7*sBNHINc]2"VL"ZfXP?!#SlN*brm1a=^9:%0oKPV7k]d%dU5@[sAjDq 36.1277 + 0*,6]+$iX2rW8X!B*SF`rR,;duc"W+^!0WkGCd&ITk&3f@IA;_#7fUW>cNM^Z"@7r0Er^#6 36.1278 + oKK1tYH<`dQ=IG^CYrI<`B%L%E^Z/?]G8/9"mQs+-^HAGYf2;AP=<[,nN=Qq]jA5,_9R]7f 36.1279 + ;Jk]r*fZ^(Pg?KA5[G-j-]YiM8e\n1eLc*Edj/Oue&D`3j-Ac&BA`]1PCQ(tM@%'iUV<OFb 36.1280 + ?U;W[.f@c&XUQ(91^tHIV]iF4.+lP(`E(eRXo>l;`q:t7[FEr#glk`;drAFUql]=u]%*Wnn 36.1281 + [bo_WA#lK]%Z_JfW'e!c&&lVV]n]qToJ)8b+W0R$<IqW-60USqP8L['oArj/mF38CW@QOk+ 36.1282 + Jd<N_PO&l[,paa(<rtSZcnbpDqLiK4+gcXhRSdPS(_^Hm_I_nE:rLJ_dtJ%F6HY4LrQ^r2# 36.1283 + t-H&N9"KW+h/p#n+N!gV.^<Ypk,H:S!6eabk=O#g%i7s4Y,T<IVtl44)p^?UqKpskU+UJ]$ 36.1284 + F]!^QJV,Y"5Chdsr5Bn1Ni.8^^-LFhRkT^8h_e<s_79c=)-LmI3/hO8OM)&NSn.mP@+`CJ> 36.1285 + 1*iaoRD^dg_RPU_'*S/4WVeJD@#cDi(9UH_2I,]IJ!,S;a9(EL.PEd[6fX!gd5(KL0hs2e= 36.1286 + KN=t`*#O3nB.O#I!-Y/6>tr)&J_fH6)%=,@cSFB&EY+YO*\s)OM2_MG>f'C`,gr8aMYp47h 36.1287 + ^[U5\LT=oL)6/P+8UF>)k/5a7@f$?\:j$nS1Zf=Y/q^af^,)nc"Tu7VGL.Sq(FH\%lJ;!ZM 36.1288 + OTDGX39aa%/Bh:**!0NqRO=_ruRg\QQ#E\N[K%%O#M/S3usWk&fX0jbe-N9RcYP$!J](mI] 36.1289 + <:20)cVkZ,.'J(BNc1OQ6N?[F6_2N@X(G->kJVg0p6thl7],>NKkCiAs;pK\>(q<iqngp-' 36.1290 + _I,@ui('Y1<g_tu@h?bJRcCLKRL_;GT;ee2BO#nX-6@")=h*a0<>(g8)/%/P2`]>tl'qrI8 36.1291 + =g(J4_[>6V+5,kR;$hNjQWKtFO!`$`jXWu0lrTcc*9mLaJW`X6"#?3HB1pD(BW\gWAPf8$B 36.1292 + \7<:3*CQPmXNF+f$DPX\,QZoJ2/#CG'/J01DpYnuhco;,CfX6Nek];0fht(+Nad<).5V(Y` 36.1293 + 4=]\%@li5:c2O@%bCrH-P0ZCdk<8=4CAO4/uE<jNk^%g5e1[SFtJ>:jFQSG+XWjVZQ8QW]W 36.1294 + r7]eR+,"NIc>-09nXqQ,l;5C<MlfE>Y`Yog[3p^9jnHPYp"eM'T@-G\*(9n&*`KLV<A#Uo[ 36.1295 + V"S9[>hbc=WG-I<FMU>5=ZoJ*)gJ8,b+5:WHNbkr%Cu4m4V7_T!l.XQ&#&]q*;NZ8mj7Ko6 36.1296 + L6B1"]cuN^_j-8IL\<TB/86s7YhlceO]PiC$d&O@WDO\gH6Ejk&(_a[a^AiUB`R19]_d&`5 36.1297 + 7[m;Yd95K<b]ma^6SnM=F%a`Cdkh(FqLqkl^&t(_+p<fP!RH"`:Ns0*>Vq[;7O>Y/g7b$U^ 36.1298 + G9@W99BQr1l\A5`ScZ;Dhr=G4LqP:L\D?<PHK?Kdt!`*R/9rd[u#e%eOICLB53Vin(L5g6^ 36.1299 + ,cFrAR(TR0jR:P+7VJsjO;Yja7=+2gN1oqD&s!(bskfH6oI$GhN4_b?k1-B[,,nf-*MFTO@ 36.1300 + ]mJ1>,q>8Z.>LHJ\Na-%_dYDPM0%OQeQT.WC=;j75R&mgff4KFJg$kqV$,2N]F*m#JV:<A! 36.1301 + @rIq$KXVKVon//Y;S0[Qd(V"a[W"L7?#4I@d019G1kVE-SC`9VI$(c1k4n)R[S';:,>;9bu 36.1302 + ]6M._/clpOS1H<;>6]9A<FPcLKd])a</+o7#5lrC7]&\>AEAP6rPM[!*U!m+m:M$AG7sGY_ 36.1303 + meSMFWXrM\3#<5VR>*N<[_Oe(7qP&al'aletoek"/E!C7P+!$<lt>gJiEY&$V<.:hAri1f_ 36.1304 + D%>&C<(M*CEd<#:6@5`S\0DoIU(Z(Bb3;13D4'9)95#Kl,_E$AD")m<0X!d!/qojDU;Jq19 36.1305 + RT-Yn;`V2gDZ6usatE;QS(g#))rJAVLNt-!pHS-F"b.iLKfJ-<%4-)J8G+0=*,fYf\:c,0$ 36.1306 + dOO3ZVBeNAn,3E7i^dTp-D7/fO);K'^/!_;\r/*hRuFYoj4bMntm%?HmKg^lSJqSYUJALpQ 36.1307 + m.I4GERkalGJm*%;q&K6tHSm^;E'0RY=/(]QQ1EUM-JVB=0M^8P;Fa/o/FCrl:`\m@<&M/) 36.1308 + ):Z.!mDG0PL%7Q6]P$IN)TIt-l-,BRgj+nRn;R.2-5Hi8H?pA_>ss6p0kcj9\+$NFQ41P6Y 36.1309 + h!Se^B%0>r'!Y>kD@HJP\a>+q&*5Tl$:cSS24T]'Y*C811+ljUD_#pnh"V;q$%Rr0]qB$n) 36.1310 + "7T:p:hUfap`AD^1!f:f0PVV:TGe7$]k;F,6$O3,i;O:D(P<(uYYPJ-B*Bso"b]c.U&$SWT 36.1311 + *k(&W.F4gd'X5mTaU?!!?q=@E#T23bl;,6*'qLu+mL'Kd1#N\"7Y"b&4m#O:_fXR#S$^Y,\ 36.1312 + GD=Us%eS=JB>NJc7k#M%G93@Vc,Y.%(ZcK%"UVas>sjc&BZZ32<RBARW+\Dh,^.7ha4%0df 36.1313 + HBcCF`?Y!'\J_1EAD-bqG)8hP$WqiPG*EG62a<qXPJ3ACX_d0UB-$MLZ@i(4d*6FRP#C@Wr 36.1314 + iFWu/FVc+61MF5cN6Ao[p/<&eF*>EFVj)I790i0G6<>*>5N39$kb"V*JD&i)m09<dX!o3]* 36.1315 + `ZJb-r2n9BmF%n.e7gD$'e@ZRD<UAFd(I79cB7oEdJG&%i%^p3#_7aSEZ$"!<mRNbck79?O 36.1316 + sj==S.U;h1!@<UE]G58bS[%21"#S;Y3-'_=!CN_,-k,kdP*E&dMu.V-7Mt8!H&\5*@?>U-; 36.1317 + mhfOoR5B"XS2?-XfCGi(c$NC'm5&-W3Mai2%VJo-[64i"'ce7Xh+FXp^9t.qaBlU5^[@&BV 36.1318 + 1@d4^<\O]re7R#H(.q2r*>P.]t;0cGZ;g/>"%YDgCp6H"si*A[:@EqqA`$Pro3.^IAMiKbH 36.1319 + ,QQ]9>0d/P3DL.EM<@d-n(Bg'Vd_ROAMUq@<KHViY/8m4`2&`V]_=KuJZJ*uQ/2&d?0QQCJ 36.1320 + UCd:_mi9dS2DY(KDZni*^,,2p*_sm"Nm?HUdV4k7-o.$PEdBI'Ij];lJto1u&ecF0KfSSS+ 36.1321 + p/u7'9P<g=X,.1,BKtK?kjpW68>g!3j.*Q+TN&\K0#3[+EB+s!uWEVdlJ+]-Ltq8o>N\a(H 36.1322 + D$M]b6)KUEM(Mo-H/[.DRYc5ro*U2_%[X3eQjR&],0Zn1TP//u@!A:Q%)m*u`#)4RIqSY7` 36.1323 + !H-9Ul&EM?\bMB=EK:,%nW6IAFX@bjE2d4do2/J0Hd;-lZ]o/9Qf7l5?Adf;G9(5tZ6-<)$ 36.1324 + >FAdI;Y=Pjn7>F\k'K.C>3Zn!!(">QqoL:-K9(PnR0D(AYnK9L7UIG<T4S35>1L0f6G>.I, 36.1325 + 2MDSK9<TB#68XYC2eLA6$bC%N_a!^:*\.m`bL]Mtd3.He3O20f^_-Yk.68-<1%WdSOs`D51 36.1326 + u5PW3YT1P8t@=q/chU`*4'%E[21r'8Q!AE4k1cU_f7jb)^c?u,r=mB;t3h-#=!6g.2>bJPQ 36.1327 + NseT0%UI$m<GR%g,N2lNRC\4-XI[&S"nmNEGk8jOANZ-Z)rf\P0Ci=d>fDPgjGhDb\Ku:(G 36.1328 + ?qZ0Jr`mU1V$)W@h:_&<ona^!B>>kQWQ2;)7Mh-G0\>bUp7!Uqh[ar!Eu?5<-=[J*ubr#4N 36.1329 + \'I+e@5u8:2qd6%;&&A)J?r."-M@e_W@.hY]iG'.'+rVUO&p>R.ei-s0cl"!i0u=,8Fus&s 36.1330 + 9k0Jb!jF:3[DQ6m:LN-$&])g36'SCX0k46kB/WV"G!BL^)BU-`*`bpHG)'>kk5M+pB_I?s< 36.1331 + ek"(l7o^8?T+<eG)9J,gbHXT'u=0iG,o8!ZF$AIB(icC!C@m)'j$:12RTE"_,Y?FT5F&P't 36.1332 + *:?j-*SfMf!Y-D`76uop9T/hATGq#Zh-f_)6,jKj"WNDq>]RFfKqVY3[dZgonstFh7N-IrS 36.1333 + s5;ZI^?2`Med4`_E)7kaQT^t!P#f6$aR0i7ekf%"miQ3[.l/mouKG=i<1NHX??DU`TIf6MS 36.1334 + LI"F9RGNP%u(Pj\d$3;9SGr@,fUIT:naLP<GGZU]@[i1Hs+#c,)*b-*N7pua8<DJgoH=HLN 36.1335 + GK;CE3ILQ$)HXn+A!:=drH;7S',TbYK(jD)]cEI'?Qj-5AP$=':_6_/<eDW@=1s)C%=n3bG 36.1336 + @Z#XY?ui,oN$JGJgB[b3%,7r/U]*?H0h_\3$!XM[<emQ9od#R'6Gug\=L,:4*SM]pcKt?[t 36.1337 + WjI!4ZPTfP-&LCbXEI'`^CPAa>*1M13a\Ii*Q0"%i[*N,<e`!)W4l!C)FEn/c'OJ=)+LGc? 36.1338 + RqQZtKk;olUgQ+R:/@M-H&N&+[j9s92:Z]+'_KED"I;fRJWZVEk*K^M9_,IN5Mcll'5&#AO 36.1339 + lGkl<Gmu#]Y#l+X>91t-9%>D<BqtU.d@)nD>\3(RgL#BBU=XeX"8M9C+GBk!gGr_(_NJeZ: 36.1340 + 7lE+8Goeiqp]+]ePp&qg@I9>Ss)AoDQ6sq;=0*Lr7nr<T1)U?+fm/ppH^1;k7@<J&iD#]:e 36.1341 + i["]Q<2%;JWp3RS1]'i#iXI*GlNmcKpb>;M4m.uVUP]N]FObRK*(S#=g=L-c&.oTSE+&qg" 36.1342 + DjK8mofQ%&&<FH'0Sd@@^Qj?[6@=3H&+^EpUf\Kp\q[3XLr,Xe>0'#<DBt3@l9Ag`6C6U*+ 36.1343 + $AH5hh=X`^?UFE8+jH9%b34eqj>UcLr?H:apD9r.V_V)hVQH<I)U?)@C+VE/"1J7kG+h1C/ 36.1344 + 4&fPj43d<'`ae=$3W&K3s,#)q4T;GeSWB-<DHC:bDSZ2IZW]H?#H>T.%)63Gd)k+1+fZ<?e 36.1345 + '<#*M;Ao0]=P6mp,?n=9Bt9"Y)A@rf*X@#MFS(Qo25cU1l3n4\*5WMc3B<hnTm\u&YWE#mH 36.1346 + O6pg%C#^AYr`]*HPs*#(PY0^$/6^?HRL_^J$,7qZSe/LJiqU'*OGW/Zo^^`HV(TV9sjbs!' 36.1347 + =2`!-T#;?'lMuZWgs0qSk+lh/X?)bk$0&g'*Gn6+?[F"Ik&`>D]e1cWC12\K^4)^`XF4SWl 36.1348 + 25./O%Q)l^E\Xh+D7]0!F-?qn8C!"`68+^6V0gW@+5e$FWFZeMt&HeH*Eh7`^EYlHGkGUs= 36.1349 + YIMr8([QDaKA6$(4\$l%9XV\?[Rb*VtOpO2O!dk_Vg\CYu6]'e<(*"WAJ7FN]cajVfD'GYT 36.1350 + _9&&!4i@1``&pK,HqD8h9uQs,`B7/>Hs+G$?,c_M`]RhPHtgS[\$P!'`uo`LGA\87TtGala 36.1351 + ?5.Cqp6L:hoP_2aZPj1I$r*hS]Uf'aulNB5eY=P5QI=Y"['2<H7C)MouMNr3?.lGquMf4"c 36.1352 + `eX^prjSi8:c/EWGo9'`>h+>80&j,L6(C"2*Zd)l(\gL_AMEYkoTBf&LXWo>hpMd6/2iI#H 36.1353 + B^(WX,u[6Ocuh'`qb/WesdbP`I1@i<L"U!1&e:,TSkGe9/j0@]qF[6Y8PI5lg@l8Y3>_*B> 36.1354 + "@*dE7c-O(,1'"`6HNFDBI?]'>7[Yt&feqAENS*PQJSFY*]oXsdC_9kQ"F[,Yn*+Ng!Rk>D 36.1355 + gEQC@_N31arR>%oTK+tJh8uq4)@U0ngIH!R`*OBGh"S9Q%3=QcJUQ,I1=2TA0c>KCSbR&HF 36.1356 + p#Y$>X>MII1b@#%H-J&dCp/F>?G`dAcc+^a1BaRqRZP@c/F++gOcW1]5`i/8).6+F2?&,!0 36.1357 + -'Q1#iH?h1SfHIT_onZfV*FW#]m>!r<TPCei]e!LiEmIX!]Z#M=$)fY2(`IY`2S($MBK^?" 36.1358 + [e)^Ga@g(dm%1**Xa*Y%.84u6@=XSMlTSjAR5*UES5Gk-XnqIg68c/el&<ZY4/=%3N<gb)t 36.1359 + dmQ#jESaR*c1$p/ZDLTW_1Ct7LrPAi4kS.loT(2<b$u+RZnG_2M!p?GNmLhR**@W/kZX9d5 36.1360 + &)CQn./l6B5.>R'8TNKN3P]F$^a&KbT:B7@C#7E&+cl;s,po=(O4kE4Io7GuiXm8Pjs-qb^ 36.1361 + MESYHr_=&m3.nmH,'pMCD.qXl@4<2h_HJ4b8ri1gb.!=.Zb%++-b^:q`ZD'AcPTBHi*d&%0 36.1362 + KiGT?6uhH8\/f,%)q!*c)N4\"(3Iqh.uDTB6'elpi.Mro9"6?hMKiRNN.9'Fk!EI_jp'Qdd 36.1363 + W*$%>1tYZLH,.2@b0it7[.DE/_u8)ki9&->EL(<PVMR8g=l/XK,m',d%[Bf1jC-PBS3O97X 36.1364 + &:WcWPXUYQtUJ7^%RT1u.9rCqT'cN?4W>M2VlP5K^2Rr"T<$Fog&73I)?s2d'RoQWED7<!) 36.1365 + 2]C*'l#41>mh_JDmeKX8hs4&H(&&#g_dW'PS5q9\NQ5Q")'"r<.@#gDo+c:PD_7O+BCm&f/ 36.1366 + rm<VdqEkBSQ;psXk.3):CE`E?P8/^T6m-Y3[#-fdj.<']UW3@j)OH9^/\DCbtW9=cT[K[W! 36.1367 + Vc?q](XJDn4]"<VbmZo;4(lo,g+1H242'de>@X&3#*b_qt9=l5(6HbjkK.5O\aH^PscP#6; 36.1368 + R/6k]_iE+Bmm61BL@bQ7(Z3=*Lk`#d<jXXd0U_smjs&O^?6@f@\`Z4M\u:"g6:TWoGfiM@, 36.1369 + 3C;q03_QHMOBZOg.,b]U;@`WPrM^(W.$%!sE:Kjo2am)]b.3tXHWc-&N4L39t;*;6>9C-0o 36.1370 + !hL&.b;2i`7+4"fF(/tm_P172HHp!$lT7kggtOtK&DT<TcZB<m5u;939WYCXlY;%r&Q0W>7 36.1371 + Hg71)(0;J#tlQl]e\`#@i[Uj'f?,;9".?BUJk(`78h.IjuTY7<U*NT/(SD_qcd'#_J(W!mA 36.1372 + 4l2:fA"4f[ogCMdol_7?]URl.\-VZnsPC6s3QbRm*l)2#h=FG3-<]=t74`73C#j)VuV(oP7 36.1373 + $r<3<i"#1nQ`PaD-;@s\6C_9[O8fB)j[]P>$f-Dk[Cju_MiRGNL^3+V/thpsr7Bihg!.g4K 36.1374 + S`T<"fGih)KA,-00Ag^W#;/dn,(.4*clG^)pAbh'iMWF$Q;O59YAK;Rm#aAah,]ohrR7P?3 36.1375 + MNo,!6@&XC^e:Uhi49u)2QKE;/ZU.iVR',D)O1J_>WAUmYqe;UYDm@F7anb^HXf:&Uq&!BG 36.1376 + j\t"laq&Q%eI-^=^nS$DgVcl2WfiKCmJ]C`)qHCk`1'&h.\d$_+^Yk.W+b?+"hEN#+m9h6! 36.1377 + C!nM%nbg3R\6s7mAcpq*r9PFm>"0Sa?<1CYO%2`n@hsRu_XJ-G/Pe^\@^TMXBni-Oc:1&RQ 36.1378 + 9m>s*ReG&gnEeKl$85kqI.-'u6t/\"@7nGqGhF7X^m6T]h!M20#0QCia6K"kYd5LsG[GO,2 36.1379 + OrK;<l^UO:E?k`]2%dX0WfEhOa#s*<M-3lg,hXUXKasBh;ILs@5MaugS6k2JF0%_:?cPlp9 36.1380 + :m@N1#Z+aD6n9OUhA7Z_6OZUdpJp3,QB"LT^&VRf8jOS=6hk2D?b;#A0a6H!dRsQ!1eW[f2 36.1381 + CB;S%0@`#[t/(U#/rR,(.c@VJqU!/6%TlO)<-d)-OHH9=L:Sia]B2H[I9\qZO$rmoIXfgH\ 36.1382 + sfP6k.S=C([=-&\#>&P&aAFjVW%C.1cWX;!O1*r9Zm2P7_>HH\hlg,tU*O-=kUlMC;Y&\-T 36.1383 + *+,.sP4O:!U3,!Q6jd1'`+2DQ!J-S/-eZ^-aG`PLI5#ULo%4><FA&bt:/%Y8g>o+Vp5E_?b 36.1384 + X7([oGl8FN?<=$b-AjF:b:!IfA(ron9+EM@AbemR/+IoC#%*D1m#qn;O<9p*7N_Z\Og=2r) 36.1385 + !0hQEHTC=cU.KI,H.',2'_N$)b\XeU;r!GF''p/X:^`tMi'Irh+[M[32'f*&?P-dX0;FXjH 36.1386 + K;Iq&l9`B727&A8Skpfan85.<9Kf/Wg?W[@&<%70k:sCHIGK*aCiXD;.K9i;t;"Ib+/Q8;c 36.1387 + L_48#]6S*=+7e_E&5%3CBfFCmWM;X&6g$9,caj("IC<ea[KYC71'O;0K4Hg0%:R4_q0b[0T 36.1388 + \lgq0Pk*j.BND:>o4\S:_%W%tl^b7Q*R//5Okmn(U?MT5V@=aM0t1c8D)$"Q:9PE$C2Tplo 36.1389 + %)Tp8]O>O>(1f:GX_&08\KFE63HRrU+/EBol!0S'Y>Q>s*BhXhigKT#DC+Fnj[O!A'=e^#R 36.1390 + Nt"m8Q-F/MRujX#`;?I>rXC:Z@pu&/8Z*4c2Fc-h,6q3l!Yd%*%-t`M?qJucpMc:K>L?L?& 36.1391 + U(R(V.<:CRRp,*n@ha(g0VD]IW*VX[qd>e>4Q3KmKHZ>EX(Nl7Bp,Oh@!$//XtPIRYr56Ne 36.1392 + =f5>hr"YChVKJ\:s3-&L$b%6p;h0(mbFgOm.a8m+\f(W&ir9:0VXOaeMd.SWqoFHuZjn0GP 36.1393 + AWiuEW3EY0h:Wtub@EbB>.'JL`9_'YAYR/ZM36ct4G#86WHKPl3)BCVDSfScdL:Jj>26LQ] 36.1394 + 39[H@<0KI:WL@l/L(^b>G=jE0L2O;!fZ"+;E.9Z'P><I5OCK>Z+RMPj4<HFe+.59.;QA^m< 36.1395 + 23!LJm!osL6YUWWQ0r&ZEB$R?@73=X1BfG%=EMF2&T!-ZXs"lJ@>bF$@6_i\j+jFr*=VmdX 36.1396 + ,;(G<@@)[eT,<+M>dXd=RcH&m<,^X<Gp1k'4D*)LeJ/ffd0^%S_7*1V7'^b4'HD)l--MPE1 36.1397 + F,]3*Lp^lo%EGWK/'h["41Li,Dr`gfZnSHVEui_I^*n(?&JI&FJ[U[Gn,8=uRIc*X_XVA0J 36.1398 + \b#D[9ogTsj$$'7SdQISlW7nHCj^oqnZD6>&'9`En,fKamFV\c9*+rSm0_!o(BRqI[>CZ^p 36.1399 + V!Efs?28nAr<s1gd?,nck6SCe/4Vj0;/S367IfiU@<1h\>(/)5XB^-RA@o+eCep>hKi^sTX 36.1400 + ohr"eH$jZc,cVb5%C:X(D@5]X[)I&P5sI4!IH`.eQI9)!<\fMq;#q3B'JZUQaCfBe&H$J^E 36.1401 + *;0j7uJS.A&gHg-qRTdKI,G/95_$ge9_nIo0$7pE8N,.I1uMDWX$`[D`&Go9=)ue*1b`rdY 36.1402 + BMNa7Oi1]CuV1agjn$\iG)Sd]Lpt2PH`3A.",'AS`H05U<S*fe79\[IV?#do=4Qq&_<Tp2r 36.1403 + =>,<f7?HBZ,,ToYlDT9o./01rF_!?D&KHhP(362CPC:\P!=\RiANQVj?LSXk_@%iEe$*!$' 36.1404 + 3!\?<J5Wee)3(UhgWrQ*(&tped$j;CPmhRGJM4=sH"7e^I%RB9?5=o+qbKd^*Qba9d5E$+= 36.1405 + 8=.)iNk`2G3E+eLg3C6NX0=;/P,Ke!W(A3FI]R4+_,1`@3i`7N+rGDE#c%fn,SNHonMk#DV 36.1406 + P>6M4=NUbAAJ:O6<K+3_ph"ej$?'_6M`9m&MCHF/@dfj];&1_@rj?@?+p^!%bW"[.=2)Q.7 36.1407 + 4+=JeU=*+KZg6-c>6^KK)jt$Sqt==@=Z$4gZK"r%/4c7@l=F_mDs&M*8_\<CCXmWa%.t/2' 36.1408 + DU0L94([feKKRclua1T+IW$G1*a3)IRsV&pf^"4UF4"ATL.%E5D37C]CNb[!<2[mWm^7*)1 36.1409 + B\`-#)=iN"&&j/c$9M7hTO?%rS]2?=)A7NKH:Hu(8[-RWYi<VNV?+@gX6dWrB81d=O#m^:% 36.1410 + #/WGkR-bi[GfKYcJ1Pq*e+puT&B8+I7M4Ot,]uW4ILpm;\0QD,g57s7E2JGp'm$`(9MNRo% 36.1411 + S!N8`k-3#9Jeb4$qB;eQn&u*XB,N=N_!R0[t&&1EiX_4Op0'n5id5X]RYj7Hm1[#]jrP4oU 36.1412 + /:<s$uk(2.0,"bah>PABF&V6u7F2e5V8"qmXJqPOt;09SWo71;2H[73aJ*QmYLnP/Ed&b"0 36.1413 + lI#Z=5*X["!>%rc5K9U*JsQ,(>D^sn^Co@D(&[S(;a8[-1V=M7+:l\`<6#m@i53Y]^ufunI 36.1414 + ?bE.XuFGWF)1;T2bL1J4bE(hM'gkD9=9CU+CFKPr&),-uLbe,1D*+_c)KM:A'8(>US%+,K* 36.1415 + \3#'m.7BfPo-TMS0oo_,YT!QtP\;*PBh]Po9E9uE'Ac?6hoK5P"o;_[:pUNtgC.hXba9_P9 36.1416 + BO&ibt%sM$?VT)bg9*9l;":j9dms)^q7Y)?\p>-Lr:2<,bn(tffNEl::%f4d#(QIVp$\ia4 36.1417 + thjiMH_\qE@%6$qkpJFHJSV28te5c>0<%;lNS*oM1qRcohL=I-_8,LJ1,A:jO)d,h1+aQHo 36.1418 + q1Jnml4TiNSpJM94W`f0N99;PE\JiPV^c.r%cN.rF)>!+KiSD`K4>nII[L]Bj_2C"[oFWEq 36.1419 + '!#2g(M!Z:T]`V-&,#ThU:g$'2r,5$?JNs8;aB^#KjUqh2S3ncubTdJ.o'*pMIMbU7;Yut: 36.1420 + jQ4gGW.st$2BeqIkZ:6E*g@rnLtt"\XWc.>3`Du8;F*QHM".?imYN+RbIRr,Kf_/7.>Ra-/ 36.1421 + *)Q'N;(GVL'@s\!Q@S6D+R\DWl-;f.^62Y]UjjOIT()U$&(ChrD?F_4B35_e.kn<D*lQ[7# 36.1422 + I6e"#X1\NEFN2`^mJ)c2/&,$=uiC</Hu4ebH6I%:N0hDb0Os<To[t%:iLEd8_c1#h;mTHPk 36.1423 + :;h$qM-<G8>2,=+nW`)X1?L"1,C/TD(G4'%H2;s42^eTD+>G"JN?f.`1b<HqT8L/rGC#T[U 36.1424 + 1])5U&EYN7B#Ljead%o7B-n$&mdc?h6qAhs#<`dY60(>$UoncdeXB0h*#T\1m]o>F6HWSaF 36.1425 + f\5+^j>,?`%9O1;=<s892(^MqKLq?ULW'PP!1(U&%F:\4=Z&sR3Jjq^R0`bMg$PFtoo@Y;O 36.1426 + 4jrPfb$]rF_jt"_ceoA5!2i!%-#pINEQ4X>.a@Z*I:m@X=ISP/)3t@bV[DCKA,_!63XAk]r 36.1427 + P@#[QA?.=.QKuC7JK+.lgV"&7oc<=@EEb70F038EIV@otXfQ_-AS-gc`MZ5\:6dAhTNtLJ> 36.1428 + Zk:!$Y"b$7BVLCe_9&?#f#FbZI0gmuVo%FA>sHjASW$@lH<#[Z<bem0$AKFgf]J4p<;:^3: 36.1429 + `?%(L6Fi4H&D,XQ9>M[$Le^<3t_1j(Q"sBiLJ:%TUia-K\>fFqpIEl*jiER,IL$N#K9nuqY 36.1430 + \R+T`gO4<NNUJRFe(NHH=6Z6CeLXGV/\$$;K[:<]W(I&lq-TuohlZf`^&;<Gra3qL"Sc\ap 36.1431 + o"D$Fp>AS?p4JH7K24>rJ!RY#!f*j?u1O/"^nJ;?sX7KW-F*=G`%#;L+kpO[LD*.&HVB"Ja 36.1432 + fXj?rhkk&RfPi?e@1=eCP%epYUuIi>rtH:e6=S8;_q;LQHN7Fr]JSs'U!U$@W:hVBTB=%tk 36.1433 + tig!R$,iZhi.ceddRik''b!Sl\.cX.G=.$_@[2>&`d'[>roiN=>6:(,ta!=F8W?oB=j*][T 36.1434 + 1,@HN<j&S2!^('#aVrDSVA,Z5^2A?La'k(]6j9>NkNZ!_/1h8d?@)a5GkbmD=+QRu>A#9Lk 36.1435 + [O#FL-K9:Kbs9/Ni-0q6;$Nsr?r/lg!'4[>;$N\9L7lYC&93F>qW3fI%/qjeYX=.16f7BUL 36.1436 + U(iTAm^=!s(0hMLr_1PTIsXg<97FbATh/ap+'VOC,EXV$:[m(-<"JF<FocUAWBpTY$'l+$] 36.1437 + E#7AbKL<DIMZ[?=lZ<AnGrCITML-04q5/gAGbQIAOD)Q+&hdjDI*D%KBpM!T5S'jL+gDXs@ 36.1438 + MkKP2,!j5(;T#(u+L6"*M'kair.:oWX_N+'FkiV"C-mXXLtVd`CEAF!<'d&#RV=(Fd1%%^^ 36.1439 + [k$`tZDhZ2CMr'hZFiB)Hs(S-2$#ZABp77#bM<7>]B#r*VRg'"gB*=kfL&(7RL8X<sWbS-+ 36.1440 + C6kr9Y,m="C5!e0lFsB9%^9^iXQojqLF?VhJ9(sgF)*,-CG*,4I]<VAGZH5jL1kZ5DRXE<\ 36.1441 + Ei:W#Io2;^.iD:_JAS@KNMdg=K1RtVee9%CbD`&k-#,R4bae:m"W`"NU,n2[VUIh#*;S<?> 36.1442 + GChQ>(McN0]uiesYd*Ru>kIMe8OEm[EDFRd(X-C*n\mY+o_sd7p&69rT?\^jCq5C2PBY"%M 36.1443 + ;<7cWo3k&+MgDF)I5Gc-9mAI!tQmV_-(cKoH*l_o>_$@qIJ7dKLam;F?67=]4@=@rf.o5AO 36.1444 + ;ms&RT&93Sp3.m$&mrn,;L?jnT@#B!ELXuBB%fL92*!_TmB>fVR7Aa$gH<sEm#C(V,T*XqA 36.1445 + $#m'TE5)_KcO4^=I#$`_ML#_ek6u=e&of!,E7Y\WfRAV.W,UsJnNRZV7i?<-$Ab40$;SAA^ 36.1446 + DLtJ)=cX/LQHoQ0W>;EI0ZAdE^(W7d!CJukmEIVE^q$gL!nd:Vhg.XnqSc:89aT*((,O-E2 36.1447 + Dc+<g5G\PmOm4B4+*fTSmF-Q>.8YA[ZSi\;tKO[r\4MA)70%BU.^ss(HqAD,/W8`W]rkaD+ 36.1448 + WWj=ZR'(6&Zf7,s;Z@s3KAcA(R+VWg$2BQ+=Mn>?Ae?j!T%iPpc9-B%N1N8^(^hhP"defJK 36.1449 + W3+J%%"dglY&BpGT:CG3!hqhja:l=jUhXb^-o7d#%Y`JC[[WWdno>U\"d$8\7LZ%=M@).\B 36.1450 + %mfALa60E-E%'k&a)(J%!VY,_p?-@<%rc_7DMB9C#B6U^+EM`SEH_A+GAh_M@)6mIVf,(KG 36.1451 + JA@ra)KT@?j`:(#&ep7%t+-h>QWh95-V"3:gSA_Gk`Y0+^Vc<fPlV\L3TnWG3E+`W-*&Bo& 36.1452 + >Z#fbuP`<dn4iHXb$+@)k"/^G:YKF5Pk\&9hUl=."n@<bFo$l'>^ap/VI^R-G.Zl"<?+8gM 36.1453 + Sa9QWd&@uj'9O&Y)Q7uDIKqHb.`TVch?9OpXf$?&[]pS6c8:l:=/HEKd7:.B@rXl1%VoS6K 36.1454 + +(K^9fASi9Nq/-+VGm=)3Wr&HhH*.&;+HL/@rV>**q<lu4rSEKgCCku3Ge]"2:ORFGF:*M? 36.1455 + GdkY>7r7peW->_mI)!aVa*r7%-MRhiI"uZc2hVO!Kma3PpO@u0c\_TZbkGb/pt7t&6r;IJo 36.1456 + tsgZ_e5.eB9V6IPdEB7M5Rrrs5<N]Ef8ORhr^O:s.<Z\Du9RoLtCJ?StgT>A(KC\HN0pNYH 36.1457 + \Fam,MCPok3^Na/KDQWdbKfG&XAUcgtZW'BlklHNo$"fV`EGZJ`L(qKGL'G?B!M$?`(f#Qt 36.1458 + &0"+igHd!.r*&f""B@?B\h.O>ac7:OYh`(hBnLrNrPki=uZ+-K(HNjba;E8OnhV/(nrSZ*N 36.1459 + ^aC9'(bJlkR=r/Hjq?.7#6NBtse7K^JK1i(?C!\c-:#lBWXt#]OX^8D<Y#[('])>Wb`-5/= 36.1460 + .V1E)_/$4./2m@:_;P3s64ZS`c+<Rb^0AN"('W8'9d[2bG73gY\6N_*TckPAo+.&'f22g.p 36.1461 + ,WQ>E4th0N<Qk-[<6)gg3l@1jRAr1:E''3qdfZZ5;pj$`oh19g-9aVm8!t@"s.c,TE/sYLW 36.1462 + eh$H//CS8#=]"FaDkma(Mg7iQ`fL?N=(1`^0>]hLA%mJ"1KJkh>XKAj[*t;\8;K4GW58FhO 36.1463 + >ZHhql^l,l?iOQ[YGn=f&N'aCI18k+Y!aa#@KP-BTh8u;"a%1"(jPRR]/"qej`2(@InLQ7) 36.1464 + hk_hl>U)t'nd./\*+\*F2EKiql7$,CLEO8ddLO$DZNA<TNU:"o=R3p&(I%_t2;Oj^9b0mki 36.1465 + (mH2$67is^e?L^O;]7Crbg&271qle-p7T>W%,-BM0E_7S]BL"="@:/8&I;1ZFR9E%d)7LFc 36.1466 + DW:2&3ga=%h_:T6r=[fO`X_CVm2cn)UgFREui<)%"BD@E[st[Pd3g[UmQ3L=]X)'I:67/<J 36.1467 + +@P4q3E^g:$ClE8A"*rFXM<U#V0oKshGQAD(!hR:b.'I@0Ii%i`]*>1U9Tp/]FjYmdE`!F2 36.1468 + K>LI%;pV$NMrLSa4'A<>SYAG$2VE:!=FhGB(?GL-#p6Vh$T]fgf$Z/\Pt,Vd-TK]*^EK1oV 36.1469 + HFSLL<GS@tW[1YIJ<(V8Q3KE.Pr]uY,<ck`%4>QQFOl]_FbQlB+<P(Q02[.0@>fiE\FJ60I 36.1470 + -$Hp[IH,alQf[UjT\%bQHXG8j*J!B'(7*!KcOLP@7lY(t9k!nLN.U&8H68&%oefTHAU?Vg[ 36.1471 + -_(&Z!,7,\piPGXke8/[ak7d[NP8aMWJb\rrKq)>TX8T>#9@@_XUOC[C=nN^;#$41Q!p)Uf 36.1472 + jE<(Xc/q-)m\FU'VbcRbBEj,Z-m=KVi"CF+:*%m2UaXFGn&dY..eNL7oUX+0+Xf$7@jnYJL 36.1473 + st4?\Q0GPM\30o[ej?_Q][?D"4^WL5<L0DaP[d?`nR>I2DH4^m?5El`_aKm:D7?A\E4DaC& 36.1474 + k*Vr0_o[L+UgE?H"/^QfiU#h@pAkuR?Jp.]1h%4ee"^UX4F@7;2-\mLE+'B,),RNQV;c;9] 36.1475 + 94iO4ILng_7$JX1mVW/m\LXBKh+-252N%UP\&2CSTc>qEd,#a0Pd'u0$]0X8r4tAF9]OFA3 36.1476 + bX%D:I*>Z[tnheJd;)W+il(.889#aD01IsneDZ8W[N`n"t6Ej'[MUM<\mOR)%_R:q\5G8Ma 36.1477 + SHeZbd4lc?mf-/8cS#R.VN\jF'ZMD="Qqr?02QhDM:/n/]#tKHa#K,;Cr33Pl:08ISrKc`T 36.1478 + &mQ0(K0Ta-L<H8-*>_LS'=."#]1dmf$E)PA?MNMKlUO>u5m)B;j?&9.A0km9!(jLoN:PiKW 36.1479 + $8I@uRFDe=mh`$p3EM8kNQd\-39c9bbU>ZW<dnX7<.>&3BgB`rL&5&'uaF,(C"c1HM3=n0[ 36.1480 + rhZ[eJ^S@g5e&Ha-\PQl`X,-J'h87e+X*Fug%pe0-;,A(>^dq*$BWs7FJH,/NtYuY;&U`Ke 36.1481 + k=Y+mqR_QaUD&-60Of^as3UDFu(Qn-)@<!PYO0r3CkFY81U]D:a?>6=$3"EWV2gsWa>5Rd8 36.1482 + #uaiR1MT90SLar#:jrT$%H!5fnT972-_kd#]bEcA]7mo'21aR^H2B4MWi'E0![aN3=Qr0Q9 36.1483 + k0UVf^7>3fa:XiE8FO0S*m`V=MWQ.ig-;7\>pHod`sI/'N&5)%@)@\=C=JKfou5O;@M+I&j 36.1484 + Q:]qR4/=@3P;HTdEpubCEA6aO:/uVOtNrR5gLjsH5#86o#AuKFaU%S-3>8q-iaIO(l9VU6. 36.1485 + H8\X!m=IhaI.2p]H6:_oJKO@qK%SM"@S,sF6h[7)cME/fY++^6KSmuL9<2TZl&N*s-I>Z1+ 36.1486 + P8/dV5CMXkRsUmC<Ug$276oKh](ZpC@Of]9uP^c1N_I3I*/P^1:59kkCE%K"i/b2[9*7m=; 36.1487 + #u`75XO)OJ\NO?V?Nfo^8^.;?Z0ONSLfu;Hm*/6[#^TU9^Ya2oXMl)XK:u6.)g=T8Q]oLog 36.1488 + DYc_Vj3M!jm(7QnfErYjO#+)Wh9dC3[&hPE=S6bo@Q!gaUPiB/VT88]4Y`'120`X-3/mN0# 36.1489 + b7&S_9>s6E_.C"-'$'G^(.q"Ho`c%*#@q^p`'e)P'V(([I"!grA=cLM5s$.-"l?i#/+#irY 36.1490 + ],SriE$ec,RB%DpkoD(GoVRm0==Z^CA?05bE=-_IFjF&]/HT9b<6Ns9&':l]Ao-TRb_A1"5 36.1491 + eBaWnN!%"cn3N!_LZJsD6MCAs'TXX>EFYY7+b53,Cg2dVXB15amM4MC&),7E7"X7D.]a&I8 36.1492 + ,MTIO<7MF"gP[>A!P2B%AqLL[.*"C3@8S<!]g9'DpQ^mt9!57>!ejIJ$rh)+D:/UAV('aaY 36.1493 + X4N5,3N!9jse_Y@aQiRPD2Ds[mro+fKci)K/MU(_R;[EdTUI#;D@=.BV9'm)Nu0XUXEapY3 36.1494 + *`?[YXQX+i5p%K!Zgu"V>Tcu9\Lk6J\$_I\J:,U!T3FgekAYjE*,XA:;$Qq9"ocBnaHD(P& 36.1495 + HtMNnm]G&R2)E3Q/u<Gja1+ZA,3'Nh&oHI@X\CkkeKedk'`M@3cOV`]gWZI+LSqiWiJd!Vr 36.1496 + a'Ni!Pc_#@c1>V7;u<7=pd-%n-`>j%,iX@laVij68-CTT/GcP:D*)D9dt+![&:^@l($67L? 36.1497 + 0fsXZ$0Y`2"1Um[ML#4,F%4V$C7:?WK\q^N/Ys]V+jONQlk6`VA=4j=H=QbS(M]_\c1u;Vt 36.1498 + =a&``*LG>$jY0$$A-M%/9/QeVDcJ*q9RfBsWamsG&`;gZ>LhQANG(%(V`J"tTa?4`'?BNHq 36.1499 + `-"_*L(auR-rhX'1JQ`A363k>%#LE[$78X)I*_Gf_rr\u\0>;,^D!nC5,)?_lWBq`,-u+SY 36.1500 + `QlE4/D*^S85k)ZTWV2rNQCu@S:!]@gMGCDUJh"V0).i!a,hGLOF%5ZIQ283OX%%2Y@\tKm 36.1501 + e&7j,&fM(/$^::5U8mbj8p[pd$u5_R-X6E"n#.jY[GV-mfm^V$a/4^!_E9d;X[,OrZ\NEE. 36.1502 + JJ<<rVPQ,-UWmMTW][rkK$_^eil[cjKj6_Z;G-%u0`Xd0C6#SH;XK3QF6L0VffPhX&W0,%o 36.1503 + KUYpR'P.g0h"JRf2&L_b+EN$*gE&[4\3OLG$]fL5)Yj3POMU+do__$4QgP9U59+9;2!%i5h 36.1504 + !(Jj?&6aIAX/J6AR"Mu)j7l(eB?P::bQ,t<\;)I+E.hdriNY.lsk&=ctM%jP7Bop@LmopMZ 36.1505 + 0,7qf#3FJ`&Ra=lAJt#M0!NY"k7nG8Wsu=W^qlNY_;Z2<<ZLYu+#38?&E;/5$s+m8nEgj,% 36.1506 + Lb3IW#74a+\naR1)`aR!'(Vb*^lD,ck-:Q.NL9"(/d%"&iu)Y$R0UX>9c,M"0ee#h&<"YLs 36.1507 + Me=1018+Ba\g_ioTnT62peBh'T>C'r%0D_HPKP\0DJiC$@ne&ST3W*=$UQ4Q/+8+Z'O7@L@ 36.1508 + .J.Pd\H;QD:gCDX9M]'e@'&1hHIV^6p,-aCVg&nNEs:a!&]C%?<mEQ0Bsa!^CO-na_jCW[$ 36.1509 + HXSn+EQS?j61#<]Yj!sA,%:Ia*U>6ocjWpu/+3*IdBNkG?mPP+)H,8G_nFHW8,qpRM,-_.m 36.1510 + m3s:doeZ1q1dWK#1&a5qhREj66HT3OkT__^%5lKpln[WEKu!&n;!u1)@0OImkc.IR=M$>2- 36.1511 + j#kr15[IMh$#T[.rgk[%H@.<Nj[<!1h3NqTn!WZOZHs<1c)I"K<ZpO[5A:VPi4,MJiu)f/N 36.1512 + iKI-ZRKJdr$P>EZe;(82GPnUbYcqN4AH54^sa@0%0W+QTd]?W^T5he!qfufe8?O1+i"ae%/ 36.1513 + X:1*%N66:2"bU5_Kj2+%MI0QRRSZOSjPTN;dBKi%(indR?!?SZ[Pi=PY?<#dr_2C)-$d^-B 36.1514 + ;oP$bC75Ug9s3tpt;/6s>GW7L[3qN):!_Z#4Mb+"H47mYN'TuZ7&63Q<6#QPFb_cpqXuQ%r 36.1515 + .?kr7oWA^V'2-;A9=1i6Pfaj8cU[$@4d7Bh6Am'sAOBB&0Z\/S_O3->p>Bj&7q5=M9Qr7FS 36.1516 + K\UK8]-la!Zsm14@q:m;)JS41ib`F\P`G1;G-9cFVnX'I6(@Z1t74@'f7'jO&ORq,P79aoH 36.1517 + 4ch:(('"*u.jV7A3<YX"Vp%.C:6mni@3dThOF*3:nK[U6er6O&n2'9soaXF<jHMfI4*T)AS 36.1518 + Q<Zo:`nD,-gkd.81de4_^a:`P?e>=3U'7f,W^=u0.c+ghe@,E<n_HX.A'9ORZjiY,SuHV>Y 36.1519 + g9@]=H!eFE1i]Yf6&X;0I,?-9qH!NdA?WD\%<Jb,#8R@W8'31,BoY"=YfHSeR?1n=Jp(TR< 36.1520 + 5U&Qs?kPL[oke-t3%,P"6<5K_eic?#+=$J*@pm\oZ9)RT_d!E!;8]OoDPRNgD?)S8!HrW+G 36.1521 + 'dgITi2[*BB%07P_j'_$Y's5BgMu&K;hjZnK-Xi$214r[]1alI;9Ua=`n(D9_SHb)D'I';* 36.1522 + p=1Jsg&!N$<ESD,qTJj3^pQO'[NK=k#N.P7^1aQVR0E:K3d$<<G#mZmZ[-!k$*1"-61LnSM 36.1523 + 9k=a&,!eT`:gl#E$@EE29J<$?9>LK;rZD0Ei?[InTNh."qC;.9KE"I!^JX)ik!?C*lqdP`= 36.1524 + /=*9+U?(s#Q(GB1JB5e&<An.8g@n%6,X`sgZGXYJN2f`&%K6Y7cBX<J>2cFuZ4_^[[(tYWp 36.1525 + "!@Y6:^7fCH0(0(NqZ.h^Ik5mH-#SYj'-Wb4a$mfES!TA_@e_Kl#Xe,?/rJ(<QnKEjt63g0 36.1526 + e%l#.`NQ3s&uTB1=@COpU2=@"`T*d=EimMTsK=%C]G.u@$al5@gR#fQm,Vs.(/`!_6P3$=' 36.1527 + ajI6BQ2==4LEi$ZZ=UI:=XQ@MN5a.:)=hK==GQ(%lW8O'bs8+P8&NpI6?O4+os-I,YBcFKd 36.1528 + X4(a3"327Rd[\/g<kO_lA-<nN-L<$>QA,Dm<H=a,$H($H,e^&n)IF5`mQR']mqOc7.5H#m\ 36.1529 + F\:'>p@sT^Z1QHts5Y[9j4qp!JNTFMoYgn*ifk_JDNQHU*6B?l<5COf;K=I\)U+q&(fh:A7 36.1530 + OZ(U9o]9tUTl.r,1sZPZUMYMV4s*l.dC$ZK@Qf8U4']6hK)ubYfbPc4hdBF+,%F\u!\K'M> 36.1531 + F)^[OCAYc)-qraFs@k<6Bni%(hnkYs&aQ&8[hW=3Kt_3,8U*E,9e_.'f$oa>>(4ZPbi#NJs 36.1532 + m[i^(Iom=P%"1i&R=\[T3+MSH:*sDq8+e4(2/\.($[G+tmIm:S'fPAAM&Q!\\"_dpn#7F<W 36.1533 + /B1bj#/*G"k/4SW)&H1.@cpRel]?hR!_,*/H:'qa"SATh5d(13VGIuY_)*]cb(qFbGYI:jZ 36.1534 + )S=3=r>$Ic_`K.>%O7D1j,(H,Lm@N#ZT,K4j[U#Rb@<S(sU6\n=\hBuae"8MpTt)tW[;I1u 36.1535 + >4>X@VYM&Wg&%G91fY:`R,X`f!l9@emkIl6s-EC_f)'u?"f:2jPjnpB3?+_Sh3NAS25<m83 36.1536 + ?a.EH^`Z*Qi\\P>.,Wc$7OR;+GE[Z3L?pY#F63$=/%@6ifAkH"gK82Km@N@'nK'TWNK\pOl 36.1537 + D@lUTBoY)OgNN+PF=N+mlYU9F4p$.Y%c$jH9lI?aN5?SQfPGRG0sfRPf>(EB&Z;@M=/Mafr 36.1538 + AE.,kK@=3\4K&X%?JTOY<^]74ucJg.gtFdo$HpM5B8T68n%KGm0$_fcgm^'f;*GX)qMUYH" 36.1539 + lcauTKVC/#N!C.Wh0H>GuCB<-<S'-t`$!DVu\s]]m3$DCNp,]S<FgU'N]EOW@Z^:OIW&tfs 36.1540 + \]M/X!EYaLF*f5_g:AfG^QVVa:?ola:(NSYdNI8p3d=lIRgpmsO+a6e9A'KbJh=i)!PZ)K< 36.1541 + >h;ues!We!MUbf_-7$bHuI%dq';A;&Y'rWi\SW#A35-%4@@6/!XH)a&3&R#b!:g+J-jBQm9 36.1542 + m^qb?V$iS@cu"^W[\8bZr34SBK.3ccmHYc!8lFSD2<Dhp*5%c<TPXSCtc1s0d:'[a@oS@om 36.1543 + \/'ukh)?C!%NGa]R2JdJuKLnON&q`C-Eo1ZZ]+IaDppg,YA@oGN,LE)C:pJ\:2PIHl,+ItB 36.1544 + Gp!=o=5Cu$b+PfR:r>i+eV'EO3MUg+4*DOYRVn7Nl)I7Lp*I7_aJ'/R_!e#jL]o1P!O4bP; 36.1545 + fj0rtSX\<gOq?HD+PYJARMjK.&^a^OLtu:d_A.<dA%:LtemWpVTmAeYlYN:GR^RpkJr1d9c 36.1546 + nL*_g=_T_]`FR2$aM!]a5VZe_S*hn\!(b%+?VSN[.gZO=#0OY`#M0+>YE&Ffr"m'QBF2Hp= 36.1547 + (6E/\:Ytdf$a&S`cV.K0+MEWa6km(Et7@\)c99iVd-FFsDilj2it(,[3XL4J!YR\*!bgk?P 36.1548 + @s*^SuGJ*7r+k['&.Sr;ghO6I^K25(QFJdp$f[Eij*=a4Z/Jg\p>&"5f5R[u;0HLp!X`R#e 36.1549 + \QpV2H+siW4_f37^+J,q*F=XO8g#TlW.)*mj*p"0o]pfWj74)%s_;677hs\D<*eEr)SSfR= 36.1550 + 6UCeonN^USSsAj'+7^Kunm<d8T.BH^;NO5!01rE64fdsQTC1S"+PkYZ>`'`:lT.5f3rEp"h 36.1551 + $(PUKHiH\`?L6*r^X:=4B3J->l-!.]^OaG/Uo\E6i8^S'LXmc"?1YJEH_<>>LEu^Hk$.4'g 36.1552 + /Jl@*09.bJ\lpdJc_R5I_k!%HIR<668A@!1VNr9AS/tkuWf)T=r7Ye`9%#j?L',hr4R,dDd 36.1553 + 5::?"Y'S$hCq!9/PR+G,t7!YG`m6K+$YF?Ui[M+$?c=L;Bh)3%,GOkB;T5p;@]i^e>Nr_Y+ 36.1554 + $b2MdqFJ`J$R7ub,=g[%*3Lrq.PM,U-JO,u+k`f5\eUVcLV#n$8D).)JWDB!@=CO%j;j]<* 36.1555 + OMsA3I(cdP.u\bT4_8?#\8@>IKt`1>Ct7i/WZ43BAZo2`[O(=(\M_&elfrg+NYc95_l,OsA 36.1556 + bteVa\RX@&WJiA>$7/sH//+C6(u\>o>(;]0UJc-]Ch#OE:708fh")k?+/X1\_V/tS)*^E[D 36.1557 + A7[G`_V@+%aT9EopG\"qDB%_r'uD)5fNFNeQOSPFHnck_tt]&XMa9pTZK?4?NO5It,'jo_L 36.1558 + ;+f2(6?B`1tkB""WB!LF?#"TZ7j1_02Pj2;_-+4,$)#XTp"-ON2%N#[=4nC!186`=Bs&4:F 36.1559 + O7hS4p1esT*Dj0IX77iU:(a4KIB!T*d=rQYF@VQu%%uK(I'ZH%?JJ:09'TF(bni?^o8+KlR 36.1560 + -bba;:3`BYM_M"W`#4M"aKkHQ0MEr7fPnZ'@X;W\,)k(Uc)oo03"49#k;lAE[-p+Q1Xu._: 36.1561 + UB]n5Ys9P#=;7o2%N)P1fY>X(A)WXQ&R5-?SPHc[4b.O$<4?,!johO9iNc#TZK@<>f`O2Ns 36.1562 + oo\53GQWYG$i4RcRS*rChoF$11]G]T3u8L0$t.G_K5I7:`&nLeWk)[#D%=::!XURqc-8Z^0 36.1563 + &@m6ajES!NQsDunQ(GR`H8A^>I(2c\IQ?+4t6G[4kAk2EhKF,j\_pX5sD=77_9[T+hpHFft 36.1564 + tl=jfQ(1`=D+d''-"JKh`K%j^R7Lt,D0jLTS^T[P;!Pip85DZ#;=RcU3n:W3<jgfIb#X]IK 36.1565 + ispj+r'Qn83S&D&@gPnXPXp`')'5^0!b\4#cJi]9V)W3+LU6hn93Z,o;Mc8\BpPiRlPPqpS 36.1566 + *F^BZ6mYuXKPCB;W`85D7S41Kk0HlostnXYcGD:qpJ"_DnC2m^i2"S,>"IH(D"GT[+)=Xe( 36.1567 + dQ)r='Td.(a8N7_Og/3tbK5\+(N?);,?2M9>l=a$hCt.K7H0W"sk#Bm%+UB)(+=fU%hp`YW 36.1568 + hZp;n.7i-(\.LZ0Xu+\LcT*\I,kFM0^O<dGBV'oC-%dM8VC/rKJTUicu$9'fn#1n`m^%RC0 36.1569 + lDGEfYDFtm'#sro\k^@%JmUc&>3Nd68s$-,TB2'EJ0rI(J#7F"KK_4I>QQf0D'Alc'%KrXD 36.1570 + Cp"%9_C'3:M^rq$!LOL2@#'TC_(ob1Q!,SPmP2*qfDu@gEA;>6-2/3agC6Qh2[;%tNr_4br 36.1571 + ZQYRL^AdP&E]`!@Pbq:@oQ<[0lRuhA57ub$-f7^<<=AF6%k>YhS@W/XeM7X@o7Xu7OYS3h0 36.1572 + RI)E?6u"[sUN%9=Q`%hDkqAkRsYp"cie4$q@c&+&*]pGq8#A,'V'Bd;36MY=5Lgp>Hemqup 36.1573 + .Q"J?>#9!ZUUBbj=O9Lr5]PbdP4*i%56%cQ2,V'Mq&Z4*JA_A<X'$h-Inc2'@g?A.;0WdeP 36.1574 + 2&3niJ04jZCJ8uPs2:[`ZT'X=WE)!SXpeK>79,E2!/;-THI.bQPMC(,M!)5e,22FZQBp1ZH 36.1575 + :#H%3&MtqR,r%!gaaZBT*&/TL\Blhd\0#@f,+f!G@SaPj5A0LJLh&Cfch[r6<NP2;dXHknB 36.1576 + 2_-moaG]bHA";X&Mb3Z%ZD**#>mE%);K#4T[\Zf`mPM>bp';&e>*u1Z7mRRFX![rp-:9TPt 36.1577 + XmdS>$Z<N(-DrLnoS.S<>mi;9:ae.E%.Aa2V.='[BOOJGhftc<<!Q/q^"u\KOl=Ut*!,0PJ 36.1578 + DBEobZ@OGX6:VUWO2C:U1g\#@pcZ99@baIq,e#knal?UIhP!(X>,eXia#<R.h<fBV-d/.5g 36.1579 + $Yu7ch8XX$$"R'j0Y-(n`j#d;Eni8++@+hd+B5&Ls$^QOi=u_'u>apJTQDW1FLR`!oCSS/` 36.1580 + (8MW\93GX2'=IKC[b.&Fk\89L!#>Kfg\N"2Cb.36`b%']]9m;,3=DY(*,/\4m<(\Ef-0(Xm 36.1581 + 9JDUn>Vfb?PdifdE?SdD;ATAcV0#I,emL'FQU6e/Xb+7d;Ub@i\&b6)-#9qb,U*bA^%RZ96 36.1582 + gbC#YeL;(aZrIl\RT31YO!#p.Z28>m(FmAWma/7P#e93=_01_?;(i+*(8I-KSr*mZd9D-4j 36.1583 + Ah.n,@taY7.m&W6sdN?Lje)\S@Kktcjh`u%5^A$SsmD=ItRoN[*`r$G)PFQ=T*&Lo)?<B?U 36.1584 + U$HieDJ[0(dLkiEG'cD`f"Jc"t^c#iJ=_BTDCJ<4tVJFHhXpYf"dS[?AH]h#4/`EbW;)#FL 36.1585 + 4RKQa_:^%6o$edaX;%(8HMC5Xer$2doU3R06P+-,9V`QH9bTTP!%s-S6A"N#"hdG.[4qt&q 36.1586 + PR'Q[4caFA`;1)ZPaEN)4k6]HXU)DZ-gfFU1"[C^JPY'h]*SPoTd>&G8C)A&p^]t^0N,Z4d 36.1587 + KIfpOMP9^;.Z3"Dl>n+X\$6fd+m*O]T;W*l2;4<To>#!dS&WT'Rf%YBLTA^RnTao4(k3Me% 36.1588 + up^5/riYsa-`E!3jb*+\Bi\\cNmKShfMFX[pS<',&j.#@J/$F\_kNAq6P]hFC=`8p?,?O_4 36.1589 + alsXh#Xg))N!nB50M:F/qe!:@jX38Rc,\QajOe$08V807%j*3(Ll1DbRqCnQ+!JdLA+msZ5 36.1590 + Eb8l'#H8C8>XJ+=;J]UaRYl.ebZN1<S:'%+o>N5PaCcPB[G`iI9#FE402pQZ0V6egie;Q]) 36.1591 + ;>FC>r.M=hb==5fm:iNQ*Rs7!!A@1p$f^f!sD[a*k;lQi1A&G8rn<b4$2n[9&_+(Gmj=?fc 36.1592 + C<4*n%:CM8gPdp$'Pb?8JoZEJ='Uldfl4%RX/BYWkho(eKclfs7F<!k]bm>i$:(4s.gjHsD 36.1593 + @%hi[M0^-9miC;O2u%"9dg%b>1R_dW7_?F4E$qIK$3hK!c68_<"9G9=$eS9`7@^6UP"_WC^ 36.1594 + ]<RB=W475<PqKMA-6Fse%]JDU*bO[7elTZW\4;aJA#_Xj>90c]H'd@$8+\TFVoXf0`^,u8( 36.1595 + MPi-!]">1q.]^3.lYM(RD84j>_*f!-"18iLK,!Y15uO19/.KFS)Ok6u.jNb6ZlP5hb7#oJ( 36.1596 + k@q_q[o*?PE,]tZ-]Md:q+/l#f&h:$3=3_:olno1,4%k&hA#f81)+d#Js#J_H:J<CWo"a*3 36.1597 + pP1$&^#?fS-g[d"k%90d@#9]-oJ21a4`J3WpKQ$i;0$r&T(X4-VldA,_9Ws1$epJ-7&N.(2 36.1598 + ,E1rCge"61gt;@'Oc-'\l]#Q#m\&;@n39#)Y@])cY3WnfmLMEoSE_".OaW<pBJX1Qf]]Au7 36.1599 + HPZbu"K>e.46#jo\KNb9i)9(ZDP8"u:"6N&U@Yulq4P5Q7fU4\fMF2.34V4;GOVioWbE4<m 36.1600 + .)]_RS7d]&D$ZAD6ZA&F)sF"Y4?o?G-1jA?@kWVB4G@m$a$WkF+G<-=WCF[Y2hRM*k`3[c8 36.1601 + ;Rap_JsA#1e,)N$'_eo[Nm7_oM_B.s#->H]=_2_Zb<3rGf[7MVJtG6;Ehp*8r(K:#KT_rTM 36.1602 + W`EP"?L&LHoIm_EPs2Q-"",7MK<'I$oi$ZFkMD!c-*i'MLHDf=ai4Lg/Der0^(I"H"/BPmh 36.1603 + 2cm%"=HSe3L$"Come]@7!GfRlQEX[6%0oW$%6Kh;nTas3(8#dun4a[/ANMbL@J"EP?KRNak 36.1604 + :96@\&S9]VfHDfu9LQH,&BR%_IG_Y^+#I)RfUEd^1CC.AJ9!kZQY_50PT?B&I"686(d;(rd 36.1605 + V_*R+Pl-2"]P+qDL'fHB[\Qp>!LU=.&]K)!`Jh?%<7R_]ND/=q8F4nn4I46Vg56<+badE^e 36.1606 + D6^$fV;][:#Z+FK](,uR`hM=-ZB@lOBs"g>V-4pU(#pS/Er"EcQ15bV6&(:][EXpe$dcUcD 36.1607 + 9sU&s5qRn[M9H:Gh'*`2q9Yp<RcRbed`4"S\ESiQn=S:-+iB,iqd0oM0?X:4aTa/Gm\&lO" 36.1608 + WY2Pc.g(iiG]1sg@MOJ,?6,SO!#$IH'N:`TqLbk+`]\BeFjd/kOeFH+OuK-a?"#68$5Li%j 36.1609 + *'nqHS#;B[c$(ar#)9I:(U_8:*jQ=a8kg;4ZaO0"p*7rTBJ']ubaE1EWbZ9]@PFO32:@o1F 36.1610 + "X98:3!Je2![(Ho,qOWj153e)d\SYH';3_60ul]ndkrtPI3H4;?dR%T6e*+(KO<-DOO;k`; 36.1611 + =+B]r$S$)i_s@q;hZHQo4_*$!C^PI5nMDkF(%jQ0i4Die!VnA?rhkf`W>R-Jb;R`eP32X1= 36.1612 + YAN;ajL4'bF;l;8:pI<AYXnWe46\!`/apU&@m>9GGti\^F#t9aq78'h,&8gla6ZaK8U-4\= 36.1613 + /&:=QsNeeM`H;Ee(QA\[%teobZO%9Z_qNR^I4^-u&LeE,*>!)`C`f"fTNY]PN=4GM+$f0+1 36.1614 + ,9j3D86<1u-e3*-J8C.Q8HB!&of>)dceL3tY=B5lMNpU:T[7j[+K%Mfo<c*K#%;8j?d"D+& 36.1615 + "8EL^fFli%MHHF(fYrf;*Ga<VK\"ZOf&]"poo?Iho2"n=/L>QHh02lDGd&AV<X"Wq'nKCCJ 36.1616 + m"A.fte<R9q8THL0<H5S6OoSrLqpgCbC#m5J<f3OaA_ar?qPEO<$I;;[$;]='7l;fhe5BAU 36.1617 + $u#Q_Wr8g6ejBTuPYHYhM%AMC"hJ6LNP"[>E_4XGEfZFh-8"S(Qi6X^."AI?<!%WE[6eg8s 36.1618 + Gg>X,OT)G"Ok:;oS(m-ZPZ.+"g*M9W;_FgBeVb1f@m>dCM:D9Rij\/])*>m74^^!Nad]dNK 36.1619 + O&.QB[,*:Rgs'-Cc3e4/j`Pg"9-;?@Hbsd-<=I<?TVHftRh?AjC`Sd[@c.riT'^amd<JK<M 36.1620 + jeqe#-gfD`IHN!Vf%"oph2%h3SO2/76qEI>?D)f(kR)k89RunW#Dd=(&:"KldK`m$#@6s," 36.1621 + o2N%o\ZeHhmNC>`Vn](F,-E0N?E7sQu_)u!oMQ2?fhIJ89TcuG)Zh*L[G:QQ3CYk$K$qk#L 36.1622 + Ic+#^cm8HsiNR@&=IlP`LU@d"d^1LR&N\%Mdq&E"+,u#At8bDAcgT!"BtM?mZXtQ4Mr.nAJ 36.1623 + O!+)Cg`np]FQcsB#XiZ9Ar:$1G56/I:UgZ>Be*[[['lWUmB>0*5fgk]*U``\#9</'/c)9)[ 36.1624 + o9`Z*Z"$g,o6RpiN2WJC-<Zogk4u^1[3b*-+'[Y4Gc9#Ou3f7<G#09gS%2]:=53'@Ej'ZX- 36.1625 + ?u$2W:PP64j>KQhn])(S,NP.Y'^dr?*]`;Q9B0VHiZ7";U-<$<c=F>nAKFh"SgJ#H,N=#mh 36.1626 + NcW&C*;N@o\.:$@L^4Q5^uU"/mM\-ir.Y-rS:ci0pM)]j#GHH:,V,#B&p`7jNu:bk%EcF:? 36.1627 + ;K%j5+E\W!_Si5n+#bB&7Cc<^mN&7q@?kB1>7J-<''(FQSD+k+6PSG&,tF;.Z3EM.K._??T 36.1628 + tqIaY)oBCZjMH=,co.Hh*TjeuEj`'@cHQ.<R6jo+YhV=<V%`o]`I@odkfDJ3"H3E4"XA2\` 36.1629 + BmVM+D9BPY.d>j<$:3#?48*O'6k?+PEIQM1ectAA\jM$a_G'dm_s5biVk?qs.:q,^2&e,+g 36.1630 + LT#=[(8>PUV<W5tl@,VqL8jHGBnof)N?E1qLiDX>Y3MmfC6l)YfQW)&dK[L1L;pH5<j1h$Y 36.1631 + _OoY#;FM[jhtq@Yj8I'LN%TqE7!OYH>C7'li+,D\:(r%cj*s*#A1d<<krGkXQnZ]laFfJB! 36.1632 + LYS-KkZ*TD!i4oXmi`^<?GiMDACPm(Md+^254Gm5EJ]0%J.tQNu0im<7&t<n(uPg?h=W#O' 36.1633 + Ni3-0kpgMNP>mI\-9^s[&ui9dE%mKV/FfPQDBdKZ(QbKf0d2WX9(#&G^6m1d6b^`3P@k2Nt 36.1634 + oilIX!h'LqL]]KqXAgQ@==DW[n8Hrj"Dg(noIe\T3BEZ-!"i,&1`q]#bq="%QE!H=2%fc!X 36.1635 + on?Mr"Xn-i0*-$)!cW>an:4l$&7:D,&o_apE5)hNI^=dEd,E"SE5r4R#5IOEFq"^k#>f,S* 36.1636 + t`L*&;6.nE0+Gs?Pd^S")pa6EM"6?Ii.0?Snu79C&Q4f@E&NhGm>25KSX5nNg\t"Mrn'!l, 36.1637 + P49i$N.,+*(s\`SQ`jrfZi6VeJ>5kt`r&QBl/9QZErqA>%<3?Rt/kNpO0KW@aq9qBKh*3:1 36.1638 + nX=[,%&[lnfJ>Qq'0LJZ@hpiUZH6M'A-eSqs7\BbF'Dfdp$oS5qu*<$BmkOb*/FLYQfS<XO 36.1639 + #&:k*pFO*eTcohK\0F\7KoYt*E``sg-L>(0^_#7P6mdo4`3VBjcbuZ!0_:io=b46EFnh25I 36.1640 + #:/kI1ZUJB%2Unq2J6a&cfr2$A2c&uSs"/,5NE<=A1qNXh_GW>F*=^/EdhVDL3I]^-#C>%S 36.1641 + YnNTLK&AV<;1<ToH-A@#>o\p9_;0.oP]&"d/`g3dIanlGMQ>Bf[=m9:j<4toS6=e0[KK+8* 36.1642 + F6q`Bact>J#-Go%h"KG=RVee;O"ONLWLFgkT7,Dd`-+-$K8C@lB9i(R'_hArQIspA\h8QYL 36.1643 + ]k`cCk#k6II<GA[i`DgBoHq,`k%DjOe.F85:DG>gBoDhN?GG`;qop^_oL\BoHGVL#IOGNdF 36.1644 + us*FOSk4g#no`(lb7tkf1GR*,"pjQKCMZ8d@nlM-6=8/KeQat#cNr,NZGm,u.J%^Qn^8/V, 36.1645 + "]/$C'mkUP_MB=&FW`gL^Vu_"3Ldf6Ju?]<fHLA-b(5>kJNqAV^_$RN%"PPcJ8b[B0E_A0( 36.1646 + kN#1K]$HqjHAimd-@iLaY2;g+5'4EgARr(rLB"(3,=I,d=r3PL)8Wn\(ps)ir0KnL@AE,+B 36.1647 + \p,=ah1Mr[6oXXH[hbcf$89I`L[Of@kuKGR!l:l;-dG2spU1]^+4sE9Hb@=7Sp"dXD/Rs(C 36.1648 + m%QfJ'?.XF%cRs1[7<nnDqEW>6Q-Bh1a'G:WSKL+QnBOiF/iGcKfnMm=F/Jj@8@Z^o.3^!k 36.1649 + 3_dj=fS'CaIPY,F[#(t&c09O>Q8d,<[<B$F:(X(uX_IYomXqqSYbna3S;`Uci)I,"]b'6d` 36.1650 + ;-1s&qb='@CK7t-G,4W3!%_/4)</nHIp-3f\)k$lDn'"YQFH7XrEd-CDcMq]p;pbZi,<j&- 36.1651 + 5R,H`+!^g]Oj)CO2tjP=ZiQ_/XO[nF'60<G<M@M3,eL`1#kKre7s,0]k1*iYL2"h'ch2DD7 36.1652 + >K^2aYdOa*k_\E-Oi)--L;KjDoNN^1TBqcffIn!</jSQe1JFHX4AJSP.ktYl%ea-^W*@oQk 36.1653 + pgc(=r.BXM%rYHOkTj`J+\n@-g-Nrg*3:^dL.^lU)V"2POB'a;9F$f&))OGkIlZ&O"VhmRL 36.1654 + "1sV\Sk^<uO;%,kO%e2(@%E/oQ<>EK8Cg=-SJ:"Ba4%Um`)93?5E_4<6I!m*3:AINO]Q+.7 36.1655 + ,KUQlPa&k`oA6W&bG*qk^8m.G'?C^Er4tsFm(G'r'+<699Tp180Yu1Z+Z%B,CH2bi$O#9E7 36.1656 + _uJ!&^Lpm"$Mdqm,pU['Fb43^bLd[-+e25@jfWfCRZJ<L)h:+dZgjc-7grO9di1QlK'KZMh 36.1657 + CN+aR[dYs3gR7<E7S2.qT7A"C5S>erJP77EotWF[8b3oJ9dl`r1TY:GsU-A!C"gJS!N#D4N 36.1658 + <3M^,Dn4&f-K7ToH.#tR#$'d[^%(Ce=Fg<9H!XNE2Ypp`r>Rb')\oeOWg>^*=;ELsY])1@d 36.1659 + Zl*Z#NeY)klXCVkMMA(5/Is^.57;ltn3,U#H=07K!M880>2.FL3<]jRH(rf",jI%M9BWQBH 36.1660 + [i7h?Cj8P4fc@TTgY%U(S*('bb0j`KS^U@e96/ndh=W%QGq=0:F/A,a!E#c@?jamVl@?UM0 36.1661 + 5C\kZs2jO(;2t?-`gblCl=EuZ`IYKe;>lIDK1Heg$[\,\JVA;MscU6mCfZVcMXr!>RiaNE$ 36.1662 + 1:&_s]]`'ueb76H,40S;UC8[!Ai$bOZD`G-^O.2L`5N.r@bf0)@X-;p1]W<RnY_s'<Hk!/G 36.1663 + )*p4GSG8p:TpI!0^s;5`=+bHPpDJGq&cFSPqrPZ7ILA])#jPi&%rZ5^+L]R#OqBC3]#3HV9 36.1664 + n+NMD-I%>l/%XePbea37,DqtM8^]u%WreoY^^[g9cp&2[2g;LPTnssk4L!d(,I*rE*WIL!^ 36.1665 + "rK,^'OZRU6pP>k"@t'`@)/:b6RE9fA6*N`/0PJLN/@ig9N]8E.5&KO()I5pUL&SCH;M<o& 36.1666 + r3Pk*lKoh@e(Q^_9!5=&DmIb$n4SB-luh_$].SH@Y0E+3$O#:MG[+u(t[dFiiH%,jcTJ[R( 36.1667 + X<[_u9WI!3%dK6Q+KqF_Jm.e#t_G(aF\e*\kkUa&jW.^]RF=1$i\re5ffZ7"G@O%336p=BN 36.1668 + K]M2j$XL`lJ*,2_H?2G)%^&u0P+%4Q<5&oL*.U*^L!!lk;%+EWY.9Pi&O,>Q&-h@@XX/*2F 36.1669 + kMWiJj^K@pHip=(>;XBoC.*1S9l#L'h%FI"68n1RFEAiR*"98Xk0.)=>*-4d_9j$nV>)7*d 36.1670 + :jF8n8\DNjTtCPk-j@abVDuEAknm@%BVL;ls4lu.F#$:k6^Zee8#(ML,Z$a%d`4;#Tl=$4C 36.1671 + _+ljkVFVPa.Yn7.o=]J&ZCB<SlAIB3I,5E.''D7jbd<jRQVX%o^O:`R@t.tm4i*Ma"`c(?V 36.1672 + *hW)d5pRU\)g#'_.F.J5k,[']FLueBV`:E$u6>%#P7(N*+fl[k<[\@oGc#46%>*WQi##!"& 36.1673 + $,a'DglJRYcM0Ec&mnDXFjN$d+R-pWI4Q*!i4S;1k7Do0b=Xd)Ym=&pV9la)ME?ilA?Rf*+ 36.1674 + 5%$,o`q>lYr5X(V_.5CJ"Mc/SN1M2&bZ:g&:$CI5VM\$*!9Rp<F!oVqUYhZT`L`Y8J.'c8R 36.1675 + @hZ;RadpSJ0C<O0WjQ.O"\W\i5gaPWKoLY=lF0gs7DXMn:<"&'gMttbZ+3pf9@o)hc7@_!\ 36.1676 + bAh2fG!4P(K+0qQ6tRXO^31r2;u2KJD=97AT]XmW=V"kbSD?RHf9")Hicq::n`nt5oob&2s 36.1677 + bbGdC4VBScKci%eQ5p?W=6ZosT$)"l+(OJ3oY<&D0[]h=4`U-n$/DfPJK]4?Y&[*XTbeNA" 36.1678 + Q'8AqZg7E"u'OkjS/FrCGJR!3R.Y8UgN:^/Jk8[uB4^p+pA!(a4Y<O)\"Z'!R-ccJou$&E% 36.1679 + =(:&V'4@dn=j]lt?n3)BGlY?[J\#<O7c=%@]N/ChIWE6C(h&P+N;*b2V70ck50nD\QAe?hb 36.1680 + o>Z&A=IVH*S5QifmX\Mc\?41QA@jRm.Y.<NB3ouiUX<R[G[T?:e_ujk^oj)uD2!J!Tq/+2X 36.1681 + o0:-L#7kN]Fo?Q'[1#k!p\L'U^U:,edFDh]$2i_`^[KkcR9G-D1)+"nRICVjGHa5,\-M]Ze 36.1682 + 8P6kNC*WX)n9dg.E#F's.p!a52YP\h_@o4hQ@o46Qd&O#%'4bZMg_kouRh,h=XS'F+]=X!= 36.1683 + b\#;&+qXT\fA^g;Bt/c>kUNq;#e93H3k<NTM*EumEeG4=+@!Q#?Z,)p8)(-=!O2BGI.r#:Z 36.1684 + 9h"Gk`r)i"%4)"1K9Th<6ka42lG.KiFIpGN(jS[6n:k>$0%MUH/jhRZ!@d1*i&7"Ee;YQ#V 36.1685 + $.73Epf/to<e+E<,`&<:$-bteO++3J3&_$'M@Y@s_Wds`B49^95:AB/"u^OYl?7^H=7s;`g 36.1686 + Wo64mKp@cpHIqsGtipq]45\=DIFKpQZqph-rp%H/m0*c$+tq(<Obsp.p\5J"?oVWnBp!7<# 36.1687 + ),HSL7[$L8#E2!>JR$/.)/MS*Ba@>4?6qY-MpB1kCFe[00;?qd2quqQT]1rp:Q]DccE,!P% 36.1688 + Q)"XWnMM=JnNGq31h):FR"M^E<.qHm%`I:',Lrl<^h?Z5@\hnAda#N>SfO7Ia,c2%B0l2=t 36.1689 + mp3toT,JHKOWkZ=FIp_UAs2Xs8?gmuDhu*ND!<=eW!,r5EVE!X4i^jLO!72SaYT3c6+Ta>D 36.1690 + !cQ/g#g+_JK__Rpq;bTQ0I[+n5m/l1"E6p8YY>8i;$AXR"_XS2,eEto=U$Qk#&n8\Y\aU6E 36.1691 + <e1?#B-RB&6qa;(C-%U#]PV+Y`/d)/=6J:""b)[b\GOCrs8+j$?2sOYcS9%YmW7n!Uu9XjB 36.1692 + 2Zu[gXt0$uj;sYg!UGd0FW=$cHBX0[gL#i=7R'!\h3]E%pC1M$%^g7IDS:;#Lpp!>$sh&9/ 36.1693 + !fYmh97&J6`4&TJ[#YoOGH+VHLU&of?5Yq6UY0bZ9!'6-#GYrrcj,3V;%NhBkpj+n+=Uq@g 36.1694 + G'k5/gnQ`^L4VfP?#I-Q1Z#(0bUt<C5Xrt#c!5,X'%.YO_(i8CC!1=\oD](9p)0)&^Z'P.2 36.1695 + fLY(W):>E%Yp1)naLiX,)e-gCTVMu._!/+G]HDbFWPo\$XW9.H*HBaQZ/$Gji>s`8*c^EcZ 36.1696 + 0`V&nK0K'AauKckVsG7ocQ!n+E@c2Z4.rI&Krmh)@[&8D%>[,N?>GOB'SM57aqm0>R9=;'_ 36.1697 + 447@,W?i.)4`L<j%GoK#VN`:a1_h#;L`KZ<[Qq-RL7WafR<"U#dWgDCfRT%0@pdEd[7kO![ 36.1698 + bY-ut.mZAcUOY6.O*..WaOK'7Rj12sEJh?aAe&j?d/==st20#;$JVUB<j-EY)M_@8p_ZHRW 36.1699 + L&ef1K$DJr$5r^E4<[*3;_^)$0o$8rZnLlZj05.C80UiSI'ebaRD9A#497Fq@`.rng/r:2P 36.1700 + D?NsJ8MVhPO<N!t_929j?S`nihW$sWF$*m)K/>.G,(S9%U;nA:C]W!a7j9A1Y89"d@5]oQ2 36.1701 + KNP?ZMbsT'fNC?A?RR3WlbXB.(*JE/7A95VV!J3;IC[I_9)\G_W`j!?>udZ2fkopWCZ[?RN 36.1702 + ddCnL[-I1V>8Y:*P6h4CP?SZ`?4[d60;94_25anFJ)Mffg^Re4IqTa=%-Bp>Jcl^E?"<79J 36.1703 + q&q@URmAn;ehZj`S#!'[aN6"DArM+er,jZ`$g,(aJB!ljKa.3dtR'pKS'Zog.f5nHp36hEr 36.1704 + <U+\[SZO,(_7+>=:J^6dObcLpp$1qnG+cAhMlDDO8@mKm<J13eQ2!M;H,)hO$%s(1HO?4_( 36.1705 + nmFg$JgfOY`Yar9Cbti!'Wjq`YtH;Sq,FapZ`5Y)R5Yae9@V$VmlE"7)@F>0l/n_<V/"sU- 36.1706 + k!EC/7F*)U>Q0]n3?Qc9XORLZsFa6VY"=GiZNj3kurL$WiOCg&L&Z"FSer.+%qkB;KDA&&F 36.1707 + i1F!E,1>9B,=$TtOCl7/#P#<+a$0_4oS&b#NH\W*o<CN9i*("]cfqFhn"GTiY08E%=oe%om 36.1708 + m3+bG(RFOu-2Ao*2GM9f6\O]N8D=Z)ThYF)-/[ma;d>%EX0FfapP)"qDcU&^.QeP(?'.TM^ 36.1709 + H$1W-biT3oGgk6f-,*`+2Pr._\;,?jK)p5iG@OXRXlV<]0pF/!9'9ukS!FReh?uH1pb7=!L 36.1710 + $"5).14nkb6H0El+Mpf!"I:J^79D1ddNXY*C+X>t2+@\@Y@KO+7?nE:NcZggRNdP=#a'Z)/ 36.1711 + NY\n.:dU5Ap.m#XW]@?:K'/gB4MN8Trf02cL!De!S/Y%KBhJilrL7:'Buk5i[>DITIb2d&c 36.1712 + sIg@2VoXGr?9c<T:s'K&D#A0EbFp0$8MmFm!Nud;:elD/1Fd((kDLi&s@6DJ2k#1UM=cRa# 36.1713 + 9b=9@if/2HHADJCo=,*\.+15HS[&9+Voh?pr8@O<q3K37jWEd&sQ[k*OK%#l!t0udO2Uie( 36.1714 + E06AD7AB7k*e2AjceTE&a]jUu[^uh6m=@USP,*g[6eIc'2`?_o\p^VW+K&E:'a$C0ceJ<m/ 36.1715 + cBEHrOa/mNH"SgPjj_[8*%ssBHL)MpQ`MJ_d'jM5SEb'`6KEq[_G]COi"C2WP"I9H7NuFQ' 36.1716 + K8=(m3+sXMbl_fI,`*qTjfWK`@cbno1lQ=fDU3o!IuJ?H-BcE&G@h;VM>tgJ62h<673K4OD 36.1717 + BI4)dm4.QlK1'Eq].p"JXjMTn"\0_h!biP_ms.67B\X]SItb*/R*$i0Y^Tm<3_CL3REe\85 36.1718 + !.18MA80m>^#`,U48Dh$:LFc0!t,0+$l.!G\?pL/MOW;7G)U_n^M#8jEW%+@N#CPs?IMg0i 36.1719 + V_W[59-j=k6hdbrN,0*3*-q'`r'R8;h\D</>iJo15D:^_,=R7e:+SP1jbq:)r+DN*eN`M-. 36.1720 + :lHA<M]%M*7O!_XNp1:2_Vj%2#U4g1P%)G/U?NA[-4otjPBf0P\NE#5$rdC!+uqlPW#RB@3 36.1721 + [0kV$MF$.!oQ<<OB5rX1=Is66IrVT`G,DmPfRu5i0BYel'NYD(P\[/2#caI=dPPAR<b3gUJ 36.1722 + bajZq?&,H9%ObU,A97I+:p1/9PVMM`EZV;D+@KG>k+i.WL/`.2U;fR`?]@/aH-J-E&bKHki 36.1723 + _!F^\<;-]AqrT6^7)\bsG4$XibqTDAg>,2m&*^dcicPZ6(6[#7Gn)'\([k<eQJ3XT>,D/"* 36.1724 + M615I&DC0-ca#md0/rB[]qCeZ@;5H:TNg=ga>$N0?7@p5&KuTjacB?H$'i!oT>h"AU["]cI 36.1725 + D-IM)V<+$7Uhrfb`.VOR,(R/%VP?\]8T%rE?+Plm\ui"-m>!8(LO-5%$1R>(S0E%V/8cj[M 36.1726 + S`E#.<Qc_>L`+;(5C[\_@eokHoei5Pu8^q+r#XK'AE4*M8],UP?6J,$[G[R]+)"A&V*shN8 36.1727 + j(c)\]&;_a3Gm"</c`1U**C0Nj8)C,6bPOh_A,`YZ6TBDW`A9$lPgYVp68m:%IUqcso%/[W 36.1728 + -$[X2_13jl5\8[c2;P_-r4:37\1Kt&_iP30Y-\:@K"CnD"e>pr#`QBr;QSj``o,CrWMT_YX 36.1729 + teso-EVUn[f673Sf@[*/W,%=Xm$ICa*Xh;8g]mJGG[5FeM*PL-rP`pPI@P7$9',q!%<ZqWp 36.1730 + %)Y'`qGsV5JrX[A/2Kf6B3o\%5s*9(UAm\d$D8<e@0R>qEmc.^?,J2d![kf>RD:$$W-0,Z^ 36.1731 + 0F7J]M1c*iO:pFPe7p9UIHIuNd29d!PE+]?qr<kU<'I"=cHH5H$%92D!]@O5^UX4noln#X, 36.1732 + 67j,+@"4C2?AiYgQu0IN&V@r/*0)XC5g7]#.%F6$pRu_9>$\2AMiX=:`W#hhtoR3'qZW;9B 36.1733 + ._-nREW#7d4K:),hoC4$g/'+U2&`hOBF.F3=j60$)0j(#[RS"W@',&Yu0"(pRkFLX;nG89s 36.1734 + )]X`?I]HZ*Ub7fl[*BhmM5pfS`+nOU1>sj?V6RQD6/%=jrHBa6LOD6bB=fY@g2%W7%pHI`V 36.1735 + SFt)drAW+%4-[b%/t46l(rQSe.Be:b/8gB!liV!4$od0eg0IM.]rg#W"jFYQ2a+Er6\!?dW 36.1736 + %2?9/NVg*cP#po?nRt_QltXCV&Z42=hi2K,'eVD;0C^4<RTmKd2>-?*&7]P"sTM#/8CQE&T 36.1737 + r=c*19,MN*X'S^)c2"T>`t(iYSfH+OS:3s4eh(Iat]pU?UJE'!*t8Y(]e";Qk_[l7?bE$W> 36.1738 + ]2>4T3K;SL%=2u+;TR9-OW+sMPekAM#"mpA&FKB.Y$]]/s+_DTNS8&?;rl"=+G%.3<G_]Sl 36.1739 + Gl?T!FcM=,^WHfPL,5sDQWEZpXdb%*Qi(-@OZRf7bY8A#;62WZX5X]u?H8PO>/=nSNY1(.Q 36.1740 + U3mSh`n60V,/mZY-BdCJfD^pU67=a@jt(fNlTZ5+<L<6j+>M_!R\(gFhRYFBI)jMI,YjiS@ 36.1741 + dSg!P#la_,*KkqEss7AFpI]j]ON>9_T-EH^"$CJ&"L=RmZXGIoZ\_XQ#rUM%&=_U6%+,E1] 36.1742 + L]5nortXa1Yh1q.?,ds-`]Y:<"!cgOC[K(?+iE-/Ff\8j_LVeq^EiJYYs^/t$YY!6b<3`B8 36.1743 + OJ1&OA,o7-:RG4k)VPCgc;4+Xn!%!S)2ND8=kQE22/#S[aT"_5C+n<d0-)%D?giXm#l:+6p 36.1744 + 97H4uIe8@8eO%87D)&/*&-'Lp^&t)_%=Y5t5jqAVsc=o/*:$31Xe<SuUK#%s3);PdZ7AE`E 36.1745 + 'Ui#SR8'SXl4k5&:8ops<St3Nj_a`tY?'PGQgJ)W<O5iq(7S=,fkn3&mM?bBrWbKh0(0@IX 36.1746 + mQCG^I!nS'4).@Kt1HE=HHQ8bDgUR_7:/$:).<+)D`1#'$E9uGXAaYXVC]&V8MQj)P'g]=U 36.1747 + If;i+m1pGV?H;mHf^id5-%&hcnEs)?+-%B[$Mn]U`+WREao9qAgWD:T;n1FlN*!B5b?9Ed. 36.1748 + C%*uC![jn!cr*hQD8`F,lNlZOhgYNb`WIK(C]f8ktb8\a4p!d_XoPR7FViZ&Sb5c0\,#<up 36.1749 + M*-mlIU(kG'BGk4f/:n!c5ssm@N`3l0Yo+3&mR_a27<)ds84DHA@WBD"r+cCb6DSXU%^Fqh 36.1750 + +#0ZD:uICkr.]sF0bd1pa`:p]-V<l^UFAfUUoQ"<o#.jd960#)Z9?NZp96_Q]Xosno0h%b9 36.1751 + k]aeVCY87QT5%%Tpn+bo>!RR5TsY#2BnoE!tL+m;,ot+@tbPL(_gEM7jLhidn(b'bpo@(`+ 36.1752 + 8mB4[ctE*n0EG3*@o8q@Y"%i0@5'*pmD'5;#EZ@j8E2SKr<aU2#0MRl&rJ?WZq)K4.l*-&Z 36.1753 + 88p-k0V8ojd=0[+:V?Y.r7V5nB8k^;0aRo\JoD]r)s#"Mp3;M%"Gf0tY'/3u/I#@6Luic&4 36.1754 + 37Hu;XoReu\>?8`>U>5ulqgfn`nHOQ1QpSFoiF*K?KcAZt,j=#3/U!%D#V@c\@sI,tO(7ti 36.1755 + 6]ko)-;0P+YAKg(g'\nCQs^"SA!pq/DGQa6q8RH:?].?l&811GJn8V:TE6KSkY^$0=OXOD; 36.1756 + ebGl_5SPm_03$iqS@6T,;L0eIG\2Y_M>s]T#u`o>=<CTS-Kha)rBS3'\O8A^?Y6$Lq`DaDg 36.1757 + UXD^Mj#T"2Sr(-OTOJR7[3.bYO4nQR2A^NmD\"V^oq`S'o\,+[Q]#!d!M-6O>ZD]8:(Ga2h 36.1758 + oD<8oAA:\EokN.gS3Rm]tdaPSesg2-G*Z36a(8?ZG*U'<mXkZ<d0plAd(M>>ubUZm)RVlT- 36.1759 + 0rl;A48fU1*Ps,Qd*3uF]M`&WRIn.u\/\Zh^YnMV;p%]b!#O6l(+2S`lP%Q`N@?s46!**,A 36.1760 + J:LN"%i>k\^aok=6pQB`F`aHZU6]:;RJ!PR`'#6kXT@p5,!kc6+e]JM(,1uW3RE@*+]8k2K 36.1761 + `,*eASc>0`#"/ief-u$E=QF,4,8h*mZ5l5b1pbaHu;3B\KZA2@T6!WNodJba&)j;kUDCCG[ 36.1762 + JF1#1S8+Q#Z*i_N1B>(h$72+\:ZD&2B(]@ebD3Mo9b"V/S]UZ6_p"'j-G$R["Kf%0SuB57j 36.1763 + Ki+Ao^-)s;Th6-p\PdXi\XjSh0%=):[nA9j?$<_H#00d^G\S!/OI+-m1ab8->5P`h>24SYL 36.1764 + hUN"MDKod6Gn..'PJDM<peTQOQ9.j7;[RMAkZiqiLJ&iI^R"QogaQ#\aa8)<hMTe7VF6GOE 36.1765 + PH:)pP_B0aYQ^oQW#"uIqnJ:,cptrO*&Ej*MKtG"9c4+9'.RZjq;FGKPk1K1epAu^Ic=oA6 36.1766 + ^2ZKIo#geqbC8aTRg^-#9".?K;Aqu@ZlKXVR.sglC1hqb]1FLj#2Fl)P`)sHD&&@841WH3: 36.1767 + rGd4":5Oc1'KtPdG/Qp]<NYW!H41-q%!S"tSrc@W%rH1WOf9:d>)lL%M7;<-j[)C/mp+Pr, 36.1768 + @6Qb>TGjB\b8<i]5@3`q/#>GbfNY8/9s=B-Jr=Z(#:[fJQo85Mp\Lu"r1_6fq(KIn=G%L:O 36.1769 + 9eP'HYP_2?O1lP<:TL3u3TYY36NS>"Sa$L[[&Ue!0`(&?Pd[731ilbJO0kP7PS$S4A:VH>2 36.1770 + .&s,7[$I#Bc-^D`/Q#mZ[^=#(Uk*!Oqk4q/,\(&!"rAl=$5$>2JVq'jBo7aV[6kMW)Zg-j/ 36.1771 + l;t5J>NDL7o<XX\;7"@$L:uEZ$($8gUieoO4j7AZg+&L]@WA?7(X!h5kXGl60O",X5Qffd: 36.1772 + @<6#dOf\nCm,_&AO@uE=A?;(N:(C]]?SHi,j.'#T1n(L3NjZof`mW<I5-V<M^2L$\iWO)oJ 36.1773 + %e%q56SGU!&m/'3tF@LQ+k>UlkNcmf3O]O4(/!3<ro-5)4OOtcFVcSn1`K`g[lkJ/4kaHcK 36.1774 + %Nr2jGCQe,ea@KiPncg%ROU;JA=!.V,=-@UT>K`FY04k'sR\BO``+BbR;*;abF&LW2oIN%- 36.1775 + EK(dk!$m[=\[IME0pYiT(bD'0JX@"o6A,8i\b*OKjl#m-@6k563])E=OZGg[?B\0=P/h1J0 36.1776 + rB'DS(!gM:DFhbR1([A`;4s^C3;A`;7n(abseUn+aL.l@`+;]!jbpAH4%(-?E``Y;eCr@=V 36.1777 + hp8csck\(bu<EBZ70tlog.?%8jKUQIFQW=)2N`6[5437,%N^D^>FZ\7kFA7ddL7B`f[iWTq 36.1778 + Soi]r(';.`r3Y4Ir%+$6A%:QYjgGEeqM`aa$(Muhb<UBbahTlLl_.PBW;S2Z4BrZT3p78Sd 36.1779 + T9(DF(0ud!>9pOYj<Xe0s!<B;JUD$18fi<lm`^'s``!eYHneE7!Qquk-e9;NN(^E(O(6ZR6 36.1780 + T2XF]W^)iO"f*V&a!3u=UL8Oa@k3O\rh7hfQW*11:Pr.':"=RA><-<.9+X8@),\RG)]b2SW 36.1781 + ZY[&Bo?c(DQ"G=9GfSCkiO+L1kG@^?Upg3StL_YEfLonDM%#k6Nd\_GLY[dd%Iu9Si=]7ru 36.1782 + pHNP.p5Qmh9LJ-g#g(2K]Uls54*=gb(RP%"=N-XH,sja;QKY$1a'N+u6*RqaUtI61!TKRuK 36.1783 + gC]-0H2hf)*tG;!&>H(Js7I".:LITO]R(P5KRJ!oqXOXeu=$[m6Q29pa3Xmc7[@)hBf-MKZ 36.1784 + ;+D_<IkUd%k\%rOd5IBJ&-a0U?kJQh-UQL+5-49T+.`SE_Kg/f+^^L6/*!/AV!so?OU(_CV 36.1785 + _umek".?*@Skt!5(ki#Z$T\rj(.u+X,)eT3CbcZT#Z@u7C"=aAY8f@o'H=T^=e^Md(C3pT# 36.1786 + TH,GC3Mpb)aV+:NmR3SlN0Aj+$=l^1Fl?hr$"G3[?9B.MXa.?!o0p1KV-%R1h]R?nR95SKU 36.1787 + [OeTR/[?"55H@HE%5O_[=m4'*&5-2a]R0(]]-%BLK-&+=WeL1V7eH/36/!j,EKfQS^ckgPn 36.1788 + Hj0>\\m6js,50EX]m=fI2_`(1KY=tck6"qskn"11W*:e8O)@AY3"WXscX5mA2=+>N2Y,@H( 36.1789 + V`)8h+OfiAO,.M!\#[4pK5t-0'3i"kHe3-6Z>;iPcT*)16]O!cg=g1FXL`1$Ale_`m@mZku 36.1790 + M^+r?OWZ=8#Xm%N517CcZ>h]TK`ZpD6O3^g10MG0(PkUO`sZ=_]O&W0F#\PMMkjOs4E`R"> 36.1791 + ceCt7r3H5K6SpqZ5t->SM5_qE)J[k@??X6]G,$/#TLi8]bW-4Lf:b_gkH1<`^I=(RlRi3FE 36.1792 + ts/M`/,q6BmHdCbj)EO"sCQS7Df**082lWOtjT]:-\blZ@q^<u(&)80"$e^aMTr/W0_?!^* 36.1793 + "p8`Pedfcp6GJBNU;1nmSnUImYE*jh$I"Jj1ULD=SF"rN$r9WB6[&rRkPb05_V@i<;9R7d5 36.1794 + S7p.H"4.64t7"a-G)hAs,Z9f/91P9Y#5_Q%.S@V@p]1]\Mb$927`4e.1V1LP>#ZDe#)jqY, 36.1795 + fbfi$M\BQg/?hf]J\mNuLK)@t]ZMt=Z:%e,apCn'jG4(@CJ4$@9aoED*7>J$]h'/@M-MgWg 36.1796 + l3=Bd`m*N$R4`/6a`8MHHFMYP*uW,`8410hZtc"J2C:<JrE$Z\1kSR[kNKRaFPBTY;Ps_9n 36.1797 + _b+SE`kNlOJciS6VotEUo$`)U?"b-b3NM"'5R,eW*2)!_i8$0NA[:\1hE"9/nBHRc_m(hoH 36.1798 + eq\aX>E5eDrkO%P4Zb1M3=0cRb%^V;QdcOC%S>m=,B#7==?Y7(S'g*6^:,RjVVd)pTjn^^H 36.1799 + 3It[J+#TKUr<;dGsY>6$X2.OHaEaI)(3R!S-%_W"$9CR`S;:2nZ%Cd%B&?`tp>V`60\MXgo 36.1800 + *?nB5,>pL]:lOd7fTshHT?dB\;Mn*YPE:=\ql%B'Z4iRWP;*EU67@X[dg;ErM^AorJq:SuN 36.1801 + b[gI/H%#UHAkB<#Z*k:S?.:d):Fd4;p@I(h$$QsD,?ml,W$O%m$H2_6QtBn,\2?c&1SSKPn 36.1802 + oc178Zg5]"p!q:_&Hb#Sd@c#V/*d#s\Y]eI>AU*E#H[e'nP!eOn&bN1disWmSoB^)4.#F[F 36.1803 + VY>?/@A<QlOb3Up,"?PqdR$],0OR_2!<moB<s<_[.+>Kp1.DH:=^(,]K_U<*ZcKo#RBX/T8 36.1804 + .I;5bg+fq>hdY2Ad*HG45F&c4Q8[WWk=Y!OCh$?&5&l=Z:BS-RVCsTVCUmU?\Yu+$AG$"Wm 36.1805 + =:Kg@`H93JJ_2t1f5W:"+O^W(3/B%`=2JS[FbNpdMcdZO=N_3'oa019NEGu^=K*b$TRo,\N 36.1806 + N*/0f8te/d*ErIM@63Z%98Nn"e&SrRp!>";H5s6opf1Ko%BEZQ.\g'Y`7=\JXE]#V+?Ks+k 36.1807 + YAueCk(u>)fLbSZ3lFN^_Ki>-4n63lhIc\d0U$"uqNEJ:sSDDP3pt'bt]nrM'W5CP]rGgBF 36.1808 + ;WU-"pRLPR)sUgq/q[BGB,[>8X@a3#9UXbtmCL^@o+Uh.8r&E6pBEnH?JgkEY%=VTXn!$lu 36.1809 + pgs+)Kh9He+5;aH.>j]oFBj4fSBNOklg/Y^!NRLI]>Zib7fg(-jd#D4:JR*e^>AUNK^kb.8 36.1810 + Js?n*?1<GP"i=PFZ/.0uN]kt7*T@?IM#[_$#U"h*34`D7dGDS'?HqjMPT[4NmG?[g#m*ZN8 36.1811 + 5k=Z4-de=>tDO4c1-;b9Nj]8N:Di4,'K\OL0FCX#j&\S7;`SHJJH!8cM:c&ToB>+_^Z[]Lo 36.1812 + '4fpkE$%T-n4ROU02A-0kg3>7jTkfnbI=+FfD39O2pGLhi5^%ME2&'4Ele==ht\7M](=on\ 36.1813 + `7?\S.n^l+0Ek*W[>M>eHM:&0Sd&VuSTO[/"6I@$rW8Vk@N@&\)iXchWKLY\&Ci$l=q5`"< 36.1814 + 5U]f&2=KT*]IJ[>o.UG0!gO9pu*\q4X1CIe0@m2bXl18BJO5SrTinBUME/*9+_2+rc@#0P! 36.1815 + pn-PBMV8fP#_j`5(+BN+h.--fih_s+NSOj]6jYH<?*NC!*\UrHNfH:Dj'GGjhG.VFR_5\Z< 36.1816 + CTbm/h:G#B8I*X,'HTbDFn'bLZ@Le#_knec;f[L"leqPhp,5.IONsB/E6G]AVIZ/c50o_YD 36.1817 + ]84AKGDp?=me_Me*(\k&p0!.+6aU-K*70i8tsek!m;9LgWC<Lh94_?-?gA?jH[&@+HBT(3& 36.1818 + 9)?<uKV@-265S]U"X@qM$S?G6Mt*3j/%IgC420-,1JrMl-kEo6Z?k/F.XW/KLIkD5\bB;P? 36.1819 + 6p1!2=j58dMAei,a5_WIO<s[@<Au`t80i;OXGiq6RMlqroOH3sJJn]XaB@qcJm[.Yd2!M.3 36.1820 + i5UleU6K>WPmG(g'uC41=n_(+JS/"'Lb=bQn::nrb@HotB$QVJ2L/c/Wp"&bC<`43Pd$#\X 36.1821 + _G#@.ZGb!7^(c/FbhAu#[M015+^U`X9a6XfCl`7\;B=\$jj'Z`7?$p#-!J4X,%g&A?L:Fk- 36.1822 + sY/_cSp"R@_An-H"u2m]e$^#NgU(D6<-FJng*pet.q-G`5[p6%B/2A9`i?-ie)qQ>5P7CVG 36.1823 + ..W2J>R5\;(7?A=d3m`KCLgMOW/m!CMqmSRi?l^cR?g'*Aj?GL($eV8dOjrg12-7e2T_2<, 36.1824 + $OVj_VfS+,?ent-IDU.WL%F9g\B^X]8@(o6>NkgHgc%cR]gpRCm?H[52M/,6FO\h%oVKRfV 36.1825 + cfB6s);a'S*K'4_o&&[U(odmRhWsV8")pI-:hH2RI6ggLmFABCcNW8A`fJj@Gi'p)k]VU\D 36.1826 + A`^l[LNd%'t3610(k2.#L<$%>Cf@P?2*h0N2J86A"\le^AmZQ_MV1MS[T/pQ:Y7E(C5d,KB 36.1827 + %Ztr_2a_rU>jnE_duR46JT3Z6(88j)3Cf>jCN6Tke=thPU$OAgU.GgMk_8muWI\-MiPNcZ7 36.1828 + OTkCAOu(F&7=)i@CK@0/Q#7K7DC)/E:unu"Wlh`aK;J>EJ,M,bpC-PZ1=kobFmka4hWTShE 36.1829 + B'3hu'nW*\:\BGu%V;^@ngA$Wh(JBT*\r@KbAMHjj:6Pss\FhK)l!UHM429QIbgt-)>?=/) 36.1830 + LsB=0+nJb[F+6Q"hd1Hl+7a7TDZ<"CNtcW,?ZnG(l$$Z]?Y4It]Ppu>9jH7+CtEiSCD/pDG 36.1831 + /%m;hekrLX6bm4p?uu=%rCt^F*Bij6+rgkm:Z/hG8T4XpO@I4T6`VdFkXlZpTJu\5Buq[Is 36.1832 + :pC2Xb=(%tYJpIeYRLGYa#KpOW*HLNn<)G`R\Z7u$f2Mg3!qGgD@BT8NF$O*L\dGn6$(095 36.1833 + iMPBfBWGu'\dhide?kl^]i"8FU)_p\@YRJF%VH,#nq\"7lkT)%99H4QZp+.rB_TmAYlH9\6 36.1834 + P:SrG.Vg;^JqJW<YT;d.?W;=9/HH3(4c`VTOYBng)H3d^ZkZ\n^6j>nEHN1/F&%-b&[X3M3 36.1835 + qiA45QahC7]6g`oH`+Q(^V0LM<X-WGH$@)P)JF?0E*CT):7*+,3$/.!8i\!6r--50T?2Jaa 36.1836 + S`fqI)jEXcd$pqc[=?kI.,G[s3Z6JdX=@-rD1mj=4DY*f6qSiI:q5]J(ad]g3p`jIF$XGhp 36.1837 + )@\AqZ#$!ao&\BAJ!VhL7-=IQuqC2s,Qbk5J`NIZN]ATBH3Wl$g+u";kW!-cH#Qmj,*S8Jc 36.1838 + @Fr6Tgu`r;n%s%i9:?gN8\om_2ZIt.9DO8=?]qgJ4s(uO;$-i3k8qZm1%-l%;!+E1FN*Yem 36.1839 + 66=I+.F@IDeLW*_"BV\rl)3.02dCB*t5pML`A28EUU.larZ&io"KZ7RZRS@DCH,Sif4.]5\ 36.1840 + e+s4PKgVS3B[h>s-C%6$;eabXKgqn;W`<faHGsL(>HV%Ceb]N)`FH2VCt<r%VU]Ij>A_sgK 36.1841 + uW4;IpHEJGMVESGCDbpf2qXk"bX[#E7fP--P_QZ@r^/tH2WPK0s1q1>eXDsS'>Se3W/#l4e 36.1842 + ^;;o\(ldQW'g4CNZ*E?H6?WfPL99?,k?9\)$IrS,N'dHc+44S#^@\-?=oQ+ugQ;(I+bDl?# 36.1843 + )C5/11(g[0334oXVsKWK!j3F72*Vq(,,H[XcNLWANJqL*hMJ&gaFqu2(YC[q8802($f!&+r 36.1844 + U&HopH>T!a^d!QuB_GHaO$Gt0&0atrrgc5k^d/60@`).LG'#`0[;&$c="9ANgBA3.`0!SAi 36.1845 + )TL1;E?*"rgj's]dJSP<aAO"7,081o)L9FjS=(_GUn",(8lD1Y.a$2NIhj]bF9`YdnXQj<b 36.1846 + YoM'1<e30d59*H>hM$[dsU+6Y"+0/!)D"UmQ=9DPkdMhe,99Hb>8Q9(X'kc%m\NA>o?,Ze9 36.1847 + rK2dSubd9%)5&0Xf8^K^hg`6cCiXe5[M\$W(X"\O4b%/Ql-)eU:k.elA8T>1V6;EB-T\S=O 36.1848 + !/"J'UAfN'#KVGM8L;,g"Y%?"iOepX6*g/acDC>.7PZ#&/qh77F@Ps(=Mflm&1Eno80d<+2 36.1849 + G?.jDWf6uV&hH-0aE$(3i@04XGAa+[$fDYf$i)h$,K&G9F&VT+F>8)?:8(Jh`9Gh@jMW3:& 36.1850 + 0oY-phDpVVf`"0u_RHrsP+PCt`iIS\m.!g2=aje;AWsbOREiu&C]J'#DKD9/fuAN4kZT$aU 36.1851 + ?L;pOI>0t2GUogQ!15Rk1OpAWp81'HO+C9`AUk7_a_J4OddE)=_`fM\#Zc<9H1De]'d>;k1 36.1852 + ^akZL$i,h6h0*hYFnSg\l&G:tO50M<ZnJF1^o]?Puc10NT<FRN.]ab3(n"mB@$+mio.[4T< 36.1853 + OKDg^mLaRWqu.OOa,^I4Z8MaosQoK*9sg@j@;ESU:a7g1O7RY%J>GXFEHiqTF\Okoh>>l!! 36.1854 + dRs/AmqGXXplLUGOj6()^e+MpGrh$%PPlAC/\bht2dIdBE?eP.M2E\HZfmX1^qYo"UcMVOt 36.1855 + fD1_T/tA@Z[ncr+d+NrqOd81DYgqXQpO@,S:;?NN!)oZqIukL`^kFiOT.BYgd!cNm(duGPJ 36.1856 + qR9"mLd='<1i)_p2/%7E5N<b$VLUZA.[Dh_Y.gT7gq2)A\K-N\:kLR,XmO3dLr\u,ekNc9o 36.1857 + 6kI9thu3b8[+pMT$JB5Y.cM6f_MhZ$m-0Jn#<6,H4H+V?0-%N<P!bArDdonOB77l.`!4Ej; 36.1858 + JY_l,UqiX#RA030[&LG^&[PHK9C@9U_A:EWTK<JolR/AK:DSYG=qMrOFaZU/(<+67;>&Y]1 36.1859 + o,)I6anop8&&g#(P-QQTRGEaiE+-63o-<[lJO]"jQ82mRtS&C)&nNL>S)20d,,&2>#&AH#< 36.1860 + M_aF'@s0Vml+5;dVW=hm:Cp'1'6\ELB!QW2"TDFreF*DF*7^QR\m.4hRgkoNk>(E1?I%dlX 36.1861 + <r:[Qd\Kr9h;lVk/>tcdrKG&npNK14QInhRX%3)B0&te5*'7VG0_Vq:2!>mRC$:Z;49@3d( 36.1862 + ID5cMbXXb!ekD/-KOFLmgAK;b@A=S!j<Y!]q;ujQ$aS-EaM=\ajG\geA5*1a1AjH.<*I7#c 36.1863 + "np7eHsklqHi(o?k,Qp)j"-"qB,-h(S,"PNuPC*`[TZ<g]jV27d.m49S`WQNe$DbI"6Gc)d 36.1864 + `R>hPgs!RE)Xn;$7e'[)KWWSNb<;;k]d.nD+3BX8`!i<\QB2bjJ<[Lg=2i#PV6AbA;Q*k?5 36.1865 + fXMB!lNDs9oTIR))b"H-+cg>RRO-Zl<GL?:Z)NueY:#.-1!0YXY,nq2PF;KC.oA*m/uG$Mq 36.1866 + [[R\He"q\=IqYn@p9sRQa<M<#1EC#:?d/k-BcVI>1YuSai0%DG1O6%7W!,O]t7&5oU/qX.s 36.1867 + 1&FZ('<TRb8'oEXCREZgmiP;Yl"_$=2&aWS7%ZS#]pK]p,pL*s>uA'nXSl]k"RL#%8C=?D> 36.1868 + @BY_"XP`Zfl/fjslAEkskE6@!.+_fR5lffS0PI,nqBc";("lJ65=@u8aB\F5BKe&=CmmhPR 36.1869 + u(fEn5ANPa+N"*[^G83KgEI8)t,cK@'RGruWm0XU[F7h[X@f]AaRmaM.ptE%26@4`pP`I1. 36.1870 + @gQb;eXH)?_kYE;A@Pa0RrbAlXGPr:;HP)uEa_^tc+<^N!f5U713UT=G97K8!p2+`@4/Do4 36.1871 + %mG9P-Q*^bkZNgkBTc<8iE-bg%KRQN=h."NQ/cQ(IC"GQSrleU*c<\bNR_oWQE/A!#eD!kt 36.1872 + FaHYV$j>])Q/S*JG'rILt.Y*W"dLZ`K#>%'Opm=(C&W5NTj!OT`tIjiQPio,M,\!!;e.h#p 36.1873 + I:Gt)rPThB4&SUUt>cGM`)=mP'W[<AlogGfb:_eCd5pB`a)S!R)k).gUl7g7i+++uJAMb#X 36.1874 + r$/s1gf^DBr?ajY,QEg%5Ds:cF?Nr!@\YCop]sk+'[:7L1$ZmhX,2BGQ'U'J/P%X2=:&*Tc 36.1875 + H<bfbnkt[m<:5Mg06<3FNcW,7-Um7T*Ir+Air(o.9lJeSs6#A%`jAL7lF`1''+Rs>q2QuhA 36.1876 + FD3f]V21u\MNG4Q\"jaL"%i";sJbZ[1nT"c$PGslh=buPFf[UqSr$m)fpE!0'h!!-\_'H*G 36.1877 + G)B;rToLHKU.FAoJ57i;5@9^jA;fp^Y"!4PuUjr6NJ!3j[^g]%HQ;hoPI'X5*0YQh>dfR<? 36.1878 + 8/g,K&3i%nZ]qG'cFIHS<<hYgK"WKls:,=CpF:!MGT`lg!n:\C2Q:B1lP;Y@NDn31n`Et5O 36.1879 + YITi;o"RB?;caDYrYK)ti;Y9q;nb'K&T)=&%R!g'R;SK8j-pGhVGV@nL6t7eFic=rHPh1qo 36.1880 + s)3eqcjp-g&kobSc#E"rEY3,R!c[a&F\&+[I",4%Xrd&k+-:TjbmIf.5apHj3(asJL\@ 36.1881 + )n;L"=9rIBWPd,.fHN^"JTN2:W+`%3o@*MqdPNfDfYgFG4/78;m9(GYZ/ilFTO7_@n2V%a, 36.1882 + LE2KGDk%$ALVCKaN%LQD?48$\d)R/XY.o81)Jcrbk3u#9pDAFt"u&AoPo`X6uTFppP$Y;f> 36.1883 + EWO?P"jE<"p4PL.7^VnTJ&g9>-LrIo"pmOJ*1r$INHe,kg/m^io^n0sIOjA8+mOQ-gb$78U 36.1884 + 7Y9n)q6=CC%1ac,s#S?tU01N1hgeQ6)$aElBd3qr3pD)(f@5+ijk6DAi)]"QZ>75UlM+!J" 36.1885 + DC4iS^0sdP/+=Sb:6MlBp2F4(%]\>[`>*t'LPocj,'OO4!,Sp#YYA"2:$T\jb10-<)Id1\k 36.1886 + pVInfW>Y;e*U9W&N]2Bppt-a#fTFQ`lAo!kgg;h(lQ[cZ&X?)-Q-ZA!0Cn#,&\ANT,M^LMU 36.1887 + ARS;6q3^#d>g<'i2:@WQuP.D$-\7*26j]huJqFe8gSE%Di&6ncl6*4rc<C(Qqs+EF;QG5:+ 36.1888 + `i?>kMB;J@K^UuFmG+j^4D/\ZT@M!smD"d4]P/aEU<`>e5]cr,%5Be%k(Cp<C%r5l&dU1l) 36.1889 + hD'u/O.E=(lEJGq0U70Ma)=a7,n+S6tXXQ"_*-.GQ9rR01cRKCn-ZZNuU1YsTI4FWh,,TE3 36.1890 + noHJgRjJ:0(/k;h`QKURR5"4J<f:S@bb#&JLG@-)X![%nnX0Ilbk<['P`j!+!;SCk^G>q1L 36.1891 + PNgEl#dij!:$m;&X,t+#RN.nE/o[mPJVX3o&BHM`@<'ZCoUg)ZIW!==DUII1*VE37Vm3'65 36.1892 + Qsu&b>BK7ja2$4X:<F3E&F!!Q-b>UGWIV3R_+g^sP%P)CSNs26,ChdI`M6E;\YA2cAifF*d 36.1893 + +-I_7HS5*P:re*\i?l<+^;$SWYe'E:<3"$ffj5a2XA`>LBa[m9R%6'N<Se/q!k,=4d=5r!L 36.1894 + KF>#uq1IG,#6^0Z"_P9GlYZKq48]>m@oM7mi;ajYe7?h!7e+R,XN,[_Ea:qoLe8IhkF%92R 36.1895 + 7u0YNe7.BgY\HX?2fsC;e;m08P=\`?8VRUB&TL%PVaPVt8X)q@['*+:ZV+9,99d"g9H7LuK 36.1896 + 1j_79U*^oeB^i'dT!8B_=Y]@<8UFbj%`S::6b$6F@/gQo1r?[:R(`PeG_U"lr>mu:_a@7eI 36.1897 + PLl'2_aF.*.R#7JAN:),aH^;O&b1eLsQ1*/*m$;\_AmeN["J6W@#,;anY"F[oFH;cQh!<L$ 36.1898 + b^eF?Ph@ocTB<g@H$b=bM0ogVr"=-\,6eUL[9Jpde,@HNrF'dHg\P?CnP=d>IZ`YD4&+Cu9 36.1899 + _0O]B5^dVHBZWf;g(W+ZC<PMa<_@]ef/YIAoe\VGV/du4C%Md`(!+0%6g(O)A>nsXb[I,VH 36.1900 + \R)\J(,btne\PU8`Xu4o>kPr@edl&Oh-;hq"ngt`Q1c.4+tZ*I@[6Wi<VdIgrZ5)k&%4MNT 36.1901 + T`n$d9tn7@3FN7p#7QS8S(pS@Ni!cFt6pC0J0^nA&?o0!0^qo&1s2/&%4#@[T!s,=^j_HA[ 36.1902 + X1((2$utGV-?o>o%<0[WuN:;e:+G@Y'gs<f:=.N\-PK?(g.jFq8;q6#$$S@b&166IfQ]/S_ 36.1903 + _t@Q#fE@4j.?)-n#iCZ)=2+He=b"`1T]D&)qb<[]P"mMr[k??Y@8(?\ttgKdh,>ekW'290W 36.1904 + Yc7LpH?Zinu2=GLMi%:8V>W(&O6SEGEc#M\W@b1cdokd_3#Srb-B/`j,K%2Pcm3Y0P"4q:! 36.1905 + J<tH]g'^u*AUkkH_V,RqJqak*/D"->+\R(s?r!S9G%0'HTKHeP)g>A.;n%,TpORQYC`6B`/ 36.1906 + O>/=f8k2$drli6%6)E]TNcg\UNAiUG@7h&[sfo[/Ug01HXWat\%ZJ+O;+GCB/dsB2pZmu4* 36.1907 + j6HJ'[U5\)\1Rl$J$2I\q1;(\hUorEt/#AXCaIU>(4%?n3'*B/dI?@b$%,D1U^!B/eRsGUn 36.1908 + 1Z0mp?C/GJgi\%RG2[V%ON&E;Gj``[u3fl=N!K&YHSAm%[!]7n7AK>Q.\V!Wo(D0OWPG@K< 36.1909 + N!1%2_Sh7I$;n.E0Q],P.?&6]iAXJW4Qu5j4T8D0>MDo=.B+TiBM0/DrFX%-L#%riq`Hc'. 36.1910 + H(ri7pMY77fm8>AHIoA4pP+qWd>d9kIohk5Q^KP;m<7+cI:CfV\)2MkfnPk/I_sQdf>2r]j 36.1911 + cJV;JjS.Bf@=lnomPGmIKJ,RQaMBRd?=7qHm70l\':,h!`'X;/U0&Qij4m3B7@@")H\#/=< 36.1912 + Wlr?nHVH;n+E55gt8#R?o7'Lq"=W=@JSO87pLqR!$Z/R?*&Rc%otERA/)^->/7Rf8Kk&RY' 36.1913 + (WK^kG^I>nqt4i57/H'sBgdtlo_S0HLRAFH%_du!kB"5(phL8UT:`K4XmNZulBH0QtAmS;E 36.1914 + Q/Xc<2\>>a!rap-DNHJ0![3&>"$5ja?#b!iMg-)3>O=`c_UmaND_)\>.V@-R$#_;ZG_V,RT 36.1915 + A#4^JVLmNL>$7WLX=P8WV]%W*!lq*fl)122V#`TQ>$5`pfqoo%VKuu/RW#*t]rFEK)LAH_H 36.1916 + @@DKK;`3'X+K%6]"b3\'<,/HUtTJginA4[LT3YRWg^&f]!*`S\#Z7VX5M1&2S:W1\.UiXXT 36.1917 + lJ@>,El4f;N^l/GeE?2G9m8l7KU?YCbH03d[m#VCc!UVn33cg4uYS&Z".rY<'4mH@d_?0;s 36.1918 + 4BZ?i@GEBYpWc)$mb/XF#R3kd2WMmN7OZm`\rHE)&,5IBr+/DF1#gK6%R>Ru-`T-D[k>'mU 36.1919 + Xe#/X]UcWT;4*JXGf=0Hu\3er[>D\32fspluVckTM<<WaFGIuVM]UR*WgX!P:1?h>q0H8c[ 36.1920 + gY]^aj1\a\^74H&g[Dlro=nN(^RP,8g],&/"2J.H^mkeJg^h4@'>[oi_42I\g`OBQ,Jm\5_ 36.1921 + ON-ngb6Pb1W*HV_jig+gcr^s6c<5"`10K=geYm/;oN!C`LL/OggA&@A&_bd`gghagi(4QF2 36.1922 + qO0a..LsgjdBbK?.;QaIJ10glKM:!'gSe~>Q 36.1923 +Q 36.1924 +showpage 36.1925 +%%Trailer 36.1926 +count op_count sub {pop} repeat 36.1927 +countdictstack dict_count sub {end} repeat 36.1928 +cairo_eps_state restore 36.1929 +%%EOF
37.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 37.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/VMS-core__internal_workings.svg Fri Sep 13 11:02:18 2013 -0700 37.3 @@ -0,0 +1,1010 @@ 37.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 37.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 37.6 + 37.7 +<svg 37.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 37.9 + xmlns:cc="http://creativecommons.org/ns#" 37.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 37.11 + xmlns:svg="http://www.w3.org/2000/svg" 37.12 + xmlns="http://www.w3.org/2000/svg" 37.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 37.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 37.15 + width="744.09448819" 37.16 + height="1052.3622047" 37.17 + id="svg2" 37.18 + sodipodi:version="0.32" 37.19 + inkscape:version="0.47 r22583" 37.20 + sodipodi:docname="VMS-core__internal_workings.svg" 37.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 37.22 + version="1.1"> 37.23 + <defs 37.24 + id="defs4"> 37.25 + <marker 37.26 + inkscape:stockid="Arrow2Mend" 37.27 + orient="auto" 37.28 + refY="0.0" 37.29 + refX="0.0" 37.30 + id="Arrow2Mend" 37.31 + style="overflow:visible;"> 37.32 + <path 37.33 + id="path3563" 37.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 37.35 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 37.36 + transform="scale(0.6) rotate(180) translate(0,0)" /> 37.37 + </marker> 37.38 + <marker 37.39 + inkscape:stockid="TriangleOutM" 37.40 + orient="auto" 37.41 + refY="0.0" 37.42 + refX="0.0" 37.43 + id="TriangleOutM" 37.44 + style="overflow:visible"> 37.45 + <path 37.46 + id="path3682" 37.47 + d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z " 37.48 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" 37.49 + transform="scale(0.4)" /> 37.50 + </marker> 37.51 + <marker 37.52 + inkscape:stockid="Arrow2Lend" 37.53 + orient="auto" 37.54 + refY="0.0" 37.55 + refX="0.0" 37.56 + id="Arrow2Lend" 37.57 + style="overflow:visible;"> 37.58 + <path 37.59 + id="path3557" 37.60 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 37.61 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 37.62 + transform="scale(1.1) rotate(180) translate(1,0)" /> 37.63 + </marker> 37.64 + <marker 37.65 + inkscape:stockid="Arrow1Mstart" 37.66 + orient="auto" 37.67 + refY="0.0" 37.68 + refX="0.0" 37.69 + id="Arrow1Mstart" 37.70 + style="overflow:visible"> 37.71 + <path 37.72 + id="path3542" 37.73 + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " 37.74 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" 37.75 + transform="scale(0.4) translate(10,0)" /> 37.76 + </marker> 37.77 + <marker 37.78 + inkscape:stockid="Arrow1Lend" 37.79 + orient="auto" 37.80 + refY="0.0" 37.81 + refX="0.0" 37.82 + id="Arrow1Lend" 37.83 + style="overflow:visible;"> 37.84 + <path 37.85 + id="path3539" 37.86 + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " 37.87 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;" 37.88 + transform="scale(0.8) rotate(180) translate(12.5,0)" /> 37.89 + </marker> 37.90 + <marker 37.91 + inkscape:stockid="Arrow1Lstart" 37.92 + orient="auto" 37.93 + refY="0.0" 37.94 + refX="0.0" 37.95 + id="Arrow1Lstart" 37.96 + style="overflow:visible"> 37.97 + <path 37.98 + id="path3536" 37.99 + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " 37.100 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" 37.101 + transform="scale(0.8) translate(12.5,0)" /> 37.102 + </marker> 37.103 + <inkscape:perspective 37.104 + sodipodi:type="inkscape:persp3d" 37.105 + inkscape:vp_x="0 : 526.18109 : 1" 37.106 + inkscape:vp_y="0 : 1000 : 0" 37.107 + inkscape:vp_z="744.09448 : 526.18109 : 1" 37.108 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 37.109 + id="perspective10" /> 37.110 + <inkscape:perspective 37.111 + id="perspective4311" 37.112 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 37.113 + inkscape:vp_z="1 : 0.5 : 1" 37.114 + inkscape:vp_y="0 : 1000 : 0" 37.115 + inkscape:vp_x="0 : 0.5 : 1" 37.116 + sodipodi:type="inkscape:persp3d" /> 37.117 + <inkscape:perspective 37.118 + id="perspective4336" 37.119 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 37.120 + inkscape:vp_z="1 : 0.5 : 1" 37.121 + inkscape:vp_y="0 : 1000 : 0" 37.122 + inkscape:vp_x="0 : 0.5 : 1" 37.123 + sodipodi:type="inkscape:persp3d" /> 37.124 + <inkscape:perspective 37.125 + id="perspective4365" 37.126 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 37.127 + inkscape:vp_z="1 : 0.5 : 1" 37.128 + inkscape:vp_y="0 : 1000 : 0" 37.129 + inkscape:vp_x="0 : 0.5 : 1" 37.130 + sodipodi:type="inkscape:persp3d" /> 37.131 + <marker 37.132 + inkscape:stockid="Arrow2Mend" 37.133 + orient="auto" 37.134 + refY="0" 37.135 + refX="0" 37.136 + id="Arrow2Mend-9" 37.137 + style="overflow:visible"> 37.138 + <path 37.139 + id="path3563-4" 37.140 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 37.141 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 37.142 + transform="scale(-0.6,-0.6)" /> 37.143 + </marker> 37.144 + <inkscape:perspective 37.145 + id="perspective4423" 37.146 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 37.147 + inkscape:vp_z="1 : 0.5 : 1" 37.148 + inkscape:vp_y="0 : 1000 : 0" 37.149 + inkscape:vp_x="0 : 0.5 : 1" 37.150 + sodipodi:type="inkscape:persp3d" /> 37.151 + <marker 37.152 + inkscape:stockid="Arrow2Mend" 37.153 + orient="auto" 37.154 + refY="0" 37.155 + refX="0" 37.156 + id="Arrow2Mend-8" 37.157 + style="overflow:visible"> 37.158 + <path 37.159 + id="path3563-2" 37.160 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 37.161 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 37.162 + transform="scale(-0.6,-0.6)" /> 37.163 + </marker> 37.164 + <inkscape:perspective 37.165 + id="perspective4461" 37.166 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 37.167 + inkscape:vp_z="1 : 0.5 : 1" 37.168 + inkscape:vp_y="0 : 1000 : 0" 37.169 + inkscape:vp_x="0 : 0.5 : 1" 37.170 + sodipodi:type="inkscape:persp3d" /> 37.171 + <inkscape:perspective 37.172 + id="perspective14081" 37.173 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 37.174 + inkscape:vp_z="1 : 0.5 : 1" 37.175 + inkscape:vp_y="0 : 1000 : 0" 37.176 + inkscape:vp_x="0 : 0.5 : 1" 37.177 + sodipodi:type="inkscape:persp3d" /> 37.178 + <inkscape:perspective 37.179 + id="perspective14206" 37.180 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 37.181 + inkscape:vp_z="1 : 0.5 : 1" 37.182 + inkscape:vp_y="0 : 1000 : 0" 37.183 + inkscape:vp_x="0 : 0.5 : 1" 37.184 + sodipodi:type="inkscape:persp3d" /> 37.185 + <inkscape:perspective 37.186 + id="perspective14299" 37.187 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 37.188 + inkscape:vp_z="1 : 0.5 : 1" 37.189 + inkscape:vp_y="0 : 1000 : 0" 37.190 + inkscape:vp_x="0 : 0.5 : 1" 37.191 + sodipodi:type="inkscape:persp3d" /> 37.192 + <inkscape:perspective 37.193 + id="perspective3233" 37.194 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 37.195 + inkscape:vp_z="1 : 0.5 : 1" 37.196 + inkscape:vp_y="0 : 1000 : 0" 37.197 + inkscape:vp_x="0 : 0.5 : 1" 37.198 + sodipodi:type="inkscape:persp3d" /> 37.199 + <marker 37.200 + inkscape:stockid="Arrow2Mend" 37.201 + orient="auto" 37.202 + refY="0" 37.203 + refX="0" 37.204 + id="Arrow2Mend-8-1" 37.205 + style="overflow:visible"> 37.206 + <path 37.207 + id="path3563-2-7" 37.208 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 37.209 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 37.210 + transform="scale(-0.6,-0.6)" /> 37.211 + </marker> 37.212 + <marker 37.213 + inkscape:stockid="Arrow2Mend" 37.214 + orient="auto" 37.215 + refY="0" 37.216 + refX="0" 37.217 + id="marker3239" 37.218 + style="overflow:visible"> 37.219 + <path 37.220 + id="path3241" 37.221 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 37.222 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 37.223 + transform="scale(-0.6,-0.6)" /> 37.224 + </marker> 37.225 + <inkscape:perspective 37.226 + id="perspective3353" 37.227 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 37.228 + inkscape:vp_z="1 : 0.5 : 1" 37.229 + inkscape:vp_y="0 : 1000 : 0" 37.230 + inkscape:vp_x="0 : 0.5 : 1" 37.231 + sodipodi:type="inkscape:persp3d" /> 37.232 + <inkscape:perspective 37.233 + id="perspective3447" 37.234 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 37.235 + inkscape:vp_z="1 : 0.5 : 1" 37.236 + inkscape:vp_y="0 : 1000 : 0" 37.237 + inkscape:vp_x="0 : 0.5 : 1" 37.238 + sodipodi:type="inkscape:persp3d" /> 37.239 + <marker 37.240 + inkscape:stockid="Arrow2Mend" 37.241 + orient="auto" 37.242 + refY="0" 37.243 + refX="0" 37.244 + id="Arrow2Mend-8-5" 37.245 + style="overflow:visible"> 37.246 + <path 37.247 + id="path3563-2-5" 37.248 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 37.249 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 37.250 + transform="scale(-0.6,-0.6)" /> 37.251 + </marker> 37.252 + <marker 37.253 + inkscape:stockid="Arrow2Mend" 37.254 + orient="auto" 37.255 + refY="0" 37.256 + refX="0" 37.257 + id="marker3453" 37.258 + style="overflow:visible"> 37.259 + <path 37.260 + id="path3455" 37.261 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 37.262 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 37.263 + transform="scale(-0.6,-0.6)" /> 37.264 + </marker> 37.265 + <inkscape:perspective 37.266 + id="perspective4753" 37.267 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 37.268 + inkscape:vp_z="1 : 0.5 : 1" 37.269 + inkscape:vp_y="0 : 1000 : 0" 37.270 + inkscape:vp_x="0 : 0.5 : 1" 37.271 + sodipodi:type="inkscape:persp3d" /> 37.272 + <marker 37.273 + inkscape:stockid="Arrow2Mend" 37.274 + orient="auto" 37.275 + refY="0" 37.276 + refX="0" 37.277 + id="Arrow2Mend-8-12" 37.278 + style="overflow:visible"> 37.279 + <path 37.280 + id="path3563-2-3" 37.281 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 37.282 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 37.283 + transform="scale(-0.6,-0.6)" /> 37.284 + </marker> 37.285 + <inkscape:perspective 37.286 + id="perspective4850" 37.287 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 37.288 + inkscape:vp_z="1 : 0.5 : 1" 37.289 + inkscape:vp_y="0 : 1000 : 0" 37.290 + inkscape:vp_x="0 : 0.5 : 1" 37.291 + sodipodi:type="inkscape:persp3d" /> 37.292 + <marker 37.293 + inkscape:stockid="Arrow2Mend" 37.294 + orient="auto" 37.295 + refY="0" 37.296 + refX="0" 37.297 + id="Arrow2Mend-8-8" 37.298 + style="overflow:visible"> 37.299 + <path 37.300 + id="path3563-2-74" 37.301 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 37.302 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 37.303 + transform="scale(-0.6,-0.6)" /> 37.304 + </marker> 37.305 + <inkscape:perspective 37.306 + id="perspective4850-7" 37.307 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 37.308 + inkscape:vp_z="1 : 0.5 : 1" 37.309 + inkscape:vp_y="0 : 1000 : 0" 37.310 + inkscape:vp_x="0 : 0.5 : 1" 37.311 + sodipodi:type="inkscape:persp3d" /> 37.312 + <marker 37.313 + inkscape:stockid="Arrow2Mend" 37.314 + orient="auto" 37.315 + refY="0" 37.316 + refX="0" 37.317 + id="Arrow2Mend-8-7" 37.318 + style="overflow:visible"> 37.319 + <path 37.320 + id="path3563-2-9" 37.321 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 37.322 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 37.323 + transform="scale(-0.6,-0.6)" /> 37.324 + </marker> 37.325 + <inkscape:perspective 37.326 + id="perspective4914" 37.327 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 37.328 + inkscape:vp_z="1 : 0.5 : 1" 37.329 + inkscape:vp_y="0 : 1000 : 0" 37.330 + inkscape:vp_x="0 : 0.5 : 1" 37.331 + sodipodi:type="inkscape:persp3d" /> 37.332 + <inkscape:perspective 37.333 + id="perspective4946" 37.334 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 37.335 + inkscape:vp_z="1 : 0.5 : 1" 37.336 + inkscape:vp_y="0 : 1000 : 0" 37.337 + inkscape:vp_x="0 : 0.5 : 1" 37.338 + sodipodi:type="inkscape:persp3d" /> 37.339 + </defs> 37.340 + <sodipodi:namedview 37.341 + id="base" 37.342 + pagecolor="#ffffff" 37.343 + bordercolor="#666666" 37.344 + borderopacity="1.0" 37.345 + gridtolerance="10000" 37.346 + guidetolerance="10" 37.347 + objecttolerance="10" 37.348 + inkscape:pageopacity="0.0" 37.349 + inkscape:pageshadow="2" 37.350 + inkscape:zoom="2.34" 37.351 + inkscape:cx="470.48905" 37.352 + inkscape:cy="738.60096" 37.353 + inkscape:document-units="px" 37.354 + inkscape:current-layer="layer1" 37.355 + showgrid="false" 37.356 + inkscape:window-width="1585" 37.357 + inkscape:window-height="1135" 37.358 + inkscape:window-x="239" 37.359 + inkscape:window-y="0" 37.360 + inkscape:window-maximized="0" /> 37.361 + <metadata 37.362 + id="metadata7"> 37.363 + <rdf:RDF> 37.364 + <cc:Work 37.365 + rdf:about=""> 37.366 + <dc:format>image/svg+xml</dc:format> 37.367 + <dc:type 37.368 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 37.369 + <dc:title /> 37.370 + </cc:Work> 37.371 + </rdf:RDF> 37.372 + </metadata> 37.373 + <g 37.374 + inkscape:label="Layer 1" 37.375 + inkscape:groupmode="layer" 37.376 + id="layer1"> 37.377 + <text 37.378 + xml:space="preserve" 37.379 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.60163802;stroke-opacity:1;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 37.380 + x="441.66748" 37.381 + y="404.66492" 37.382 + id="text8002" 37.383 + sodipodi:linespacing="100%"><tspan 37.384 + sodipodi:role="line" 37.385 + x="441.66748" 37.386 + y="404.66492" 37.387 + style="font-size:8px" 37.388 + id="tspan12172" /></text> 37.389 + <text 37.390 + xml:space="preserve" 37.391 + style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 37.392 + x="435.16418" 37.393 + y="244.9225" 37.394 + id="text5831"><tspan 37.395 + sodipodi:role="line" 37.396 + id="tspan5833" 37.397 + x="435.16418" 37.398 + y="244.9225"><tspan 37.399 + style="fill:#159415;fill-opacity:1" 37.400 + id="tspan5843">Green</tspan> = VMS-core</tspan></text> 37.401 + <text 37.402 + id="text5835" 37.403 + y="245.02016" 37.404 + x="530.34119" 37.405 + style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 37.406 + xml:space="preserve"><tspan 37.407 + y="245.02016" 37.408 + x="530.34119" 37.409 + id="tspan5837" 37.410 + sodipodi:role="line"><tspan 37.411 + style="fill:#0303b8;fill-opacity:1" 37.412 + id="tspan5845">Blue</tspan> = application</tspan></text> 37.413 + <text 37.414 + xml:space="preserve" 37.415 + style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 37.416 + x="360.28989" 37.417 + y="245.02016" 37.418 + id="text5839"><tspan 37.419 + sodipodi:role="line" 37.420 + id="tspan5841" 37.421 + x="360.28989" 37.422 + y="245.02016"><tspan 37.423 + style="fill:#960a0a;fill-opacity:1" 37.424 + id="tspan5847">Red</tspan> = plug-in</tspan></text> 37.425 + <text 37.426 + xml:space="preserve" 37.427 + style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 37.428 + x="368.25397" 37.429 + y="405.27225" 37.430 + id="text5849"><tspan 37.431 + sodipodi:role="line" 37.432 + id="tspan5851" 37.433 + x="368.25397" 37.434 + y="405.27225" /></text> 37.435 + <path 37.436 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.50000001, 0.50000001;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)" 37.437 + d="M 289.73631,397.76803 C 263.95998,384.0618 244.9124,373.07853 244.9124,373.07853" 37.438 + id="path6066-9-4" 37.439 + sodipodi:nodetypes="cc" /> 37.440 + <rect 37.441 + y="231.42043" 37.442 + x="157.23335" 37.443 + height="194.79402" 37.444 + width="457.79532" 37.445 + id="rect18326-3" 37.446 + style="opacity:0.3142857;fill:none;stroke:#000000;stroke-width:0.09999995;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.39999999, 0.39999999;stroke-dashoffset:0" /> 37.447 + <path 37.448 + sodipodi:nodetypes="cc" 37.449 + id="path3602" 37.450 + d="m 261.4119,372.41344 c 26.46687,13.70623 46.02474,24.6895 46.02474,24.6895" 37.451 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.5, 0.5;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)" /> 37.452 + <g 37.453 + id="g3232" 37.454 + transform="translate(0,-1.1337509)"> 37.455 + <rect 37.456 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 37.457 + id="rect3614" 37.458 + width="131.25447" 37.459 + height="68.687347" 37.460 + x="352.18222" 37.461 + y="309.504" /> 37.462 + <text 37.463 + sodipodi:linespacing="100%" 37.464 + id="text3639" 37.465 + y="318.80692" 37.466 + x="417.67981" 37.467 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 37.468 + xml:space="preserve"><tspan 37.469 + y="318.80692" 37.470 + x="417.67981" 37.471 + sodipodi:role="line" 37.472 + id="tspan3641" 37.473 + style="font-size:9px;text-align:center;text-anchor:middle">Physical-Core Controller</tspan><tspan 37.474 + id="tspan3661" 37.475 + y="327.80692" 37.476 + x="417.67981" 37.477 + sodipodi:role="line" 37.478 + style="font-size:9px;text-align:center;text-anchor:middle">(pthread)</tspan></text> 37.479 + <g 37.480 + transform="translate(69.355022,-312.20049)" 37.481 + id="g3647"> 37.482 + <rect 37.483 + style="fill:none;stroke:#159415;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4.32072499, 4.32072499;stroke-dashoffset:0" 37.484 + id="rect3649" 37.485 + width="61.691765" 37.486 + height="16.01606" 37.487 + x="317.60855" 37.488 + y="667.70459" /> 37.489 + <text 37.490 + sodipodi:linespacing="100%" 37.491 + id="text3651" 37.492 + y="678.71558" 37.493 + x="347.65115" 37.494 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 37.495 + xml:space="preserve"><tspan 37.496 + y="678.71558" 37.497 + x="347.65115" 37.498 + sodipodi:role="line" 37.499 + id="tspan3653" 37.500 + style="font-size:9px;text-align:center;text-anchor:middle">core_loop</tspan></text> 37.501 + </g> 37.502 + </g> 37.503 + <path 37.504 + sodipodi:nodetypes="cc" 37.505 + id="path3655" 37.506 + d="M 318.49369,397.76803 C 357.52667,383.08168 386.37044,371.313 386.37044,371.313" 37.507 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.49999999, 0.49999999;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)" /> 37.508 + <g 37.509 + id="g3242" 37.510 + transform="translate(0,-1.1337509)"> 37.511 + <rect 37.512 + y="309.504" 37.513 + x="532.18225" 37.514 + height="68.687347" 37.515 + width="78.674728" 37.516 + id="rect4725" 37.517 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 37.518 + <text 37.519 + xml:space="preserve" 37.520 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 37.521 + x="571.67981" 37.522 + y="322.80692" 37.523 + id="text4727" 37.524 + sodipodi:linespacing="100%"><tspan 37.525 + style="font-size:9px;text-align:center;text-anchor:middle" 37.526 + sodipodi:role="line" 37.527 + x="571.67981" 37.528 + y="322.80692" 37.529 + id="tspan4731">slaveVP</tspan></text> 37.530 + <g 37.531 + transform="translate(230.36868,-317.52206)" 37.532 + id="g4733"> 37.533 + <rect 37.534 + y="673.02618" 37.535 + x="316.63855" 37.536 + height="16.01606" 37.537 + width="47.791374" 37.538 + id="rect4737" 37.539 + style="fill:none;stroke:#0303b8;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4.320725, 4.320725;stroke-dashoffset:0" /> 37.540 + <text 37.541 + xml:space="preserve" 37.542 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 37.543 + x="340.63751" 37.544 + y="684.03717" 37.545 + id="text4739" 37.546 + sodipodi:linespacing="100%"><tspan 37.547 + style="font-size:9px;text-align:center;text-anchor:middle" 37.548 + id="tspan4741" 37.549 + sodipodi:role="line" 37.550 + x="340.63751" 37.551 + y="684.03717">top_VP_fn</tspan></text> 37.552 + </g> 37.553 + </g> 37.554 + <g 37.555 + id="g5001" 37.556 + transform="translate(-104.17459,-375.52206)"> 37.557 + <text 37.558 + sodipodi:linespacing="100%" 37.559 + id="text4834" 37.560 + y="619.79431" 37.561 + x="339.56277" 37.562 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 37.563 + xml:space="preserve"><tspan 37.564 + y="619.79431" 37.565 + x="339.56277" 37.566 + sodipodi:role="line" 37.567 + id="tspan4836" 37.568 + style="font-size:9px;text-align:center;text-anchor:middle">Shared Parallelism-Semantic State</tspan><tspan 37.569 + id="tspan4838" 37.570 + y="628.79431" 37.571 + x="339.56277" 37.572 + sodipodi:role="line" 37.573 + style="font-size:9px;text-align:center;text-anchor:middle" /></text> 37.574 + <rect 37.575 + style="fill:none;stroke:#960a0a;stroke-width:1.07999992;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4.32000008, 4.32000008;stroke-dashoffset:0" 37.576 + id="rect4840" 37.577 + width="149.25206" 37.578 + height="12.695431" 37.579 + x="264.97189" 37.580 + y="610.18365" /> 37.581 + </g> 37.582 + <path 37.583 + sodipodi:nodetypes="cc" 37.584 + id="path4883" 37.585 + d="m 205.94834,249.27344 c -0.0417,34.47629 -0.0725,62.1034 -0.0725,62.1034" 37.586 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.49999999, 0.49999999;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)" /> 37.587 + <path 37.588 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.49999999, 0.49999999;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)" 37.589 + d="m 193.94834,311.61326 c -0.0417,-34.47628 -0.0725,-62.10333 -0.0725,-62.10333" 37.590 + id="path4885" 37.591 + sodipodi:nodetypes="cc" /> 37.592 + <path 37.593 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)" 37.594 + d="m 530.74391,361.79676 c -25.49902,0.002 -44.34169,0.004 -44.34169,0.004" 37.595 + id="path4902" 37.596 + sodipodi:nodetypes="cc" /> 37.597 + <path 37.598 + sodipodi:nodetypes="cc" 37.599 + id="path4904" 37.600 + d="m 485.57785,337.79676 c 25.49902,0.002 44.34169,0.004 44.34169,0.004" 37.601 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)" /> 37.602 + <text 37.603 + xml:space="preserve" 37.604 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 37.605 + x="508.8573" 37.606 + y="335.07925" 37.607 + id="text4721-1" 37.608 + sodipodi:linespacing="100%"><tspan 37.609 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#159415;fill-opacity:1" 37.610 + id="tspan4723-9" 37.611 + sodipodi:role="line" 37.612 + x="508.8573" 37.613 + y="335.07925">Switch VPs</tspan></text> 37.614 + <text 37.615 + sodipodi:linespacing="100%" 37.616 + id="text4931" 37.617 + y="359.07925" 37.618 + x="508.8573" 37.619 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 37.620 + xml:space="preserve"><tspan 37.621 + y="359.07925" 37.622 + x="508.8573" 37.623 + sodipodi:role="line" 37.624 + id="tspan4933" 37.625 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#159415;fill-opacity:1">Switch VPs</tspan></text> 37.626 + <g 37.627 + id="g4969" 37.628 + transform="translate(-12.174591,-319.52206)"> 37.629 + <path 37.630 + id="path17769-7" 37.631 + d="m 288.45515,727.81832 c 41.78708,0 41.78708,0 41.78708,0" 37.632 + style="fill:none;stroke:#159415;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" /> 37.633 + <text 37.634 + sodipodi:linespacing="100%" 37.635 + id="text17771-1" 37.636 + y="737.88684" 37.637 + x="288.42194" 37.638 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 37.639 + xml:space="preserve"><tspan 37.640 + style="font-size:9px" 37.641 + y="737.88684" 37.642 + x="288.42194" 37.643 + id="tspan17773-1" 37.644 + sodipodi:role="line">schedSlot</tspan></text> 37.645 + <path 37.646 + style="fill:none;stroke:#159415;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" 37.647 + d="m 348.45515,727.81832 c 41.78708,0 41.78708,0 41.78708,0" 37.648 + id="path17775-5" /> 37.649 + <text 37.650 + xml:space="preserve" 37.651 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 37.652 + x="348.42194" 37.653 + y="737.88684" 37.654 + id="text17777-2" 37.655 + sodipodi:linespacing="100%"><tspan 37.656 + sodipodi:role="line" 37.657 + id="tspan17779-7" 37.658 + x="348.42194" 37.659 + y="737.88684" 37.660 + style="font-size:9px">schedSlot</tspan></text> 37.661 + <text 37.662 + xml:space="preserve" 37.663 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 37.664 + x="286.49493" 37.665 + y="724.40527" 37.666 + id="text17771-1-8" 37.667 + sodipodi:linespacing="100%"><tspan 37.668 + sodipodi:role="line" 37.669 + id="tspan17773-1-6" 37.670 + x="286.49493" 37.671 + y="724.40527" 37.672 + style="font-size:9px">slaveVP ptr</tspan></text> 37.673 + </g> 37.674 + <rect 37.675 + y="262.49448" 37.676 + x="163.84431" 37.677 + height="161.39378" 37.678 + width="329.44443" 37.679 + id="rect4979" 37.680 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1.08018125, 6.48108746;stroke-dashoffset:0" /> 37.681 + <text 37.682 + xml:space="preserve" 37.683 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 37.684 + x="396.57816" 37.685 + y="273.16141" 37.686 + id="text4981" 37.687 + sodipodi:linespacing="100%"><tspan 37.688 + style="font-size:9px;text-align:center;text-anchor:middle" 37.689 + id="tspan4983" 37.690 + sodipodi:role="line" 37.691 + x="396.57816" 37.692 + y="273.16141">Repeated for each physical core</tspan></text> 37.693 + <text 37.694 + xml:space="preserve" 37.695 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 37.696 + x="263.94568" 37.697 + y="390.80692" 37.698 + id="text3911" 37.699 + sodipodi:linespacing="100%"><tspan 37.700 + style="font-size:9px;text-align:center;text-anchor:middle" 37.701 + id="tspan3913" 37.702 + sodipodi:role="line" 37.703 + x="263.94568" 37.704 + y="390.80692">1</tspan></text> 37.705 + <g 37.706 + id="g3195"> 37.707 + <rect 37.708 + y="271.504" 37.709 + x="172.18222" 37.710 + height="105.5536" 37.711 + width="131.25447" 37.712 + id="rect17981-6" 37.713 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 37.714 + <g 37.715 + transform="translate(-104.75363,-307.52206)" 37.716 + id="g3590"> 37.717 + <g 37.718 + transform="translate(-109.01365,39.321571)" 37.719 + id="g18019-8"> 37.720 + <text 37.721 + xml:space="preserve" 37.722 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 37.723 + x="419.38776" 37.724 + y="590.22229" 37.725 + id="text17967-5" 37.726 + sodipodi:linespacing="100%"><tspan 37.727 + style="font-size:9px;text-align:center;text-anchor:middle" 37.728 + id="tspan17969-7" 37.729 + sodipodi:role="line" 37.730 + x="419.38776" 37.731 + y="590.22229">comm_</tspan><tspan 37.732 + style="font-size:9px;text-align:center;text-anchor:middle" 37.733 + sodipodi:role="line" 37.734 + x="419.38776" 37.735 + y="599.22229" 37.736 + id="tspan17971-6">handler_fn</tspan></text> 37.737 + <rect 37.738 + y="580.86206" 37.739 + x="395.11298" 37.740 + height="22.365267" 37.741 + width="48.927513" 37.742 + id="rect17973-1" 37.743 + style="fill:none;stroke:#960a0a;stroke-width:1.08000004;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4.32, 4.32;stroke-dashoffset:0" /> 37.744 + </g> 37.745 + <g 37.746 + id="g3604" 37.747 + transform="translate(-45.01365,39.321571)"> 37.748 + <text 37.749 + sodipodi:linespacing="100%" 37.750 + id="text3606" 37.751 + y="590.22229" 37.752 + x="419.38776" 37.753 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 37.754 + xml:space="preserve"><tspan 37.755 + y="590.22229" 37.756 + x="419.38776" 37.757 + sodipodi:role="line" 37.758 + id="tspan3608" 37.759 + style="font-size:9px;text-align:center;text-anchor:middle">scheduler_</tspan><tspan 37.760 + id="tspan3610" 37.761 + y="599.22229" 37.762 + x="419.38776" 37.763 + sodipodi:role="line" 37.764 + style="font-size:9px;text-align:center;text-anchor:middle">fn</tspan></text> 37.765 + <rect 37.766 + style="fill:none;stroke:#960a0a;stroke-width:1.08000004;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4.32, 4.32;stroke-dashoffset:0" 37.767 + id="rect3612" 37.768 + width="48.927513" 37.769 + height="22.365267" 37.770 + x="395.11298" 37.771 + y="580.86206" /> 37.772 + </g> 37.773 + </g> 37.774 + <text 37.775 + xml:space="preserve" 37.776 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 37.777 + x="237.94568" 37.778 + y="280.80692" 37.779 + id="text17977-3-5" 37.780 + sodipodi:linespacing="100%"><tspan 37.781 + style="font-size:9px;text-align:center;text-anchor:middle" 37.782 + id="tspan17979-3-4" 37.783 + sodipodi:role="line" 37.784 + x="237.94568" 37.785 + y="280.80692">localMasterVP</tspan></text> 37.786 + <g 37.787 + transform="translate(-103.63132,-319.52206)" 37.788 + id="g3580"> 37.789 + <path 37.790 + sodipodi:nodetypes="cc" 37.791 + id="path18292-2" 37.792 + d="m 317.62527,671.29009 c -5.09448,-8.49068 -8.85909,-15.29455 -8.85909,-15.29455" 37.793 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.5, 0.5;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)" /> 37.794 + <g 37.795 + transform="translate(-7.0136518,5.3215684)" 37.796 + id="g17983-3"> 37.797 + <rect 37.798 + style="fill:none;stroke:#159415;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4.32072499, 4.32072499;stroke-dashoffset:0" 37.799 + id="rect17975-2" 37.800 + width="61.691765" 37.801 + height="16.01606" 37.802 + x="317.60855" 37.803 + y="667.70459" /> 37.804 + <text 37.805 + sodipodi:linespacing="100%" 37.806 + id="text17977-2" 37.807 + y="678.71558" 37.808 + x="347.65115" 37.809 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 37.810 + xml:space="preserve"><tspan 37.811 + y="678.71558" 37.812 + x="347.65115" 37.813 + sodipodi:role="line" 37.814 + id="tspan17979-1" 37.815 + style="font-size:9px;text-align:center;text-anchor:middle">master_loop</tspan></text> 37.816 + </g> 37.817 + <path 37.818 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.5, 0.5;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)" 37.819 + d="m 374.32675,655.55365 c -5.09448,8.49068 -8.85909,15.29455 -8.85909,15.29455" 37.820 + id="path3578" 37.821 + sodipodi:nodetypes="cc" /> 37.822 + </g> 37.823 + <text 37.824 + xml:space="preserve" 37.825 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 37.826 + x="269.62048" 37.827 + y="298.02182" 37.828 + id="text4821" 37.829 + sodipodi:linespacing="100%"><tspan 37.830 + style="font-size:9px;text-align:center;text-anchor:middle" 37.831 + id="tspan4823" 37.832 + sodipodi:role="line" 37.833 + x="269.62048" 37.834 + y="298.02182">readyQ</tspan><tspan 37.835 + style="font-size:9px;text-align:center;text-anchor:middle" 37.836 + sodipodi:role="line" 37.837 + x="269.62048" 37.838 + y="307.02182" 37.839 + id="tspan4825" /></text> 37.840 + <rect 37.841 + y="288.66159" 37.842 + x="245.3457" 37.843 + height="12.695431" 37.844 + width="48.927513" 37.845 + id="rect4827" 37.846 + style="fill:none;stroke:#960a0a;stroke-width:1.08000004;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4.32000001, 4.32000001;stroke-dashoffset:0" /> 37.847 + <path 37.848 + sodipodi:nodetypes="cc" 37.849 + id="path3576-2" 37.850 + d="m 227.16268,311.46504 c 9.78768,-7.86986 17.02037,-14.17623 17.02037,-14.17623" 37.851 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.49999999, 0.49999999;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)" /> 37.852 + <path 37.853 + sodipodi:nodetypes="cc" 37.854 + id="path3576-3" 37.855 + d="m 271.94834,302.4222 c -0.0417,4.62441 -0.0725,8.33012 -0.0725,8.33012" 37.856 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.49999998, 0.49999998;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)" /> 37.857 + <text 37.858 + xml:space="preserve" 37.859 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 37.860 + x="201.94568" 37.861 + y="348.80692" 37.862 + id="text3915" 37.863 + sodipodi:linespacing="100%"><tspan 37.864 + style="font-size:9px;text-align:center;text-anchor:middle" 37.865 + id="tspan3917" 37.866 + sodipodi:role="line" 37.867 + x="201.94568" 37.868 + y="348.80692">2</tspan></text> 37.869 + <text 37.870 + sodipodi:linespacing="100%" 37.871 + id="text3919" 37.872 + y="294.80692" 37.873 + x="199.94568" 37.874 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 37.875 + xml:space="preserve"><tspan 37.876 + y="294.80692" 37.877 + x="199.94568" 37.878 + sodipodi:role="line" 37.879 + id="tspan3921" 37.880 + style="font-size:9px;text-align:center;text-anchor:middle">3</tspan></text> 37.881 + <text 37.882 + xml:space="preserve" 37.883 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 37.884 + x="231.94568" 37.885 + y="302.80692" 37.886 + id="text3923" 37.887 + sodipodi:linespacing="100%"><tspan 37.888 + style="font-size:9px;text-align:center;text-anchor:middle" 37.889 + id="tspan3925" 37.890 + sodipodi:role="line" 37.891 + x="231.94568" 37.892 + y="302.80692">4</tspan></text> 37.893 + <text 37.894 + xml:space="preserve" 37.895 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 37.896 + x="261.94568" 37.897 + y="344.80692" 37.898 + id="text3931" 37.899 + sodipodi:linespacing="100%"><tspan 37.900 + style="font-size:9px;text-align:center;text-anchor:middle" 37.901 + id="tspan3933" 37.902 + sodipodi:role="line" 37.903 + x="261.94568" 37.904 + y="344.80692">5</tspan></text> 37.905 + </g> 37.906 + <text 37.907 + xml:space="preserve" 37.908 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 37.909 + x="297.94568" 37.910 + y="390.80692" 37.911 + id="text3935" 37.912 + sodipodi:linespacing="100%"><tspan 37.913 + style="font-size:9px;text-align:center;text-anchor:middle" 37.914 + id="tspan3937" 37.915 + sodipodi:role="line" 37.916 + x="297.94568" 37.917 + y="390.80692">6</tspan></text> 37.918 + <text 37.919 + sodipodi:linespacing="100%" 37.920 + id="text3939" 37.921 + y="390.80692" 37.922 + x="355.94568" 37.923 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 37.924 + xml:space="preserve"><tspan 37.925 + y="390.80692" 37.926 + x="355.94568" 37.927 + sodipodi:role="line" 37.928 + id="tspan3941" 37.929 + style="font-size:9px;text-align:center;text-anchor:middle">8</tspan></text> 37.930 + <text 37.931 + xml:space="preserve" 37.932 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 37.933 + x="503.94568" 37.934 + y="326.80692" 37.935 + id="text3951" 37.936 + sodipodi:linespacing="100%"><tspan 37.937 + style="font-size:9px;text-align:center;text-anchor:middle" 37.938 + id="tspan3953" 37.939 + sodipodi:role="line" 37.940 + x="503.94568" 37.941 + y="326.80692">9</tspan></text> 37.942 + <text 37.943 + sodipodi:linespacing="100%" 37.944 + id="text3955" 37.945 + y="350.80692" 37.946 + x="503.94568" 37.947 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 37.948 + xml:space="preserve"><tspan 37.949 + y="350.80692" 37.950 + x="503.94568" 37.951 + sodipodi:role="line" 37.952 + id="tspan3957" 37.953 + style="font-size:9px;text-align:center;text-anchor:middle">10</tspan></text> 37.954 + <path 37.955 + sodipodi:nodetypes="cc" 37.956 + id="path3175" 37.957 + d="m 350.74391,361.79676 c -25.49902,0.002 -44.34169,0.004 -44.34169,0.004" 37.958 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)" /> 37.959 + <path 37.960 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)" 37.961 + d="m 305.57785,337.79676 c 25.49902,0.002 44.34169,0.004 44.34169,0.004" 37.962 + id="path3177" 37.963 + sodipodi:nodetypes="cc" /> 37.964 + <text 37.965 + sodipodi:linespacing="100%" 37.966 + id="text3179" 37.967 + y="335.07925" 37.968 + x="328.8573" 37.969 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 37.970 + xml:space="preserve"><tspan 37.971 + y="335.07925" 37.972 + x="328.8573" 37.973 + sodipodi:role="line" 37.974 + id="tspan3181" 37.975 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#159415;fill-opacity:1">Switch VPs</tspan></text> 37.976 + <text 37.977 + xml:space="preserve" 37.978 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 37.979 + x="328.8573" 37.980 + y="359.07925" 37.981 + id="text3183" 37.982 + sodipodi:linespacing="100%"><tspan 37.983 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#159415;fill-opacity:1" 37.984 + id="tspan3185" 37.985 + sodipodi:role="line" 37.986 + x="328.8573" 37.987 + y="359.07925">Switch VPs</tspan></text> 37.988 + <text 37.989 + sodipodi:linespacing="100%" 37.990 + id="text3187" 37.991 + y="326.80692" 37.992 + x="323.94568" 37.993 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 37.994 + xml:space="preserve"><tspan 37.995 + y="326.80692" 37.996 + x="323.94568" 37.997 + sodipodi:role="line" 37.998 + id="tspan3189" 37.999 + style="font-size:9px;text-align:center;text-anchor:middle">7</tspan></text> 37.1000 + <text 37.1001 + xml:space="preserve" 37.1002 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 37.1003 + x="323.94568" 37.1004 + y="350.80692" 37.1005 + id="text3191" 37.1006 + sodipodi:linespacing="100%"><tspan 37.1007 + style="font-size:9px;text-align:center;text-anchor:middle" 37.1008 + id="tspan3193" 37.1009 + sodipodi:role="line" 37.1010 + x="323.94568" 37.1011 + y="350.80692">11</tspan></text> 37.1012 + </g> 37.1013 +</svg>
38.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 38.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/VMS-core__plugins.eps Fri Sep 13 11:02:18 2013 -0700 38.3 @@ -0,0 +1,365 @@ 38.4 +%!PS-Adobe-3.0 EPSF-3.0 38.5 +%%Creator: cairo 1.8.6 (http://cairographics.org) 38.6 +%%CreationDate: Sun Oct 17 19:38:15 2010 38.7 +%%Pages: 1 38.8 +%%BoundingBox: 0 0 116 67 38.9 +%%DocumentData: Clean7Bit 38.10 +%%LanguageLevel: 2 38.11 +%%EndComments 38.12 +%%BeginProlog 38.13 +/cairo_eps_state save def 38.14 +/dict_count countdictstack def 38.15 +/op_count count 1 sub def 38.16 +userdict begin 38.17 +/q { gsave } bind def 38.18 +/Q { grestore } bind def 38.19 +/cm { 6 array astore concat } bind def 38.20 +/w { setlinewidth } bind def 38.21 +/J { setlinecap } bind def 38.22 +/j { setlinejoin } bind def 38.23 +/M { setmiterlimit } bind def 38.24 +/d { setdash } bind def 38.25 +/m { moveto } bind def 38.26 +/l { lineto } bind def 38.27 +/c { curveto } bind def 38.28 +/h { closepath } bind def 38.29 +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto 38.30 + 0 exch rlineto 0 rlineto closepath } bind def 38.31 +/S { stroke } bind def 38.32 +/f { fill } bind def 38.33 +/f* { eofill } bind def 38.34 +/B { fill stroke } bind def 38.35 +/B* { eofill stroke } bind def 38.36 +/n { newpath } bind def 38.37 +/W { clip } bind def 38.38 +/W* { eoclip } bind def 38.39 +/BT { } bind def 38.40 +/ET { } bind def 38.41 +/pdfmark where { pop globaldict /?pdfmark /exec load put } 38.42 + { globaldict begin /?pdfmark /pop load def /pdfmark 38.43 + /cleartomark load def end } ifelse 38.44 +/BDC { mark 3 1 roll /BDC pdfmark } bind def 38.45 +/EMC { mark /EMC pdfmark } bind def 38.46 +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def 38.47 +/Tj { show currentpoint cairo_store_point } bind def 38.48 +/TJ { 38.49 + { 38.50 + dup 38.51 + type /stringtype eq 38.52 + { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse 38.53 + } forall 38.54 + currentpoint cairo_store_point 38.55 +} bind def 38.56 +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore 38.57 + cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def 38.58 +/Tf { pop /cairo_font exch def /cairo_font_matrix where 38.59 + { pop cairo_selectfont } if } bind def 38.60 +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup 38.61 + /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point 38.62 + /cairo_font where { pop cairo_selectfont } if } bind def 38.63 +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def 38.64 + cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def 38.65 +/g { setgray } bind def 38.66 +/rg { setrgbcolor } bind def 38.67 +/d1 { setcachedevice } bind def 38.68 +%%EndProlog 38.69 +%%Page: 1 1 38.70 +%%BeginPageSetup 38.71 +%%PageBoundingBox: 0 0 116 67 38.72 +%%EndPageSetup 38.73 +q 38.74 +Q q 38.75 +q 0 0 117 67 rectclip 38.76 +% Fallback Image: x=0, y=0, w=116, h=65 res=300dpi size=399300 38.77 +[ 0.24 0 0 0.24 0 0.327072 ] concat 38.78 +/DeviceRGB setcolorspace 38.79 +8 dict dup begin 38.80 + /ImageType 1 def 38.81 + /Width 484 def 38.82 + /Height 275 def 38.83 + /BitsPerComponent 8 def 38.84 + /Decode [ 0 1 0 1 0 1 ] def 38.85 + /DataSource currentfile /ASCII85Decode filter /LZWDecode filter def 38.86 + /ImageMatrix [ 1 0 0 -1 0 275 ] def 38.87 +end 38.88 +image 38.89 +J3I@:BHu(:pOk^R:T.dk*=mro@So+\<\5,H7Uo<*jE<[.O@Wn[3@'nb-^757;Rp>H>q_R=Al 38.90 + C^cenm@9:1mM9jS"!dTMT(d8$g?t7s\'HOJg#PSPQ1`C/m<k<ioH)<bk^Hj`\=EYZP^B4!g 38.91 + 3;B=(iZ<kDqOh/Bf.DHAorf'R[o?>ioWjnAY&^Hf#!Qo!:QLNm9ApfKo@"^St*EZ$@h7Iu_ 38.92 + dAb*B(hHM_+c/A3_/KTg;O43>N3c+5)[@l+5FLs\BULUaal`3%:<o887eo3Me/cP3]=PdZ! 38.93 + go`"\NO%+%3I?d9;j#,$np4Qs03bd8X)RpL$EoAk_=@@arU18[WS6S6H@0(,e%b2Fq7f.4D 38.94 + ^FtK.-a-^`ir&L%0OEX9GI`IODGpB_@VYP$,Ve*/ITH-bVY3W/8C>o*cVOQKd#X?9bX/(9N 38.95 + ;hHOZZn_7?NO1(WM6kAK/XoKPq^J0sl-?a0F-D'h>PLB,o"@,_I111+\T;ajP!l-d!&iT.% 38.96 + e/>a[.cdZeMs92bu*/kbcJV__#PoP$$N1M#)o:%M?)+j1Opk9%o(KO6Z6F4AYo:,E+N3D]7 38.97 + S$Tq2Sh"*j$'D3;6:imCW5#QKF,=>9a`@jVR['[;:;RD-F8Q#.+Ki:rn"\Vipojq&s7-Kf$ 38.98 + _Sb_TSJ.XGc#m=DQ0j!,fG4pM@G$ktNFUWW9pK;CQ>N1*g(o[EC"elTX_ZZ,c*_ECQL2A(g 38.99 + _UF=ESQm4c#_\W:"=CB22WBi.$5D:LW)d^m<d_,c1QMBQgOa$i"uq-J`)nJ%>3UV:)/KAQu 38.100 + 3q"iY[\%M;jo*/W8X+c8CUAR-m+uj;AFrOlVo_9p=ZV20BS3MB`J*?BIu]RHBp?D4B]+c?5 38.101 + ]@RI5KqkSaqbU$.ptNMGKY>YUNWW&A%=?FiV&WToqTXfLb+cF'e?RdRkmll-E@V&u.7m?bb 38.102 + [L1RW,Rr7&kmMh2J\aGrimCVg)-HTDpW&bNXT=`DQ_=3sJ%E%]U:DLk=Rg/S?A_M=UIHiq5 38.103 + /^*`*cS`u=SF8VekhLIRaI]tm.CJdg:K>s<SSqfcp)T12d<(p<.t3UdaN`Q8SaV!ap`9s!@ 38.104 + !J'lalE/&:R1%2IVq&SqAs"?l1^&^2HP5HVmYHE541ShO^?qahNOQa4?*3\+4ONnR+^6grE 38.105 + kB*k*pgLU\T:d[PdCdhoE)F+9NYtE"2h18'32$46_:!8bNO9h#&:!e/D.XNPR?G"C@kl*Nr 38.106 + c8_2"3S"2k7kOEoeM0dar7"=/4fnY%j0i4MRd[WMuM*^`a)%H55cLJ[C[6eHc4U')3_E;Cb 38.107 + H=H"rn6Q6`E/gEd:SIQ'!n7-Eh-cK26$Y%!pL7n)f7G)VrUB;P<nW#7l;%FPsf\qfeQ8S^K 38.108 + O>,Zn9T?<'.)e.H*9*n<O%adEa4TnqirE8A;3F/^fZkZ#9P]`p4Bb;,2^:beMi$u&E5uAV, 38.109 + bci9"4?[(8Vhd:6<bLp;L0EO#[4B6@utE-Q-$X\q%i';:5AsT+Uol1&L2[C'XHR;7ohJ^-0 38.110 + .(E!4FIHBnHm@%"eTP*ZR^r&iaK63gVC4--Nio'F[[$Rdt2g"M(]k=R9OcF%0dsW@9^``/p 38.111 + ,P2KV<3.5n&^ggdXACWZrP*i?TI@Y9,Y$b?4#kP?>CCaIe-\7FN!r32`ri`XH.(GsdgeY.$ 38.112 + ZN6DTr0]jokRPTMT:+<A,=Nos!ZpBXJ.GI9.`>4j4ac9.h2]-09KUJ'UN)D+P3geEYTl[qT 38.113 + a*H\dkFA*2PM(u=3MSd*S;2mH>(TA$QR\IdP$W"*KJ2U*0VZarX&X&?<SG,flNL^3eLDWi` 38.114 + Xq@'l[BoC!J"0pECMGnENW<e\lW)&?0f17LR"9[er%pBlYOSA',%r[>7G$-7>\9M/[3j*G@ 38.115 + )1E"fa>`WOdDV%4i64X#;`Y=kc)Pm002j9KL3]X!#5pPA%8-\UE&mDd4k7Z*m]Yg07cu<p_ 38.116 + Fu[-`mO&'/(iC]t-O2SRGjH]<%57EN)A0#knWQN\m&]sm=M[Tk:>@.%UZ]2rn<?/*$5D9Ou 38.117 + KC_"tF/#u[Q(]^u\IeI+&h0\UEhRkQ!nZXOeAM636](TmU?Q8rnn-/p/<YkL]$gPNCo6n,- 38.118 + UA`k?qge0j&].XG$9<JAJ_1/50oc14=<&9+XtCI-=H=)(>YN^f^!Nskos7i&o"P=A0b4!)) 38.119 + @67XM=JK<'3OZB0d36OiP=-f=Q^l=<uHlbPt`@KV:!Y(>7C'\;0)c5.RT/D1`1[''2[Unjk 38.120 + Q]!o)j-W)(R%$#\0(b^1#8])BIq:*tH5$EH.CO5%e-PSaU7\cU2n?BAE>kZQ^a-A.o.0N== 38.121 + VlZo_]a#].D_S"nb6NsWBJ6g7j8IIo.XdnPX.l.CELfLW<t;YFq:=FI(>7O?M$UK$O0]r6X 38.122 + L50_:r.L(]WUGHFDe_9HtlFU,^2<M_h)8o!4Adg_D6q5@opKYV\KsU6.)Qd,VBPge$'D96E 38.123 + e"[s/Cdo)'o%&tZHIj`c[NDsO-B?LLCJZ\[4MkQfYg/s5+)FZq_Y#tcfm;7.j1VS0g7H%4S 38.124 + -+@!8>Ec'S2qA^/V3@S&IpX]"3ULu3U&,W3`n<NN4[>`me.$i,K>o&X:ouBr\Y9FLBZd;T- 38.125 + `"bRq20;/*9Nh7W6[3^EL?(?r6<;m[/,h([!uF>j6e.YtlE%2]\(jdH7_gscEJaU#RIs 38.126 + U'^p*9.lV)qB_nDDX+kG=RH!VNY^:W$<)ZT/ok==pRJ3W%RbMnWHAZu[-%QZOed@D5]FU`H 38.127 + 1]0&4>h,/R=*[d`U,Z<IG(L$R`mCiARO_/RBJ\qt-jLiADkYU82EHl]U=6<\AIN'CsY3Ng1 38.128 + Rg8>"kDjf#SAk:Vn1d$LShPV5%XCjQi>o\WqqicZ.Y]SA55X=ns)0eX;#g7f&Uejf>!MrW3 38.129 + nql&fWWRrk9En?qQ(dCG>,Zdq5cXQr@/k1s,6^+5?P5KU\6C5&AGmIfTN;i7)OKs^&NEbms 38.130 + HeS`F],J.!!a3:1=aB@*^`cjs:#(o'nBf!N&?b93>OfNZHIq!i$5H0HBX:l2V?l?Orn*%7F 38.131 + OkieHmXs.BAdL%<WPNf^Cha6rBS:)<Q#%093pTkJQ:cX-c.FCWRk*hsY3Ab*7Q5f)r5j__G 38.132 + ]DfT3'DUtZQ$#HPIY+"_YZ<se9QKAU50VXAa;IFHX$]o0)&=E2gD[<Sg@k`6"n:J>(f*neg 38.133 + $RfunjmrU_!<<CF#po65/@bT=nH3YOdI!8)7JR=g"R[hQ"lKCVOMlo$)%]7t&WkZ>c*e2r, 38.134 + nb2E*DnB7-Hc*6bkPuGLN(iWmB$BH!>#f)fdLtScNmls2ZooEoM;:.7M-6P&HpEF?dWCkcq 38.135 + P6%6Pf2Wngqel/mAuA?MI=I]$WXY0m_OcDZn.$$ml&U-1Me6!q58')@sp;L(t0=D\fU%)Ng 38.136 + 3]Oab8hK$\>ZfBgqnYgjU'^=CRp)6f^e9g"38lsK8kU626YEUO*O]c(R/n\tkUW-%sb)]s( 38.137 + NplWG!/#;a:JCTd@LJ^8YX]#S*D\\!*i95M(7K4&s`<=HK'SYu7m&q+!OC+r\f!,/N0+'Eg 38.138 + >_b&(?a*5P;>eT+#6#'$LTQCT`Uo=QjNbaQ+#4tsOq+l1JJ`Ac(p"Sln;/O[;%EqN->!DAn 38.139 + lfF!QiI[&%Z,fe`UPEkfdd7!,"SaYL%cIA$O^qea0LsQbFGZ8<?Vs+`NkC'0[dl0+"Ze0,> 38.140 + QZpOH,(ck$TsH"-Htu'(V$`[16*Z/1g)N%N&TY[#))_?df:>Y!g>"]a$=Vo+HYaP1h'Od_? 38.141 + ARQ1<<P1FgcA:tZD_p1S@h"p5t[%akOUP*/l/N9]WS8De6a!=mW"mDAB*:>K`1+@ZdbP7KT 38.142 + [Rb3es?k),F;T&PEk319AkAgkc0!-npaXD3h#P1"t''1-4T^kuD4*/'JPGGq@L3Bj?..SB? 38.143 + ;nkIOeNI[74=h(,Cn2Qi4Xh&t5-sW?lG5X-1HlEf5#N<2'Ce=E"[H]d5=PSBKDtGjb7h5.1 38.144 + _^6^oH?OK"[L'*!Y'Ze6%)*D<C:jf(Gn9A<'`o/6uFh0?aMC)oLD>,<CLN^`k`\t1grj1@N 38.145 + )Uf','+WP)VnpF[pOuF&73Ee8n-eKh-<AD_t6\[#mp:P\mdg8T^LpoUt+uq&#:R8i3YBoW\ 38.146 + )[a!"*T3qTaOoYF3J3D$Ts9XN&<jrmE_d7n`99sbF'Eo04Uh+i(V9[nO/P_*eoUB7gu:UL' 38.147 + ro`7lH"]0=J:pga/oat%Y'iB)k;7.EAoc[3j,uSk7;RJ)SoeBB&-8D@o!qeELog)P779"D$ 38.148 + <4,G"ohe^H<E4/UIn)X1oG2?0N=5Dn<jcdFol4%jF]W^2=0TE9L%:URI9:WK=LF,jooWB7P 38.149 + ujuIF0sIu8b#r+V-8#@>.(J9os%T^csN&l>;a)uotalj`E[PF=f48_jn9R7e=[-H%L/t7Fi 38.150 + drIj^*)o?FB-T[=DU!]3b1+?a]i>p&S6;b]@k;bg=^D&;;`KV-XFL`g.WRp*!m'-";$H@^[ 38.151 + jtp+^&82.LeiA%"O1p-E4I7:^R5A@>3Cp/,BZ<Fp=r$T;7Fead&>p4mfoB!uPgp2O_'F_>l 38.152 + CB=<5$p46l'<eiR<8(&&:1]%Fn&MrRW@=S?9FR$Y\pkJKO?Ii`)etTrX/;KOKCOoi.i2^ZP 38.153 + `GAJb4nCHXP]9<lmpS$!Bbm7S(:(^kV>qC3+82lDG2g:Q[YK%;CNN0UQ-`l=fg41*=t"H0( 38.154 + @o0tkAI`s@94)R[e>JWqJ0.2?ZfdAe'1,^Z#/]?EVC0089o32Ys+L:^%WabL]VBo.UQ0CX` 38.155 + V6/2bA(7%#5W2FK=)7FgbY$)f<'#\X-'H(FI*6d][]C-s"YVQSCdm1hubE#FBbM[r@HE\TD 38.156 + p4H0a.-k\k\mZ#sXLE&V3OVR(QWXLn5$?ak5uQc?QpYQ,KHCA55F$RJHQo5I`uHoGYlpM51 38.157 + -Z[B6Z"h.uk9='%jg8oLQZ1j/4"A^#'%rHOVG!J0FGOp=mQ%,-CHC'tM99k$/;RrJ2\a5Ls 38.158 + %*LgmQ%>.*I0Pa[=>7:Q-sp'%Kf=E:f"$EF_0tG6He+O:[[Va>T6%MJJp0J8G=@#5_2#(RK 38.159 + 1J@P=:2Ff%m"oqKNDN8p\np[;2C-kKlr$"bP@$_MhW#CL.8q4L$a#m7UF[OLH$?1=<i_sB8 38.160 + Y74M\`RW95fX+fo,t3L;iR#\F@hgp`+PSN7];/R,GE_fk+@BD]&Vb\E/Pa4"XQ!**>Pi'k2 38.161 + (5Vi^4UOERaf[iLWi4-:l,keN%=q*C5G]p*VU'3<RW7d#q[1pgC;DV6agR9$S<3Eapo@+c` 38.162 + A\Q+qG5F&`_QV0c5FjEf#:IPKPQT9H"R<b(m9pk5WQkg!q=;Gd7NL>\>R5fnPq5KZ^\T1fc 38.163 + RJ<87(R&#>cZ&[\Rk#AFfV=t[':IF2D"F]'(=ejUFc@`)-e[!]q9b"Dn""a5FVp0>o;JkgD 38.164 + j\)uS>M@=g%K$Go:$X2Y8Pu63:3;?a**m[B\F&lVGX%3Z_JD-T=9B@\_E8=WKd\LRV%>LqD 38.165 + `#s23%H2U"VYV3^KJXCI)+@P$/6=`i#XO>%Cf<OP4l\g)b;N$`9<2DAl2^>'6b*5Gu%JWCj 38.166 + e$-SM2TNMbj;W@I8c':PuuYqegLWL71ob."AU/ZM*.XKa2e5s)2.rJ_^FBY(<)o5M`i%,?e 38.167 + c?.&;"/k7n[AL6qm'3<7`Bdi2rL=/ePb4<5*V<t)kmbA`B2c<c#NQT_I-*T!<Y\bJd]*oSh 38.168 + OT[BC0f!q/P&/E)lt\YqR<lZL>/YEi0;uD(IbH0!)V^jiSmm`ji@*F>dn(pj`6PM=&BLKE- 38.169 + 2TRa$J)Z/Z!1gI)f"Fc+#O6-\4HY0P#3s^CUWUP\-A#$]2#MU;K8)CM>0Z5-E3s+K<=]"l: 38.170 + E]B&Y=ciI#P:+?PAT`'.4_0h72S8,YfjIL'bQWk37mAl.WX^]<Sstj1Ap)`ZZr;>S4e7&fV 38.171 + f.Pd\u.+oes[*KU&9C0SbdcW8Ihgsi1j&:o0>d^^H[U(NOd_oR82!WOZI[c):(iq!rs/X\/ 38.172 + rCgg0Y__0ZlY2@.P5n?E]`BXFmHZKmpe&CmIa,T`7W-u_s0dS"%\L;g<VM2fJ"KX]kC:NN. 38.173 + >U=ZaWM_iA@Znf?P.^^?A,mQ<?dfh87Ib&=6=81D*Pg&-)s%ht\mHGl"hQY$@/++Le]>`4c 38.174 + )>P8[nb@Tra5AS`>kY.k]M\C_9.)AV>&Z?2Z8I_Fbt1YS+l$94<oEi[C,dR_PWI4ju4(Om; 38.175 + ?pI%")d7H]9e82%cBXc6<2t>h3;'qoo>'b$>jbgo>+ZYGQK,]@b6S=Ja2g/^@r^s'\^<8;Y 38.176 + &D9tl$U)Eir$I,Wb+jk7=XaA.`J*Eh(cD'4s0!Bmf&SScsC\^r1+f6P-,H&7Crp"2DfSsiI 38.177 + 0jrFV(C6Dkf&P_f*nO;"Tq'pf,!I`oK*OX`uD!?;hfWS#qL&p1pH.g__C7W8t>>`f##KkjJ 38.178 + ]Nlt&g-nb"e%>S1?2]K+rVkR?8sc+70YNn)`U>>&n\q#N,OLW6h=Mff>M;imjD_4Zr9j&\= 38.179 + il&FjrF1tP8i)d&;NC`j1ZXZ4ihADc/Ug>5(8H*Hc4Y;6=@7b!)1#OIV%8?BAVFg^SrsF^& 38.180 + crWFmMEolEL6PqkMZT\6p;4NP<6Y#.`^lNclJ,Bc`T%g#$r(kBm%Cl5i0_rha(mSLbgT`dO 38.181 + WLIAc0IpW3^(n=?90rlOYMs/uA9?eg$cruJf%JqlFTE*hYoB3jr&O7)OlGoKo=*^/>kA)7. 38.182 + *c2RkF*jt\<'AH)-faT4_S,`&>J&@!GI=B`-h\5.,!VX8dLYm#/^N*]Q(E8,;oD_'uT1!AM 38.183 + 8OiV$b<=OqR]H-de+L&<qjn\r^BsrF!R*+[d@RRN4SQiWoD$(Sp4'dFs+/'/Ckh??r8,k1F 38.184 + &^<>P&ERUq<(^"%gW^J#mGpP+V4?I/f>+R6fJ[pPYNYBKd#IfB[]R6(5KZ#&'5LE8G861AJ 38.185 + .MNmTBFS70f"nci@9-O%ndNRE0]"1RO4N<#QJ5B*G!JO-H'',l$>r6sVYcKhWFbU;7sJ#c1 38.186 + c,7t9,7K\I3d]fB$El\jLs7]+Nh>O.MeKeeudV`8E+.]$=P=g6Q=<`lZN$!aL*)`X4]h[$N 38.187 + b@'UXe?/E+/6c<T2fq)h&S^1s@)BBTS8YsmMobsB$HF$k0*]89]Am2_bBi(T9knEUY]p!Bk 38.188 + d]$aE>lBNmGl\sf/9f@lBkN"]oZ*Sq\Fo_788]`[g$a)99A83.]jQ]K0(?Hq+5)F\T0+jnM 38.189 + l4>BYnMN3ro_o/1\eWJ]@)BrDef'".?F<T\j*@f2$Z1E"":4Ubee,>VU0r?"ea225l&+WoG 38.190 + gRX9T%PU]8H15pF>XD%`Y^!b[VM[EMR@NTPD)G)`3PKY1klA$:^2Skt4M*\?XgukdkL3P+= 38.191 + n%Jg0n*nq%;_0sA_E/>t>X*j_+%X0BX=d57Nn^Mb;D.Ej1cY/8F3PeT+/1E%bp:1tm?[`QZ 38.192 + 3,bi/3K/3mhZf6$`UJ,Gh4.t#j4L^:U/G?nJ81YCD_fDjE6IU&<4&7`=aqIQ+&aG8rW%H29 38.193 + PrIqnlJX%gI7D^XB[VB55SM&>`Mq@]Y,4k]&fC,cnKbM%-rT=T0A)K2`@o19CZeA6Pd2XJf 38.194 + kZ0rVGX:/P)(a`lAK#Np'MUEgFDJ?Cf2$^RqK!,MPFm9(9/X]Z+$/0EKp*\DOaMESH+Gl8C 38.195 + KSK<sU>Ecp$mGDOJF:JnDpKl;_mni:t;JNAK)dM]H;Aaa]E_q'JatSG>R'h+1&T=X'\bK8k 38.196 + sKoqDn"ApMC:cf:rU+.ZI.iX)5im]HPL?q>GHK4*B__apeDKZbl3kdHG&/(6foKd+hMd^;O 38.197 + M@dbbFOR@t3D"u#%K4FdG<E/(FD-D;SE]mp@W*-,.S*p19qM&5/oOksY/FKTkkm20kK'A]K 38.198 + Z@_'MS/dsN#d"T2hl4j9RHt3=kAG70#=D8R83KDh1`L`8Q#8U2l^;kYT(7JOI>;Re9Dn_sp 38.199 + *P+CCnUM5@YN!6.i3WNWQ_@s$F<hc0sb;Ef/T:;?0XSt,@#hCAgk<gN2$+)#K#!_LaLgF./ 38.200 + ckA,$!&LA+QCbO9+'`s.XY:;<r.rJ(j3TY:mXg,lPo5q&i'cr[%mJ=l9<IE5W@,&B>JN*+M 38.201 + 3Zld3&((:p4K+ZVu&`13OmY.[AIK7S!-'+id:!$=$F,-RgdO(DLqc6IL\n&>+>aDaJ4b.2i 38.202 + &jF>(SnIK(!ep.NqjX:foo2HrIKEN0d]qs(A>:U1FcZM*,Z`_6fS(f'dQ*[Z8#mXRp<Hf_m 38.203 + .E3Pg@GqeX9<4V,2)-p_@f_U!V%ghe<ndsi>XKb#"Pt*XJ8ek31Ni3:SuYeh+!Ja/N<t9U^ 38.204 + Sl,s&2J<hn.nGCZ,6'*]L[=-/a#$Gk80d"76or]3?s9c?jJRg.1t+i+,/E;'9_(6c(597eF 38.205 + _5rRIc>lnM@?SW;#9#Xt&dD4!sU;/k1J,O%u-:OQTM[8'HOG9Ys+]#]1btHp`p72161(J5b 38.206 + U`&Y$($=pN0d?7-[lP`,ekYW.goU0DJZA.hoT=_=EM#rlqH[0Jk)K_MA=I$(^#)ik'21785 38.207 + >=#"BDQ'\/H80jq&;5SCN(oFU2m1LPe@@U$?@62J?/nM5h)'k"'2H"B9V3JET,A7tq+F+?H 38.208 + ,goJtGBiXK[1QN:iXCoY_ZaMS$u/0F.F[ob0FM;f3sn//UmZ*d$p?s.-\dH)65:_@\`&$,[ 38.209 + U+IiSp8G9O/R'VLK&j^Qfu[!/[Y'3a_#0V.=EIQca%=aLZqF1I=&/_o[M>.AjWJu'5b*1!) 38.210 + `$<;]`hU-W2e5`6o#VaE<4f2&0jlE[kA[rAb1l4R0eQ4@CE^&Z.FeMUq)(/r5c!/6!ID]gB 38.211 + \=#d%I$b_!B'l:C4kZ`]c1*Lfd'rGZWh_^P3[GI3dtip"'lT:c3Z&Cor?e9"P<'uGK"U)ud 38.212 + %XcTPO<2!=XW48\(14lkmcqg,U!hdAE@J2I6dG%VsTWOn3[l3ESX)CXJbH,SkhVM/"I,;"0 38.213 + /r19_(Dof@QPMa&73tY)d&\(=DD[iS&pEA42Zme6"gA<2P`8'Z.^3*`GdEAtWS+Q`IHqLD, 38.214 + *FkfTrEhJ/WgaZQ%6@']&$JF4H2/$O]c%[=^<I5K<Gn)kt$\59BbD&/bm(#21-TND++KJ2? 38.215 + %d+H]I*'9G4mQnd<TW^BVgg<kQ@$)Wh?f6!r(3[D`K[?O<#eP-.TYVM?6*m!YGrQ:o2]IT- 38.216 + t?pGh^X0QjS/M20mu'm*K7%XL">=/u(g$(ZmtKG,i#m&,"`\Z<Sc/O?rfC@?".VBaR>!*`> 38.217 + >p>UP$`oKJY&58Tko6t8YBgm[l'2+pQY'Iip%nRf,_T)-M,1's$PJ]^0:\=NsdM;3m5]a3" 38.218 + <pmZMADXcQn=-74WMS(LF(Mp/kH"#nj!\,hZOj-i@S*/i=BD_d?UBI%%^*C\dg38Fc0`2HC 38.219 + m!')CI#@UqE)2'"5meYPoI912)[RNfd+]dB`%qun/X+;R@'r,M^>LrL>1aICMr*:^?B\o>h 38.220 + nDsa%dg#W+Aq+.Q3J@J.64RG+kk!4J:%S4\7^\bidETUpBTP>73>.I8m#e;j4<g%!!]9+o< 38.221 + dFm*6gQ\=G21[NoN"4bKk\cQ2>/bE(G;/XJ0/V`X68R?72peo-":/?kr8mOg8-[heJ`e8Fo 38.222 + 9IX5NdL$F?i%DHp^2Fgb8IXPB4h<8;oe#/NDaS,WZddF.Aq`g80DhuF#Y.Elor`\YFgTe=? 38.223 + %--er6,pU:LiP6W]*OE8Xp.514d0ALI)N>ZKKA7fIAB4bX[sHpjM?2K$1-OSIW#,bK62-Td 38.224 + W@%l,(;$Mpr&S-I#c\H\%b!$m="'T+Q6UN(oinV/ZJ=RVsLt_3$+ds^+kK=6s.aKH+5#`r: 38.225 + @Y5^@MR%H7U9HoI8rK58PeGKbSdOXcVrtnqjo]kJ/bO&JGta!]Rd.H*DgSP+'lT:l%<&M(4 38.226 + FN$EI:$fV^r14sjcgRp'GDoA^*,j9`^%Ru73Kqo$!c`O^]AYS5'eU[8l)&\DPq2r!pii?uI 38.227 + QadeP@P^E-7YjXBbF,ud>%f>36C\T?Rq(*]A.#]/qo62YcbR!_J]eG:!Gm(I!3P1+bYULtc 38.228 + Y^aMgQ'5VQ^[)uK^s>@k0YN*'-p^\/$,StfJjDqs^/Mq`A/BgWOI>uXZ;_qPK3>AL*lE(F5 38.229 + ,pM/.NbpQM)UqL`(F"*JNQ*<EPd%<6AmIe3CUVXTYLB\M8@A(!/W=CLI6U\]:fKq;")2]]S 38.230 + B0,Nq>3?$=L^>cG7k5$PXqSoAU^*49,LI#kU;?=I;C,kJ<AG[#@K\>VnjSUF4f%`b:&k^kK 38.231 + &c0IO*2XYBR[&PBp]kI&\'.\$JDqPqEEFh\j/`6a"8*)<%;-Gs5]2&ogbg/LS+P_tA3LhO5 38.232 + Z',3^a7M1!uPjr]?qXBV^1.IDb&1C!V1k^TFI7-oZ,FT_kgg7E'&Y1I7*"65p(lLj6V7:$4 38.233 + `^@!pK-WXB^;q1r_##smqb9JRlaYH3`Oq$5HEY:qKs``i%8:aK]99,@"=5T1XpfJDF3hM?O 38.234 + $YCn8m9t?an!7uU'Sj_4;4M8o7WnJ@m4^l5Fc:V4D$JJ=@Xn.6sNtbCdoBAC']3&%$[@,3_ 38.235 + W1M'?Vk$8j&tDXLfK8?^jHDb+n%1+r@gg]=MC*5'2t1lc2R`N^=uo8Y_9g,asT9)p<k]1[N 38.236 + +QS2ST,"\Wlu99[Z<Pe50;cl9X1RlnBD]>9n<eP#f$Z7C[J"/hVF6+h`Ka7uMD'T9u$btD$ 38.237 + Cbe2+Kb)=BWKen*47_;kuX%Q$;j1`am`64L;4"S.*cGt=ZcCF/lCcWF*W&spV'f<Wj<50k4 38.238 + _b/-;`!Mu/N#PMod5nAN6+cWu]P\(8CnS$&8X)fl1S7;[bf_Ob:21#/HmhaK\k]@.:`CM!E 38.239 + YV?mim-;R:@(-hqV=GQ`!D/Y:m`G'XU>4_$qW:nb5D2I2"aStl;6]!`pkr^(tHfH&P^4Yc= 38.240 + <E/r;T1@!)OsZ;41;+)7*$fK:@GC:D4sB>A$e5aO'kW3n4t$D"s%fR#oQ,9RO0E.VHudnkl 38.241 + 54;OJBLZ(b+6e!3n_6gWAG'_=A^+?MG(c6/k"_A#g#S;Y$>5@Fdk\Cf57bX)1^UfAg;I4A1 38.242 + /4:R9#)>J!rkZ(R[5Z@nC,OEoB/AOPo*m4-te!qX(jKSuDS&YO57"jWWU[X.KmRg>(;hX#T 38.243 + <@1Mt(8l3\3s@%]bu7V&S^90BVKupO!8p`5o@!Jt97X32Lp954&l4[eMfS=8Emu!R:/n=me 38.244 + G>J0X;KJVA6)7Be(PelC2(i/OKIje\<Io\"\&pf,LlVK&7eqi]_X@HPRnsIUhKs2PY"amp" 38.245 + $\r<]"@<<HhMhSQ92>8HciN&b+>6Fk*/$<R":bCg'iNF[UA$;(HZW$qFAn-R?BK9J(KkD21 38.246 + Eqla-fu<FkR!X]SKmW1gn?=@gl\km&VqUl'6]V`PMa9p'r+qj2\-^!V*[N8RZP-WifH9\fU 38.247 + rPo%JW\_)>$=kiRNMgnit9>On$d#D/[bGj1RqO:HTg-H!H>cq7AW)cW<+_@>R70l9R7*sbg 38.248 + Tf%7%fZ@<=cW^"H:aN*74aL'rU=Pg5<irWoal#^A1Esb0gM%MZ"R0-e]M#Z<Tf'11-&c&.N 38.249 + EaVY3I1N0RJf$q"M;Xh%@+P%%E7+LY$9Tm[O@>A]mJHj[TnAI78Yj4IE`3i`n^O?3pk$3?" 38.250 + Z,sBWqZU>!:8qZ:RT%L5N*!h.Xl8%GG+".,??Q>OALr9cmZW:+%XG0+r@C,fSUBDHX!Tfu4 38.251 + fb7HZ2gh&icU;Wrl;[Hdi.ls@co!_j+iV<?_3Qef(=?Q*q@M>CPK_$Fko>'ZiD`U[A`\DC5 38.252 + Tau/s$Wbtg:TGok/hq25lmJgP_H/K,Obt*4YH+I5P_91T<R0E=l[KdlhnR-eP+/SQFodi_; 38.253 + 6IO]5?WI>7\W(!7$/l3<@#bh-.GE^Z>N!0.i6:[o*T"mXf2b'.gr:"9WS6;X)e$k&iB^UT< 38.254 + :=7,Md9$He$MDLVB',+^>['W@Tf71iDJS,#0fQ:eUAYINV244NSt'g@bH6?<\@kWKAplH@Y 38.255 + A2mX!-)rA)WDjiLSNSc7iaR:?(t,A!o[D&Ph@3O5i(diiL_].@K2H3b/O7A!TDk.2cX#:1M 38.256 + -Vj45#QV@I*9L1=fPj>KUBSjHtj9FY#j'])7aV5f<QX5n5S@_N?ic9Ppc<"0U9j\Ahc%S`0 38.257 + ?:5GK;i8.>hmDi\],@tau%5q5JhHr?]r(,TV:fG0S2@NL7(<p.WjfV-]Ag68Q?fm1Nhj%'O 38.258 + k!*IDC^LYRPNGu'Q1S.d8*7NjAqk-b.'I4MF(\+mAdQiHk_S%XBOa;aKYDaM0p2ZgHsZ2TB 38.259 + 3'Htrb=:`,%p=pB3h,q-=KN&6]J2P@kK31F(8_A^Z:u;ka[pg$S5nkk[tZgBBF&oG'=4HDq 38.260 + :52B\nU/7ZqB/NflqWku_ifDO5'XBj_rKAl`jl2H/j(Bk]JqAr`+H%U&"LbNC4Ckq7Iop42 38.261 + ELF_U*eAH#Ef=l3r-Uh/,JC5u?[;8R#VeS-))B$RC@hGe6p_!8eLjj(&B2Ql?u9'ZMm>bYu 38.262 + f7YoPpZte`t\H\hpNaHR!^?:5#B9ogf(;";+\^`%<li*pI@bbL+RV<PICaNM)5/q*(]Gp"< 38.263 + >0ZMPIUDGbb@:atS%d##p;QCD<:%RB>4$QO,"6>$[d%H,iI7HbdQS0$d'@%99sXQR6D)qXC 38.264 + @)XNf'/caIbHT;3EY7fD7t!051:b=e/Lm&Lj42_CP"MWGj^T?>?Z%!)*1kOd1;Vag0Gn*S> 38.265 + :#MB9Sckfj+FsVW3m&o:bm=Rm,rl:1iM*&*kD]<4KP6=RKCAgd&m=:Rp\<!_\^Em7D"%8$! 38.266 + *I$,:E3_!alaln\NU74r=oKk2T8muG.+o9uRX$1Lp@n+&n%nd<8L&FT5"nC+(M@DJ%n6uc! 38.267 + ;EDUdtD?8agL[4(QA[^jY$5;qU\oG[#nDZVdo6FC8f(%0$mo\7VrBb*c+Rta]llH@LOrTA@ 38.268 + fs;]]$TncR9S"qJg`h!E[h2,nq[J>n0>aDq4fdt5qB-202b'hfLgKJP$E%bmZkLD6(")9\8 38.269 + hd3RK!74;8&=riiZZk^Db\]-$Yan<0)c,t2G$ee5oTXA.1qBf/rMe-^FIk,YZX4m4Y8Dko/ 38.270 + lF.X\VlR.e4_7nhOltG$5/Y$$!)u+YlOW!4'SjlgGc?^n`fFMIgYcQS@W[`Gk.j2`SFa>[A 38.271 + Z@:+o3FUXTgU3F@f)#W:`$UJ:@_T'_?Dp.J=UpkJLDBg8e-m`.>J^LLK1.eZYEDS2\8rD'L 38.272 + 3;%6l1#]BA!%jkp1f-*(i8-^Q!HT1N*LG^mCFB:=,03K\cMXR_W(6]U.EWbs\V\bjMX^]T* 38.273 + OLqVbCC:"_1&$)bk>)@d'j[/T+C@>Vo,f]j?[-"*NoJP)l*Y['KpS0^<0'D&;PWi:hGt2BG 38.274 + cPZU\:o1K7U//,Kg14q%u#;<?h"cepINhY>*70PrbYt=F[m?D2ThnH=?p!o<7GtT*)h(-E( 38.275 + 8BsF:akBOqb$=k3h>mp0As?%fqG[9.WnlHS9:0"QXY6Suh*==f5iVG)T5rND)bT[hl+>kaB 38.276 + K/n?o#47&OS`3A.Q!\W$,86q6VAEsVUbeG:kQl2N&<LV0"oW-I6uG9=7!;fNRC>kT8LE%Q0 38.277 + N2m.&k+]1oA*!<bIKD4^BCNk*>Hp:7Tj4sT,R_K6SIFh7Er!pqn3;mc]NKhQ]'#/gEe9m@3 38.278 + GA_#?\V'h&*"0C_6Ss;2O4%0jK>G3X<2'nD"Xa1<M7YgPr(UZ!L5c(t]j1#pmKW7^Dnd[j3 38.279 + /E-)]4HIV&6X4\[^31-n0MZ<[E]$X!X&LQ_-kW7/.NBrKL91ppk2*_'8f4fd<NSMi>[KfNt 38.280 + M02L.*>F+lq&')bO*TInO.3pVb&<1O@;X08J?Eq`BXq-dg=Y#"_1V7>'*7m.bipVGh3YpbQ 38.281 + NX9r^]b[<QM^[9Ke!WeB#YDCo=TfceTJ7=MjaJjc]k3n-p^(qIKN[0st9ob2<%CN<rJ6@pe 38.282 + ^:p5+k7OA(=[6i3,op/'*n;Q2jf,/gL2'&p<eG8m1?$gA5WUdTX[\BI/BObnID+p]>ZeAA6 38.283 + Fh%8-CV,D\.rqMOZ<],2nRd/m[,,j#S\JgDpg+JV[A/MV1[^lJ[11\W9ca)UWt2H(m&[oKr 38.284 + Un'4d:E0cbeKT"jFm@^+"r!p\,6/NYN[hGTWk,*q#\/]U5K.=-rM2UTk]^qW2`DQdgDhnRn 38.285 + Bfpj$VVs^($#bVSC:&g5Wp^)W^c\d9@7<X%gf?g,I1'JDhTlH2-Bk/ja13-V<;CV*K$XT^' 38.286 + ,R>_s`0/#up+_lMQ,qS*U5oRo"gd]BNBOCYg7/s0+!.\nYLRXn'$<7%>WBgVn$Y`=VN1sS] 38.287 + 5U689M1_A7qW&-8\6Y[hma,c&CY8#,lr5o"5l5ZuYQaAS9LX,L^.#5d`6t&]enX<;nUe,B? 38.288 + QmPD!Cm_bNCRuS<FOEN$+_k"[=JC_U)MPOl7-e*k("Eg.Tp#A#KMlk"\;++`;d!7+88Qk;c 38.289 + )>so<S;PcnLuE#*"bAb$Mk1_)#!fq9@>52B[*5o8ss!jFn4:%?-"V9L!qu,1JT1%nj?5D$+ 38.290 + l4dT!@mT+<iQTi<!>AKj9=4(d"W&SMrkaDj^/A2.eM_>/,h:fTXiV9N^tGOA".O7g?(,7Bp 38.291 + VNZq`Jd?"bgYY:>oN=dYm`H6$\W\YWkG[.XhO"@<fC4%6tG;\o";f&bAV6.uLBP\Ab2j`mQ 38.292 + B#,mDcaBe:ohc19YIp^h3:l-"C3E<HR7F'SfT_M+aL$d)YZpnrcl4JkM42N"T+DUluK0p(D 38.293 + #J1S9'n9BN)NDdITQAu]DlnCUgAC!q55]t.>+Ht8F#MaO^nD<p%DH^qc>8'p#]=a<3aFl0T 38.294 + 4Q[Pc_quug:'DCX^b!0+h[gaas%i*!43pj-LSU@gi<S>+S_9MM0XUVFkBD,Z3P[Oa@<UlCT 38.295 + ,7eIO=q)C4#m/4pC?(W^U7\I7qn*f;$&/TSkQOQfRj5=q;DuEpKraYiQKue._RR`c^#g7Z_ 38.296 + 0=)-V88$3$"[55n(e%t3YuMl+DmZk*m4K':2,+#kJ)*MF'q`G*^3'a4a]!)7%.ncZcg.0Z@ 38.297 + V<Aj7[aM;g<%74kSKBCgH,5/8P`-auT0chT.JZBF2ZMRU2fs.PfIWM4Y(N'?^\OBDd`1/Pd 38.298 + E6?uo(Xl!N@DK0iO=CCM7REGH9E@J`9gM5M%VVJmQ%BUF42:>.(u__,/+6Lr1/]TJN@]2sX 38.299 + r7,Rpp<TJ8HO$F+kD`6?R!hO5'F3r1eE9-db1$*OG83O-f_pT@lsaQEJdR5pq5FY8erQY3] 38.300 + IuOj?]Q:Wf=#\NQ>7>*MfC:HNXZB9@BF,=5p#_nO\8M8VFr&@g[Y5/ndrsV)6\tN;sSRK?4 38.301 + `0,j(oY019sG:$KVPjnJhC1QClD2oQHU4(NaqFt8(KZT9J0oq'XfLs9Y<6)N!/S!2i^1'^N 38.302 + =BHo@(Z^uc1f><Q1iQ7JsQ>o\<k<`jY'r&saI6k;_#@2@iU@\WQ8g)MOkp"9CnIC_Cq2#dE 38.303 + M)^B6U5;S?;bZGP2*fZ%^qmtH7p%W,RVY"1Ypt/ud9S+Y<77%mL&.c_FNLBn27V*bM,`c:< 38.304 + @!gf2_?M]&'J4aX*&h+`"b"!.4n,jEuq4+$,'#17:<7J^9?(EF]PPqYTRUs;BflA?H^;WVR 38.305 + 7`@%p-t<haGVhF[@WZ.f!Q?AI5M=DOnm!4_&<)Q(GD[Ue[nI'Im[JWTRFXf%Vcim3L/cm]q 38.306 + jU.XPlHAZ^kk@[Ye]NB=3un?EYL`EM9pKH?\.46^&cgT-#UTZYQT<hd[[]-hR@c+I<"Tafc 38.307 + ^NH6_G(Ub$TficJFB;Zbd\u"C((<$DFQui!tl;I2@)p``^V5KIlVWD!nfMQPnCV41YoSY6N 38.308 + S?L37^2+kVelgNj&`pC+koTkh7\2lp'a#QA5gn.20*tNUQGFuhpJ%.95H\</,5<b7)#PD-% 38.309 + /plZ;;hF^Ccm9Q%4&PB[dF_>Q]/o?29+::[pA?$87>X/_96-sS\.s_ce]P3Qu7E767Isd<^ 38.310 + 1<.U.XJdP`0U!+3!qsQ_Y:g:E>0Nb'6Z=Q]-Z.Eun[IGo2.Zgln.rmSG03Pk!idfRGZY(Wu 38.311 + Jj/?h7GC9m69U3Y",8loX51CTliq(b=HCP/*u-57X")DW04-!mqZI(5t)IHI&^LNKVK9\N= 38.312 + ;B[mWeZp>(=g+H(a.;qC]5c<$Rnb_N%3^<5:ee\,;1M`P(Y(n@;M62BFfK<V2(a`L0q0Q8+ 38.313 + Lq75Y##EcQY@ZojmgM+%]HOMO65B6CZ<4Bt.p?J5k,gYFp5>!bXWM<$c-$8KS-[iE:M`ABZ 38.314 + rFKm%G%\umZN`6VsMecYW*RR.]>Jbp."_kkY;@AD.Mb8G,uZ1Q:3S2ql)gbW0G5Rd1P2EW! 38.315 + FsuO2Y%OjZLr#FPZNEXUg)@c9mHLd0S+S7.g"**_1I^H/YWRX7<;=AK6UA@iU,]CH_+MpW3 38.316 + J`jBk"<%/%EE2[%IXkC[[c[$C3+/EZ%KRmC\?7N/W-@r=qO)K$#*pD517_uH\KNi;NTIWDr 38.317 + fG_L:=fsQX&>r"QmT+J!>Z?dI2kb&$QO`$@MkBRQi\as>'qaK36EIHYRUUbM`_`-M2_fOmu 38.318 + q8qIYff:^EdJc/<(;D*Fo-]gG?=1/2o"i/SlYc1j"H(R4NIcI'[IDl;pugBt1V@(doAbVHi 38.319 + 56YS4IHp>Dr6F8+!i%cUnQU,[j?=CPD;4Y^@Ar?d$:`fgrUYY1-[%er(i\Jrcc]`\c^NkT3 38.320 + o=ac3*cQ,Gf3PEV2KG#l;JF#Ul.TWdd)W25pB$:W1dr./_)Po5-*ll]/[IVTj&IGiGV$!X/ 38.321 + O@/gA28JZ&)>:?^DmbieFqhQP@BO4H9Bpf&]nWCpjsV,FINW8Om",)ebe$iL$c`qSZg(T*- 38.322 + s:9Ok@#6hssqG:5uU*BjRAHIH/R`%h]L.MW3G6:Rq#>g!r&3sli7+^p%XRG-lmgf(F')-.8 38.323 + pTU=fOMW2sVZLaPs00`PJg+&E<t#RJmL+uO.j500g<l"(:9_fhE1IF,PmO0,%;pe.M/XL<E 38.324 + 3+iP$BRf8`km+bYkILPnID)tWtPm2!sl-!"#2FP&CMa6n58^)#ga-*:_^fD(u0*nJ'dQSbY 38.325 + \U!p*$\$'Z)(%7VNG&gB=FoI#Wg*0BEem[h95<nV/%GVk35V'T`n)![%L*&Loks:4afpQ,4 38.326 + r5Lg:nX-=`(gnW84XDU0.-VID97+E<8^d@;418H6Wo*'u4q0p3^MWZ3[?(+'n7B"[$*::j@ 38.327 + ?+gA?QOLZ1Qc>KPD*Nj^,ENFCt#Vj4<N9@),@K,<*l>u,I&.&"QO&Uf\"r-5-DU3_M%\"Q' 38.328 + ,':*nj/'L51&`@P)^*QM+7]uuiXI&E,:%g7j_'Bk0t;0oF!Hi#o?lE&n`$)oC8HlnWQkSUA 38.329 + f1cS\GW+.IY9<uE%]N](l*n-N2Uk7&sF0s<cI%>m3l*GX_/k5*piHT/Wu.hd\MYn??">]L@ 38.330 + $79"`4c)"Y!/?-GgcQkUA#64!t3r-VfdFC)\52&0/"P)m]Jt!QQlilEi5bMiY17#44$P0TV 38.331 + C:ogc$J$_I,Yq#>&C%1tHA%:'h7raN,riT!,PmPbG-0bap7'MOQ%O/h'C%M=l'0k)djY;-E 38.332 + j+H>t<`%rho@K/+30Q49`1Ld='%D+MR$J#]2!Rg7=o'Z!Cgdc9rXY1$MEebD$VQKEu(R(g[ 38.333 + $K!iIg_9:j#'7OA'>PQ.`sSk*`Y!7"d3?%3-Ta-<W0=>*1Yk5eWB4h6n8k2pe"ZA2k<G0f1 38.334 + o[Z8m56aWq`p$S5,lLbm>!hZpHZ)(U=8'%ZlMJ)nNc?OYRtc#o?`qiV*]8bSs1B4ZopfKWC 38.335 + !Sr5r:G`;q0.c7n&>15OH8QZs-!k]gSj!7.Pf$1\X@\G+(6R2,nil#N&"MVaft%6$!E)1m3 38.336 + a'I7[D,K(Oed:LuPii<:aD7oZ$P#>[pUZV-%Z8dV7`Z_3ad3D6a%=]Dk(eC%Nb^7#bR5;^D 38.337 + Qo[Q]*@nd[#:;nYVM3gr\%nRK(:W1^W[/Wrj=\gK#6KZ6''QC;Je0&-f;:Qad'dHUV-W63[ 38.338 + ;UmF!'f/cg2cGu';q4*3'gkr#7oYaH<7OcE'iS+4=&kMi;;_a]"9/i]O=PHZ<n2+i'm!GVG 38.339 + ?:&V=4Me&'n]TG-WlK:W9[q7D?!5&+r$<2&J^pA!BXI`#m6Hn>1Kf\'sh+E[p,-0>LgJn'u 38.340 + O9V`dUlp_fa(,("6Ggf3OZr?.Ih=(#rO+&C/_q"V^D0;6jsdj'Ga_?e,0a('@rF#@NhK>gK 38.341 + <U[M*(M(L`UK@FcN)p#r."pF$dKC4N^%!/Y2d2e/.8A(EkT(.2V57q@oYACaOf(/ndF=(R\ 38.342 + %A_(4#(1UrWB4dHFB%Cm5(3=(#&g5!5B@_3=(5$:$LM3!3B\&5Y(6`H5QYDab':,5J;n<Y6 38.343 + _ePCT)fVgmPc8"*.jJ%!CY$7:(;g8!:.C;t*`,LF.GJ!FFXT/eD:[T^(?.QBPkI!%*k'Z.0 38.344 + BYY[j_pI^Dq=n9QKTNY.-Yp0E#0%)(DCd)"<qt!4S9G-0m>f?'loWkEn92hJgGEWb<n33&[ 38.345 + r3ipHs%(7nM;f+u]gFQ7[3F=*9j67@-[l(K#336$:dpG1UXHf3fcfZY`aPE48hk(P?s6LB6 38.346 + "K+k3>A<q18*JU!NNH.SY3f8QD(m;_cXH$6fG(UJHi[_):0+W"Z4^ls.:P)/%?I+PoW(Xme 38.347 + *8UJ;bHl(C`(ZTs;=ad"RF)(r#\#k+'pOAP+X:9%_m<=(TH5r-l-`liZfDU8&(P.KuIJ=b5 38.348 + (aFW)iIUbOK%M`/$aD^YPBYY8K@iDA$3PmSRP4a1K\0(S(fQ,j=,!#;J-0DfG[#o)B81u0L 38.349 + ;RUBpiD1WGDDP\*;Ft@@=O)8H\e%k&,;/D@nVWfQ\>GnM8OLmTc],YVA8m,L'Pt\Gd7hSC` 38.350 + 3"fLKLs@R!p%8An"lYM3sG^ps"T(S.bUiLq(ujR&Un]GE*Mr`rcj-+hs&IH]2(J>PRrJK6N 38.351 + >Y!JX^N2gF#;Qs5S=%>82Y?^7m*8:_=p_A'O12IVB)'u]eInF-%O!Vno<Fta;(^I;W*T=(s 38.352 + 63DqbLb?HtV'Y,l\28bVeTG#pn>ZjF()+a$19jI@rPp"L6FiBZ?/X?EmP?,m]q1k9rCR=_/ 38.353 + Ddr;[),ZYe$^%0AOnGo@,+k-cZ'F"#R.*R"3BLET4otJ!P]a[(U@jcHI@=ogP'+U1UD8t1N 38.354 + L!_/06rgf3R*mhfpu8m>5<Z828bf,]q2dM0cBLd"*^0@]p[mMRQ9&g)6$aq0X-d<.J^/Nfs 38.355 + 3'[[p&Ue0feEdj(FlY3LlN1SJcXD[Lo5O<if<9UVd\>)@ABK&R5*+>Ii083S0o!g,=51QF[ 38.356 + B-).k>oBj9:+PrYC'3ZS-EV4o41Ie*6.@Q#7\VlH2dWnOYW)RHGrN](H7X'39>)T#!3AiY1 38.357 + TXP2"#KQ2n.n#[M_X!-B'"*P`SkH3J(WhJOX"*P_HpTE6H?eW(;])/]th5k*$XLe_?g=.iD 38.358 + Dm:5JY$1(p]$IP\jf_k`Z9$76j(kssg*Z[;-Ta8h)\b"g)71=+2eDrp]"bFWi\u33[5t_%3 38.359 + h:S[I=G?d[bG`0#q;=TF17Wc\&ITW':hEnJ%1u+\A_U\2RFQ1QaXMe\_Eaf"*dcIRR[L&Y] 38.360 + kH)@J$e!S%G0%]A(*5)oK<ma1Rnb]\CcG)q2K)f=d[.^"_GY)rnY:kJ!GO^>&+k)tUgKpV3 38.361 + 3p^YAe(*!<u]#Jci;^t]I:*#$.n(VuUU7g#&"+9~>Q 38.362 +Q 38.363 +showpage 38.364 +%%Trailer 38.365 +count op_count sub {pop} repeat 38.366 +countdictstack dict_count sub {end} repeat 38.367 +cairo_eps_state restore 38.368 +%%EOF
39.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 39.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/plots_exec_vs_task_size/cray1_pthread_vthread_8_32_128_512thds__o30000__perfCtrs.eps Fri Sep 13 11:02:18 2013 -0700 39.3 @@ -0,0 +1,1135 @@ 39.4 +%!PS-Adobe-2.0 39.5 +%%Title: cray1_pthreads_vthread_8_32_128_512thds__o30000__perfCtrs.meas.eps 39.6 +%%Creator: gnuplot 4.4 patchlevel 2 39.7 +%%CreationDate: Thu Jan 26 18:06:46 2012 39.8 +%%DocumentFonts: (atend) 39.9 +%%BoundingBox: 251 50 554 482 39.10 +%%Orientation: Landscape 39.11 +%%Pages: (atend) 39.12 +%%EndComments 39.13 +%%BeginProlog 39.14 +/gnudict 256 dict def 39.15 +gnudict begin 39.16 +% 39.17 +% The following true/false flags may be edited by hand if desired. 39.18 +% The unit line width and grayscale image gamma correction may also be changed. 39.19 +% 39.20 +/Color true def 39.21 +/Blacktext false def 39.22 +/Solid false def 39.23 +/Dashlength 1 def 39.24 +/Landscape true def 39.25 +/Level1 false def 39.26 +/Rounded false def 39.27 +/ClipToBoundingBox false def 39.28 +/TransparentPatterns false def 39.29 +/gnulinewidth 5.000 def 39.30 +/userlinewidth gnulinewidth def 39.31 +/Gamma 1.0 def 39.32 +% 39.33 +/vshift -46 def 39.34 +/dl1 { 39.35 + 10.0 Dashlength mul mul 39.36 + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 39.37 +} def 39.38 +/dl2 { 39.39 + 10.0 Dashlength mul mul 39.40 + Rounded { currentlinewidth 0.75 mul add } if 39.41 +} def 39.42 +/hpt_ 31.5 def 39.43 +/vpt_ 31.5 def 39.44 +/hpt hpt_ def 39.45 +/vpt vpt_ def 39.46 +Level1 {} { 39.47 +/SDict 10 dict def 39.48 +systemdict /pdfmark known not { 39.49 + userdict /pdfmark systemdict /cleartomark get put 39.50 +} if 39.51 +SDict begin [ 39.52 + /Title (cray1_pthreads_vthread_8_32_128_512thds__o30000__perfCtrs.meas.eps) 39.53 + /Subject (gnuplot plot) 39.54 + /Creator (gnuplot 4.4 patchlevel 2) 39.55 + /Author (msach) 39.56 +% /Producer (gnuplot) 39.57 +% /Keywords () 39.58 + /CreationDate (Thu Jan 26 18:06:46 2012) 39.59 + /DOCINFO pdfmark 39.60 +end 39.61 +} ifelse 39.62 +/doclip { 39.63 + ClipToBoundingBox { 39.64 + newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 39.65 + clip 39.66 + } if 39.67 +} def 39.68 +% 39.69 +% Gnuplot Prolog Version 4.4 (August 2010) 39.70 +% 39.71 +%/SuppressPDFMark true def 39.72 +% 39.73 +/M {moveto} bind def 39.74 +/L {lineto} bind def 39.75 +/R {rmoveto} bind def 39.76 +/V {rlineto} bind def 39.77 +/N {newpath moveto} bind def 39.78 +/Z {closepath} bind def 39.79 +/C {setrgbcolor} bind def 39.80 +/f {rlineto fill} bind def 39.81 +/g {setgray} bind def 39.82 +/Gshow {show} def % May be redefined later in the file to support UTF-8 39.83 +/vpt2 vpt 2 mul def 39.84 +/hpt2 hpt 2 mul def 39.85 +/Lshow {currentpoint stroke M 0 vshift R 39.86 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 39.87 +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 39.88 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 39.89 +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 39.90 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 39.91 +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 39.92 + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 39.93 +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 39.94 + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 39.95 +/BL {stroke userlinewidth 2 mul setlinewidth 39.96 + Rounded {1 setlinejoin 1 setlinecap} if} def 39.97 +/AL {stroke userlinewidth 2 div setlinewidth 39.98 + Rounded {1 setlinejoin 1 setlinecap} if} def 39.99 +/UL {dup gnulinewidth mul /userlinewidth exch def 39.100 + dup 1 lt {pop 1} if 10 mul /udl exch def} def 39.101 +/PL {stroke userlinewidth setlinewidth 39.102 + Rounded {1 setlinejoin 1 setlinecap} if} def 39.103 +3.8 setmiterlimit 39.104 +% Default Line colors 39.105 +/LCw {1 1 1} def 39.106 +/LCb {0 0 0} def 39.107 +/LCa {0 0 0} def 39.108 +/LC0 {1 0 0} def 39.109 +/LC1 {0 1 0} def 39.110 +/LC2 {0 0 1} def 39.111 +/LC3 {1 0 1} def 39.112 +/LC4 {0 1 1} def 39.113 +/LC5 {1 1 0} def 39.114 +/LC6 {0 0 0} def 39.115 +/LC7 {1 0.3 0} def 39.116 +/LC8 {0.5 0.5 0.5} def 39.117 +% Default Line Types 39.118 +/LTw {PL [] 1 setgray} def 39.119 +/LTb {BL [] LCb DL} def 39.120 +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 39.121 +/LT0 {PL [] LC0 DL} def 39.122 +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 39.123 +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 39.124 +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 39.125 +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 39.126 +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 39.127 +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 39.128 +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 39.129 +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 39.130 +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 39.131 +/Dia {stroke [] 0 setdash 2 copy vpt add M 39.132 + hpt neg vpt neg V hpt vpt neg V 39.133 + hpt vpt V hpt neg vpt V closepath stroke 39.134 + Pnt} def 39.135 +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 39.136 + currentpoint stroke M 39.137 + hpt neg vpt neg R hpt2 0 V stroke 39.138 + } def 39.139 +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 39.140 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 39.141 + hpt2 neg 0 V closepath stroke 39.142 + Pnt} def 39.143 +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 39.144 + hpt2 vpt2 neg V currentpoint stroke M 39.145 + hpt2 neg 0 R hpt2 vpt2 V stroke} def 39.146 +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 39.147 + hpt neg vpt -1.62 mul V 39.148 + hpt 2 mul 0 V 39.149 + hpt neg vpt 1.62 mul V closepath stroke 39.150 + Pnt} def 39.151 +/Star {2 copy Pls Crs} def 39.152 +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 39.153 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 39.154 + hpt2 neg 0 V closepath fill} def 39.155 +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 39.156 + hpt neg vpt -1.62 mul V 39.157 + hpt 2 mul 0 V 39.158 + hpt neg vpt 1.62 mul V closepath fill} def 39.159 +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 39.160 + hpt neg vpt 1.62 mul V 39.161 + hpt 2 mul 0 V 39.162 + hpt neg vpt -1.62 mul V closepath stroke 39.163 + Pnt} def 39.164 +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 39.165 + hpt neg vpt 1.62 mul V 39.166 + hpt 2 mul 0 V 39.167 + hpt neg vpt -1.62 mul V closepath fill} def 39.168 +/DiaF {stroke [] 0 setdash vpt add M 39.169 + hpt neg vpt neg V hpt vpt neg V 39.170 + hpt vpt V hpt neg vpt V closepath fill} def 39.171 +/Pent {stroke [] 0 setdash 2 copy gsave 39.172 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 39.173 + closepath stroke grestore Pnt} def 39.174 +/PentF {stroke [] 0 setdash gsave 39.175 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 39.176 + closepath fill grestore} def 39.177 +/Circle {stroke [] 0 setdash 2 copy 39.178 + hpt 0 360 arc stroke Pnt} def 39.179 +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 39.180 +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 39.181 +/C1 {BL [] 0 setdash 2 copy moveto 39.182 + 2 copy vpt 0 90 arc closepath fill 39.183 + vpt 0 360 arc closepath} bind def 39.184 +/C2 {BL [] 0 setdash 2 copy moveto 39.185 + 2 copy vpt 90 180 arc closepath fill 39.186 + vpt 0 360 arc closepath} bind def 39.187 +/C3 {BL [] 0 setdash 2 copy moveto 39.188 + 2 copy vpt 0 180 arc closepath fill 39.189 + vpt 0 360 arc closepath} bind def 39.190 +/C4 {BL [] 0 setdash 2 copy moveto 39.191 + 2 copy vpt 180 270 arc closepath fill 39.192 + vpt 0 360 arc closepath} bind def 39.193 +/C5 {BL [] 0 setdash 2 copy moveto 39.194 + 2 copy vpt 0 90 arc 39.195 + 2 copy moveto 39.196 + 2 copy vpt 180 270 arc closepath fill 39.197 + vpt 0 360 arc} bind def 39.198 +/C6 {BL [] 0 setdash 2 copy moveto 39.199 + 2 copy vpt 90 270 arc closepath fill 39.200 + vpt 0 360 arc closepath} bind def 39.201 +/C7 {BL [] 0 setdash 2 copy moveto 39.202 + 2 copy vpt 0 270 arc closepath fill 39.203 + vpt 0 360 arc closepath} bind def 39.204 +/C8 {BL [] 0 setdash 2 copy moveto 39.205 + 2 copy vpt 270 360 arc closepath fill 39.206 + vpt 0 360 arc closepath} bind def 39.207 +/C9 {BL [] 0 setdash 2 copy moveto 39.208 + 2 copy vpt 270 450 arc closepath fill 39.209 + vpt 0 360 arc closepath} bind def 39.210 +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 39.211 + 2 copy moveto 39.212 + 2 copy vpt 90 180 arc closepath fill 39.213 + vpt 0 360 arc closepath} bind def 39.214 +/C11 {BL [] 0 setdash 2 copy moveto 39.215 + 2 copy vpt 0 180 arc closepath fill 39.216 + 2 copy moveto 39.217 + 2 copy vpt 270 360 arc closepath fill 39.218 + vpt 0 360 arc closepath} bind def 39.219 +/C12 {BL [] 0 setdash 2 copy moveto 39.220 + 2 copy vpt 180 360 arc closepath fill 39.221 + vpt 0 360 arc closepath} bind def 39.222 +/C13 {BL [] 0 setdash 2 copy moveto 39.223 + 2 copy vpt 0 90 arc closepath fill 39.224 + 2 copy moveto 39.225 + 2 copy vpt 180 360 arc closepath fill 39.226 + vpt 0 360 arc closepath} bind def 39.227 +/C14 {BL [] 0 setdash 2 copy moveto 39.228 + 2 copy vpt 90 360 arc closepath fill 39.229 + vpt 0 360 arc} bind def 39.230 +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 39.231 + vpt 0 360 arc closepath} bind def 39.232 +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 39.233 + neg 0 rlineto closepath} bind def 39.234 +/Square {dup Rec} bind def 39.235 +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 39.236 +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 39.237 +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 39.238 +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 39.239 +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 39.240 +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 39.241 +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 39.242 + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 39.243 +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 39.244 +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 39.245 + 2 copy vpt Square fill Bsquare} bind def 39.246 +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 39.247 +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 39.248 +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 39.249 + Bsquare} bind def 39.250 +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 39.251 + Bsquare} bind def 39.252 +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 39.253 +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 39.254 + 2 copy vpt Square fill Bsquare} bind def 39.255 +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 39.256 + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 39.257 +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 39.258 +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 39.259 +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 39.260 +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 39.261 +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 39.262 +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 39.263 +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 39.264 +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 39.265 +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 39.266 +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 39.267 +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 39.268 +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 39.269 +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 39.270 +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 39.271 +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 39.272 +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 39.273 +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 39.274 +/DiaE {stroke [] 0 setdash vpt add M 39.275 + hpt neg vpt neg V hpt vpt neg V 39.276 + hpt vpt V hpt neg vpt V closepath stroke} def 39.277 +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 39.278 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 39.279 + hpt2 neg 0 V closepath stroke} def 39.280 +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 39.281 + hpt neg vpt -1.62 mul V 39.282 + hpt 2 mul 0 V 39.283 + hpt neg vpt 1.62 mul V closepath stroke} def 39.284 +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 39.285 + hpt neg vpt 1.62 mul V 39.286 + hpt 2 mul 0 V 39.287 + hpt neg vpt -1.62 mul V closepath stroke} def 39.288 +/PentE {stroke [] 0 setdash gsave 39.289 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 39.290 + closepath stroke grestore} def 39.291 +/CircE {stroke [] 0 setdash 39.292 + hpt 0 360 arc stroke} def 39.293 +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 39.294 +/DiaW {stroke [] 0 setdash vpt add M 39.295 + hpt neg vpt neg V hpt vpt neg V 39.296 + hpt vpt V hpt neg vpt V Opaque stroke} def 39.297 +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 39.298 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 39.299 + hpt2 neg 0 V Opaque stroke} def 39.300 +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 39.301 + hpt neg vpt -1.62 mul V 39.302 + hpt 2 mul 0 V 39.303 + hpt neg vpt 1.62 mul V Opaque stroke} def 39.304 +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 39.305 + hpt neg vpt 1.62 mul V 39.306 + hpt 2 mul 0 V 39.307 + hpt neg vpt -1.62 mul V Opaque stroke} def 39.308 +/PentW {stroke [] 0 setdash gsave 39.309 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 39.310 + Opaque stroke grestore} def 39.311 +/CircW {stroke [] 0 setdash 39.312 + hpt 0 360 arc Opaque stroke} def 39.313 +/BoxFill {gsave Rec 1 setgray fill grestore} def 39.314 +/Density { 39.315 + /Fillden exch def 39.316 + currentrgbcolor 39.317 + /ColB exch def /ColG exch def /ColR exch def 39.318 + /ColR ColR Fillden mul Fillden sub 1 add def 39.319 + /ColG ColG Fillden mul Fillden sub 1 add def 39.320 + /ColB ColB Fillden mul Fillden sub 1 add def 39.321 + ColR ColG ColB setrgbcolor} def 39.322 +/BoxColFill {gsave Rec PolyFill} def 39.323 +/PolyFill {gsave Density fill grestore grestore} def 39.324 +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 39.325 +% 39.326 +% PostScript Level 1 Pattern Fill routine for rectangles 39.327 +% Usage: x y w h s a XX PatternFill 39.328 +% x,y = lower left corner of box to be filled 39.329 +% w,h = width and height of box 39.330 +% a = angle in degrees between lines and x-axis 39.331 +% XX = 0/1 for no/yes cross-hatch 39.332 +% 39.333 +/PatternFill {gsave /PFa [ 9 2 roll ] def 39.334 + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 39.335 + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 39.336 + gsave 1 setgray fill grestore clip 39.337 + currentlinewidth 0.5 mul setlinewidth 39.338 + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 39.339 + 0 0 M PFa 5 get rotate PFs -2 div dup translate 39.340 + 0 1 PFs PFa 4 get div 1 add floor cvi 39.341 + {PFa 4 get mul 0 M 0 PFs V} for 39.342 + 0 PFa 6 get ne { 39.343 + 0 1 PFs PFa 4 get div 1 add floor cvi 39.344 + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 39.345 + } if 39.346 + stroke grestore} def 39.347 +% 39.348 +/languagelevel where 39.349 + {pop languagelevel} {1} ifelse 39.350 + 2 lt 39.351 + {/InterpretLevel1 true def} 39.352 + {/InterpretLevel1 Level1 def} 39.353 + ifelse 39.354 +% 39.355 +% PostScript level 2 pattern fill definitions 39.356 +% 39.357 +/Level2PatternFill { 39.358 +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 39.359 + bind def 39.360 +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 39.361 +<< Tile8x8 39.362 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 39.363 +>> matrix makepattern 39.364 +/Pat1 exch def 39.365 +<< Tile8x8 39.366 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 39.367 + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 39.368 +>> matrix makepattern 39.369 +/Pat2 exch def 39.370 +<< Tile8x8 39.371 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 39.372 + 8 8 L 8 0 L 0 0 L fill} 39.373 +>> matrix makepattern 39.374 +/Pat3 exch def 39.375 +<< Tile8x8 39.376 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 39.377 + 0 12 M 12 0 L stroke} 39.378 +>> matrix makepattern 39.379 +/Pat4 exch def 39.380 +<< Tile8x8 39.381 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 39.382 + 0 -4 M 12 8 L stroke} 39.383 +>> matrix makepattern 39.384 +/Pat5 exch def 39.385 +<< Tile8x8 39.386 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 39.387 + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 39.388 +>> matrix makepattern 39.389 +/Pat6 exch def 39.390 +<< Tile8x8 39.391 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 39.392 + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 39.393 +>> matrix makepattern 39.394 +/Pat7 exch def 39.395 +<< Tile8x8 39.396 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 39.397 + 12 0 M -4 8 L 12 4 M 0 10 L stroke} 39.398 +>> matrix makepattern 39.399 +/Pat8 exch def 39.400 +<< Tile8x8 39.401 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 39.402 + -4 0 M 12 8 L -4 4 M 8 10 L stroke} 39.403 +>> matrix makepattern 39.404 +/Pat9 exch def 39.405 +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 39.406 +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 39.407 +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 39.408 +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 39.409 +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 39.410 +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 39.411 +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 39.412 +} def 39.413 +% 39.414 +% 39.415 +%End of PostScript Level 2 code 39.416 +% 39.417 +/PatternBgnd { 39.418 + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 39.419 +} def 39.420 +% 39.421 +% Substitute for Level 2 pattern fill codes with 39.422 +% grayscale if Level 2 support is not selected. 39.423 +% 39.424 +/Level1PatternFill { 39.425 +/Pattern1 {0.250 Density} bind def 39.426 +/Pattern2 {0.500 Density} bind def 39.427 +/Pattern3 {0.750 Density} bind def 39.428 +/Pattern4 {0.125 Density} bind def 39.429 +/Pattern5 {0.375 Density} bind def 39.430 +/Pattern6 {0.625 Density} bind def 39.431 +/Pattern7 {0.875 Density} bind def 39.432 +} def 39.433 +% 39.434 +% Now test for support of Level 2 code 39.435 +% 39.436 +Level1 {Level1PatternFill} {Level2PatternFill} ifelse 39.437 +% 39.438 +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 39.439 +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 39.440 +currentdict end definefont pop 39.441 +/MFshow { 39.442 + { dup 5 get 3 ge 39.443 + { 5 get 3 eq {gsave} {grestore} ifelse } 39.444 + {dup dup 0 get findfont exch 1 get scalefont setfont 39.445 + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 39.446 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 39.447 + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 39.448 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 39.449 + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 39.450 + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 39.451 + pop aload pop M} ifelse }ifelse }ifelse } 39.452 + ifelse } 39.453 + forall} def 39.454 +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 39.455 +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 39.456 + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 39.457 + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 39.458 +/MLshow { currentpoint stroke M 39.459 + 0 exch R 39.460 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 39.461 +/MRshow { currentpoint stroke M 39.462 + exch dup MFwidth neg 3 -1 roll R 39.463 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 39.464 +/MCshow { currentpoint stroke M 39.465 + exch dup MFwidth -2 div 3 -1 roll R 39.466 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 39.467 +/XYsave { [( ) 1 2 true false 3 ()] } bind def 39.468 +/XYrestore { [( ) 1 2 true false 4 ()] } bind def 39.469 +end 39.470 +%%EndProlog 39.471 +%%Page: 1 1 39.472 +gnudict begin 39.473 +gsave 39.474 +doclip 39.475 +50 50 translate 39.476 +0.100 0.100 scale 39.477 +90 rotate 39.478 +0 -5040 translate 39.479 +0 setgray 39.480 +newpath 39.481 +(Helvetica) findfont 140 scalefont setfont 39.482 +1.000 UL 39.483 +LTb 39.484 +602 448 M 39.485 +63 0 V 39.486 +stroke 39.487 +518 448 M 39.488 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1)] 39.489 +] -46.7 MRshow 39.490 +1.000 UL 39.491 +LTb 39.492 +602 715 M 39.493 +63 0 V 39.494 +stroke 39.495 +518 715 M 39.496 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] 39.497 +] -46.7 MRshow 39.498 +1.000 UL 39.499 +LTb 39.500 +602 983 M 39.501 +63 0 V 39.502 +stroke 39.503 +518 983 M 39.504 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] 39.505 +] -46.7 MRshow 39.506 +1.000 UL 39.507 +LTb 39.508 +602 1250 M 39.509 +63 0 V 39.510 +stroke 39.511 +518 1250 M 39.512 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] 39.513 +] -46.7 MRshow 39.514 +1.000 UL 39.515 +LTb 39.516 +602 1518 M 39.517 +63 0 V 39.518 +stroke 39.519 +518 1518 M 39.520 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 39.521 +] -46.7 MRshow 39.522 +1.000 UL 39.523 +LTb 39.524 +602 1785 M 39.525 +63 0 V 39.526 +stroke 39.527 +518 1785 M 39.528 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] 39.529 +] -46.7 MRshow 39.530 +1.000 UL 39.531 +LTb 39.532 +602 2053 M 39.533 +63 0 V 39.534 +stroke 39.535 +518 2053 M 39.536 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7)] 39.537 +] -46.7 MRshow 39.538 +1.000 UL 39.539 +LTb 39.540 +602 2320 M 39.541 +63 0 V 39.542 +stroke 39.543 +518 2320 M 39.544 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] 39.545 +] -46.7 MRshow 39.546 +1.000 UL 39.547 +LTb 39.548 +602 2588 M 39.549 +63 0 V 39.550 +stroke 39.551 +518 2588 M 39.552 +[ [(Helvetica) 140.0 0.0 true true 0 ( 9)] 39.553 +] -46.7 MRshow 39.554 +1.000 UL 39.555 +LTb 39.556 +602 2855 M 39.557 +63 0 V 39.558 +stroke 39.559 +518 2855 M 39.560 +[ [(Helvetica) 140.0 0.0 true true 0 ( 10)] 39.561 +] -46.7 MRshow 39.562 +1.000 UL 39.563 +LTb 39.564 +602 448 M 39.565 +0 63 V 39.566 +stroke 39.567 +602 308 M 39.568 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 39.569 +] -46.7 MCshow 39.570 +1.000 UL 39.571 +LTb 39.572 +1035 448 M 39.573 +0 63 V 39.574 +stroke 39.575 +1035 308 M 39.576 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 39.577 +] -46.7 MCshow 39.578 +1.000 UL 39.579 +LTb 39.580 +1468 448 M 39.581 +0 63 V 39.582 +stroke 39.583 +1468 308 M 39.584 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 39.585 +] -46.7 MCshow 39.586 +1.000 UL 39.587 +LTb 39.588 +1901 448 M 39.589 +0 63 V 39.590 +stroke 39.591 +1901 308 M 39.592 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 39.593 +] -46.7 MCshow 39.594 +1.000 UL 39.595 +LTb 39.596 +2335 448 M 39.597 +0 63 V 39.598 +stroke 39.599 +2335 308 M 39.600 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 39.601 +] -46.7 MCshow 39.602 +1.000 UL 39.603 +LTb 39.604 +2768 448 M 39.605 +0 63 V 39.606 +stroke 39.607 +2768 308 M 39.608 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 39.609 +] -46.7 MCshow 39.610 +1.000 UL 39.611 +LTb 39.612 +3201 448 M 39.613 +0 63 V 39.614 +stroke 39.615 +3201 308 M 39.616 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 39.617 +] -46.7 MCshow 39.618 +1.000 UL 39.619 +LTb 39.620 +3634 448 M 39.621 +0 63 V 39.622 +stroke 39.623 +3634 308 M 39.624 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 39.625 +] -46.7 MCshow 39.626 +1.000 UL 39.627 +LTb 39.628 +4067 448 M 39.629 +0 63 V 39.630 +stroke 39.631 +4067 308 M 39.632 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 39.633 +] -46.7 MCshow 39.634 +1.000 UL 39.635 +LTb 39.636 +1.000 UL 39.637 +LTb 39.638 +602 2855 M 39.639 +602 448 L 39.640 +3465 0 V 39.641 +0 2407 R 39.642 +-3465 0 R 39.643 +stroke 39.644 +LCb setrgbcolor 39.645 +112 1651 M 39.646 +currentpoint gsave translate -270 rotate 0 0 moveto 39.647 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 39.648 +] -46.7 MCshow 39.649 +grestore 39.650 +LTb 39.651 +LCb setrgbcolor 39.652 +2334 98 M 39.653 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 39.654 +] -46.7 MCshow 39.655 +LTb 39.656 +1.000 UP 39.657 +1.000 UL 39.658 +LTb 39.659 +LCb setrgbcolor 39.660 +3538 2919 M 39.661 +[ [(Helvetica) 140.0 0.0 true true 0 (pthreads)] 39.662 +] -46.7 MCshow 39.663 +LTb 39.664 +1.000 UL 39.665 +LTb 39.666 +2793 2289 N 39.667 +0 700 V 39.668 +1491 0 V 39.669 +0 -700 V 39.670 +-1491 0 V 39.671 +Z stroke 39.672 +2793 2849 M 39.673 +1491 0 V 39.674 +% Begin plot #1 39.675 +stroke 39.676 +4.000 UL 39.677 +LT5 39.678 +LC7 setrgbcolor 39.679 +LCb setrgbcolor 39.680 +3717 2779 M 39.681 +[ [(Helvetica) 140.0 0.0 true true 0 (8 Threads)] 39.682 +] -46.7 MRshow 39.683 +LT5 39.684 +LC7 setrgbcolor 39.685 +3801 2779 M 39.686 +399 0 V 39.687 +775 2855 M 39.688 +28 -401 V 39.689 +924 1709 L 39.690 +249 -553 V 39.691 +1658 827 L 39.692 +2629 643 L 39.693 +4067 572 L 39.694 +% End plot #1 39.695 +% Begin plot #2 39.696 +stroke 39.697 +LT6 39.698 +LCb setrgbcolor 39.699 +3717 2639 M 39.700 +[ [(Helvetica) 140.0 0.0 true true 0 (32 Threads)] 39.701 +] -46.7 MRshow 39.702 +LT6 39.703 +3801 2639 M 39.704 +399 0 V 39.705 +1064 2855 M 39.706 +111 -618 V 39.707 +488 -826 V 39.708 +2631 949 L 39.709 +4067 767 L 39.710 +% End plot #2 39.711 +% Begin plot #3 39.712 +stroke 39.713 +LT7 39.714 +LC1 setrgbcolor 39.715 +LCb setrgbcolor 39.716 +3717 2499 M 39.717 +[ [(Helvetica) 140.0 0.0 true true 0 (128 Threads)] 39.718 +] -46.7 MRshow 39.719 +LT7 39.720 +LC1 setrgbcolor 39.721 +3801 2499 M 39.722 +399 0 V 39.723 +2210 2855 M 39.724 +429 -685 V 39.725 +4067 1557 L 39.726 +% End plot #3 39.727 +% Begin plot #4 39.728 +stroke 39.729 +LT8 39.730 +LCb setrgbcolor 39.731 +3717 2359 M 39.732 +[ [(Helvetica) 140.0 0.0 true true 0 (512 Threads)] 39.733 +] -46.7 MRshow 39.734 +LT8 39.735 +3801 2359 M 39.736 +399 0 V 39.737 +% End plot #4 39.738 +stroke 39.739 +1.000 UL 39.740 +LTb 39.741 +602 2855 M 39.742 +602 448 L 39.743 +3465 0 V 39.744 +0 2407 R 39.745 +-3465 0 R 39.746 +1.000 UP 39.747 +602 448 M 39.748 +63 0 V 39.749 +stroke 39.750 +518 448 M 39.751 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1)] 39.752 +] -46.7 MRshow 39.753 +1.000 UL 39.754 +LTb 39.755 +602 715 M 39.756 +63 0 V 39.757 +stroke 39.758 +518 715 M 39.759 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] 39.760 +] -46.7 MRshow 39.761 +1.000 UL 39.762 +LTb 39.763 +602 983 M 39.764 +63 0 V 39.765 +stroke 39.766 +518 983 M 39.767 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] 39.768 +] -46.7 MRshow 39.769 +1.000 UL 39.770 +LTb 39.771 +602 1250 M 39.772 +63 0 V 39.773 +stroke 39.774 +518 1250 M 39.775 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] 39.776 +] -46.7 MRshow 39.777 +1.000 UL 39.778 +LTb 39.779 +602 1518 M 39.780 +63 0 V 39.781 +stroke 39.782 +518 1518 M 39.783 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 39.784 +] -46.7 MRshow 39.785 +1.000 UL 39.786 +LTb 39.787 +602 1785 M 39.788 +63 0 V 39.789 +stroke 39.790 +518 1785 M 39.791 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] 39.792 +] -46.7 MRshow 39.793 +1.000 UL 39.794 +LTb 39.795 +602 2053 M 39.796 +63 0 V 39.797 +stroke 39.798 +518 2053 M 39.799 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7)] 39.800 +] -46.7 MRshow 39.801 +1.000 UL 39.802 +LTb 39.803 +602 2320 M 39.804 +63 0 V 39.805 +stroke 39.806 +518 2320 M 39.807 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] 39.808 +] -46.7 MRshow 39.809 +1.000 UL 39.810 +LTb 39.811 +602 2588 M 39.812 +63 0 V 39.813 +stroke 39.814 +518 2588 M 39.815 +[ [(Helvetica) 140.0 0.0 true true 0 ( 9)] 39.816 +] -46.7 MRshow 39.817 +1.000 UL 39.818 +LTb 39.819 +602 2855 M 39.820 +63 0 V 39.821 +stroke 39.822 +518 2855 M 39.823 +[ [(Helvetica) 140.0 0.0 true true 0 ( 10)] 39.824 +] -46.7 MRshow 39.825 +1.000 UL 39.826 +LTb 39.827 +602 448 M 39.828 +0 63 V 39.829 +stroke 39.830 +602 308 M 39.831 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 39.832 +] -46.7 MCshow 39.833 +1.000 UL 39.834 +LTb 39.835 +1035 448 M 39.836 +0 63 V 39.837 +stroke 39.838 +1035 308 M 39.839 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 39.840 +] -46.7 MCshow 39.841 +1.000 UL 39.842 +LTb 39.843 +1468 448 M 39.844 +0 63 V 39.845 +stroke 39.846 +1468 308 M 39.847 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 39.848 +] -46.7 MCshow 39.849 +1.000 UL 39.850 +LTb 39.851 +1901 448 M 39.852 +0 63 V 39.853 +stroke 39.854 +1901 308 M 39.855 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 39.856 +] -46.7 MCshow 39.857 +1.000 UL 39.858 +LTb 39.859 +2335 448 M 39.860 +0 63 V 39.861 +stroke 39.862 +2335 308 M 39.863 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 39.864 +] -46.7 MCshow 39.865 +1.000 UL 39.866 +LTb 39.867 +2768 448 M 39.868 +0 63 V 39.869 +stroke 39.870 +2768 308 M 39.871 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 39.872 +] -46.7 MCshow 39.873 +1.000 UL 39.874 +LTb 39.875 +3201 448 M 39.876 +0 63 V 39.877 +stroke 39.878 +3201 308 M 39.879 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 39.880 +] -46.7 MCshow 39.881 +1.000 UL 39.882 +LTb 39.883 +3634 448 M 39.884 +0 63 V 39.885 +stroke 39.886 +3634 308 M 39.887 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 39.888 +] -46.7 MCshow 39.889 +1.000 UL 39.890 +LTb 39.891 +4067 448 M 39.892 +0 63 V 39.893 +stroke 39.894 +4067 308 M 39.895 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 39.896 +] -46.7 MCshow 39.897 +1.000 UL 39.898 +LTb 39.899 +1.000 UL 39.900 +LTb 39.901 +602 2855 M 39.902 +602 448 L 39.903 +3465 0 V 39.904 +0 2407 R 39.905 +-3465 0 R 39.906 +stroke 39.907 +LCb setrgbcolor 39.908 +112 1651 M 39.909 +currentpoint gsave translate -270 rotate 0 0 moveto 39.910 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 39.911 +] -46.7 MCshow 39.912 +grestore 39.913 +LTb 39.914 +LCb setrgbcolor 39.915 +2334 98 M 39.916 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 39.917 +] -46.7 MCshow 39.918 +LTb 39.919 +1.000 UP 39.920 +1.000 UL 39.921 +LTb 39.922 +LCb setrgbcolor 39.923 +2022 2919 M 39.924 +[ [(Helvetica) 140.0 0.0 true true 0 (Vthread)] 39.925 +] -46.7 MCshow 39.926 +LTb 39.927 +1.000 UL 39.928 +LTb 39.929 +1277 2289 N 39.930 +0 700 V 39.931 +1491 0 V 39.932 +0 -700 V 39.933 +-1491 0 V 39.934 +Z stroke 39.935 +1277 2849 M 39.936 +1491 0 V 39.937 +% Begin plot #1 39.938 +stroke 39.939 +4.000 UL 39.940 +LT1 39.941 +LCa setrgbcolor 39.942 +602 715 M 39.943 +35 0 V 39.944 +35 0 V 39.945 +35 0 V 39.946 +35 0 V 39.947 +35 0 V 39.948 +35 0 V 39.949 +35 0 V 39.950 +35 0 V 39.951 +35 0 V 39.952 +35 0 V 39.953 +35 0 V 39.954 +35 0 V 39.955 +35 0 V 39.956 +35 0 V 39.957 +35 0 V 39.958 +35 0 V 39.959 +35 0 V 39.960 +35 0 V 39.961 +35 0 V 39.962 +35 0 V 39.963 +35 0 V 39.964 +35 0 V 39.965 +35 0 V 39.966 +35 0 V 39.967 +35 0 V 39.968 +35 0 V 39.969 +35 0 V 39.970 +35 0 V 39.971 +35 0 V 39.972 +35 0 V 39.973 +35 0 V 39.974 +35 0 V 39.975 +35 0 V 39.976 +35 0 V 39.977 +35 0 V 39.978 +35 0 V 39.979 +35 0 V 39.980 +35 0 V 39.981 +35 0 V 39.982 +35 0 V 39.983 +35 0 V 39.984 +35 0 V 39.985 +35 0 V 39.986 +35 0 V 39.987 +35 0 V 39.988 +35 0 V 39.989 +35 0 V 39.990 +35 0 V 39.991 +35 0 V 39.992 +35 0 V 39.993 +35 0 V 39.994 +35 0 V 39.995 +35 0 V 39.996 +35 0 V 39.997 +35 0 V 39.998 +35 0 V 39.999 +35 0 V 39.1000 +35 0 V 39.1001 +35 0 V 39.1002 +35 0 V 39.1003 +35 0 V 39.1004 +35 0 V 39.1005 +35 0 V 39.1006 +35 0 V 39.1007 +35 0 V 39.1008 +35 0 V 39.1009 +35 0 V 39.1010 +35 0 V 39.1011 +35 0 V 39.1012 +35 0 V 39.1013 +35 0 V 39.1014 +35 0 V 39.1015 +35 0 V 39.1016 +35 0 V 39.1017 +35 0 V 39.1018 +35 0 V 39.1019 +35 0 V 39.1020 +35 0 V 39.1021 +35 0 V 39.1022 +35 0 V 39.1023 +35 0 V 39.1024 +35 0 V 39.1025 +35 0 V 39.1026 +35 0 V 39.1027 +35 0 V 39.1028 +35 0 V 39.1029 +35 0 V 39.1030 +35 0 V 39.1031 +35 0 V 39.1032 +35 0 V 39.1033 +35 0 V 39.1034 +35 0 V 39.1035 +35 0 V 39.1036 +35 0 V 39.1037 +35 0 V 39.1038 +35 0 V 39.1039 +35 0 V 39.1040 +35 0 V 39.1041 +35 0 V 39.1042 +% End plot #1 39.1043 +% Begin plot #2 39.1044 +stroke 39.1045 +LT0 39.1046 +LCb setrgbcolor 39.1047 +2201 2779 M 39.1048 +[ [(Helvetica) 140.0 0.0 true true 0 (8 Threads)] 39.1049 +] -46.7 MRshow 39.1050 +LT0 39.1051 +2285 2779 M 39.1052 +399 0 V 39.1053 +692 1306 M 39.1054 +18 -111 V 39.1055 +31 -149 V 39.1056 +801 842 L 39.1057 +922 697 L 39.1058 +1172 589 L 39.1059 +486 -65 V 39.1060 +970 -37 V 39.1061 +4067 473 L 39.1062 +% End plot #2 39.1063 +% Begin plot #3 39.1064 +stroke 39.1065 +LT2 39.1066 +LCb setrgbcolor 39.1067 +2201 2639 M 39.1068 +[ [(Helvetica) 140.0 0.0 true true 0 (32 Threads)] 39.1069 +] -46.7 MRshow 39.1070 +LT2 39.1071 +2285 2639 M 39.1072 +399 0 V 39.1073 +692 1319 M 39.1074 +18 -134 V 39.1075 +30 -176 V 39.1076 +801 845 L 39.1077 +922 690 L 39.1078 +1173 582 L 39.1079 +485 -60 V 39.1080 +970 -36 V 39.1081 +4067 472 L 39.1082 +% End plot #3 39.1083 +% Begin plot #4 39.1084 +stroke 39.1085 +LT3 39.1086 +LCb setrgbcolor 39.1087 +2201 2499 M 39.1088 +[ [(Helvetica) 140.0 0.0 true true 0 (128 Threads)] 39.1089 +] -46.7 MRshow 39.1090 +LT3 39.1091 +2285 2499 M 39.1092 +399 0 V 39.1093 +693 1386 M 39.1094 +18 -167 V 39.1095 +30 -161 V 39.1096 +801 865 L 39.1097 +923 711 L 39.1098 +1173 595 L 39.1099 +485 -67 V 39.1100 +970 -39 V 39.1101 +4067 474 L 39.1102 +% End plot #4 39.1103 +% Begin plot #5 39.1104 +stroke 39.1105 +LT4 39.1106 +LCb setrgbcolor 39.1107 +2201 2359 M 39.1108 +[ [(Helvetica) 140.0 0.0 true true 0 (512 Threads)] 39.1109 +] -46.7 MRshow 39.1110 +LT4 39.1111 +2285 2359 M 39.1112 +399 0 V 39.1113 +692 1425 M 39.1114 +19 -158 V 39.1115 +30 -179 V 39.1116 +802 892 L 39.1117 +923 725 L 39.1118 +1173 602 L 39.1119 +485 -70 V 39.1120 +970 -40 V 39.1121 +4067 476 L 39.1122 +% End plot #5 39.1123 +stroke 39.1124 +1.000 UL 39.1125 +LTb 39.1126 +602 2855 M 39.1127 +602 448 L 39.1128 +3465 0 V 39.1129 +0 2407 R 39.1130 +-3465 0 R 39.1131 +1.000 UP 39.1132 +stroke 39.1133 +grestore 39.1134 +end 39.1135 +showpage 39.1136 +%%Trailer 39.1137 +%%DocumentFonts: Helvetica 39.1138 +%%Pages: 1
40.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 40.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/plots_exec_vs_task_size/not_used/cray1_pthreads_8_32_128_512thds__o30000__perfCtrs.result.eps Fri Sep 13 11:02:18 2013 -0700 40.3 @@ -0,0 +1,818 @@ 40.4 +%!PS-Adobe-2.0 40.5 +%%Title: cray1_pthreads_8_32_128_512thds__o30000__perfCtrs.result.eps 40.6 +%%Creator: gnuplot 4.4 patchlevel 2 40.7 +%%CreationDate: Thu Jan 26 18:08:51 2012 40.8 +%%DocumentFonts: (atend) 40.9 +%%BoundingBox: 251 50 554 482 40.10 +%%Orientation: Landscape 40.11 +%%Pages: (atend) 40.12 +%%EndComments 40.13 +%%BeginProlog 40.14 +/gnudict 256 dict def 40.15 +gnudict begin 40.16 +% 40.17 +% The following true/false flags may be edited by hand if desired. 40.18 +% The unit line width and grayscale image gamma correction may also be changed. 40.19 +% 40.20 +/Color true def 40.21 +/Blacktext false def 40.22 +/Solid false def 40.23 +/Dashlength 1 def 40.24 +/Landscape true def 40.25 +/Level1 false def 40.26 +/Rounded false def 40.27 +/ClipToBoundingBox false def 40.28 +/TransparentPatterns false def 40.29 +/gnulinewidth 5.000 def 40.30 +/userlinewidth gnulinewidth def 40.31 +/Gamma 1.0 def 40.32 +% 40.33 +/vshift -46 def 40.34 +/dl1 { 40.35 + 10.0 Dashlength mul mul 40.36 + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 40.37 +} def 40.38 +/dl2 { 40.39 + 10.0 Dashlength mul mul 40.40 + Rounded { currentlinewidth 0.75 mul add } if 40.41 +} def 40.42 +/hpt_ 31.5 def 40.43 +/vpt_ 31.5 def 40.44 +/hpt hpt_ def 40.45 +/vpt vpt_ def 40.46 +Level1 {} { 40.47 +/SDict 10 dict def 40.48 +systemdict /pdfmark known not { 40.49 + userdict /pdfmark systemdict /cleartomark get put 40.50 +} if 40.51 +SDict begin [ 40.52 + /Title (cray1_pthreads_8_32_128_512thds__o30000__perfCtrs.result.eps) 40.53 + /Subject (gnuplot plot) 40.54 + /Creator (gnuplot 4.4 patchlevel 2) 40.55 + /Author (msach) 40.56 +% /Producer (gnuplot) 40.57 +% /Keywords () 40.58 + /CreationDate (Thu Jan 26 18:08:51 2012) 40.59 + /DOCINFO pdfmark 40.60 +end 40.61 +} ifelse 40.62 +/doclip { 40.63 + ClipToBoundingBox { 40.64 + newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 40.65 + clip 40.66 + } if 40.67 +} def 40.68 +% 40.69 +% Gnuplot Prolog Version 4.4 (August 2010) 40.70 +% 40.71 +%/SuppressPDFMark true def 40.72 +% 40.73 +/M {moveto} bind def 40.74 +/L {lineto} bind def 40.75 +/R {rmoveto} bind def 40.76 +/V {rlineto} bind def 40.77 +/N {newpath moveto} bind def 40.78 +/Z {closepath} bind def 40.79 +/C {setrgbcolor} bind def 40.80 +/f {rlineto fill} bind def 40.81 +/g {setgray} bind def 40.82 +/Gshow {show} def % May be redefined later in the file to support UTF-8 40.83 +/vpt2 vpt 2 mul def 40.84 +/hpt2 hpt 2 mul def 40.85 +/Lshow {currentpoint stroke M 0 vshift R 40.86 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 40.87 +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 40.88 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 40.89 +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 40.90 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 40.91 +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 40.92 + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 40.93 +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 40.94 + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 40.95 +/BL {stroke userlinewidth 2 mul setlinewidth 40.96 + Rounded {1 setlinejoin 1 setlinecap} if} def 40.97 +/AL {stroke userlinewidth 2 div setlinewidth 40.98 + Rounded {1 setlinejoin 1 setlinecap} if} def 40.99 +/UL {dup gnulinewidth mul /userlinewidth exch def 40.100 + dup 1 lt {pop 1} if 10 mul /udl exch def} def 40.101 +/PL {stroke userlinewidth setlinewidth 40.102 + Rounded {1 setlinejoin 1 setlinecap} if} def 40.103 +3.8 setmiterlimit 40.104 +% Default Line colors 40.105 +/LCw {1 1 1} def 40.106 +/LCb {0 0 0} def 40.107 +/LCa {0 0 0} def 40.108 +/LC0 {1 0 0} def 40.109 +/LC1 {0 1 0} def 40.110 +/LC2 {0 0 1} def 40.111 +/LC3 {1 0 1} def 40.112 +/LC4 {0 1 1} def 40.113 +/LC5 {1 1 0} def 40.114 +/LC6 {0 0 0} def 40.115 +/LC7 {1 0.3 0} def 40.116 +/LC8 {0.5 0.5 0.5} def 40.117 +% Default Line Types 40.118 +/LTw {PL [] 1 setgray} def 40.119 +/LTb {BL [] LCb DL} def 40.120 +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 40.121 +/LT0 {PL [] LC0 DL} def 40.122 +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 40.123 +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 40.124 +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 40.125 +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 40.126 +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 40.127 +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 40.128 +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 40.129 +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 40.130 +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 40.131 +/Dia {stroke [] 0 setdash 2 copy vpt add M 40.132 + hpt neg vpt neg V hpt vpt neg V 40.133 + hpt vpt V hpt neg vpt V closepath stroke 40.134 + Pnt} def 40.135 +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 40.136 + currentpoint stroke M 40.137 + hpt neg vpt neg R hpt2 0 V stroke 40.138 + } def 40.139 +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 40.140 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 40.141 + hpt2 neg 0 V closepath stroke 40.142 + Pnt} def 40.143 +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 40.144 + hpt2 vpt2 neg V currentpoint stroke M 40.145 + hpt2 neg 0 R hpt2 vpt2 V stroke} def 40.146 +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 40.147 + hpt neg vpt -1.62 mul V 40.148 + hpt 2 mul 0 V 40.149 + hpt neg vpt 1.62 mul V closepath stroke 40.150 + Pnt} def 40.151 +/Star {2 copy Pls Crs} def 40.152 +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 40.153 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 40.154 + hpt2 neg 0 V closepath fill} def 40.155 +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 40.156 + hpt neg vpt -1.62 mul V 40.157 + hpt 2 mul 0 V 40.158 + hpt neg vpt 1.62 mul V closepath fill} def 40.159 +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 40.160 + hpt neg vpt 1.62 mul V 40.161 + hpt 2 mul 0 V 40.162 + hpt neg vpt -1.62 mul V closepath stroke 40.163 + Pnt} def 40.164 +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 40.165 + hpt neg vpt 1.62 mul V 40.166 + hpt 2 mul 0 V 40.167 + hpt neg vpt -1.62 mul V closepath fill} def 40.168 +/DiaF {stroke [] 0 setdash vpt add M 40.169 + hpt neg vpt neg V hpt vpt neg V 40.170 + hpt vpt V hpt neg vpt V closepath fill} def 40.171 +/Pent {stroke [] 0 setdash 2 copy gsave 40.172 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 40.173 + closepath stroke grestore Pnt} def 40.174 +/PentF {stroke [] 0 setdash gsave 40.175 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 40.176 + closepath fill grestore} def 40.177 +/Circle {stroke [] 0 setdash 2 copy 40.178 + hpt 0 360 arc stroke Pnt} def 40.179 +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 40.180 +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 40.181 +/C1 {BL [] 0 setdash 2 copy moveto 40.182 + 2 copy vpt 0 90 arc closepath fill 40.183 + vpt 0 360 arc closepath} bind def 40.184 +/C2 {BL [] 0 setdash 2 copy moveto 40.185 + 2 copy vpt 90 180 arc closepath fill 40.186 + vpt 0 360 arc closepath} bind def 40.187 +/C3 {BL [] 0 setdash 2 copy moveto 40.188 + 2 copy vpt 0 180 arc closepath fill 40.189 + vpt 0 360 arc closepath} bind def 40.190 +/C4 {BL [] 0 setdash 2 copy moveto 40.191 + 2 copy vpt 180 270 arc closepath fill 40.192 + vpt 0 360 arc closepath} bind def 40.193 +/C5 {BL [] 0 setdash 2 copy moveto 40.194 + 2 copy vpt 0 90 arc 40.195 + 2 copy moveto 40.196 + 2 copy vpt 180 270 arc closepath fill 40.197 + vpt 0 360 arc} bind def 40.198 +/C6 {BL [] 0 setdash 2 copy moveto 40.199 + 2 copy vpt 90 270 arc closepath fill 40.200 + vpt 0 360 arc closepath} bind def 40.201 +/C7 {BL [] 0 setdash 2 copy moveto 40.202 + 2 copy vpt 0 270 arc closepath fill 40.203 + vpt 0 360 arc closepath} bind def 40.204 +/C8 {BL [] 0 setdash 2 copy moveto 40.205 + 2 copy vpt 270 360 arc closepath fill 40.206 + vpt 0 360 arc closepath} bind def 40.207 +/C9 {BL [] 0 setdash 2 copy moveto 40.208 + 2 copy vpt 270 450 arc closepath fill 40.209 + vpt 0 360 arc closepath} bind def 40.210 +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 40.211 + 2 copy moveto 40.212 + 2 copy vpt 90 180 arc closepath fill 40.213 + vpt 0 360 arc closepath} bind def 40.214 +/C11 {BL [] 0 setdash 2 copy moveto 40.215 + 2 copy vpt 0 180 arc closepath fill 40.216 + 2 copy moveto 40.217 + 2 copy vpt 270 360 arc closepath fill 40.218 + vpt 0 360 arc closepath} bind def 40.219 +/C12 {BL [] 0 setdash 2 copy moveto 40.220 + 2 copy vpt 180 360 arc closepath fill 40.221 + vpt 0 360 arc closepath} bind def 40.222 +/C13 {BL [] 0 setdash 2 copy moveto 40.223 + 2 copy vpt 0 90 arc closepath fill 40.224 + 2 copy moveto 40.225 + 2 copy vpt 180 360 arc closepath fill 40.226 + vpt 0 360 arc closepath} bind def 40.227 +/C14 {BL [] 0 setdash 2 copy moveto 40.228 + 2 copy vpt 90 360 arc closepath fill 40.229 + vpt 0 360 arc} bind def 40.230 +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 40.231 + vpt 0 360 arc closepath} bind def 40.232 +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 40.233 + neg 0 rlineto closepath} bind def 40.234 +/Square {dup Rec} bind def 40.235 +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 40.236 +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 40.237 +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 40.238 +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 40.239 +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 40.240 +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 40.241 +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 40.242 + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 40.243 +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 40.244 +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 40.245 + 2 copy vpt Square fill Bsquare} bind def 40.246 +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 40.247 +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 40.248 +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 40.249 + Bsquare} bind def 40.250 +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 40.251 + Bsquare} bind def 40.252 +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 40.253 +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 40.254 + 2 copy vpt Square fill Bsquare} bind def 40.255 +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 40.256 + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 40.257 +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 40.258 +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 40.259 +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 40.260 +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 40.261 +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 40.262 +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 40.263 +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 40.264 +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 40.265 +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 40.266 +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 40.267 +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 40.268 +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 40.269 +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 40.270 +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 40.271 +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 40.272 +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 40.273 +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 40.274 +/DiaE {stroke [] 0 setdash vpt add M 40.275 + hpt neg vpt neg V hpt vpt neg V 40.276 + hpt vpt V hpt neg vpt V closepath stroke} def 40.277 +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 40.278 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 40.279 + hpt2 neg 0 V closepath stroke} def 40.280 +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 40.281 + hpt neg vpt -1.62 mul V 40.282 + hpt 2 mul 0 V 40.283 + hpt neg vpt 1.62 mul V closepath stroke} def 40.284 +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 40.285 + hpt neg vpt 1.62 mul V 40.286 + hpt 2 mul 0 V 40.287 + hpt neg vpt -1.62 mul V closepath stroke} def 40.288 +/PentE {stroke [] 0 setdash gsave 40.289 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 40.290 + closepath stroke grestore} def 40.291 +/CircE {stroke [] 0 setdash 40.292 + hpt 0 360 arc stroke} def 40.293 +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 40.294 +/DiaW {stroke [] 0 setdash vpt add M 40.295 + hpt neg vpt neg V hpt vpt neg V 40.296 + hpt vpt V hpt neg vpt V Opaque stroke} def 40.297 +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 40.298 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 40.299 + hpt2 neg 0 V Opaque stroke} def 40.300 +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 40.301 + hpt neg vpt -1.62 mul V 40.302 + hpt 2 mul 0 V 40.303 + hpt neg vpt 1.62 mul V Opaque stroke} def 40.304 +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 40.305 + hpt neg vpt 1.62 mul V 40.306 + hpt 2 mul 0 V 40.307 + hpt neg vpt -1.62 mul V Opaque stroke} def 40.308 +/PentW {stroke [] 0 setdash gsave 40.309 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 40.310 + Opaque stroke grestore} def 40.311 +/CircW {stroke [] 0 setdash 40.312 + hpt 0 360 arc Opaque stroke} def 40.313 +/BoxFill {gsave Rec 1 setgray fill grestore} def 40.314 +/Density { 40.315 + /Fillden exch def 40.316 + currentrgbcolor 40.317 + /ColB exch def /ColG exch def /ColR exch def 40.318 + /ColR ColR Fillden mul Fillden sub 1 add def 40.319 + /ColG ColG Fillden mul Fillden sub 1 add def 40.320 + /ColB ColB Fillden mul Fillden sub 1 add def 40.321 + ColR ColG ColB setrgbcolor} def 40.322 +/BoxColFill {gsave Rec PolyFill} def 40.323 +/PolyFill {gsave Density fill grestore grestore} def 40.324 +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 40.325 +% 40.326 +% PostScript Level 1 Pattern Fill routine for rectangles 40.327 +% Usage: x y w h s a XX PatternFill 40.328 +% x,y = lower left corner of box to be filled 40.329 +% w,h = width and height of box 40.330 +% a = angle in degrees between lines and x-axis 40.331 +% XX = 0/1 for no/yes cross-hatch 40.332 +% 40.333 +/PatternFill {gsave /PFa [ 9 2 roll ] def 40.334 + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 40.335 + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 40.336 + gsave 1 setgray fill grestore clip 40.337 + currentlinewidth 0.5 mul setlinewidth 40.338 + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 40.339 + 0 0 M PFa 5 get rotate PFs -2 div dup translate 40.340 + 0 1 PFs PFa 4 get div 1 add floor cvi 40.341 + {PFa 4 get mul 0 M 0 PFs V} for 40.342 + 0 PFa 6 get ne { 40.343 + 0 1 PFs PFa 4 get div 1 add floor cvi 40.344 + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 40.345 + } if 40.346 + stroke grestore} def 40.347 +% 40.348 +/languagelevel where 40.349 + {pop languagelevel} {1} ifelse 40.350 + 2 lt 40.351 + {/InterpretLevel1 true def} 40.352 + {/InterpretLevel1 Level1 def} 40.353 + ifelse 40.354 +% 40.355 +% PostScript level 2 pattern fill definitions 40.356 +% 40.357 +/Level2PatternFill { 40.358 +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 40.359 + bind def 40.360 +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 40.361 +<< Tile8x8 40.362 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 40.363 +>> matrix makepattern 40.364 +/Pat1 exch def 40.365 +<< Tile8x8 40.366 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 40.367 + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 40.368 +>> matrix makepattern 40.369 +/Pat2 exch def 40.370 +<< Tile8x8 40.371 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 40.372 + 8 8 L 8 0 L 0 0 L fill} 40.373 +>> matrix makepattern 40.374 +/Pat3 exch def 40.375 +<< Tile8x8 40.376 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 40.377 + 0 12 M 12 0 L stroke} 40.378 +>> matrix makepattern 40.379 +/Pat4 exch def 40.380 +<< Tile8x8 40.381 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 40.382 + 0 -4 M 12 8 L stroke} 40.383 +>> matrix makepattern 40.384 +/Pat5 exch def 40.385 +<< Tile8x8 40.386 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 40.387 + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 40.388 +>> matrix makepattern 40.389 +/Pat6 exch def 40.390 +<< Tile8x8 40.391 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 40.392 + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 40.393 +>> matrix makepattern 40.394 +/Pat7 exch def 40.395 +<< Tile8x8 40.396 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 40.397 + 12 0 M -4 8 L 12 4 M 0 10 L stroke} 40.398 +>> matrix makepattern 40.399 +/Pat8 exch def 40.400 +<< Tile8x8 40.401 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 40.402 + -4 0 M 12 8 L -4 4 M 8 10 L stroke} 40.403 +>> matrix makepattern 40.404 +/Pat9 exch def 40.405 +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 40.406 +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 40.407 +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 40.408 +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 40.409 +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 40.410 +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 40.411 +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 40.412 +} def 40.413 +% 40.414 +% 40.415 +%End of PostScript Level 2 code 40.416 +% 40.417 +/PatternBgnd { 40.418 + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 40.419 +} def 40.420 +% 40.421 +% Substitute for Level 2 pattern fill codes with 40.422 +% grayscale if Level 2 support is not selected. 40.423 +% 40.424 +/Level1PatternFill { 40.425 +/Pattern1 {0.250 Density} bind def 40.426 +/Pattern2 {0.500 Density} bind def 40.427 +/Pattern3 {0.750 Density} bind def 40.428 +/Pattern4 {0.125 Density} bind def 40.429 +/Pattern5 {0.375 Density} bind def 40.430 +/Pattern6 {0.625 Density} bind def 40.431 +/Pattern7 {0.875 Density} bind def 40.432 +} def 40.433 +% 40.434 +% Now test for support of Level 2 code 40.435 +% 40.436 +Level1 {Level1PatternFill} {Level2PatternFill} ifelse 40.437 +% 40.438 +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 40.439 +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 40.440 +currentdict end definefont pop 40.441 +/MFshow { 40.442 + { dup 5 get 3 ge 40.443 + { 5 get 3 eq {gsave} {grestore} ifelse } 40.444 + {dup dup 0 get findfont exch 1 get scalefont setfont 40.445 + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 40.446 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 40.447 + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 40.448 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 40.449 + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 40.450 + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 40.451 + pop aload pop M} ifelse }ifelse }ifelse } 40.452 + ifelse } 40.453 + forall} def 40.454 +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 40.455 +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 40.456 + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 40.457 + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 40.458 +/MLshow { currentpoint stroke M 40.459 + 0 exch R 40.460 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 40.461 +/MRshow { currentpoint stroke M 40.462 + exch dup MFwidth neg 3 -1 roll R 40.463 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 40.464 +/MCshow { currentpoint stroke M 40.465 + exch dup MFwidth -2 div 3 -1 roll R 40.466 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 40.467 +/XYsave { [( ) 1 2 true false 3 ()] } bind def 40.468 +/XYrestore { [( ) 1 2 true false 4 ()] } bind def 40.469 +end 40.470 +%%EndProlog 40.471 +%%Page: 1 1 40.472 +gnudict begin 40.473 +gsave 40.474 +doclip 40.475 +50 50 translate 40.476 +0.100 0.100 scale 40.477 +90 rotate 40.478 +0 -5040 translate 40.479 +0 setgray 40.480 +newpath 40.481 +(Helvetica) findfont 140 scalefont setfont 40.482 +1.000 UL 40.483 +LTb 40.484 +518 448 M 40.485 +63 0 V 40.486 +stroke 40.487 +434 448 M 40.488 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1)] 40.489 +] -46.7 MRshow 40.490 +1.000 UL 40.491 +LTb 40.492 +518 792 M 40.493 +63 0 V 40.494 +stroke 40.495 +434 792 M 40.496 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] 40.497 +] -46.7 MRshow 40.498 +1.000 UL 40.499 +LTb 40.500 +518 1136 M 40.501 +63 0 V 40.502 +stroke 40.503 +434 1136 M 40.504 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] 40.505 +] -46.7 MRshow 40.506 +1.000 UL 40.507 +LTb 40.508 +518 1480 M 40.509 +63 0 V 40.510 +stroke 40.511 +434 1480 M 40.512 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] 40.513 +] -46.7 MRshow 40.514 +1.000 UL 40.515 +LTb 40.516 +518 1823 M 40.517 +63 0 V 40.518 +stroke 40.519 +434 1823 M 40.520 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 40.521 +] -46.7 MRshow 40.522 +1.000 UL 40.523 +LTb 40.524 +518 2167 M 40.525 +63 0 V 40.526 +stroke 40.527 +434 2167 M 40.528 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] 40.529 +] -46.7 MRshow 40.530 +1.000 UL 40.531 +LTb 40.532 +518 2511 M 40.533 +63 0 V 40.534 +stroke 40.535 +434 2511 M 40.536 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7)] 40.537 +] -46.7 MRshow 40.538 +1.000 UL 40.539 +LTb 40.540 +518 2855 M 40.541 +63 0 V 40.542 +stroke 40.543 +434 2855 M 40.544 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] 40.545 +] -46.7 MRshow 40.546 +1.000 UL 40.547 +LTb 40.548 +518 448 M 40.549 +0 63 V 40.550 +stroke 40.551 +518 308 M 40.552 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 40.553 +] -46.7 MCshow 40.554 +1.000 UL 40.555 +LTb 40.556 +962 448 M 40.557 +0 63 V 40.558 +stroke 40.559 +962 308 M 40.560 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 40.561 +] -46.7 MCshow 40.562 +1.000 UL 40.563 +LTb 40.564 +1405 448 M 40.565 +0 63 V 40.566 +stroke 40.567 +1405 308 M 40.568 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 40.569 +] -46.7 MCshow 40.570 +1.000 UL 40.571 +LTb 40.572 +1849 448 M 40.573 +0 63 V 40.574 +stroke 40.575 +1849 308 M 40.576 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 40.577 +] -46.7 MCshow 40.578 +1.000 UL 40.579 +LTb 40.580 +2293 448 M 40.581 +0 63 V 40.582 +stroke 40.583 +2293 308 M 40.584 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 40.585 +] -46.7 MCshow 40.586 +1.000 UL 40.587 +LTb 40.588 +2736 448 M 40.589 +0 63 V 40.590 +stroke 40.591 +2736 308 M 40.592 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 40.593 +] -46.7 MCshow 40.594 +1.000 UL 40.595 +LTb 40.596 +3180 448 M 40.597 +0 63 V 40.598 +stroke 40.599 +3180 308 M 40.600 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 40.601 +] -46.7 MCshow 40.602 +1.000 UL 40.603 +LTb 40.604 +3623 448 M 40.605 +0 63 V 40.606 +stroke 40.607 +3623 308 M 40.608 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 40.609 +] -46.7 MCshow 40.610 +1.000 UL 40.611 +LTb 40.612 +4067 448 M 40.613 +0 63 V 40.614 +stroke 40.615 +4067 308 M 40.616 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 40.617 +] -46.7 MCshow 40.618 +1.000 UL 40.619 +LTb 40.620 +1.000 UL 40.621 +LTb 40.622 +518 2855 M 40.623 +518 448 L 40.624 +3549 0 V 40.625 +0 2407 R 40.626 +-3549 0 R 40.627 +stroke 40.628 +LCb setrgbcolor 40.629 +112 1651 M 40.630 +currentpoint gsave translate -270 rotate 0 0 moveto 40.631 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 40.632 +] -46.7 MCshow 40.633 +grestore 40.634 +LTb 40.635 +LCb setrgbcolor 40.636 +2292 98 M 40.637 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 40.638 +] -46.7 MCshow 40.639 +LTb 40.640 +1.000 UP 40.641 +1.000 UL 40.642 +LTb 40.643 +1.000 UL 40.644 +LTb 40.645 +2798 2538 N 40.646 +0 420 V 40.647 +1491 0 V 40.648 +0 -420 V 40.649 +-1491 0 V 40.650 +Z stroke 40.651 +2798 2958 M 40.652 +1491 0 V 40.653 +% Begin plot #1 40.654 +stroke 40.655 +4.000 UL 40.656 +LT1 40.657 +LCa setrgbcolor 40.658 +518 792 M 40.659 +36 0 V 40.660 +36 0 V 40.661 +36 0 V 40.662 +35 0 V 40.663 +36 0 V 40.664 +36 0 V 40.665 +36 0 V 40.666 +36 0 V 40.667 +36 0 V 40.668 +35 0 V 40.669 +36 0 V 40.670 +36 0 V 40.671 +36 0 V 40.672 +36 0 V 40.673 +36 0 V 40.674 +36 0 V 40.675 +35 0 V 40.676 +36 0 V 40.677 +36 0 V 40.678 +36 0 V 40.679 +36 0 V 40.680 +36 0 V 40.681 +36 0 V 40.682 +35 0 V 40.683 +36 0 V 40.684 +36 0 V 40.685 +36 0 V 40.686 +36 0 V 40.687 +36 0 V 40.688 +35 0 V 40.689 +36 0 V 40.690 +36 0 V 40.691 +36 0 V 40.692 +36 0 V 40.693 +36 0 V 40.694 +36 0 V 40.695 +35 0 V 40.696 +36 0 V 40.697 +36 0 V 40.698 +36 0 V 40.699 +36 0 V 40.700 +36 0 V 40.701 +35 0 V 40.702 +36 0 V 40.703 +36 0 V 40.704 +36 0 V 40.705 +36 0 V 40.706 +36 0 V 40.707 +36 0 V 40.708 +35 0 V 40.709 +36 0 V 40.710 +36 0 V 40.711 +36 0 V 40.712 +36 0 V 40.713 +36 0 V 40.714 +36 0 V 40.715 +35 0 V 40.716 +36 0 V 40.717 +36 0 V 40.718 +36 0 V 40.719 +36 0 V 40.720 +36 0 V 40.721 +35 0 V 40.722 +36 0 V 40.723 +36 0 V 40.724 +36 0 V 40.725 +36 0 V 40.726 +36 0 V 40.727 +36 0 V 40.728 +35 0 V 40.729 +36 0 V 40.730 +36 0 V 40.731 +36 0 V 40.732 +36 0 V 40.733 +36 0 V 40.734 +35 0 V 40.735 +36 0 V 40.736 +36 0 V 40.737 +36 0 V 40.738 +36 0 V 40.739 +36 0 V 40.740 +36 0 V 40.741 +35 0 V 40.742 +36 0 V 40.743 +36 0 V 40.744 +36 0 V 40.745 +36 0 V 40.746 +36 0 V 40.747 +36 0 V 40.748 +35 0 V 40.749 +36 0 V 40.750 +36 0 V 40.751 +36 0 V 40.752 +36 0 V 40.753 +36 0 V 40.754 +35 0 V 40.755 +36 0 V 40.756 +36 0 V 40.757 +36 0 V 40.758 +% End plot #1 40.759 +% Begin plot #2 40.760 +stroke 40.761 +LT1 40.762 +LCb setrgbcolor 40.763 +3722 2888 M 40.764 +[ [(Helvetica) 140.0 0.0 true true 0 (8 Threads)] 40.765 +] -46.7 MRshow 40.766 +LT1 40.767 +3806 2888 M 40.768 +399 0 V 40.769 +746 2855 M 40.770 +848 2069 L 40.771 +255 -711 V 40.772 +1600 935 L 40.773 +2594 699 L 40.774 +4067 607 L 40.775 +% End plot #2 40.776 +% Begin plot #3 40.777 +stroke 40.778 +LT2 40.779 +LCb setrgbcolor 40.780 +3722 2748 M 40.781 +[ [(Helvetica) 140.0 0.0 true true 0 (32 Threads)] 40.782 +] -46.7 MRshow 40.783 +LT2 40.784 +3806 2748 M 40.785 +399 0 V 40.786 +1089 2855 M 40.787 +15 -106 V 40.788 +1605 1686 L 40.789 +991 -594 V 40.790 +4067 858 L 40.791 +% End plot #3 40.792 +% Begin plot #4 40.793 +stroke 40.794 +LT3 40.795 +LCb setrgbcolor 40.796 +3722 2608 M 40.797 +[ [(Helvetica) 140.0 0.0 true true 0 (128 Threads)] 40.798 +] -46.7 MRshow 40.799 +LT3 40.800 +3806 2608 M 40.801 +399 0 V 40.802 +2508 2855 M 40.803 +97 -193 V 40.804 +4067 1874 L 40.805 +% End plot #4 40.806 +stroke 40.807 +1.000 UL 40.808 +LTb 40.809 +518 2855 M 40.810 +518 448 L 40.811 +3549 0 V 40.812 +0 2407 R 40.813 +-3549 0 R 40.814 +1.000 UP 40.815 +stroke 40.816 +grestore 40.817 +end 40.818 +showpage 40.819 +%%Trailer 40.820 +%%DocumentFonts: Helvetica 40.821 +%%Pages: 1
41.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 41.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/plots_exec_vs_task_size/not_used/cray1_vthread_8_32_128_512thds__o30000__perfCtrs.result.eps Fri Sep 13 11:02:18 2013 -0700 41.3 @@ -0,0 +1,851 @@ 41.4 +%!PS-Adobe-2.0 41.5 +%%Title: cray1_vthread_8_32_128_512thds__o30000__perfCtrs.result.eps 41.6 +%%Creator: gnuplot 4.4 patchlevel 2 41.7 +%%CreationDate: Thu Jan 26 18:09:54 2012 41.8 +%%DocumentFonts: (atend) 41.9 +%%BoundingBox: 251 50 554 482 41.10 +%%Orientation: Landscape 41.11 +%%Pages: (atend) 41.12 +%%EndComments 41.13 +%%BeginProlog 41.14 +/gnudict 256 dict def 41.15 +gnudict begin 41.16 +% 41.17 +% The following true/false flags may be edited by hand if desired. 41.18 +% The unit line width and grayscale image gamma correction may also be changed. 41.19 +% 41.20 +/Color true def 41.21 +/Blacktext false def 41.22 +/Solid false def 41.23 +/Dashlength 1 def 41.24 +/Landscape true def 41.25 +/Level1 false def 41.26 +/Rounded false def 41.27 +/ClipToBoundingBox false def 41.28 +/TransparentPatterns false def 41.29 +/gnulinewidth 5.000 def 41.30 +/userlinewidth gnulinewidth def 41.31 +/Gamma 1.0 def 41.32 +% 41.33 +/vshift -46 def 41.34 +/dl1 { 41.35 + 10.0 Dashlength mul mul 41.36 + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 41.37 +} def 41.38 +/dl2 { 41.39 + 10.0 Dashlength mul mul 41.40 + Rounded { currentlinewidth 0.75 mul add } if 41.41 +} def 41.42 +/hpt_ 31.5 def 41.43 +/vpt_ 31.5 def 41.44 +/hpt hpt_ def 41.45 +/vpt vpt_ def 41.46 +Level1 {} { 41.47 +/SDict 10 dict def 41.48 +systemdict /pdfmark known not { 41.49 + userdict /pdfmark systemdict /cleartomark get put 41.50 +} if 41.51 +SDict begin [ 41.52 + /Title (cray1_vthread_8_32_128_512thds__o30000__perfCtrs.result.eps) 41.53 + /Subject (gnuplot plot) 41.54 + /Creator (gnuplot 4.4 patchlevel 2) 41.55 + /Author (msach) 41.56 +% /Producer (gnuplot) 41.57 +% /Keywords () 41.58 + /CreationDate (Thu Jan 26 18:09:54 2012) 41.59 + /DOCINFO pdfmark 41.60 +end 41.61 +} ifelse 41.62 +/doclip { 41.63 + ClipToBoundingBox { 41.64 + newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 41.65 + clip 41.66 + } if 41.67 +} def 41.68 +% 41.69 +% Gnuplot Prolog Version 4.4 (August 2010) 41.70 +% 41.71 +%/SuppressPDFMark true def 41.72 +% 41.73 +/M {moveto} bind def 41.74 +/L {lineto} bind def 41.75 +/R {rmoveto} bind def 41.76 +/V {rlineto} bind def 41.77 +/N {newpath moveto} bind def 41.78 +/Z {closepath} bind def 41.79 +/C {setrgbcolor} bind def 41.80 +/f {rlineto fill} bind def 41.81 +/g {setgray} bind def 41.82 +/Gshow {show} def % May be redefined later in the file to support UTF-8 41.83 +/vpt2 vpt 2 mul def 41.84 +/hpt2 hpt 2 mul def 41.85 +/Lshow {currentpoint stroke M 0 vshift R 41.86 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 41.87 +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 41.88 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 41.89 +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 41.90 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 41.91 +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 41.92 + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 41.93 +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 41.94 + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 41.95 +/BL {stroke userlinewidth 2 mul setlinewidth 41.96 + Rounded {1 setlinejoin 1 setlinecap} if} def 41.97 +/AL {stroke userlinewidth 2 div setlinewidth 41.98 + Rounded {1 setlinejoin 1 setlinecap} if} def 41.99 +/UL {dup gnulinewidth mul /userlinewidth exch def 41.100 + dup 1 lt {pop 1} if 10 mul /udl exch def} def 41.101 +/PL {stroke userlinewidth setlinewidth 41.102 + Rounded {1 setlinejoin 1 setlinecap} if} def 41.103 +3.8 setmiterlimit 41.104 +% Default Line colors 41.105 +/LCw {1 1 1} def 41.106 +/LCb {0 0 0} def 41.107 +/LCa {0 0 0} def 41.108 +/LC0 {1 0 0} def 41.109 +/LC1 {0 1 0} def 41.110 +/LC2 {0 0 1} def 41.111 +/LC3 {1 0 1} def 41.112 +/LC4 {0 1 1} def 41.113 +/LC5 {1 1 0} def 41.114 +/LC6 {0 0 0} def 41.115 +/LC7 {1 0.3 0} def 41.116 +/LC8 {0.5 0.5 0.5} def 41.117 +% Default Line Types 41.118 +/LTw {PL [] 1 setgray} def 41.119 +/LTb {BL [] LCb DL} def 41.120 +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 41.121 +/LT0 {PL [] LC0 DL} def 41.122 +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 41.123 +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 41.124 +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 41.125 +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 41.126 +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 41.127 +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 41.128 +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 41.129 +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 41.130 +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 41.131 +/Dia {stroke [] 0 setdash 2 copy vpt add M 41.132 + hpt neg vpt neg V hpt vpt neg V 41.133 + hpt vpt V hpt neg vpt V closepath stroke 41.134 + Pnt} def 41.135 +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 41.136 + currentpoint stroke M 41.137 + hpt neg vpt neg R hpt2 0 V stroke 41.138 + } def 41.139 +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 41.140 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 41.141 + hpt2 neg 0 V closepath stroke 41.142 + Pnt} def 41.143 +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 41.144 + hpt2 vpt2 neg V currentpoint stroke M 41.145 + hpt2 neg 0 R hpt2 vpt2 V stroke} def 41.146 +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 41.147 + hpt neg vpt -1.62 mul V 41.148 + hpt 2 mul 0 V 41.149 + hpt neg vpt 1.62 mul V closepath stroke 41.150 + Pnt} def 41.151 +/Star {2 copy Pls Crs} def 41.152 +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 41.153 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 41.154 + hpt2 neg 0 V closepath fill} def 41.155 +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 41.156 + hpt neg vpt -1.62 mul V 41.157 + hpt 2 mul 0 V 41.158 + hpt neg vpt 1.62 mul V closepath fill} def 41.159 +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 41.160 + hpt neg vpt 1.62 mul V 41.161 + hpt 2 mul 0 V 41.162 + hpt neg vpt -1.62 mul V closepath stroke 41.163 + Pnt} def 41.164 +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 41.165 + hpt neg vpt 1.62 mul V 41.166 + hpt 2 mul 0 V 41.167 + hpt neg vpt -1.62 mul V closepath fill} def 41.168 +/DiaF {stroke [] 0 setdash vpt add M 41.169 + hpt neg vpt neg V hpt vpt neg V 41.170 + hpt vpt V hpt neg vpt V closepath fill} def 41.171 +/Pent {stroke [] 0 setdash 2 copy gsave 41.172 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 41.173 + closepath stroke grestore Pnt} def 41.174 +/PentF {stroke [] 0 setdash gsave 41.175 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 41.176 + closepath fill grestore} def 41.177 +/Circle {stroke [] 0 setdash 2 copy 41.178 + hpt 0 360 arc stroke Pnt} def 41.179 +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 41.180 +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 41.181 +/C1 {BL [] 0 setdash 2 copy moveto 41.182 + 2 copy vpt 0 90 arc closepath fill 41.183 + vpt 0 360 arc closepath} bind def 41.184 +/C2 {BL [] 0 setdash 2 copy moveto 41.185 + 2 copy vpt 90 180 arc closepath fill 41.186 + vpt 0 360 arc closepath} bind def 41.187 +/C3 {BL [] 0 setdash 2 copy moveto 41.188 + 2 copy vpt 0 180 arc closepath fill 41.189 + vpt 0 360 arc closepath} bind def 41.190 +/C4 {BL [] 0 setdash 2 copy moveto 41.191 + 2 copy vpt 180 270 arc closepath fill 41.192 + vpt 0 360 arc closepath} bind def 41.193 +/C5 {BL [] 0 setdash 2 copy moveto 41.194 + 2 copy vpt 0 90 arc 41.195 + 2 copy moveto 41.196 + 2 copy vpt 180 270 arc closepath fill 41.197 + vpt 0 360 arc} bind def 41.198 +/C6 {BL [] 0 setdash 2 copy moveto 41.199 + 2 copy vpt 90 270 arc closepath fill 41.200 + vpt 0 360 arc closepath} bind def 41.201 +/C7 {BL [] 0 setdash 2 copy moveto 41.202 + 2 copy vpt 0 270 arc closepath fill 41.203 + vpt 0 360 arc closepath} bind def 41.204 +/C8 {BL [] 0 setdash 2 copy moveto 41.205 + 2 copy vpt 270 360 arc closepath fill 41.206 + vpt 0 360 arc closepath} bind def 41.207 +/C9 {BL [] 0 setdash 2 copy moveto 41.208 + 2 copy vpt 270 450 arc closepath fill 41.209 + vpt 0 360 arc closepath} bind def 41.210 +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 41.211 + 2 copy moveto 41.212 + 2 copy vpt 90 180 arc closepath fill 41.213 + vpt 0 360 arc closepath} bind def 41.214 +/C11 {BL [] 0 setdash 2 copy moveto 41.215 + 2 copy vpt 0 180 arc closepath fill 41.216 + 2 copy moveto 41.217 + 2 copy vpt 270 360 arc closepath fill 41.218 + vpt 0 360 arc closepath} bind def 41.219 +/C12 {BL [] 0 setdash 2 copy moveto 41.220 + 2 copy vpt 180 360 arc closepath fill 41.221 + vpt 0 360 arc closepath} bind def 41.222 +/C13 {BL [] 0 setdash 2 copy moveto 41.223 + 2 copy vpt 0 90 arc closepath fill 41.224 + 2 copy moveto 41.225 + 2 copy vpt 180 360 arc closepath fill 41.226 + vpt 0 360 arc closepath} bind def 41.227 +/C14 {BL [] 0 setdash 2 copy moveto 41.228 + 2 copy vpt 90 360 arc closepath fill 41.229 + vpt 0 360 arc} bind def 41.230 +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 41.231 + vpt 0 360 arc closepath} bind def 41.232 +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 41.233 + neg 0 rlineto closepath} bind def 41.234 +/Square {dup Rec} bind def 41.235 +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 41.236 +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 41.237 +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 41.238 +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 41.239 +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 41.240 +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 41.241 +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 41.242 + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 41.243 +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 41.244 +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 41.245 + 2 copy vpt Square fill Bsquare} bind def 41.246 +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 41.247 +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 41.248 +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 41.249 + Bsquare} bind def 41.250 +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 41.251 + Bsquare} bind def 41.252 +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 41.253 +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 41.254 + 2 copy vpt Square fill Bsquare} bind def 41.255 +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 41.256 + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 41.257 +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 41.258 +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 41.259 +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 41.260 +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 41.261 +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 41.262 +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 41.263 +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 41.264 +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 41.265 +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 41.266 +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 41.267 +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 41.268 +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 41.269 +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 41.270 +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 41.271 +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 41.272 +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 41.273 +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 41.274 +/DiaE {stroke [] 0 setdash vpt add M 41.275 + hpt neg vpt neg V hpt vpt neg V 41.276 + hpt vpt V hpt neg vpt V closepath stroke} def 41.277 +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 41.278 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 41.279 + hpt2 neg 0 V closepath stroke} def 41.280 +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 41.281 + hpt neg vpt -1.62 mul V 41.282 + hpt 2 mul 0 V 41.283 + hpt neg vpt 1.62 mul V closepath stroke} def 41.284 +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 41.285 + hpt neg vpt 1.62 mul V 41.286 + hpt 2 mul 0 V 41.287 + hpt neg vpt -1.62 mul V closepath stroke} def 41.288 +/PentE {stroke [] 0 setdash gsave 41.289 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 41.290 + closepath stroke grestore} def 41.291 +/CircE {stroke [] 0 setdash 41.292 + hpt 0 360 arc stroke} def 41.293 +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 41.294 +/DiaW {stroke [] 0 setdash vpt add M 41.295 + hpt neg vpt neg V hpt vpt neg V 41.296 + hpt vpt V hpt neg vpt V Opaque stroke} def 41.297 +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 41.298 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 41.299 + hpt2 neg 0 V Opaque stroke} def 41.300 +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 41.301 + hpt neg vpt -1.62 mul V 41.302 + hpt 2 mul 0 V 41.303 + hpt neg vpt 1.62 mul V Opaque stroke} def 41.304 +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 41.305 + hpt neg vpt 1.62 mul V 41.306 + hpt 2 mul 0 V 41.307 + hpt neg vpt -1.62 mul V Opaque stroke} def 41.308 +/PentW {stroke [] 0 setdash gsave 41.309 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 41.310 + Opaque stroke grestore} def 41.311 +/CircW {stroke [] 0 setdash 41.312 + hpt 0 360 arc Opaque stroke} def 41.313 +/BoxFill {gsave Rec 1 setgray fill grestore} def 41.314 +/Density { 41.315 + /Fillden exch def 41.316 + currentrgbcolor 41.317 + /ColB exch def /ColG exch def /ColR exch def 41.318 + /ColR ColR Fillden mul Fillden sub 1 add def 41.319 + /ColG ColG Fillden mul Fillden sub 1 add def 41.320 + /ColB ColB Fillden mul Fillden sub 1 add def 41.321 + ColR ColG ColB setrgbcolor} def 41.322 +/BoxColFill {gsave Rec PolyFill} def 41.323 +/PolyFill {gsave Density fill grestore grestore} def 41.324 +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 41.325 +% 41.326 +% PostScript Level 1 Pattern Fill routine for rectangles 41.327 +% Usage: x y w h s a XX PatternFill 41.328 +% x,y = lower left corner of box to be filled 41.329 +% w,h = width and height of box 41.330 +% a = angle in degrees between lines and x-axis 41.331 +% XX = 0/1 for no/yes cross-hatch 41.332 +% 41.333 +/PatternFill {gsave /PFa [ 9 2 roll ] def 41.334 + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 41.335 + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 41.336 + gsave 1 setgray fill grestore clip 41.337 + currentlinewidth 0.5 mul setlinewidth 41.338 + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 41.339 + 0 0 M PFa 5 get rotate PFs -2 div dup translate 41.340 + 0 1 PFs PFa 4 get div 1 add floor cvi 41.341 + {PFa 4 get mul 0 M 0 PFs V} for 41.342 + 0 PFa 6 get ne { 41.343 + 0 1 PFs PFa 4 get div 1 add floor cvi 41.344 + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 41.345 + } if 41.346 + stroke grestore} def 41.347 +% 41.348 +/languagelevel where 41.349 + {pop languagelevel} {1} ifelse 41.350 + 2 lt 41.351 + {/InterpretLevel1 true def} 41.352 + {/InterpretLevel1 Level1 def} 41.353 + ifelse 41.354 +% 41.355 +% PostScript level 2 pattern fill definitions 41.356 +% 41.357 +/Level2PatternFill { 41.358 +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 41.359 + bind def 41.360 +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 41.361 +<< Tile8x8 41.362 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 41.363 +>> matrix makepattern 41.364 +/Pat1 exch def 41.365 +<< Tile8x8 41.366 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 41.367 + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 41.368 +>> matrix makepattern 41.369 +/Pat2 exch def 41.370 +<< Tile8x8 41.371 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 41.372 + 8 8 L 8 0 L 0 0 L fill} 41.373 +>> matrix makepattern 41.374 +/Pat3 exch def 41.375 +<< Tile8x8 41.376 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 41.377 + 0 12 M 12 0 L stroke} 41.378 +>> matrix makepattern 41.379 +/Pat4 exch def 41.380 +<< Tile8x8 41.381 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 41.382 + 0 -4 M 12 8 L stroke} 41.383 +>> matrix makepattern 41.384 +/Pat5 exch def 41.385 +<< Tile8x8 41.386 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 41.387 + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 41.388 +>> matrix makepattern 41.389 +/Pat6 exch def 41.390 +<< Tile8x8 41.391 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 41.392 + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 41.393 +>> matrix makepattern 41.394 +/Pat7 exch def 41.395 +<< Tile8x8 41.396 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 41.397 + 12 0 M -4 8 L 12 4 M 0 10 L stroke} 41.398 +>> matrix makepattern 41.399 +/Pat8 exch def 41.400 +<< Tile8x8 41.401 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 41.402 + -4 0 M 12 8 L -4 4 M 8 10 L stroke} 41.403 +>> matrix makepattern 41.404 +/Pat9 exch def 41.405 +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 41.406 +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 41.407 +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 41.408 +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 41.409 +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 41.410 +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 41.411 +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 41.412 +} def 41.413 +% 41.414 +% 41.415 +%End of PostScript Level 2 code 41.416 +% 41.417 +/PatternBgnd { 41.418 + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 41.419 +} def 41.420 +% 41.421 +% Substitute for Level 2 pattern fill codes with 41.422 +% grayscale if Level 2 support is not selected. 41.423 +% 41.424 +/Level1PatternFill { 41.425 +/Pattern1 {0.250 Density} bind def 41.426 +/Pattern2 {0.500 Density} bind def 41.427 +/Pattern3 {0.750 Density} bind def 41.428 +/Pattern4 {0.125 Density} bind def 41.429 +/Pattern5 {0.375 Density} bind def 41.430 +/Pattern6 {0.625 Density} bind def 41.431 +/Pattern7 {0.875 Density} bind def 41.432 +} def 41.433 +% 41.434 +% Now test for support of Level 2 code 41.435 +% 41.436 +Level1 {Level1PatternFill} {Level2PatternFill} ifelse 41.437 +% 41.438 +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 41.439 +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 41.440 +currentdict end definefont pop 41.441 +/MFshow { 41.442 + { dup 5 get 3 ge 41.443 + { 5 get 3 eq {gsave} {grestore} ifelse } 41.444 + {dup dup 0 get findfont exch 1 get scalefont setfont 41.445 + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 41.446 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 41.447 + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 41.448 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 41.449 + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 41.450 + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 41.451 + pop aload pop M} ifelse }ifelse }ifelse } 41.452 + ifelse } 41.453 + forall} def 41.454 +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 41.455 +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 41.456 + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 41.457 + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 41.458 +/MLshow { currentpoint stroke M 41.459 + 0 exch R 41.460 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 41.461 +/MRshow { currentpoint stroke M 41.462 + exch dup MFwidth neg 3 -1 roll R 41.463 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 41.464 +/MCshow { currentpoint stroke M 41.465 + exch dup MFwidth -2 div 3 -1 roll R 41.466 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 41.467 +/XYsave { [( ) 1 2 true false 3 ()] } bind def 41.468 +/XYrestore { [( ) 1 2 true false 4 ()] } bind def 41.469 +end 41.470 +%%EndProlog 41.471 +%%Page: 1 1 41.472 +gnudict begin 41.473 +gsave 41.474 +doclip 41.475 +50 50 translate 41.476 +0.100 0.100 scale 41.477 +90 rotate 41.478 +0 -5040 translate 41.479 +0 setgray 41.480 +newpath 41.481 +(Helvetica) findfont 140 scalefont setfont 41.482 +1.000 UL 41.483 +LTb 41.484 +518 448 M 41.485 +63 0 V 41.486 +stroke 41.487 +434 448 M 41.488 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1)] 41.489 +] -46.7 MRshow 41.490 +1.000 UL 41.491 +LTb 41.492 +518 792 M 41.493 +63 0 V 41.494 +stroke 41.495 +434 792 M 41.496 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] 41.497 +] -46.7 MRshow 41.498 +1.000 UL 41.499 +LTb 41.500 +518 1136 M 41.501 +63 0 V 41.502 +stroke 41.503 +434 1136 M 41.504 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] 41.505 +] -46.7 MRshow 41.506 +1.000 UL 41.507 +LTb 41.508 +518 1480 M 41.509 +63 0 V 41.510 +stroke 41.511 +434 1480 M 41.512 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] 41.513 +] -46.7 MRshow 41.514 +1.000 UL 41.515 +LTb 41.516 +518 1823 M 41.517 +63 0 V 41.518 +stroke 41.519 +434 1823 M 41.520 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 41.521 +] -46.7 MRshow 41.522 +1.000 UL 41.523 +LTb 41.524 +518 2167 M 41.525 +63 0 V 41.526 +stroke 41.527 +434 2167 M 41.528 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] 41.529 +] -46.7 MRshow 41.530 +1.000 UL 41.531 +LTb 41.532 +518 2511 M 41.533 +63 0 V 41.534 +stroke 41.535 +434 2511 M 41.536 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7)] 41.537 +] -46.7 MRshow 41.538 +1.000 UL 41.539 +LTb 41.540 +518 2855 M 41.541 +63 0 V 41.542 +stroke 41.543 +434 2855 M 41.544 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] 41.545 +] -46.7 MRshow 41.546 +1.000 UL 41.547 +LTb 41.548 +518 448 M 41.549 +0 63 V 41.550 +stroke 41.551 +518 308 M 41.552 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 41.553 +] -46.7 MCshow 41.554 +1.000 UL 41.555 +LTb 41.556 +962 448 M 41.557 +0 63 V 41.558 +stroke 41.559 +962 308 M 41.560 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 41.561 +] -46.7 MCshow 41.562 +1.000 UL 41.563 +LTb 41.564 +1405 448 M 41.565 +0 63 V 41.566 +stroke 41.567 +1405 308 M 41.568 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 41.569 +] -46.7 MCshow 41.570 +1.000 UL 41.571 +LTb 41.572 +1849 448 M 41.573 +0 63 V 41.574 +stroke 41.575 +1849 308 M 41.576 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 41.577 +] -46.7 MCshow 41.578 +1.000 UL 41.579 +LTb 41.580 +2293 448 M 41.581 +0 63 V 41.582 +stroke 41.583 +2293 308 M 41.584 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 41.585 +] -46.7 MCshow 41.586 +1.000 UL 41.587 +LTb 41.588 +2736 448 M 41.589 +0 63 V 41.590 +stroke 41.591 +2736 308 M 41.592 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 41.593 +] -46.7 MCshow 41.594 +1.000 UL 41.595 +LTb 41.596 +3180 448 M 41.597 +0 63 V 41.598 +stroke 41.599 +3180 308 M 41.600 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 41.601 +] -46.7 MCshow 41.602 +1.000 UL 41.603 +LTb 41.604 +3623 448 M 41.605 +0 63 V 41.606 +stroke 41.607 +3623 308 M 41.608 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 41.609 +] -46.7 MCshow 41.610 +1.000 UL 41.611 +LTb 41.612 +4067 448 M 41.613 +0 63 V 41.614 +stroke 41.615 +4067 308 M 41.616 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 41.617 +] -46.7 MCshow 41.618 +1.000 UL 41.619 +LTb 41.620 +1.000 UL 41.621 +LTb 41.622 +518 2855 M 41.623 +518 448 L 41.624 +3549 0 V 41.625 +0 2407 R 41.626 +-3549 0 R 41.627 +stroke 41.628 +LCb setrgbcolor 41.629 +112 1651 M 41.630 +currentpoint gsave translate -270 rotate 0 0 moveto 41.631 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 41.632 +] -46.7 MCshow 41.633 +grestore 41.634 +LTb 41.635 +LCb setrgbcolor 41.636 +2292 98 M 41.637 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 41.638 +] -46.7 MCshow 41.639 +LTb 41.640 +1.000 UP 41.641 +1.000 UL 41.642 +LTb 41.643 +1.000 UL 41.644 +LTb 41.645 +2492 2232 N 41.646 +0 560 V 41.647 +1491 0 V 41.648 +0 -560 V 41.649 +-1491 0 V 41.650 +Z stroke 41.651 +2492 2792 M 41.652 +1491 0 V 41.653 +% Begin plot #1 41.654 +stroke 41.655 +4.000 UL 41.656 +LT1 41.657 +LCa setrgbcolor 41.658 +518 792 M 41.659 +36 0 V 41.660 +36 0 V 41.661 +36 0 V 41.662 +35 0 V 41.663 +36 0 V 41.664 +36 0 V 41.665 +36 0 V 41.666 +36 0 V 41.667 +36 0 V 41.668 +35 0 V 41.669 +36 0 V 41.670 +36 0 V 41.671 +36 0 V 41.672 +36 0 V 41.673 +36 0 V 41.674 +36 0 V 41.675 +35 0 V 41.676 +36 0 V 41.677 +36 0 V 41.678 +36 0 V 41.679 +36 0 V 41.680 +36 0 V 41.681 +36 0 V 41.682 +35 0 V 41.683 +36 0 V 41.684 +36 0 V 41.685 +36 0 V 41.686 +36 0 V 41.687 +36 0 V 41.688 +35 0 V 41.689 +36 0 V 41.690 +36 0 V 41.691 +36 0 V 41.692 +36 0 V 41.693 +36 0 V 41.694 +36 0 V 41.695 +35 0 V 41.696 +36 0 V 41.697 +36 0 V 41.698 +36 0 V 41.699 +36 0 V 41.700 +36 0 V 41.701 +35 0 V 41.702 +36 0 V 41.703 +36 0 V 41.704 +36 0 V 41.705 +36 0 V 41.706 +36 0 V 41.707 +36 0 V 41.708 +35 0 V 41.709 +36 0 V 41.710 +36 0 V 41.711 +36 0 V 41.712 +36 0 V 41.713 +36 0 V 41.714 +36 0 V 41.715 +35 0 V 41.716 +36 0 V 41.717 +36 0 V 41.718 +36 0 V 41.719 +36 0 V 41.720 +36 0 V 41.721 +35 0 V 41.722 +36 0 V 41.723 +36 0 V 41.724 +36 0 V 41.725 +36 0 V 41.726 +36 0 V 41.727 +36 0 V 41.728 +35 0 V 41.729 +36 0 V 41.730 +36 0 V 41.731 +36 0 V 41.732 +36 0 V 41.733 +36 0 V 41.734 +35 0 V 41.735 +36 0 V 41.736 +36 0 V 41.737 +36 0 V 41.738 +36 0 V 41.739 +36 0 V 41.740 +36 0 V 41.741 +35 0 V 41.742 +36 0 V 41.743 +36 0 V 41.744 +36 0 V 41.745 +36 0 V 41.746 +36 0 V 41.747 +36 0 V 41.748 +35 0 V 41.749 +36 0 V 41.750 +36 0 V 41.751 +36 0 V 41.752 +36 0 V 41.753 +36 0 V 41.754 +35 0 V 41.755 +36 0 V 41.756 +36 0 V 41.757 +36 0 V 41.758 +% End plot #1 41.759 +% Begin plot #2 41.760 +stroke 41.761 +LT1 41.762 +LCb setrgbcolor 41.763 +3416 2722 M 41.764 +[ [(Helvetica) 140.0 0.0 true true 0 (8 Threads)] 41.765 +] -46.7 MRshow 41.766 +LT1 41.767 +3500 2722 M 41.768 +399 0 V 41.769 +610 1551 M 41.770 +19 -143 V 41.771 +31 -191 V 41.772 +722 955 L 41.773 +846 769 L 41.774 +1102 629 L 41.775 +497 -83 V 41.776 +994 -48 V 41.777 +4067 480 L 41.778 +% End plot #2 41.779 +% Begin plot #3 41.780 +stroke 41.781 +LT2 41.782 +LCb setrgbcolor 41.783 +3416 2582 M 41.784 +[ [(Helvetica) 140.0 0.0 true true 0 (32 Threads)] 41.785 +] -46.7 MRshow 41.786 +LT2 41.787 +3500 2582 M 41.788 +399 0 V 41.789 +610 1568 M 41.790 +19 -173 V 41.791 +31 -226 V 41.792 +722 958 L 41.793 +846 759 L 41.794 +1102 621 L 41.795 +497 -78 V 41.796 +994 -46 V 41.797 +4067 479 L 41.798 +% End plot #3 41.799 +% Begin plot #4 41.800 +stroke 41.801 +LT3 41.802 +LCb setrgbcolor 41.803 +3416 2442 M 41.804 +[ [(Helvetica) 140.0 0.0 true true 0 (128 Threads)] 41.805 +] -46.7 MRshow 41.806 +LT3 41.807 +3500 2442 M 41.808 +399 0 V 41.809 +611 1654 M 41.810 +18 -214 V 41.811 +31 -208 V 41.812 +722 984 L 41.813 +847 786 L 41.814 +1103 636 L 41.815 +496 -85 V 41.816 +994 -50 V 41.817 +4067 482 L 41.818 +% End plot #4 41.819 +% Begin plot #5 41.820 +stroke 41.821 +LT4 41.822 +LCb setrgbcolor 41.823 +3416 2302 M 41.824 +[ [(Helvetica) 140.0 0.0 true true 0 (512 Threads)] 41.825 +] -46.7 MRshow 41.826 +LT4 41.827 +3500 2302 M 41.828 +399 0 V 41.829 +611 1704 M 41.830 +18 -203 V 41.831 +31 -230 V 41.832 +63 -252 V 41.833 +846 804 L 41.834 +1103 645 L 41.835 +497 -89 V 41.836 +993 -52 V 41.837 +4067 484 L 41.838 +% End plot #5 41.839 +stroke 41.840 +1.000 UL 41.841 +LTb 41.842 +518 2855 M 41.843 +518 448 L 41.844 +3549 0 V 41.845 +0 2407 R 41.846 +-3549 0 R 41.847 +1.000 UP 41.848 +stroke 41.849 +grestore 41.850 +end 41.851 +showpage 41.852 +%%Trailer 41.853 +%%DocumentFonts: Helvetica 41.854 +%%Pages: 1
42.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 42.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/plots_exec_vs_task_size/not_used/vms_pthreads_8_32_128thds__o30000__perfCtrs.result.eps Fri Sep 13 11:02:18 2013 -0700 42.3 @@ -0,0 +1,819 @@ 42.4 +%!PS-Adobe-2.0 42.5 +%%Title: vms_pthreads_8_32_128thds__o30000__perfCtrs.result.eps 42.6 +%%Creator: gnuplot 4.4 patchlevel 2 42.7 +%%CreationDate: Thu Jan 26 18:11:43 2012 42.8 +%%DocumentFonts: (atend) 42.9 +%%BoundingBox: 251 50 554 482 42.10 +%%Orientation: Landscape 42.11 +%%Pages: (atend) 42.12 +%%EndComments 42.13 +%%BeginProlog 42.14 +/gnudict 256 dict def 42.15 +gnudict begin 42.16 +% 42.17 +% The following true/false flags may be edited by hand if desired. 42.18 +% The unit line width and grayscale image gamma correction may also be changed. 42.19 +% 42.20 +/Color true def 42.21 +/Blacktext false def 42.22 +/Solid false def 42.23 +/Dashlength 1 def 42.24 +/Landscape true def 42.25 +/Level1 false def 42.26 +/Rounded false def 42.27 +/ClipToBoundingBox false def 42.28 +/TransparentPatterns false def 42.29 +/gnulinewidth 5.000 def 42.30 +/userlinewidth gnulinewidth def 42.31 +/Gamma 1.0 def 42.32 +% 42.33 +/vshift -46 def 42.34 +/dl1 { 42.35 + 10.0 Dashlength mul mul 42.36 + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 42.37 +} def 42.38 +/dl2 { 42.39 + 10.0 Dashlength mul mul 42.40 + Rounded { currentlinewidth 0.75 mul add } if 42.41 +} def 42.42 +/hpt_ 31.5 def 42.43 +/vpt_ 31.5 def 42.44 +/hpt hpt_ def 42.45 +/vpt vpt_ def 42.46 +Level1 {} { 42.47 +/SDict 10 dict def 42.48 +systemdict /pdfmark known not { 42.49 + userdict /pdfmark systemdict /cleartomark get put 42.50 +} if 42.51 +SDict begin [ 42.52 + /Title (vms_pthreads_8_32_128thds__o30000__perfCtrs.result.eps) 42.53 + /Subject (gnuplot plot) 42.54 + /Creator (gnuplot 4.4 patchlevel 2) 42.55 + /Author (msach) 42.56 +% /Producer (gnuplot) 42.57 +% /Keywords () 42.58 + /CreationDate (Thu Jan 26 18:11:43 2012) 42.59 + /DOCINFO pdfmark 42.60 +end 42.61 +} ifelse 42.62 +/doclip { 42.63 + ClipToBoundingBox { 42.64 + newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 42.65 + clip 42.66 + } if 42.67 +} def 42.68 +% 42.69 +% Gnuplot Prolog Version 4.4 (August 2010) 42.70 +% 42.71 +%/SuppressPDFMark true def 42.72 +% 42.73 +/M {moveto} bind def 42.74 +/L {lineto} bind def 42.75 +/R {rmoveto} bind def 42.76 +/V {rlineto} bind def 42.77 +/N {newpath moveto} bind def 42.78 +/Z {closepath} bind def 42.79 +/C {setrgbcolor} bind def 42.80 +/f {rlineto fill} bind def 42.81 +/g {setgray} bind def 42.82 +/Gshow {show} def % May be redefined later in the file to support UTF-8 42.83 +/vpt2 vpt 2 mul def 42.84 +/hpt2 hpt 2 mul def 42.85 +/Lshow {currentpoint stroke M 0 vshift R 42.86 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 42.87 +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 42.88 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 42.89 +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 42.90 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 42.91 +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 42.92 + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 42.93 +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 42.94 + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 42.95 +/BL {stroke userlinewidth 2 mul setlinewidth 42.96 + Rounded {1 setlinejoin 1 setlinecap} if} def 42.97 +/AL {stroke userlinewidth 2 div setlinewidth 42.98 + Rounded {1 setlinejoin 1 setlinecap} if} def 42.99 +/UL {dup gnulinewidth mul /userlinewidth exch def 42.100 + dup 1 lt {pop 1} if 10 mul /udl exch def} def 42.101 +/PL {stroke userlinewidth setlinewidth 42.102 + Rounded {1 setlinejoin 1 setlinecap} if} def 42.103 +3.8 setmiterlimit 42.104 +% Default Line colors 42.105 +/LCw {1 1 1} def 42.106 +/LCb {0 0 0} def 42.107 +/LCa {0 0 0} def 42.108 +/LC0 {1 0 0} def 42.109 +/LC1 {0 1 0} def 42.110 +/LC2 {0 0 1} def 42.111 +/LC3 {1 0 1} def 42.112 +/LC4 {0 1 1} def 42.113 +/LC5 {1 1 0} def 42.114 +/LC6 {0 0 0} def 42.115 +/LC7 {1 0.3 0} def 42.116 +/LC8 {0.5 0.5 0.5} def 42.117 +% Default Line Types 42.118 +/LTw {PL [] 1 setgray} def 42.119 +/LTb {BL [] LCb DL} def 42.120 +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 42.121 +/LT0 {PL [] LC0 DL} def 42.122 +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 42.123 +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 42.124 +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 42.125 +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 42.126 +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 42.127 +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 42.128 +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 42.129 +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 42.130 +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 42.131 +/Dia {stroke [] 0 setdash 2 copy vpt add M 42.132 + hpt neg vpt neg V hpt vpt neg V 42.133 + hpt vpt V hpt neg vpt V closepath stroke 42.134 + Pnt} def 42.135 +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 42.136 + currentpoint stroke M 42.137 + hpt neg vpt neg R hpt2 0 V stroke 42.138 + } def 42.139 +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 42.140 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 42.141 + hpt2 neg 0 V closepath stroke 42.142 + Pnt} def 42.143 +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 42.144 + hpt2 vpt2 neg V currentpoint stroke M 42.145 + hpt2 neg 0 R hpt2 vpt2 V stroke} def 42.146 +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 42.147 + hpt neg vpt -1.62 mul V 42.148 + hpt 2 mul 0 V 42.149 + hpt neg vpt 1.62 mul V closepath stroke 42.150 + Pnt} def 42.151 +/Star {2 copy Pls Crs} def 42.152 +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 42.153 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 42.154 + hpt2 neg 0 V closepath fill} def 42.155 +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 42.156 + hpt neg vpt -1.62 mul V 42.157 + hpt 2 mul 0 V 42.158 + hpt neg vpt 1.62 mul V closepath fill} def 42.159 +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 42.160 + hpt neg vpt 1.62 mul V 42.161 + hpt 2 mul 0 V 42.162 + hpt neg vpt -1.62 mul V closepath stroke 42.163 + Pnt} def 42.164 +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 42.165 + hpt neg vpt 1.62 mul V 42.166 + hpt 2 mul 0 V 42.167 + hpt neg vpt -1.62 mul V closepath fill} def 42.168 +/DiaF {stroke [] 0 setdash vpt add M 42.169 + hpt neg vpt neg V hpt vpt neg V 42.170 + hpt vpt V hpt neg vpt V closepath fill} def 42.171 +/Pent {stroke [] 0 setdash 2 copy gsave 42.172 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 42.173 + closepath stroke grestore Pnt} def 42.174 +/PentF {stroke [] 0 setdash gsave 42.175 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 42.176 + closepath fill grestore} def 42.177 +/Circle {stroke [] 0 setdash 2 copy 42.178 + hpt 0 360 arc stroke Pnt} def 42.179 +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 42.180 +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 42.181 +/C1 {BL [] 0 setdash 2 copy moveto 42.182 + 2 copy vpt 0 90 arc closepath fill 42.183 + vpt 0 360 arc closepath} bind def 42.184 +/C2 {BL [] 0 setdash 2 copy moveto 42.185 + 2 copy vpt 90 180 arc closepath fill 42.186 + vpt 0 360 arc closepath} bind def 42.187 +/C3 {BL [] 0 setdash 2 copy moveto 42.188 + 2 copy vpt 0 180 arc closepath fill 42.189 + vpt 0 360 arc closepath} bind def 42.190 +/C4 {BL [] 0 setdash 2 copy moveto 42.191 + 2 copy vpt 180 270 arc closepath fill 42.192 + vpt 0 360 arc closepath} bind def 42.193 +/C5 {BL [] 0 setdash 2 copy moveto 42.194 + 2 copy vpt 0 90 arc 42.195 + 2 copy moveto 42.196 + 2 copy vpt 180 270 arc closepath fill 42.197 + vpt 0 360 arc} bind def 42.198 +/C6 {BL [] 0 setdash 2 copy moveto 42.199 + 2 copy vpt 90 270 arc closepath fill 42.200 + vpt 0 360 arc closepath} bind def 42.201 +/C7 {BL [] 0 setdash 2 copy moveto 42.202 + 2 copy vpt 0 270 arc closepath fill 42.203 + vpt 0 360 arc closepath} bind def 42.204 +/C8 {BL [] 0 setdash 2 copy moveto 42.205 + 2 copy vpt 270 360 arc closepath fill 42.206 + vpt 0 360 arc closepath} bind def 42.207 +/C9 {BL [] 0 setdash 2 copy moveto 42.208 + 2 copy vpt 270 450 arc closepath fill 42.209 + vpt 0 360 arc closepath} bind def 42.210 +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 42.211 + 2 copy moveto 42.212 + 2 copy vpt 90 180 arc closepath fill 42.213 + vpt 0 360 arc closepath} bind def 42.214 +/C11 {BL [] 0 setdash 2 copy moveto 42.215 + 2 copy vpt 0 180 arc closepath fill 42.216 + 2 copy moveto 42.217 + 2 copy vpt 270 360 arc closepath fill 42.218 + vpt 0 360 arc closepath} bind def 42.219 +/C12 {BL [] 0 setdash 2 copy moveto 42.220 + 2 copy vpt 180 360 arc closepath fill 42.221 + vpt 0 360 arc closepath} bind def 42.222 +/C13 {BL [] 0 setdash 2 copy moveto 42.223 + 2 copy vpt 0 90 arc closepath fill 42.224 + 2 copy moveto 42.225 + 2 copy vpt 180 360 arc closepath fill 42.226 + vpt 0 360 arc closepath} bind def 42.227 +/C14 {BL [] 0 setdash 2 copy moveto 42.228 + 2 copy vpt 90 360 arc closepath fill 42.229 + vpt 0 360 arc} bind def 42.230 +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 42.231 + vpt 0 360 arc closepath} bind def 42.232 +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 42.233 + neg 0 rlineto closepath} bind def 42.234 +/Square {dup Rec} bind def 42.235 +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 42.236 +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 42.237 +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 42.238 +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 42.239 +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 42.240 +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 42.241 +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 42.242 + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 42.243 +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 42.244 +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 42.245 + 2 copy vpt Square fill Bsquare} bind def 42.246 +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 42.247 +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 42.248 +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 42.249 + Bsquare} bind def 42.250 +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 42.251 + Bsquare} bind def 42.252 +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 42.253 +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 42.254 + 2 copy vpt Square fill Bsquare} bind def 42.255 +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 42.256 + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 42.257 +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 42.258 +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 42.259 +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 42.260 +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 42.261 +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 42.262 +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 42.263 +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 42.264 +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 42.265 +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 42.266 +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 42.267 +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 42.268 +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 42.269 +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 42.270 +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 42.271 +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 42.272 +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 42.273 +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 42.274 +/DiaE {stroke [] 0 setdash vpt add M 42.275 + hpt neg vpt neg V hpt vpt neg V 42.276 + hpt vpt V hpt neg vpt V closepath stroke} def 42.277 +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 42.278 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 42.279 + hpt2 neg 0 V closepath stroke} def 42.280 +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 42.281 + hpt neg vpt -1.62 mul V 42.282 + hpt 2 mul 0 V 42.283 + hpt neg vpt 1.62 mul V closepath stroke} def 42.284 +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 42.285 + hpt neg vpt 1.62 mul V 42.286 + hpt 2 mul 0 V 42.287 + hpt neg vpt -1.62 mul V closepath stroke} def 42.288 +/PentE {stroke [] 0 setdash gsave 42.289 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 42.290 + closepath stroke grestore} def 42.291 +/CircE {stroke [] 0 setdash 42.292 + hpt 0 360 arc stroke} def 42.293 +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 42.294 +/DiaW {stroke [] 0 setdash vpt add M 42.295 + hpt neg vpt neg V hpt vpt neg V 42.296 + hpt vpt V hpt neg vpt V Opaque stroke} def 42.297 +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 42.298 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 42.299 + hpt2 neg 0 V Opaque stroke} def 42.300 +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 42.301 + hpt neg vpt -1.62 mul V 42.302 + hpt 2 mul 0 V 42.303 + hpt neg vpt 1.62 mul V Opaque stroke} def 42.304 +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 42.305 + hpt neg vpt 1.62 mul V 42.306 + hpt 2 mul 0 V 42.307 + hpt neg vpt -1.62 mul V Opaque stroke} def 42.308 +/PentW {stroke [] 0 setdash gsave 42.309 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 42.310 + Opaque stroke grestore} def 42.311 +/CircW {stroke [] 0 setdash 42.312 + hpt 0 360 arc Opaque stroke} def 42.313 +/BoxFill {gsave Rec 1 setgray fill grestore} def 42.314 +/Density { 42.315 + /Fillden exch def 42.316 + currentrgbcolor 42.317 + /ColB exch def /ColG exch def /ColR exch def 42.318 + /ColR ColR Fillden mul Fillden sub 1 add def 42.319 + /ColG ColG Fillden mul Fillden sub 1 add def 42.320 + /ColB ColB Fillden mul Fillden sub 1 add def 42.321 + ColR ColG ColB setrgbcolor} def 42.322 +/BoxColFill {gsave Rec PolyFill} def 42.323 +/PolyFill {gsave Density fill grestore grestore} def 42.324 +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 42.325 +% 42.326 +% PostScript Level 1 Pattern Fill routine for rectangles 42.327 +% Usage: x y w h s a XX PatternFill 42.328 +% x,y = lower left corner of box to be filled 42.329 +% w,h = width and height of box 42.330 +% a = angle in degrees between lines and x-axis 42.331 +% XX = 0/1 for no/yes cross-hatch 42.332 +% 42.333 +/PatternFill {gsave /PFa [ 9 2 roll ] def 42.334 + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 42.335 + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 42.336 + gsave 1 setgray fill grestore clip 42.337 + currentlinewidth 0.5 mul setlinewidth 42.338 + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 42.339 + 0 0 M PFa 5 get rotate PFs -2 div dup translate 42.340 + 0 1 PFs PFa 4 get div 1 add floor cvi 42.341 + {PFa 4 get mul 0 M 0 PFs V} for 42.342 + 0 PFa 6 get ne { 42.343 + 0 1 PFs PFa 4 get div 1 add floor cvi 42.344 + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 42.345 + } if 42.346 + stroke grestore} def 42.347 +% 42.348 +/languagelevel where 42.349 + {pop languagelevel} {1} ifelse 42.350 + 2 lt 42.351 + {/InterpretLevel1 true def} 42.352 + {/InterpretLevel1 Level1 def} 42.353 + ifelse 42.354 +% 42.355 +% PostScript level 2 pattern fill definitions 42.356 +% 42.357 +/Level2PatternFill { 42.358 +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 42.359 + bind def 42.360 +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 42.361 +<< Tile8x8 42.362 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 42.363 +>> matrix makepattern 42.364 +/Pat1 exch def 42.365 +<< Tile8x8 42.366 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 42.367 + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 42.368 +>> matrix makepattern 42.369 +/Pat2 exch def 42.370 +<< Tile8x8 42.371 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 42.372 + 8 8 L 8 0 L 0 0 L fill} 42.373 +>> matrix makepattern 42.374 +/Pat3 exch def 42.375 +<< Tile8x8 42.376 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 42.377 + 0 12 M 12 0 L stroke} 42.378 +>> matrix makepattern 42.379 +/Pat4 exch def 42.380 +<< Tile8x8 42.381 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 42.382 + 0 -4 M 12 8 L stroke} 42.383 +>> matrix makepattern 42.384 +/Pat5 exch def 42.385 +<< Tile8x8 42.386 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 42.387 + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 42.388 +>> matrix makepattern 42.389 +/Pat6 exch def 42.390 +<< Tile8x8 42.391 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 42.392 + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 42.393 +>> matrix makepattern 42.394 +/Pat7 exch def 42.395 +<< Tile8x8 42.396 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 42.397 + 12 0 M -4 8 L 12 4 M 0 10 L stroke} 42.398 +>> matrix makepattern 42.399 +/Pat8 exch def 42.400 +<< Tile8x8 42.401 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 42.402 + -4 0 M 12 8 L -4 4 M 8 10 L stroke} 42.403 +>> matrix makepattern 42.404 +/Pat9 exch def 42.405 +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 42.406 +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 42.407 +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 42.408 +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 42.409 +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 42.410 +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 42.411 +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 42.412 +} def 42.413 +% 42.414 +% 42.415 +%End of PostScript Level 2 code 42.416 +% 42.417 +/PatternBgnd { 42.418 + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 42.419 +} def 42.420 +% 42.421 +% Substitute for Level 2 pattern fill codes with 42.422 +% grayscale if Level 2 support is not selected. 42.423 +% 42.424 +/Level1PatternFill { 42.425 +/Pattern1 {0.250 Density} bind def 42.426 +/Pattern2 {0.500 Density} bind def 42.427 +/Pattern3 {0.750 Density} bind def 42.428 +/Pattern4 {0.125 Density} bind def 42.429 +/Pattern5 {0.375 Density} bind def 42.430 +/Pattern6 {0.625 Density} bind def 42.431 +/Pattern7 {0.875 Density} bind def 42.432 +} def 42.433 +% 42.434 +% Now test for support of Level 2 code 42.435 +% 42.436 +Level1 {Level1PatternFill} {Level2PatternFill} ifelse 42.437 +% 42.438 +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 42.439 +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 42.440 +currentdict end definefont pop 42.441 +/MFshow { 42.442 + { dup 5 get 3 ge 42.443 + { 5 get 3 eq {gsave} {grestore} ifelse } 42.444 + {dup dup 0 get findfont exch 1 get scalefont setfont 42.445 + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 42.446 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 42.447 + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 42.448 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 42.449 + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 42.450 + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 42.451 + pop aload pop M} ifelse }ifelse }ifelse } 42.452 + ifelse } 42.453 + forall} def 42.454 +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 42.455 +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 42.456 + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 42.457 + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 42.458 +/MLshow { currentpoint stroke M 42.459 + 0 exch R 42.460 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 42.461 +/MRshow { currentpoint stroke M 42.462 + exch dup MFwidth neg 3 -1 roll R 42.463 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 42.464 +/MCshow { currentpoint stroke M 42.465 + exch dup MFwidth -2 div 3 -1 roll R 42.466 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 42.467 +/XYsave { [( ) 1 2 true false 3 ()] } bind def 42.468 +/XYrestore { [( ) 1 2 true false 4 ()] } bind def 42.469 +end 42.470 +%%EndProlog 42.471 +%%Page: 1 1 42.472 +gnudict begin 42.473 +gsave 42.474 +doclip 42.475 +50 50 translate 42.476 +0.100 0.100 scale 42.477 +90 rotate 42.478 +0 -5040 translate 42.479 +0 setgray 42.480 +newpath 42.481 +(Helvetica) findfont 140 scalefont setfont 42.482 +1.000 UL 42.483 +LTb 42.484 +518 448 M 42.485 +63 0 V 42.486 +stroke 42.487 +434 448 M 42.488 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1)] 42.489 +] -46.7 MRshow 42.490 +1.000 UL 42.491 +LTb 42.492 +518 792 M 42.493 +63 0 V 42.494 +stroke 42.495 +434 792 M 42.496 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] 42.497 +] -46.7 MRshow 42.498 +1.000 UL 42.499 +LTb 42.500 +518 1136 M 42.501 +63 0 V 42.502 +stroke 42.503 +434 1136 M 42.504 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] 42.505 +] -46.7 MRshow 42.506 +1.000 UL 42.507 +LTb 42.508 +518 1480 M 42.509 +63 0 V 42.510 +stroke 42.511 +434 1480 M 42.512 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] 42.513 +] -46.7 MRshow 42.514 +1.000 UL 42.515 +LTb 42.516 +518 1823 M 42.517 +63 0 V 42.518 +stroke 42.519 +434 1823 M 42.520 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 42.521 +] -46.7 MRshow 42.522 +1.000 UL 42.523 +LTb 42.524 +518 2167 M 42.525 +63 0 V 42.526 +stroke 42.527 +434 2167 M 42.528 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] 42.529 +] -46.7 MRshow 42.530 +1.000 UL 42.531 +LTb 42.532 +518 2511 M 42.533 +63 0 V 42.534 +stroke 42.535 +434 2511 M 42.536 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7)] 42.537 +] -46.7 MRshow 42.538 +1.000 UL 42.539 +LTb 42.540 +518 2855 M 42.541 +63 0 V 42.542 +stroke 42.543 +434 2855 M 42.544 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] 42.545 +] -46.7 MRshow 42.546 +1.000 UL 42.547 +LTb 42.548 +518 448 M 42.549 +0 63 V 42.550 +stroke 42.551 +518 308 M 42.552 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 42.553 +] -46.7 MCshow 42.554 +1.000 UL 42.555 +LTb 42.556 +962 448 M 42.557 +0 63 V 42.558 +stroke 42.559 +962 308 M 42.560 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 42.561 +] -46.7 MCshow 42.562 +1.000 UL 42.563 +LTb 42.564 +1405 448 M 42.565 +0 63 V 42.566 +stroke 42.567 +1405 308 M 42.568 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 42.569 +] -46.7 MCshow 42.570 +1.000 UL 42.571 +LTb 42.572 +1849 448 M 42.573 +0 63 V 42.574 +stroke 42.575 +1849 308 M 42.576 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 42.577 +] -46.7 MCshow 42.578 +1.000 UL 42.579 +LTb 42.580 +2293 448 M 42.581 +0 63 V 42.582 +stroke 42.583 +2293 308 M 42.584 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 42.585 +] -46.7 MCshow 42.586 +1.000 UL 42.587 +LTb 42.588 +2736 448 M 42.589 +0 63 V 42.590 +stroke 42.591 +2736 308 M 42.592 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 42.593 +] -46.7 MCshow 42.594 +1.000 UL 42.595 +LTb 42.596 +3180 448 M 42.597 +0 63 V 42.598 +stroke 42.599 +3180 308 M 42.600 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 42.601 +] -46.7 MCshow 42.602 +1.000 UL 42.603 +LTb 42.604 +3623 448 M 42.605 +0 63 V 42.606 +stroke 42.607 +3623 308 M 42.608 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 42.609 +] -46.7 MCshow 42.610 +1.000 UL 42.611 +LTb 42.612 +4067 448 M 42.613 +0 63 V 42.614 +stroke 42.615 +4067 308 M 42.616 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 42.617 +] -46.7 MCshow 42.618 +1.000 UL 42.619 +LTb 42.620 +1.000 UL 42.621 +LTb 42.622 +518 2855 M 42.623 +518 448 L 42.624 +3549 0 V 42.625 +0 2407 R 42.626 +-3549 0 R 42.627 +stroke 42.628 +LCb setrgbcolor 42.629 +112 1651 M 42.630 +currentpoint gsave translate -270 rotate 0 0 moveto 42.631 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 42.632 +] -46.7 MCshow 42.633 +grestore 42.634 +LTb 42.635 +LCb setrgbcolor 42.636 +2292 98 M 42.637 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 42.638 +] -46.7 MCshow 42.639 +LTb 42.640 +1.000 UP 42.641 +1.000 UL 42.642 +LTb 42.643 +1.000 UL 42.644 +LTb 42.645 +2492 2372 N 42.646 +0 420 V 42.647 +1491 0 V 42.648 +0 -420 V 42.649 +-1491 0 V 42.650 +Z stroke 42.651 +2492 2792 M 42.652 +1491 0 V 42.653 +% Begin plot #1 42.654 +stroke 42.655 +3.000 UL 42.656 +LT1 42.657 +LCa setrgbcolor 42.658 +518 792 M 42.659 +36 0 V 42.660 +36 0 V 42.661 +36 0 V 42.662 +35 0 V 42.663 +36 0 V 42.664 +36 0 V 42.665 +36 0 V 42.666 +36 0 V 42.667 +36 0 V 42.668 +35 0 V 42.669 +36 0 V 42.670 +36 0 V 42.671 +36 0 V 42.672 +36 0 V 42.673 +36 0 V 42.674 +36 0 V 42.675 +35 0 V 42.676 +36 0 V 42.677 +36 0 V 42.678 +36 0 V 42.679 +36 0 V 42.680 +36 0 V 42.681 +36 0 V 42.682 +35 0 V 42.683 +36 0 V 42.684 +36 0 V 42.685 +36 0 V 42.686 +36 0 V 42.687 +36 0 V 42.688 +35 0 V 42.689 +36 0 V 42.690 +36 0 V 42.691 +36 0 V 42.692 +36 0 V 42.693 +36 0 V 42.694 +36 0 V 42.695 +35 0 V 42.696 +36 0 V 42.697 +36 0 V 42.698 +36 0 V 42.699 +36 0 V 42.700 +36 0 V 42.701 +35 0 V 42.702 +36 0 V 42.703 +36 0 V 42.704 +36 0 V 42.705 +36 0 V 42.706 +36 0 V 42.707 +36 0 V 42.708 +35 0 V 42.709 +36 0 V 42.710 +36 0 V 42.711 +36 0 V 42.712 +36 0 V 42.713 +36 0 V 42.714 +36 0 V 42.715 +35 0 V 42.716 +36 0 V 42.717 +36 0 V 42.718 +36 0 V 42.719 +36 0 V 42.720 +36 0 V 42.721 +35 0 V 42.722 +36 0 V 42.723 +36 0 V 42.724 +36 0 V 42.725 +36 0 V 42.726 +36 0 V 42.727 +36 0 V 42.728 +35 0 V 42.729 +36 0 V 42.730 +36 0 V 42.731 +36 0 V 42.732 +36 0 V 42.733 +36 0 V 42.734 +35 0 V 42.735 +36 0 V 42.736 +36 0 V 42.737 +36 0 V 42.738 +36 0 V 42.739 +36 0 V 42.740 +36 0 V 42.741 +35 0 V 42.742 +36 0 V 42.743 +36 0 V 42.744 +36 0 V 42.745 +36 0 V 42.746 +36 0 V 42.747 +36 0 V 42.748 +35 0 V 42.749 +36 0 V 42.750 +36 0 V 42.751 +36 0 V 42.752 +36 0 V 42.753 +36 0 V 42.754 +35 0 V 42.755 +36 0 V 42.756 +36 0 V 42.757 +36 0 V 42.758 +% End plot #1 42.759 +% Begin plot #2 42.760 +stroke 42.761 +4.000 UL 42.762 +LT1 42.763 +LCb setrgbcolor 42.764 +3416 2722 M 42.765 +[ [(Helvetica) 140.0 0.0 true true 0 (8 Threads)] 42.766 +] -46.7 MRshow 42.767 +LT1 42.768 +3500 2722 M 42.769 +399 0 V 42.770 +715 2855 M 42.771 +58 -684 V 42.772 +984 1411 L 42.773 +1411 947 L 42.774 +2263 700 L 42.775 +3965 573 L 42.776 +% End plot #2 42.777 +% Begin plot #3 42.778 +stroke 42.779 +LT2 42.780 +LCb setrgbcolor 42.781 +3416 2582 M 42.782 +[ [(Helvetica) 140.0 0.0 true true 0 (32 Threads)] 42.783 +] -46.7 MRshow 42.784 +LT2 42.785 +3500 2582 M 42.786 +399 0 V 42.787 +947 2855 M 42.788 +38 -338 V 42.789 +427 -979 V 42.790 +849 -507 V 42.791 +3969 747 L 42.792 +% End plot #3 42.793 +% Begin plot #4 42.794 +stroke 42.795 +LT3 42.796 +LCb setrgbcolor 42.797 +3416 2442 M 42.798 +[ [(Helvetica) 140.0 0.0 true true 0 (128 Threads)] 42.799 +] -46.7 MRshow 42.800 +LT3 42.801 +3500 2442 M 42.802 +399 0 V 42.803 +2070 2855 M 42.804 +197 -434 V 42.805 +3969 1446 L 42.806 +% End plot #4 42.807 +stroke 42.808 +1.000 UL 42.809 +LTb 42.810 +518 2855 M 42.811 +518 448 L 42.812 +3549 0 V 42.813 +0 2407 R 42.814 +-3549 0 R 42.815 +1.000 UP 42.816 +stroke 42.817 +grestore 42.818 +end 42.819 +showpage 42.820 +%%Trailer 42.821 +%%DocumentFonts: Helvetica 42.822 +%%Pages: 1
43.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 43.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/plots_exec_vs_task_size/not_used/vms_vthread_8_32_128_512thds__o30000__perfCtrs.result.eps Fri Sep 13 11:02:18 2013 -0700 43.3 @@ -0,0 +1,852 @@ 43.4 +%!PS-Adobe-2.0 43.5 +%%Title: vms_vthread_8_32_128_512thds__o30000__perfCtrs.result.eps 43.6 +%%Creator: gnuplot 4.4 patchlevel 2 43.7 +%%CreationDate: Thu Jan 26 18:12:20 2012 43.8 +%%DocumentFonts: (atend) 43.9 +%%BoundingBox: 251 50 554 482 43.10 +%%Orientation: Landscape 43.11 +%%Pages: (atend) 43.12 +%%EndComments 43.13 +%%BeginProlog 43.14 +/gnudict 256 dict def 43.15 +gnudict begin 43.16 +% 43.17 +% The following true/false flags may be edited by hand if desired. 43.18 +% The unit line width and grayscale image gamma correction may also be changed. 43.19 +% 43.20 +/Color true def 43.21 +/Blacktext false def 43.22 +/Solid false def 43.23 +/Dashlength 1 def 43.24 +/Landscape true def 43.25 +/Level1 false def 43.26 +/Rounded false def 43.27 +/ClipToBoundingBox false def 43.28 +/TransparentPatterns false def 43.29 +/gnulinewidth 5.000 def 43.30 +/userlinewidth gnulinewidth def 43.31 +/Gamma 1.0 def 43.32 +% 43.33 +/vshift -46 def 43.34 +/dl1 { 43.35 + 10.0 Dashlength mul mul 43.36 + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 43.37 +} def 43.38 +/dl2 { 43.39 + 10.0 Dashlength mul mul 43.40 + Rounded { currentlinewidth 0.75 mul add } if 43.41 +} def 43.42 +/hpt_ 31.5 def 43.43 +/vpt_ 31.5 def 43.44 +/hpt hpt_ def 43.45 +/vpt vpt_ def 43.46 +Level1 {} { 43.47 +/SDict 10 dict def 43.48 +systemdict /pdfmark known not { 43.49 + userdict /pdfmark systemdict /cleartomark get put 43.50 +} if 43.51 +SDict begin [ 43.52 + /Title (vms_vthread_8_32_128_512thds__o30000__perfCtrs.result.eps) 43.53 + /Subject (gnuplot plot) 43.54 + /Creator (gnuplot 4.4 patchlevel 2) 43.55 + /Author (msach) 43.56 +% /Producer (gnuplot) 43.57 +% /Keywords () 43.58 + /CreationDate (Thu Jan 26 18:12:20 2012) 43.59 + /DOCINFO pdfmark 43.60 +end 43.61 +} ifelse 43.62 +/doclip { 43.63 + ClipToBoundingBox { 43.64 + newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 43.65 + clip 43.66 + } if 43.67 +} def 43.68 +% 43.69 +% Gnuplot Prolog Version 4.4 (August 2010) 43.70 +% 43.71 +%/SuppressPDFMark true def 43.72 +% 43.73 +/M {moveto} bind def 43.74 +/L {lineto} bind def 43.75 +/R {rmoveto} bind def 43.76 +/V {rlineto} bind def 43.77 +/N {newpath moveto} bind def 43.78 +/Z {closepath} bind def 43.79 +/C {setrgbcolor} bind def 43.80 +/f {rlineto fill} bind def 43.81 +/g {setgray} bind def 43.82 +/Gshow {show} def % May be redefined later in the file to support UTF-8 43.83 +/vpt2 vpt 2 mul def 43.84 +/hpt2 hpt 2 mul def 43.85 +/Lshow {currentpoint stroke M 0 vshift R 43.86 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 43.87 +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 43.88 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 43.89 +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 43.90 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 43.91 +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 43.92 + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 43.93 +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 43.94 + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 43.95 +/BL {stroke userlinewidth 2 mul setlinewidth 43.96 + Rounded {1 setlinejoin 1 setlinecap} if} def 43.97 +/AL {stroke userlinewidth 2 div setlinewidth 43.98 + Rounded {1 setlinejoin 1 setlinecap} if} def 43.99 +/UL {dup gnulinewidth mul /userlinewidth exch def 43.100 + dup 1 lt {pop 1} if 10 mul /udl exch def} def 43.101 +/PL {stroke userlinewidth setlinewidth 43.102 + Rounded {1 setlinejoin 1 setlinecap} if} def 43.103 +3.8 setmiterlimit 43.104 +% Default Line colors 43.105 +/LCw {1 1 1} def 43.106 +/LCb {0 0 0} def 43.107 +/LCa {0 0 0} def 43.108 +/LC0 {1 0 0} def 43.109 +/LC1 {0 1 0} def 43.110 +/LC2 {0 0 1} def 43.111 +/LC3 {1 0 1} def 43.112 +/LC4 {0 1 1} def 43.113 +/LC5 {1 1 0} def 43.114 +/LC6 {0 0 0} def 43.115 +/LC7 {1 0.3 0} def 43.116 +/LC8 {0.5 0.5 0.5} def 43.117 +% Default Line Types 43.118 +/LTw {PL [] 1 setgray} def 43.119 +/LTb {BL [] LCb DL} def 43.120 +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 43.121 +/LT0 {PL [] LC0 DL} def 43.122 +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 43.123 +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 43.124 +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 43.125 +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 43.126 +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 43.127 +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 43.128 +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 43.129 +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 43.130 +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 43.131 +/Dia {stroke [] 0 setdash 2 copy vpt add M 43.132 + hpt neg vpt neg V hpt vpt neg V 43.133 + hpt vpt V hpt neg vpt V closepath stroke 43.134 + Pnt} def 43.135 +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 43.136 + currentpoint stroke M 43.137 + hpt neg vpt neg R hpt2 0 V stroke 43.138 + } def 43.139 +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 43.140 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 43.141 + hpt2 neg 0 V closepath stroke 43.142 + Pnt} def 43.143 +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 43.144 + hpt2 vpt2 neg V currentpoint stroke M 43.145 + hpt2 neg 0 R hpt2 vpt2 V stroke} def 43.146 +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 43.147 + hpt neg vpt -1.62 mul V 43.148 + hpt 2 mul 0 V 43.149 + hpt neg vpt 1.62 mul V closepath stroke 43.150 + Pnt} def 43.151 +/Star {2 copy Pls Crs} def 43.152 +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 43.153 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 43.154 + hpt2 neg 0 V closepath fill} def 43.155 +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 43.156 + hpt neg vpt -1.62 mul V 43.157 + hpt 2 mul 0 V 43.158 + hpt neg vpt 1.62 mul V closepath fill} def 43.159 +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 43.160 + hpt neg vpt 1.62 mul V 43.161 + hpt 2 mul 0 V 43.162 + hpt neg vpt -1.62 mul V closepath stroke 43.163 + Pnt} def 43.164 +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 43.165 + hpt neg vpt 1.62 mul V 43.166 + hpt 2 mul 0 V 43.167 + hpt neg vpt -1.62 mul V closepath fill} def 43.168 +/DiaF {stroke [] 0 setdash vpt add M 43.169 + hpt neg vpt neg V hpt vpt neg V 43.170 + hpt vpt V hpt neg vpt V closepath fill} def 43.171 +/Pent {stroke [] 0 setdash 2 copy gsave 43.172 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 43.173 + closepath stroke grestore Pnt} def 43.174 +/PentF {stroke [] 0 setdash gsave 43.175 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 43.176 + closepath fill grestore} def 43.177 +/Circle {stroke [] 0 setdash 2 copy 43.178 + hpt 0 360 arc stroke Pnt} def 43.179 +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 43.180 +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 43.181 +/C1 {BL [] 0 setdash 2 copy moveto 43.182 + 2 copy vpt 0 90 arc closepath fill 43.183 + vpt 0 360 arc closepath} bind def 43.184 +/C2 {BL [] 0 setdash 2 copy moveto 43.185 + 2 copy vpt 90 180 arc closepath fill 43.186 + vpt 0 360 arc closepath} bind def 43.187 +/C3 {BL [] 0 setdash 2 copy moveto 43.188 + 2 copy vpt 0 180 arc closepath fill 43.189 + vpt 0 360 arc closepath} bind def 43.190 +/C4 {BL [] 0 setdash 2 copy moveto 43.191 + 2 copy vpt 180 270 arc closepath fill 43.192 + vpt 0 360 arc closepath} bind def 43.193 +/C5 {BL [] 0 setdash 2 copy moveto 43.194 + 2 copy vpt 0 90 arc 43.195 + 2 copy moveto 43.196 + 2 copy vpt 180 270 arc closepath fill 43.197 + vpt 0 360 arc} bind def 43.198 +/C6 {BL [] 0 setdash 2 copy moveto 43.199 + 2 copy vpt 90 270 arc closepath fill 43.200 + vpt 0 360 arc closepath} bind def 43.201 +/C7 {BL [] 0 setdash 2 copy moveto 43.202 + 2 copy vpt 0 270 arc closepath fill 43.203 + vpt 0 360 arc closepath} bind def 43.204 +/C8 {BL [] 0 setdash 2 copy moveto 43.205 + 2 copy vpt 270 360 arc closepath fill 43.206 + vpt 0 360 arc closepath} bind def 43.207 +/C9 {BL [] 0 setdash 2 copy moveto 43.208 + 2 copy vpt 270 450 arc closepath fill 43.209 + vpt 0 360 arc closepath} bind def 43.210 +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 43.211 + 2 copy moveto 43.212 + 2 copy vpt 90 180 arc closepath fill 43.213 + vpt 0 360 arc closepath} bind def 43.214 +/C11 {BL [] 0 setdash 2 copy moveto 43.215 + 2 copy vpt 0 180 arc closepath fill 43.216 + 2 copy moveto 43.217 + 2 copy vpt 270 360 arc closepath fill 43.218 + vpt 0 360 arc closepath} bind def 43.219 +/C12 {BL [] 0 setdash 2 copy moveto 43.220 + 2 copy vpt 180 360 arc closepath fill 43.221 + vpt 0 360 arc closepath} bind def 43.222 +/C13 {BL [] 0 setdash 2 copy moveto 43.223 + 2 copy vpt 0 90 arc closepath fill 43.224 + 2 copy moveto 43.225 + 2 copy vpt 180 360 arc closepath fill 43.226 + vpt 0 360 arc closepath} bind def 43.227 +/C14 {BL [] 0 setdash 2 copy moveto 43.228 + 2 copy vpt 90 360 arc closepath fill 43.229 + vpt 0 360 arc} bind def 43.230 +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 43.231 + vpt 0 360 arc closepath} bind def 43.232 +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 43.233 + neg 0 rlineto closepath} bind def 43.234 +/Square {dup Rec} bind def 43.235 +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 43.236 +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 43.237 +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 43.238 +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 43.239 +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 43.240 +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 43.241 +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 43.242 + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 43.243 +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 43.244 +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 43.245 + 2 copy vpt Square fill Bsquare} bind def 43.246 +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 43.247 +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 43.248 +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 43.249 + Bsquare} bind def 43.250 +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 43.251 + Bsquare} bind def 43.252 +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 43.253 +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 43.254 + 2 copy vpt Square fill Bsquare} bind def 43.255 +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 43.256 + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 43.257 +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 43.258 +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 43.259 +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 43.260 +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 43.261 +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 43.262 +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 43.263 +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 43.264 +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 43.265 +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 43.266 +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 43.267 +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 43.268 +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 43.269 +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 43.270 +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 43.271 +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 43.272 +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 43.273 +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 43.274 +/DiaE {stroke [] 0 setdash vpt add M 43.275 + hpt neg vpt neg V hpt vpt neg V 43.276 + hpt vpt V hpt neg vpt V closepath stroke} def 43.277 +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 43.278 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 43.279 + hpt2 neg 0 V closepath stroke} def 43.280 +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 43.281 + hpt neg vpt -1.62 mul V 43.282 + hpt 2 mul 0 V 43.283 + hpt neg vpt 1.62 mul V closepath stroke} def 43.284 +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 43.285 + hpt neg vpt 1.62 mul V 43.286 + hpt 2 mul 0 V 43.287 + hpt neg vpt -1.62 mul V closepath stroke} def 43.288 +/PentE {stroke [] 0 setdash gsave 43.289 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 43.290 + closepath stroke grestore} def 43.291 +/CircE {stroke [] 0 setdash 43.292 + hpt 0 360 arc stroke} def 43.293 +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 43.294 +/DiaW {stroke [] 0 setdash vpt add M 43.295 + hpt neg vpt neg V hpt vpt neg V 43.296 + hpt vpt V hpt neg vpt V Opaque stroke} def 43.297 +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 43.298 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 43.299 + hpt2 neg 0 V Opaque stroke} def 43.300 +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 43.301 + hpt neg vpt -1.62 mul V 43.302 + hpt 2 mul 0 V 43.303 + hpt neg vpt 1.62 mul V Opaque stroke} def 43.304 +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 43.305 + hpt neg vpt 1.62 mul V 43.306 + hpt 2 mul 0 V 43.307 + hpt neg vpt -1.62 mul V Opaque stroke} def 43.308 +/PentW {stroke [] 0 setdash gsave 43.309 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 43.310 + Opaque stroke grestore} def 43.311 +/CircW {stroke [] 0 setdash 43.312 + hpt 0 360 arc Opaque stroke} def 43.313 +/BoxFill {gsave Rec 1 setgray fill grestore} def 43.314 +/Density { 43.315 + /Fillden exch def 43.316 + currentrgbcolor 43.317 + /ColB exch def /ColG exch def /ColR exch def 43.318 + /ColR ColR Fillden mul Fillden sub 1 add def 43.319 + /ColG ColG Fillden mul Fillden sub 1 add def 43.320 + /ColB ColB Fillden mul Fillden sub 1 add def 43.321 + ColR ColG ColB setrgbcolor} def 43.322 +/BoxColFill {gsave Rec PolyFill} def 43.323 +/PolyFill {gsave Density fill grestore grestore} def 43.324 +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 43.325 +% 43.326 +% PostScript Level 1 Pattern Fill routine for rectangles 43.327 +% Usage: x y w h s a XX PatternFill 43.328 +% x,y = lower left corner of box to be filled 43.329 +% w,h = width and height of box 43.330 +% a = angle in degrees between lines and x-axis 43.331 +% XX = 0/1 for no/yes cross-hatch 43.332 +% 43.333 +/PatternFill {gsave /PFa [ 9 2 roll ] def 43.334 + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 43.335 + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 43.336 + gsave 1 setgray fill grestore clip 43.337 + currentlinewidth 0.5 mul setlinewidth 43.338 + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 43.339 + 0 0 M PFa 5 get rotate PFs -2 div dup translate 43.340 + 0 1 PFs PFa 4 get div 1 add floor cvi 43.341 + {PFa 4 get mul 0 M 0 PFs V} for 43.342 + 0 PFa 6 get ne { 43.343 + 0 1 PFs PFa 4 get div 1 add floor cvi 43.344 + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 43.345 + } if 43.346 + stroke grestore} def 43.347 +% 43.348 +/languagelevel where 43.349 + {pop languagelevel} {1} ifelse 43.350 + 2 lt 43.351 + {/InterpretLevel1 true def} 43.352 + {/InterpretLevel1 Level1 def} 43.353 + ifelse 43.354 +% 43.355 +% PostScript level 2 pattern fill definitions 43.356 +% 43.357 +/Level2PatternFill { 43.358 +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 43.359 + bind def 43.360 +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 43.361 +<< Tile8x8 43.362 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 43.363 +>> matrix makepattern 43.364 +/Pat1 exch def 43.365 +<< Tile8x8 43.366 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 43.367 + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 43.368 +>> matrix makepattern 43.369 +/Pat2 exch def 43.370 +<< Tile8x8 43.371 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 43.372 + 8 8 L 8 0 L 0 0 L fill} 43.373 +>> matrix makepattern 43.374 +/Pat3 exch def 43.375 +<< Tile8x8 43.376 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 43.377 + 0 12 M 12 0 L stroke} 43.378 +>> matrix makepattern 43.379 +/Pat4 exch def 43.380 +<< Tile8x8 43.381 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 43.382 + 0 -4 M 12 8 L stroke} 43.383 +>> matrix makepattern 43.384 +/Pat5 exch def 43.385 +<< Tile8x8 43.386 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 43.387 + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 43.388 +>> matrix makepattern 43.389 +/Pat6 exch def 43.390 +<< Tile8x8 43.391 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 43.392 + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 43.393 +>> matrix makepattern 43.394 +/Pat7 exch def 43.395 +<< Tile8x8 43.396 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 43.397 + 12 0 M -4 8 L 12 4 M 0 10 L stroke} 43.398 +>> matrix makepattern 43.399 +/Pat8 exch def 43.400 +<< Tile8x8 43.401 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 43.402 + -4 0 M 12 8 L -4 4 M 8 10 L stroke} 43.403 +>> matrix makepattern 43.404 +/Pat9 exch def 43.405 +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 43.406 +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 43.407 +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 43.408 +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 43.409 +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 43.410 +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 43.411 +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 43.412 +} def 43.413 +% 43.414 +% 43.415 +%End of PostScript Level 2 code 43.416 +% 43.417 +/PatternBgnd { 43.418 + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 43.419 +} def 43.420 +% 43.421 +% Substitute for Level 2 pattern fill codes with 43.422 +% grayscale if Level 2 support is not selected. 43.423 +% 43.424 +/Level1PatternFill { 43.425 +/Pattern1 {0.250 Density} bind def 43.426 +/Pattern2 {0.500 Density} bind def 43.427 +/Pattern3 {0.750 Density} bind def 43.428 +/Pattern4 {0.125 Density} bind def 43.429 +/Pattern5 {0.375 Density} bind def 43.430 +/Pattern6 {0.625 Density} bind def 43.431 +/Pattern7 {0.875 Density} bind def 43.432 +} def 43.433 +% 43.434 +% Now test for support of Level 2 code 43.435 +% 43.436 +Level1 {Level1PatternFill} {Level2PatternFill} ifelse 43.437 +% 43.438 +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 43.439 +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 43.440 +currentdict end definefont pop 43.441 +/MFshow { 43.442 + { dup 5 get 3 ge 43.443 + { 5 get 3 eq {gsave} {grestore} ifelse } 43.444 + {dup dup 0 get findfont exch 1 get scalefont setfont 43.445 + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 43.446 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 43.447 + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 43.448 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 43.449 + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 43.450 + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 43.451 + pop aload pop M} ifelse }ifelse }ifelse } 43.452 + ifelse } 43.453 + forall} def 43.454 +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 43.455 +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 43.456 + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 43.457 + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 43.458 +/MLshow { currentpoint stroke M 43.459 + 0 exch R 43.460 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 43.461 +/MRshow { currentpoint stroke M 43.462 + exch dup MFwidth neg 3 -1 roll R 43.463 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 43.464 +/MCshow { currentpoint stroke M 43.465 + exch dup MFwidth -2 div 3 -1 roll R 43.466 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 43.467 +/XYsave { [( ) 1 2 true false 3 ()] } bind def 43.468 +/XYrestore { [( ) 1 2 true false 4 ()] } bind def 43.469 +end 43.470 +%%EndProlog 43.471 +%%Page: 1 1 43.472 +gnudict begin 43.473 +gsave 43.474 +doclip 43.475 +50 50 translate 43.476 +0.100 0.100 scale 43.477 +90 rotate 43.478 +0 -5040 translate 43.479 +0 setgray 43.480 +newpath 43.481 +(Helvetica) findfont 140 scalefont setfont 43.482 +1.000 UL 43.483 +LTb 43.484 +518 448 M 43.485 +63 0 V 43.486 +stroke 43.487 +434 448 M 43.488 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1)] 43.489 +] -46.7 MRshow 43.490 +1.000 UL 43.491 +LTb 43.492 +518 792 M 43.493 +63 0 V 43.494 +stroke 43.495 +434 792 M 43.496 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] 43.497 +] -46.7 MRshow 43.498 +1.000 UL 43.499 +LTb 43.500 +518 1136 M 43.501 +63 0 V 43.502 +stroke 43.503 +434 1136 M 43.504 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] 43.505 +] -46.7 MRshow 43.506 +1.000 UL 43.507 +LTb 43.508 +518 1480 M 43.509 +63 0 V 43.510 +stroke 43.511 +434 1480 M 43.512 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] 43.513 +] -46.7 MRshow 43.514 +1.000 UL 43.515 +LTb 43.516 +518 1823 M 43.517 +63 0 V 43.518 +stroke 43.519 +434 1823 M 43.520 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 43.521 +] -46.7 MRshow 43.522 +1.000 UL 43.523 +LTb 43.524 +518 2167 M 43.525 +63 0 V 43.526 +stroke 43.527 +434 2167 M 43.528 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] 43.529 +] -46.7 MRshow 43.530 +1.000 UL 43.531 +LTb 43.532 +518 2511 M 43.533 +63 0 V 43.534 +stroke 43.535 +434 2511 M 43.536 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7)] 43.537 +] -46.7 MRshow 43.538 +1.000 UL 43.539 +LTb 43.540 +518 2855 M 43.541 +63 0 V 43.542 +stroke 43.543 +434 2855 M 43.544 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] 43.545 +] -46.7 MRshow 43.546 +1.000 UL 43.547 +LTb 43.548 +518 448 M 43.549 +0 63 V 43.550 +stroke 43.551 +518 308 M 43.552 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 43.553 +] -46.7 MCshow 43.554 +1.000 UL 43.555 +LTb 43.556 +962 448 M 43.557 +0 63 V 43.558 +stroke 43.559 +962 308 M 43.560 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 43.561 +] -46.7 MCshow 43.562 +1.000 UL 43.563 +LTb 43.564 +1405 448 M 43.565 +0 63 V 43.566 +stroke 43.567 +1405 308 M 43.568 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 43.569 +] -46.7 MCshow 43.570 +1.000 UL 43.571 +LTb 43.572 +1849 448 M 43.573 +0 63 V 43.574 +stroke 43.575 +1849 308 M 43.576 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 43.577 +] -46.7 MCshow 43.578 +1.000 UL 43.579 +LTb 43.580 +2293 448 M 43.581 +0 63 V 43.582 +stroke 43.583 +2293 308 M 43.584 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 43.585 +] -46.7 MCshow 43.586 +1.000 UL 43.587 +LTb 43.588 +2736 448 M 43.589 +0 63 V 43.590 +stroke 43.591 +2736 308 M 43.592 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 43.593 +] -46.7 MCshow 43.594 +1.000 UL 43.595 +LTb 43.596 +3180 448 M 43.597 +0 63 V 43.598 +stroke 43.599 +3180 308 M 43.600 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 43.601 +] -46.7 MCshow 43.602 +1.000 UL 43.603 +LTb 43.604 +3623 448 M 43.605 +0 63 V 43.606 +stroke 43.607 +3623 308 M 43.608 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 43.609 +] -46.7 MCshow 43.610 +1.000 UL 43.611 +LTb 43.612 +4067 448 M 43.613 +0 63 V 43.614 +stroke 43.615 +4067 308 M 43.616 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 43.617 +] -46.7 MCshow 43.618 +1.000 UL 43.619 +LTb 43.620 +1.000 UL 43.621 +LTb 43.622 +518 2855 M 43.623 +518 448 L 43.624 +3549 0 V 43.625 +0 2407 R 43.626 +-3549 0 R 43.627 +stroke 43.628 +LCb setrgbcolor 43.629 +112 1651 M 43.630 +currentpoint gsave translate -270 rotate 0 0 moveto 43.631 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 43.632 +] -46.7 MCshow 43.633 +grestore 43.634 +LTb 43.635 +LCb setrgbcolor 43.636 +2292 98 M 43.637 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 43.638 +] -46.7 MCshow 43.639 +LTb 43.640 +1.000 UP 43.641 +1.000 UL 43.642 +LTb 43.643 +1.000 UL 43.644 +LTb 43.645 +2492 2232 N 43.646 +0 560 V 43.647 +1491 0 V 43.648 +0 -560 V 43.649 +-1491 0 V 43.650 +Z stroke 43.651 +2492 2792 M 43.652 +1491 0 V 43.653 +% Begin plot #1 43.654 +stroke 43.655 +3.000 UL 43.656 +LT1 43.657 +LCa setrgbcolor 43.658 +518 792 M 43.659 +36 0 V 43.660 +36 0 V 43.661 +36 0 V 43.662 +35 0 V 43.663 +36 0 V 43.664 +36 0 V 43.665 +36 0 V 43.666 +36 0 V 43.667 +36 0 V 43.668 +35 0 V 43.669 +36 0 V 43.670 +36 0 V 43.671 +36 0 V 43.672 +36 0 V 43.673 +36 0 V 43.674 +36 0 V 43.675 +35 0 V 43.676 +36 0 V 43.677 +36 0 V 43.678 +36 0 V 43.679 +36 0 V 43.680 +36 0 V 43.681 +36 0 V 43.682 +35 0 V 43.683 +36 0 V 43.684 +36 0 V 43.685 +36 0 V 43.686 +36 0 V 43.687 +36 0 V 43.688 +35 0 V 43.689 +36 0 V 43.690 +36 0 V 43.691 +36 0 V 43.692 +36 0 V 43.693 +36 0 V 43.694 +36 0 V 43.695 +35 0 V 43.696 +36 0 V 43.697 +36 0 V 43.698 +36 0 V 43.699 +36 0 V 43.700 +36 0 V 43.701 +35 0 V 43.702 +36 0 V 43.703 +36 0 V 43.704 +36 0 V 43.705 +36 0 V 43.706 +36 0 V 43.707 +36 0 V 43.708 +35 0 V 43.709 +36 0 V 43.710 +36 0 V 43.711 +36 0 V 43.712 +36 0 V 43.713 +36 0 V 43.714 +36 0 V 43.715 +35 0 V 43.716 +36 0 V 43.717 +36 0 V 43.718 +36 0 V 43.719 +36 0 V 43.720 +36 0 V 43.721 +35 0 V 43.722 +36 0 V 43.723 +36 0 V 43.724 +36 0 V 43.725 +36 0 V 43.726 +36 0 V 43.727 +36 0 V 43.728 +35 0 V 43.729 +36 0 V 43.730 +36 0 V 43.731 +36 0 V 43.732 +36 0 V 43.733 +36 0 V 43.734 +35 0 V 43.735 +36 0 V 43.736 +36 0 V 43.737 +36 0 V 43.738 +36 0 V 43.739 +36 0 V 43.740 +36 0 V 43.741 +35 0 V 43.742 +36 0 V 43.743 +36 0 V 43.744 +36 0 V 43.745 +36 0 V 43.746 +36 0 V 43.747 +36 0 V 43.748 +35 0 V 43.749 +36 0 V 43.750 +36 0 V 43.751 +36 0 V 43.752 +36 0 V 43.753 +36 0 V 43.754 +35 0 V 43.755 +36 0 V 43.756 +36 0 V 43.757 +36 0 V 43.758 +% End plot #1 43.759 +% Begin plot #2 43.760 +stroke 43.761 +4.000 UL 43.762 +LT1 43.763 +LCb setrgbcolor 43.764 +3416 2722 M 43.765 +[ [(Helvetica) 140.0 0.0 true true 0 (8 Threads)] 43.766 +] -46.7 MRshow 43.767 +LT1 43.768 +3500 2722 M 43.769 +399 0 V 43.770 +572 2677 M 43.771 +16 -429 V 43.772 +24 -559 V 43.773 +55 -454 V 43.774 +774 920 L 43.775 +987 706 L 43.776 +1411 563 L 43.777 +852 -54 V 43.778 +3966 478 L 43.779 +% End plot #2 43.780 +% Begin plot #3 43.781 +stroke 43.782 +LT2 43.783 +LCb setrgbcolor 43.784 +3416 2582 M 43.785 +[ [(Helvetica) 140.0 0.0 true true 0 (32 Threads)] 43.786 +] -46.7 MRshow 43.787 +LT2 43.788 +3500 2582 M 43.789 +399 0 V 43.790 +571 2168 M 43.791 +17 -436 V 43.792 +24 -217 V 43.793 +55 -464 V 43.794 +774 801 L 43.795 +986 651 L 43.796 +1412 549 L 43.797 +852 -55 V 43.798 +3966 472 L 43.799 +% End plot #3 43.800 +% Begin plot #4 43.801 +stroke 43.802 +LT3 43.803 +LCb setrgbcolor 43.804 +3416 2442 M 43.805 +[ [(Helvetica) 140.0 0.0 true true 0 (128 Threads)] 43.806 +] -46.7 MRshow 43.807 +LT3 43.808 +3500 2442 M 43.809 +399 0 V 43.810 +572 2234 M 43.811 +16 -381 V 43.812 +26 -417 V 43.813 +53 -317 V 43.814 +773 823 L 43.815 +987 656 L 43.816 +1412 553 L 43.817 +852 -51 V 43.818 +3968 472 L 43.819 +% End plot #4 43.820 +% Begin plot #5 43.821 +stroke 43.822 +LT4 43.823 +LCb setrgbcolor 43.824 +3416 2302 M 43.825 +[ [(Helvetica) 140.0 0.0 true true 0 (512 Threads)] 43.826 +] -46.7 MRshow 43.827 +LT4 43.828 +3500 2302 M 43.829 +399 0 V 43.830 +572 2389 M 43.831 +14 -445 V 43.832 +27 -449 V 43.833 +54 -383 V 43.834 +772 837 L 43.835 +985 659 L 43.836 +1411 552 L 43.837 +853 -52 V 43.838 +3968 473 L 43.839 +% End plot #5 43.840 +stroke 43.841 +1.000 UL 43.842 +LTb 43.843 +518 2855 M 43.844 +518 448 L 43.845 +3549 0 V 43.846 +0 2407 R 43.847 +-3549 0 R 43.848 +1.000 UP 43.849 +stroke 43.850 +grestore 43.851 +end 43.852 +showpage 43.853 +%%Trailer 43.854 +%%DocumentFonts: Helvetica 43.855 +%%Pages: 1
44.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 44.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/plots_exec_vs_task_size/not_used/xoanon_pthreads_40cores_80_160_320_640thds__o30000__perfCtrs.result.eps Fri Sep 13 11:02:18 2013 -0700 44.3 @@ -0,0 +1,699 @@ 44.4 +%!PS-Adobe-2.0 44.5 +%%Title: xoanon_pthreads_40cores_80_160_320_640thds__o30000__perfCtrs.result.eps 44.6 +%%Creator: gnuplot 4.4 patchlevel 2 44.7 +%%CreationDate: Thu Jan 26 18:22:29 2012 44.8 +%%DocumentFonts: (atend) 44.9 +%%BoundingBox: 251 50 554 482 44.10 +%%Orientation: Landscape 44.11 +%%Pages: (atend) 44.12 +%%EndComments 44.13 +%%BeginProlog 44.14 +/gnudict 256 dict def 44.15 +gnudict begin 44.16 +% 44.17 +% The following true/false flags may be edited by hand if desired. 44.18 +% The unit line width and grayscale image gamma correction may also be changed. 44.19 +% 44.20 +/Color true def 44.21 +/Blacktext false def 44.22 +/Solid false def 44.23 +/Dashlength 1 def 44.24 +/Landscape true def 44.25 +/Level1 false def 44.26 +/Rounded false def 44.27 +/ClipToBoundingBox false def 44.28 +/TransparentPatterns false def 44.29 +/gnulinewidth 5.000 def 44.30 +/userlinewidth gnulinewidth def 44.31 +/Gamma 1.0 def 44.32 +% 44.33 +/vshift -46 def 44.34 +/dl1 { 44.35 + 10.0 Dashlength mul mul 44.36 + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 44.37 +} def 44.38 +/dl2 { 44.39 + 10.0 Dashlength mul mul 44.40 + Rounded { currentlinewidth 0.75 mul add } if 44.41 +} def 44.42 +/hpt_ 31.5 def 44.43 +/vpt_ 31.5 def 44.44 +/hpt hpt_ def 44.45 +/vpt vpt_ def 44.46 +Level1 {} { 44.47 +/SDict 10 dict def 44.48 +systemdict /pdfmark known not { 44.49 + userdict /pdfmark systemdict /cleartomark get put 44.50 +} if 44.51 +SDict begin [ 44.52 + /Title (xoanon_pthreads_40cores_80_160_320_640thds__o30000__perfCtrs.result.eps) 44.53 + /Subject (gnuplot plot) 44.54 + /Creator (gnuplot 4.4 patchlevel 2) 44.55 + /Author (msach) 44.56 +% /Producer (gnuplot) 44.57 +% /Keywords () 44.58 + /CreationDate (Thu Jan 26 18:22:29 2012) 44.59 + /DOCINFO pdfmark 44.60 +end 44.61 +} ifelse 44.62 +/doclip { 44.63 + ClipToBoundingBox { 44.64 + newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 44.65 + clip 44.66 + } if 44.67 +} def 44.68 +% 44.69 +% Gnuplot Prolog Version 4.4 (August 2010) 44.70 +% 44.71 +%/SuppressPDFMark true def 44.72 +% 44.73 +/M {moveto} bind def 44.74 +/L {lineto} bind def 44.75 +/R {rmoveto} bind def 44.76 +/V {rlineto} bind def 44.77 +/N {newpath moveto} bind def 44.78 +/Z {closepath} bind def 44.79 +/C {setrgbcolor} bind def 44.80 +/f {rlineto fill} bind def 44.81 +/g {setgray} bind def 44.82 +/Gshow {show} def % May be redefined later in the file to support UTF-8 44.83 +/vpt2 vpt 2 mul def 44.84 +/hpt2 hpt 2 mul def 44.85 +/Lshow {currentpoint stroke M 0 vshift R 44.86 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 44.87 +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 44.88 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 44.89 +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 44.90 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 44.91 +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 44.92 + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 44.93 +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 44.94 + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 44.95 +/BL {stroke userlinewidth 2 mul setlinewidth 44.96 + Rounded {1 setlinejoin 1 setlinecap} if} def 44.97 +/AL {stroke userlinewidth 2 div setlinewidth 44.98 + Rounded {1 setlinejoin 1 setlinecap} if} def 44.99 +/UL {dup gnulinewidth mul /userlinewidth exch def 44.100 + dup 1 lt {pop 1} if 10 mul /udl exch def} def 44.101 +/PL {stroke userlinewidth setlinewidth 44.102 + Rounded {1 setlinejoin 1 setlinecap} if} def 44.103 +3.8 setmiterlimit 44.104 +% Default Line colors 44.105 +/LCw {1 1 1} def 44.106 +/LCb {0 0 0} def 44.107 +/LCa {0 0 0} def 44.108 +/LC0 {1 0 0} def 44.109 +/LC1 {0 1 0} def 44.110 +/LC2 {0 0 1} def 44.111 +/LC3 {1 0 1} def 44.112 +/LC4 {0 1 1} def 44.113 +/LC5 {1 1 0} def 44.114 +/LC6 {0 0 0} def 44.115 +/LC7 {1 0.3 0} def 44.116 +/LC8 {0.5 0.5 0.5} def 44.117 +% Default Line Types 44.118 +/LTw {PL [] 1 setgray} def 44.119 +/LTb {BL [] LCb DL} def 44.120 +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 44.121 +/LT0 {PL [] LC0 DL} def 44.122 +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 44.123 +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 44.124 +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 44.125 +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 44.126 +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 44.127 +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 44.128 +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 44.129 +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 44.130 +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 44.131 +/Dia {stroke [] 0 setdash 2 copy vpt add M 44.132 + hpt neg vpt neg V hpt vpt neg V 44.133 + hpt vpt V hpt neg vpt V closepath stroke 44.134 + Pnt} def 44.135 +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 44.136 + currentpoint stroke M 44.137 + hpt neg vpt neg R hpt2 0 V stroke 44.138 + } def 44.139 +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 44.140 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 44.141 + hpt2 neg 0 V closepath stroke 44.142 + Pnt} def 44.143 +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 44.144 + hpt2 vpt2 neg V currentpoint stroke M 44.145 + hpt2 neg 0 R hpt2 vpt2 V stroke} def 44.146 +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 44.147 + hpt neg vpt -1.62 mul V 44.148 + hpt 2 mul 0 V 44.149 + hpt neg vpt 1.62 mul V closepath stroke 44.150 + Pnt} def 44.151 +/Star {2 copy Pls Crs} def 44.152 +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 44.153 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 44.154 + hpt2 neg 0 V closepath fill} def 44.155 +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 44.156 + hpt neg vpt -1.62 mul V 44.157 + hpt 2 mul 0 V 44.158 + hpt neg vpt 1.62 mul V closepath fill} def 44.159 +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 44.160 + hpt neg vpt 1.62 mul V 44.161 + hpt 2 mul 0 V 44.162 + hpt neg vpt -1.62 mul V closepath stroke 44.163 + Pnt} def 44.164 +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 44.165 + hpt neg vpt 1.62 mul V 44.166 + hpt 2 mul 0 V 44.167 + hpt neg vpt -1.62 mul V closepath fill} def 44.168 +/DiaF {stroke [] 0 setdash vpt add M 44.169 + hpt neg vpt neg V hpt vpt neg V 44.170 + hpt vpt V hpt neg vpt V closepath fill} def 44.171 +/Pent {stroke [] 0 setdash 2 copy gsave 44.172 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 44.173 + closepath stroke grestore Pnt} def 44.174 +/PentF {stroke [] 0 setdash gsave 44.175 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 44.176 + closepath fill grestore} def 44.177 +/Circle {stroke [] 0 setdash 2 copy 44.178 + hpt 0 360 arc stroke Pnt} def 44.179 +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 44.180 +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 44.181 +/C1 {BL [] 0 setdash 2 copy moveto 44.182 + 2 copy vpt 0 90 arc closepath fill 44.183 + vpt 0 360 arc closepath} bind def 44.184 +/C2 {BL [] 0 setdash 2 copy moveto 44.185 + 2 copy vpt 90 180 arc closepath fill 44.186 + vpt 0 360 arc closepath} bind def 44.187 +/C3 {BL [] 0 setdash 2 copy moveto 44.188 + 2 copy vpt 0 180 arc closepath fill 44.189 + vpt 0 360 arc closepath} bind def 44.190 +/C4 {BL [] 0 setdash 2 copy moveto 44.191 + 2 copy vpt 180 270 arc closepath fill 44.192 + vpt 0 360 arc closepath} bind def 44.193 +/C5 {BL [] 0 setdash 2 copy moveto 44.194 + 2 copy vpt 0 90 arc 44.195 + 2 copy moveto 44.196 + 2 copy vpt 180 270 arc closepath fill 44.197 + vpt 0 360 arc} bind def 44.198 +/C6 {BL [] 0 setdash 2 copy moveto 44.199 + 2 copy vpt 90 270 arc closepath fill 44.200 + vpt 0 360 arc closepath} bind def 44.201 +/C7 {BL [] 0 setdash 2 copy moveto 44.202 + 2 copy vpt 0 270 arc closepath fill 44.203 + vpt 0 360 arc closepath} bind def 44.204 +/C8 {BL [] 0 setdash 2 copy moveto 44.205 + 2 copy vpt 270 360 arc closepath fill 44.206 + vpt 0 360 arc closepath} bind def 44.207 +/C9 {BL [] 0 setdash 2 copy moveto 44.208 + 2 copy vpt 270 450 arc closepath fill 44.209 + vpt 0 360 arc closepath} bind def 44.210 +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 44.211 + 2 copy moveto 44.212 + 2 copy vpt 90 180 arc closepath fill 44.213 + vpt 0 360 arc closepath} bind def 44.214 +/C11 {BL [] 0 setdash 2 copy moveto 44.215 + 2 copy vpt 0 180 arc closepath fill 44.216 + 2 copy moveto 44.217 + 2 copy vpt 270 360 arc closepath fill 44.218 + vpt 0 360 arc closepath} bind def 44.219 +/C12 {BL [] 0 setdash 2 copy moveto 44.220 + 2 copy vpt 180 360 arc closepath fill 44.221 + vpt 0 360 arc closepath} bind def 44.222 +/C13 {BL [] 0 setdash 2 copy moveto 44.223 + 2 copy vpt 0 90 arc closepath fill 44.224 + 2 copy moveto 44.225 + 2 copy vpt 180 360 arc closepath fill 44.226 + vpt 0 360 arc closepath} bind def 44.227 +/C14 {BL [] 0 setdash 2 copy moveto 44.228 + 2 copy vpt 90 360 arc closepath fill 44.229 + vpt 0 360 arc} bind def 44.230 +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 44.231 + vpt 0 360 arc closepath} bind def 44.232 +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 44.233 + neg 0 rlineto closepath} bind def 44.234 +/Square {dup Rec} bind def 44.235 +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 44.236 +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 44.237 +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 44.238 +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 44.239 +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 44.240 +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 44.241 +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 44.242 + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 44.243 +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 44.244 +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 44.245 + 2 copy vpt Square fill Bsquare} bind def 44.246 +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 44.247 +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 44.248 +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 44.249 + Bsquare} bind def 44.250 +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 44.251 + Bsquare} bind def 44.252 +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 44.253 +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 44.254 + 2 copy vpt Square fill Bsquare} bind def 44.255 +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 44.256 + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 44.257 +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 44.258 +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 44.259 +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 44.260 +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 44.261 +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 44.262 +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 44.263 +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 44.264 +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 44.265 +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 44.266 +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 44.267 +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 44.268 +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 44.269 +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 44.270 +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 44.271 +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 44.272 +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 44.273 +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 44.274 +/DiaE {stroke [] 0 setdash vpt add M 44.275 + hpt neg vpt neg V hpt vpt neg V 44.276 + hpt vpt V hpt neg vpt V closepath stroke} def 44.277 +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 44.278 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 44.279 + hpt2 neg 0 V closepath stroke} def 44.280 +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 44.281 + hpt neg vpt -1.62 mul V 44.282 + hpt 2 mul 0 V 44.283 + hpt neg vpt 1.62 mul V closepath stroke} def 44.284 +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 44.285 + hpt neg vpt 1.62 mul V 44.286 + hpt 2 mul 0 V 44.287 + hpt neg vpt -1.62 mul V closepath stroke} def 44.288 +/PentE {stroke [] 0 setdash gsave 44.289 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 44.290 + closepath stroke grestore} def 44.291 +/CircE {stroke [] 0 setdash 44.292 + hpt 0 360 arc stroke} def 44.293 +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 44.294 +/DiaW {stroke [] 0 setdash vpt add M 44.295 + hpt neg vpt neg V hpt vpt neg V 44.296 + hpt vpt V hpt neg vpt V Opaque stroke} def 44.297 +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 44.298 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 44.299 + hpt2 neg 0 V Opaque stroke} def 44.300 +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 44.301 + hpt neg vpt -1.62 mul V 44.302 + hpt 2 mul 0 V 44.303 + hpt neg vpt 1.62 mul V Opaque stroke} def 44.304 +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 44.305 + hpt neg vpt 1.62 mul V 44.306 + hpt 2 mul 0 V 44.307 + hpt neg vpt -1.62 mul V Opaque stroke} def 44.308 +/PentW {stroke [] 0 setdash gsave 44.309 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 44.310 + Opaque stroke grestore} def 44.311 +/CircW {stroke [] 0 setdash 44.312 + hpt 0 360 arc Opaque stroke} def 44.313 +/BoxFill {gsave Rec 1 setgray fill grestore} def 44.314 +/Density { 44.315 + /Fillden exch def 44.316 + currentrgbcolor 44.317 + /ColB exch def /ColG exch def /ColR exch def 44.318 + /ColR ColR Fillden mul Fillden sub 1 add def 44.319 + /ColG ColG Fillden mul Fillden sub 1 add def 44.320 + /ColB ColB Fillden mul Fillden sub 1 add def 44.321 + ColR ColG ColB setrgbcolor} def 44.322 +/BoxColFill {gsave Rec PolyFill} def 44.323 +/PolyFill {gsave Density fill grestore grestore} def 44.324 +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 44.325 +% 44.326 +% PostScript Level 1 Pattern Fill routine for rectangles 44.327 +% Usage: x y w h s a XX PatternFill 44.328 +% x,y = lower left corner of box to be filled 44.329 +% w,h = width and height of box 44.330 +% a = angle in degrees between lines and x-axis 44.331 +% XX = 0/1 for no/yes cross-hatch 44.332 +% 44.333 +/PatternFill {gsave /PFa [ 9 2 roll ] def 44.334 + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 44.335 + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 44.336 + gsave 1 setgray fill grestore clip 44.337 + currentlinewidth 0.5 mul setlinewidth 44.338 + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 44.339 + 0 0 M PFa 5 get rotate PFs -2 div dup translate 44.340 + 0 1 PFs PFa 4 get div 1 add floor cvi 44.341 + {PFa 4 get mul 0 M 0 PFs V} for 44.342 + 0 PFa 6 get ne { 44.343 + 0 1 PFs PFa 4 get div 1 add floor cvi 44.344 + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 44.345 + } if 44.346 + stroke grestore} def 44.347 +% 44.348 +/languagelevel where 44.349 + {pop languagelevel} {1} ifelse 44.350 + 2 lt 44.351 + {/InterpretLevel1 true def} 44.352 + {/InterpretLevel1 Level1 def} 44.353 + ifelse 44.354 +% 44.355 +% PostScript level 2 pattern fill definitions 44.356 +% 44.357 +/Level2PatternFill { 44.358 +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 44.359 + bind def 44.360 +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 44.361 +<< Tile8x8 44.362 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 44.363 +>> matrix makepattern 44.364 +/Pat1 exch def 44.365 +<< Tile8x8 44.366 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 44.367 + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 44.368 +>> matrix makepattern 44.369 +/Pat2 exch def 44.370 +<< Tile8x8 44.371 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 44.372 + 8 8 L 8 0 L 0 0 L fill} 44.373 +>> matrix makepattern 44.374 +/Pat3 exch def 44.375 +<< Tile8x8 44.376 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 44.377 + 0 12 M 12 0 L stroke} 44.378 +>> matrix makepattern 44.379 +/Pat4 exch def 44.380 +<< Tile8x8 44.381 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 44.382 + 0 -4 M 12 8 L stroke} 44.383 +>> matrix makepattern 44.384 +/Pat5 exch def 44.385 +<< Tile8x8 44.386 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 44.387 + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 44.388 +>> matrix makepattern 44.389 +/Pat6 exch def 44.390 +<< Tile8x8 44.391 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 44.392 + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 44.393 +>> matrix makepattern 44.394 +/Pat7 exch def 44.395 +<< Tile8x8 44.396 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 44.397 + 12 0 M -4 8 L 12 4 M 0 10 L stroke} 44.398 +>> matrix makepattern 44.399 +/Pat8 exch def 44.400 +<< Tile8x8 44.401 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 44.402 + -4 0 M 12 8 L -4 4 M 8 10 L stroke} 44.403 +>> matrix makepattern 44.404 +/Pat9 exch def 44.405 +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 44.406 +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 44.407 +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 44.408 +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 44.409 +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 44.410 +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 44.411 +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 44.412 +} def 44.413 +% 44.414 +% 44.415 +%End of PostScript Level 2 code 44.416 +% 44.417 +/PatternBgnd { 44.418 + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 44.419 +} def 44.420 +% 44.421 +% Substitute for Level 2 pattern fill codes with 44.422 +% grayscale if Level 2 support is not selected. 44.423 +% 44.424 +/Level1PatternFill { 44.425 +/Pattern1 {0.250 Density} bind def 44.426 +/Pattern2 {0.500 Density} bind def 44.427 +/Pattern3 {0.750 Density} bind def 44.428 +/Pattern4 {0.125 Density} bind def 44.429 +/Pattern5 {0.375 Density} bind def 44.430 +/Pattern6 {0.625 Density} bind def 44.431 +/Pattern7 {0.875 Density} bind def 44.432 +} def 44.433 +% 44.434 +% Now test for support of Level 2 code 44.435 +% 44.436 +Level1 {Level1PatternFill} {Level2PatternFill} ifelse 44.437 +% 44.438 +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 44.439 +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 44.440 +currentdict end definefont pop 44.441 +/MFshow { 44.442 + { dup 5 get 3 ge 44.443 + { 5 get 3 eq {gsave} {grestore} ifelse } 44.444 + {dup dup 0 get findfont exch 1 get scalefont setfont 44.445 + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 44.446 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 44.447 + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 44.448 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 44.449 + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 44.450 + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 44.451 + pop aload pop M} ifelse }ifelse }ifelse } 44.452 + ifelse } 44.453 + forall} def 44.454 +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 44.455 +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 44.456 + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 44.457 + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 44.458 +/MLshow { currentpoint stroke M 44.459 + 0 exch R 44.460 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 44.461 +/MRshow { currentpoint stroke M 44.462 + exch dup MFwidth neg 3 -1 roll R 44.463 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 44.464 +/MCshow { currentpoint stroke M 44.465 + exch dup MFwidth -2 div 3 -1 roll R 44.466 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 44.467 +/XYsave { [( ) 1 2 true false 3 ()] } bind def 44.468 +/XYrestore { [( ) 1 2 true false 4 ()] } bind def 44.469 +end 44.470 +%%EndProlog 44.471 +%%Page: 1 1 44.472 +gnudict begin 44.473 +gsave 44.474 +doclip 44.475 +50 50 translate 44.476 +0.100 0.100 scale 44.477 +90 rotate 44.478 +0 -5040 translate 44.479 +0 setgray 44.480 +newpath 44.481 +(Helvetica) findfont 140 scalefont setfont 44.482 +1.000 UL 44.483 +LTb 44.484 +686 922 M 44.485 +63 0 V 44.486 +stroke 44.487 +602 922 M 44.488 +[ [(Helvetica) 140.0 0.0 true true 0 ( 50)] 44.489 +] -46.7 MRshow 44.490 +1.000 UL 44.491 +LTb 44.492 +686 1405 M 44.493 +63 0 V 44.494 +stroke 44.495 +602 1405 M 44.496 +[ [(Helvetica) 140.0 0.0 true true 0 ( 100)] 44.497 +] -46.7 MRshow 44.498 +1.000 UL 44.499 +LTb 44.500 +686 1888 M 44.501 +63 0 V 44.502 +stroke 44.503 +602 1888 M 44.504 +[ [(Helvetica) 140.0 0.0 true true 0 ( 150)] 44.505 +] -46.7 MRshow 44.506 +1.000 UL 44.507 +LTb 44.508 +686 2372 M 44.509 +63 0 V 44.510 +stroke 44.511 +602 2372 M 44.512 +[ [(Helvetica) 140.0 0.0 true true 0 ( 200)] 44.513 +] -46.7 MRshow 44.514 +1.000 UL 44.515 +LTb 44.516 +686 2855 M 44.517 +63 0 V 44.518 +stroke 44.519 +602 2855 M 44.520 +[ [(Helvetica) 140.0 0.0 true true 0 ( 250)] 44.521 +] -46.7 MRshow 44.522 +1.000 UL 44.523 +LTb 44.524 +686 448 M 44.525 +0 63 V 44.526 +stroke 44.527 +686 308 M 44.528 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 44.529 +] -46.7 MCshow 44.530 +1.000 UL 44.531 +LTb 44.532 +1109 448 M 44.533 +0 63 V 44.534 +stroke 44.535 +1109 308 M 44.536 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 44.537 +] -46.7 MCshow 44.538 +1.000 UL 44.539 +LTb 44.540 +1531 448 M 44.541 +0 63 V 44.542 +stroke 44.543 +1531 308 M 44.544 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 44.545 +] -46.7 MCshow 44.546 +1.000 UL 44.547 +LTb 44.548 +1954 448 M 44.549 +0 63 V 44.550 +stroke 44.551 +1954 308 M 44.552 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 44.553 +] -46.7 MCshow 44.554 +1.000 UL 44.555 +LTb 44.556 +2377 448 M 44.557 +0 63 V 44.558 +stroke 44.559 +2377 308 M 44.560 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 44.561 +] -46.7 MCshow 44.562 +1.000 UL 44.563 +LTb 44.564 +2799 448 M 44.565 +0 63 V 44.566 +stroke 44.567 +2799 308 M 44.568 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 44.569 +] -46.7 MCshow 44.570 +1.000 UL 44.571 +LTb 44.572 +3222 448 M 44.573 +0 63 V 44.574 +stroke 44.575 +3222 308 M 44.576 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 44.577 +] -46.7 MCshow 44.578 +1.000 UL 44.579 +LTb 44.580 +3644 448 M 44.581 +0 63 V 44.582 +stroke 44.583 +3644 308 M 44.584 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 44.585 +] -46.7 MCshow 44.586 +1.000 UL 44.587 +LTb 44.588 +4067 448 M 44.589 +0 63 V 44.590 +stroke 44.591 +4067 308 M 44.592 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 44.593 +] -46.7 MCshow 44.594 +1.000 UL 44.595 +LTb 44.596 +1.000 UL 44.597 +LTb 44.598 +686 2855 M 44.599 +686 448 L 44.600 +3381 0 V 44.601 +0 2407 R 44.602 +-3381 0 R 44.603 +stroke 44.604 +LCb setrgbcolor 44.605 +112 1651 M 44.606 +currentpoint gsave translate -270 rotate 0 0 moveto 44.607 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 44.608 +] -46.7 MCshow 44.609 +grestore 44.610 +LTb 44.611 +LCb setrgbcolor 44.612 +2376 98 M 44.613 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 44.614 +] -46.7 MCshow 44.615 +LTb 44.616 +1.000 UP 44.617 +1.000 UL 44.618 +LTb 44.619 +1.000 UL 44.620 +LTb 44.621 +770 511 N 44.622 +0 560 V 44.623 +1491 0 V 44.624 +0 -560 V 44.625 +770 511 L 44.626 +Z stroke 44.627 +770 1071 M 44.628 +1491 0 V 44.629 +% Begin plot #1 44.630 +stroke 44.631 +4.000 UL 44.632 +LT0 44.633 +LCb setrgbcolor 44.634 +1694 1001 M 44.635 +[ [(Helvetica) 140.0 0.0 true true 0 (80 Threads)] 44.636 +] -46.7 MRshow 44.637 +LT0 44.638 +1778 1001 M 44.639 +399 0 V 44.640 +1735 2855 M 44.641 +662 -919 V 44.642 +4067 1238 L 44.643 +% End plot #1 44.644 +% Begin plot #2 44.645 +stroke 44.646 +LT1 44.647 +LCb setrgbcolor 44.648 +1694 861 M 44.649 +[ [(Helvetica) 140.0 0.0 true true 0 (160 Threads)] 44.650 +] -46.7 MRshow 44.651 +LT1 44.652 +1778 861 M 44.653 +399 0 V 44.654 +1748 2855 M 44.655 +2555 1723 L 44.656 +4067 1065 L 44.657 +% End plot #2 44.658 +% Begin plot #3 44.659 +stroke 44.660 +LT2 44.661 +LCb setrgbcolor 44.662 +1694 721 M 44.663 +[ [(Helvetica) 140.0 0.0 true true 0 (320 Threads)] 44.664 +] -46.7 MRshow 44.665 +LT2 44.666 +1778 721 M 44.667 +399 0 V 44.668 +1420 2855 M 44.669 +170 -542 V 44.670 +784 -867 V 44.671 +3986 870 L 44.672 +% End plot #3 44.673 +% Begin plot #4 44.674 +stroke 44.675 +LT3 44.676 +LCb setrgbcolor 44.677 +1694 581 M 44.678 +[ [(Helvetica) 140.0 0.0 true true 0 (640 Threads)] 44.679 +] -46.7 MRshow 44.680 +LT3 44.681 +1778 581 M 44.682 +399 0 V 44.683 +1802 2855 M 44.684 +572 -574 V 44.685 +4007 1207 L 44.686 +% End plot #4 44.687 +stroke 44.688 +1.000 UL 44.689 +LTb 44.690 +686 2855 M 44.691 +686 448 L 44.692 +3381 0 V 44.693 +0 2407 R 44.694 +-3381 0 R 44.695 +1.000 UP 44.696 +stroke 44.697 +grestore 44.698 +end 44.699 +showpage 44.700 +%%Trailer 44.701 +%%DocumentFonts: Helvetica 44.702 +%%Pages: 1
45.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 45.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/plots_exec_vs_task_size/not_used/xoanon_pthreads_80cores_80_160_320_640thds__o30000__perfCtrs.result.eps Fri Sep 13 11:02:18 2013 -0700 45.3 @@ -0,0 +1,695 @@ 45.4 +%!PS-Adobe-2.0 45.5 +%%Title: xoanon_pthreads_80cores_80_160_320_640thds__o30000__perfCtrs.result.eps 45.6 +%%Creator: gnuplot 4.4 patchlevel 2 45.7 +%%CreationDate: Thu Jan 26 18:23:26 2012 45.8 +%%DocumentFonts: (atend) 45.9 +%%BoundingBox: 251 50 554 482 45.10 +%%Orientation: Landscape 45.11 +%%Pages: (atend) 45.12 +%%EndComments 45.13 +%%BeginProlog 45.14 +/gnudict 256 dict def 45.15 +gnudict begin 45.16 +% 45.17 +% The following true/false flags may be edited by hand if desired. 45.18 +% The unit line width and grayscale image gamma correction may also be changed. 45.19 +% 45.20 +/Color true def 45.21 +/Blacktext false def 45.22 +/Solid false def 45.23 +/Dashlength 1 def 45.24 +/Landscape true def 45.25 +/Level1 false def 45.26 +/Rounded false def 45.27 +/ClipToBoundingBox false def 45.28 +/TransparentPatterns false def 45.29 +/gnulinewidth 5.000 def 45.30 +/userlinewidth gnulinewidth def 45.31 +/Gamma 1.0 def 45.32 +% 45.33 +/vshift -46 def 45.34 +/dl1 { 45.35 + 10.0 Dashlength mul mul 45.36 + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 45.37 +} def 45.38 +/dl2 { 45.39 + 10.0 Dashlength mul mul 45.40 + Rounded { currentlinewidth 0.75 mul add } if 45.41 +} def 45.42 +/hpt_ 31.5 def 45.43 +/vpt_ 31.5 def 45.44 +/hpt hpt_ def 45.45 +/vpt vpt_ def 45.46 +Level1 {} { 45.47 +/SDict 10 dict def 45.48 +systemdict /pdfmark known not { 45.49 + userdict /pdfmark systemdict /cleartomark get put 45.50 +} if 45.51 +SDict begin [ 45.52 + /Title (xoanon_pthreads_80cores_80_160_320_640thds__o30000__perfCtrs.result.eps) 45.53 + /Subject (gnuplot plot) 45.54 + /Creator (gnuplot 4.4 patchlevel 2) 45.55 + /Author (msach) 45.56 +% /Producer (gnuplot) 45.57 +% /Keywords () 45.58 + /CreationDate (Thu Jan 26 18:23:26 2012) 45.59 + /DOCINFO pdfmark 45.60 +end 45.61 +} ifelse 45.62 +/doclip { 45.63 + ClipToBoundingBox { 45.64 + newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 45.65 + clip 45.66 + } if 45.67 +} def 45.68 +% 45.69 +% Gnuplot Prolog Version 4.4 (August 2010) 45.70 +% 45.71 +%/SuppressPDFMark true def 45.72 +% 45.73 +/M {moveto} bind def 45.74 +/L {lineto} bind def 45.75 +/R {rmoveto} bind def 45.76 +/V {rlineto} bind def 45.77 +/N {newpath moveto} bind def 45.78 +/Z {closepath} bind def 45.79 +/C {setrgbcolor} bind def 45.80 +/f {rlineto fill} bind def 45.81 +/g {setgray} bind def 45.82 +/Gshow {show} def % May be redefined later in the file to support UTF-8 45.83 +/vpt2 vpt 2 mul def 45.84 +/hpt2 hpt 2 mul def 45.85 +/Lshow {currentpoint stroke M 0 vshift R 45.86 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 45.87 +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 45.88 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 45.89 +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 45.90 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 45.91 +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 45.92 + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 45.93 +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 45.94 + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 45.95 +/BL {stroke userlinewidth 2 mul setlinewidth 45.96 + Rounded {1 setlinejoin 1 setlinecap} if} def 45.97 +/AL {stroke userlinewidth 2 div setlinewidth 45.98 + Rounded {1 setlinejoin 1 setlinecap} if} def 45.99 +/UL {dup gnulinewidth mul /userlinewidth exch def 45.100 + dup 1 lt {pop 1} if 10 mul /udl exch def} def 45.101 +/PL {stroke userlinewidth setlinewidth 45.102 + Rounded {1 setlinejoin 1 setlinecap} if} def 45.103 +3.8 setmiterlimit 45.104 +% Default Line colors 45.105 +/LCw {1 1 1} def 45.106 +/LCb {0 0 0} def 45.107 +/LCa {0 0 0} def 45.108 +/LC0 {1 0 0} def 45.109 +/LC1 {0 1 0} def 45.110 +/LC2 {0 0 1} def 45.111 +/LC3 {1 0 1} def 45.112 +/LC4 {0 1 1} def 45.113 +/LC5 {1 1 0} def 45.114 +/LC6 {0 0 0} def 45.115 +/LC7 {1 0.3 0} def 45.116 +/LC8 {0.5 0.5 0.5} def 45.117 +% Default Line Types 45.118 +/LTw {PL [] 1 setgray} def 45.119 +/LTb {BL [] LCb DL} def 45.120 +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 45.121 +/LT0 {PL [] LC0 DL} def 45.122 +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 45.123 +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 45.124 +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 45.125 +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 45.126 +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 45.127 +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 45.128 +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 45.129 +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 45.130 +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 45.131 +/Dia {stroke [] 0 setdash 2 copy vpt add M 45.132 + hpt neg vpt neg V hpt vpt neg V 45.133 + hpt vpt V hpt neg vpt V closepath stroke 45.134 + Pnt} def 45.135 +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 45.136 + currentpoint stroke M 45.137 + hpt neg vpt neg R hpt2 0 V stroke 45.138 + } def 45.139 +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 45.140 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 45.141 + hpt2 neg 0 V closepath stroke 45.142 + Pnt} def 45.143 +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 45.144 + hpt2 vpt2 neg V currentpoint stroke M 45.145 + hpt2 neg 0 R hpt2 vpt2 V stroke} def 45.146 +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 45.147 + hpt neg vpt -1.62 mul V 45.148 + hpt 2 mul 0 V 45.149 + hpt neg vpt 1.62 mul V closepath stroke 45.150 + Pnt} def 45.151 +/Star {2 copy Pls Crs} def 45.152 +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 45.153 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 45.154 + hpt2 neg 0 V closepath fill} def 45.155 +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 45.156 + hpt neg vpt -1.62 mul V 45.157 + hpt 2 mul 0 V 45.158 + hpt neg vpt 1.62 mul V closepath fill} def 45.159 +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 45.160 + hpt neg vpt 1.62 mul V 45.161 + hpt 2 mul 0 V 45.162 + hpt neg vpt -1.62 mul V closepath stroke 45.163 + Pnt} def 45.164 +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 45.165 + hpt neg vpt 1.62 mul V 45.166 + hpt 2 mul 0 V 45.167 + hpt neg vpt -1.62 mul V closepath fill} def 45.168 +/DiaF {stroke [] 0 setdash vpt add M 45.169 + hpt neg vpt neg V hpt vpt neg V 45.170 + hpt vpt V hpt neg vpt V closepath fill} def 45.171 +/Pent {stroke [] 0 setdash 2 copy gsave 45.172 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 45.173 + closepath stroke grestore Pnt} def 45.174 +/PentF {stroke [] 0 setdash gsave 45.175 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 45.176 + closepath fill grestore} def 45.177 +/Circle {stroke [] 0 setdash 2 copy 45.178 + hpt 0 360 arc stroke Pnt} def 45.179 +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 45.180 +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 45.181 +/C1 {BL [] 0 setdash 2 copy moveto 45.182 + 2 copy vpt 0 90 arc closepath fill 45.183 + vpt 0 360 arc closepath} bind def 45.184 +/C2 {BL [] 0 setdash 2 copy moveto 45.185 + 2 copy vpt 90 180 arc closepath fill 45.186 + vpt 0 360 arc closepath} bind def 45.187 +/C3 {BL [] 0 setdash 2 copy moveto 45.188 + 2 copy vpt 0 180 arc closepath fill 45.189 + vpt 0 360 arc closepath} bind def 45.190 +/C4 {BL [] 0 setdash 2 copy moveto 45.191 + 2 copy vpt 180 270 arc closepath fill 45.192 + vpt 0 360 arc closepath} bind def 45.193 +/C5 {BL [] 0 setdash 2 copy moveto 45.194 + 2 copy vpt 0 90 arc 45.195 + 2 copy moveto 45.196 + 2 copy vpt 180 270 arc closepath fill 45.197 + vpt 0 360 arc} bind def 45.198 +/C6 {BL [] 0 setdash 2 copy moveto 45.199 + 2 copy vpt 90 270 arc closepath fill 45.200 + vpt 0 360 arc closepath} bind def 45.201 +/C7 {BL [] 0 setdash 2 copy moveto 45.202 + 2 copy vpt 0 270 arc closepath fill 45.203 + vpt 0 360 arc closepath} bind def 45.204 +/C8 {BL [] 0 setdash 2 copy moveto 45.205 + 2 copy vpt 270 360 arc closepath fill 45.206 + vpt 0 360 arc closepath} bind def 45.207 +/C9 {BL [] 0 setdash 2 copy moveto 45.208 + 2 copy vpt 270 450 arc closepath fill 45.209 + vpt 0 360 arc closepath} bind def 45.210 +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 45.211 + 2 copy moveto 45.212 + 2 copy vpt 90 180 arc closepath fill 45.213 + vpt 0 360 arc closepath} bind def 45.214 +/C11 {BL [] 0 setdash 2 copy moveto 45.215 + 2 copy vpt 0 180 arc closepath fill 45.216 + 2 copy moveto 45.217 + 2 copy vpt 270 360 arc closepath fill 45.218 + vpt 0 360 arc closepath} bind def 45.219 +/C12 {BL [] 0 setdash 2 copy moveto 45.220 + 2 copy vpt 180 360 arc closepath fill 45.221 + vpt 0 360 arc closepath} bind def 45.222 +/C13 {BL [] 0 setdash 2 copy moveto 45.223 + 2 copy vpt 0 90 arc closepath fill 45.224 + 2 copy moveto 45.225 + 2 copy vpt 180 360 arc closepath fill 45.226 + vpt 0 360 arc closepath} bind def 45.227 +/C14 {BL [] 0 setdash 2 copy moveto 45.228 + 2 copy vpt 90 360 arc closepath fill 45.229 + vpt 0 360 arc} bind def 45.230 +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 45.231 + vpt 0 360 arc closepath} bind def 45.232 +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 45.233 + neg 0 rlineto closepath} bind def 45.234 +/Square {dup Rec} bind def 45.235 +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 45.236 +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 45.237 +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 45.238 +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 45.239 +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 45.240 +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 45.241 +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 45.242 + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 45.243 +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 45.244 +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 45.245 + 2 copy vpt Square fill Bsquare} bind def 45.246 +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 45.247 +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 45.248 +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 45.249 + Bsquare} bind def 45.250 +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 45.251 + Bsquare} bind def 45.252 +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 45.253 +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 45.254 + 2 copy vpt Square fill Bsquare} bind def 45.255 +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 45.256 + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 45.257 +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 45.258 +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 45.259 +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 45.260 +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 45.261 +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 45.262 +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 45.263 +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 45.264 +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 45.265 +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 45.266 +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 45.267 +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 45.268 +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 45.269 +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 45.270 +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 45.271 +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 45.272 +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 45.273 +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 45.274 +/DiaE {stroke [] 0 setdash vpt add M 45.275 + hpt neg vpt neg V hpt vpt neg V 45.276 + hpt vpt V hpt neg vpt V closepath stroke} def 45.277 +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 45.278 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 45.279 + hpt2 neg 0 V closepath stroke} def 45.280 +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 45.281 + hpt neg vpt -1.62 mul V 45.282 + hpt 2 mul 0 V 45.283 + hpt neg vpt 1.62 mul V closepath stroke} def 45.284 +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 45.285 + hpt neg vpt 1.62 mul V 45.286 + hpt 2 mul 0 V 45.287 + hpt neg vpt -1.62 mul V closepath stroke} def 45.288 +/PentE {stroke [] 0 setdash gsave 45.289 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 45.290 + closepath stroke grestore} def 45.291 +/CircE {stroke [] 0 setdash 45.292 + hpt 0 360 arc stroke} def 45.293 +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 45.294 +/DiaW {stroke [] 0 setdash vpt add M 45.295 + hpt neg vpt neg V hpt vpt neg V 45.296 + hpt vpt V hpt neg vpt V Opaque stroke} def 45.297 +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 45.298 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 45.299 + hpt2 neg 0 V Opaque stroke} def 45.300 +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 45.301 + hpt neg vpt -1.62 mul V 45.302 + hpt 2 mul 0 V 45.303 + hpt neg vpt 1.62 mul V Opaque stroke} def 45.304 +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 45.305 + hpt neg vpt 1.62 mul V 45.306 + hpt 2 mul 0 V 45.307 + hpt neg vpt -1.62 mul V Opaque stroke} def 45.308 +/PentW {stroke [] 0 setdash gsave 45.309 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 45.310 + Opaque stroke grestore} def 45.311 +/CircW {stroke [] 0 setdash 45.312 + hpt 0 360 arc Opaque stroke} def 45.313 +/BoxFill {gsave Rec 1 setgray fill grestore} def 45.314 +/Density { 45.315 + /Fillden exch def 45.316 + currentrgbcolor 45.317 + /ColB exch def /ColG exch def /ColR exch def 45.318 + /ColR ColR Fillden mul Fillden sub 1 add def 45.319 + /ColG ColG Fillden mul Fillden sub 1 add def 45.320 + /ColB ColB Fillden mul Fillden sub 1 add def 45.321 + ColR ColG ColB setrgbcolor} def 45.322 +/BoxColFill {gsave Rec PolyFill} def 45.323 +/PolyFill {gsave Density fill grestore grestore} def 45.324 +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 45.325 +% 45.326 +% PostScript Level 1 Pattern Fill routine for rectangles 45.327 +% Usage: x y w h s a XX PatternFill 45.328 +% x,y = lower left corner of box to be filled 45.329 +% w,h = width and height of box 45.330 +% a = angle in degrees between lines and x-axis 45.331 +% XX = 0/1 for no/yes cross-hatch 45.332 +% 45.333 +/PatternFill {gsave /PFa [ 9 2 roll ] def 45.334 + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 45.335 + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 45.336 + gsave 1 setgray fill grestore clip 45.337 + currentlinewidth 0.5 mul setlinewidth 45.338 + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 45.339 + 0 0 M PFa 5 get rotate PFs -2 div dup translate 45.340 + 0 1 PFs PFa 4 get div 1 add floor cvi 45.341 + {PFa 4 get mul 0 M 0 PFs V} for 45.342 + 0 PFa 6 get ne { 45.343 + 0 1 PFs PFa 4 get div 1 add floor cvi 45.344 + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 45.345 + } if 45.346 + stroke grestore} def 45.347 +% 45.348 +/languagelevel where 45.349 + {pop languagelevel} {1} ifelse 45.350 + 2 lt 45.351 + {/InterpretLevel1 true def} 45.352 + {/InterpretLevel1 Level1 def} 45.353 + ifelse 45.354 +% 45.355 +% PostScript level 2 pattern fill definitions 45.356 +% 45.357 +/Level2PatternFill { 45.358 +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 45.359 + bind def 45.360 +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 45.361 +<< Tile8x8 45.362 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 45.363 +>> matrix makepattern 45.364 +/Pat1 exch def 45.365 +<< Tile8x8 45.366 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 45.367 + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 45.368 +>> matrix makepattern 45.369 +/Pat2 exch def 45.370 +<< Tile8x8 45.371 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 45.372 + 8 8 L 8 0 L 0 0 L fill} 45.373 +>> matrix makepattern 45.374 +/Pat3 exch def 45.375 +<< Tile8x8 45.376 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 45.377 + 0 12 M 12 0 L stroke} 45.378 +>> matrix makepattern 45.379 +/Pat4 exch def 45.380 +<< Tile8x8 45.381 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 45.382 + 0 -4 M 12 8 L stroke} 45.383 +>> matrix makepattern 45.384 +/Pat5 exch def 45.385 +<< Tile8x8 45.386 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 45.387 + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 45.388 +>> matrix makepattern 45.389 +/Pat6 exch def 45.390 +<< Tile8x8 45.391 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 45.392 + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 45.393 +>> matrix makepattern 45.394 +/Pat7 exch def 45.395 +<< Tile8x8 45.396 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 45.397 + 12 0 M -4 8 L 12 4 M 0 10 L stroke} 45.398 +>> matrix makepattern 45.399 +/Pat8 exch def 45.400 +<< Tile8x8 45.401 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 45.402 + -4 0 M 12 8 L -4 4 M 8 10 L stroke} 45.403 +>> matrix makepattern 45.404 +/Pat9 exch def 45.405 +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 45.406 +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 45.407 +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 45.408 +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 45.409 +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 45.410 +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 45.411 +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 45.412 +} def 45.413 +% 45.414 +% 45.415 +%End of PostScript Level 2 code 45.416 +% 45.417 +/PatternBgnd { 45.418 + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 45.419 +} def 45.420 +% 45.421 +% Substitute for Level 2 pattern fill codes with 45.422 +% grayscale if Level 2 support is not selected. 45.423 +% 45.424 +/Level1PatternFill { 45.425 +/Pattern1 {0.250 Density} bind def 45.426 +/Pattern2 {0.500 Density} bind def 45.427 +/Pattern3 {0.750 Density} bind def 45.428 +/Pattern4 {0.125 Density} bind def 45.429 +/Pattern5 {0.375 Density} bind def 45.430 +/Pattern6 {0.625 Density} bind def 45.431 +/Pattern7 {0.875 Density} bind def 45.432 +} def 45.433 +% 45.434 +% Now test for support of Level 2 code 45.435 +% 45.436 +Level1 {Level1PatternFill} {Level2PatternFill} ifelse 45.437 +% 45.438 +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 45.439 +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 45.440 +currentdict end definefont pop 45.441 +/MFshow { 45.442 + { dup 5 get 3 ge 45.443 + { 5 get 3 eq {gsave} {grestore} ifelse } 45.444 + {dup dup 0 get findfont exch 1 get scalefont setfont 45.445 + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 45.446 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 45.447 + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 45.448 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 45.449 + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 45.450 + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 45.451 + pop aload pop M} ifelse }ifelse }ifelse } 45.452 + ifelse } 45.453 + forall} def 45.454 +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 45.455 +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 45.456 + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 45.457 + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 45.458 +/MLshow { currentpoint stroke M 45.459 + 0 exch R 45.460 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 45.461 +/MRshow { currentpoint stroke M 45.462 + exch dup MFwidth neg 3 -1 roll R 45.463 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 45.464 +/MCshow { currentpoint stroke M 45.465 + exch dup MFwidth -2 div 3 -1 roll R 45.466 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 45.467 +/XYsave { [( ) 1 2 true false 3 ()] } bind def 45.468 +/XYrestore { [( ) 1 2 true false 4 ()] } bind def 45.469 +end 45.470 +%%EndProlog 45.471 +%%Page: 1 1 45.472 +gnudict begin 45.473 +gsave 45.474 +doclip 45.475 +50 50 translate 45.476 +0.100 0.100 scale 45.477 +90 rotate 45.478 +0 -5040 translate 45.479 +0 setgray 45.480 +newpath 45.481 +(Helvetica) findfont 140 scalefont setfont 45.482 +1.000 UL 45.483 +LTb 45.484 +686 922 M 45.485 +63 0 V 45.486 +stroke 45.487 +602 922 M 45.488 +[ [(Helvetica) 140.0 0.0 true true 0 ( 50)] 45.489 +] -46.7 MRshow 45.490 +1.000 UL 45.491 +LTb 45.492 +686 1405 M 45.493 +63 0 V 45.494 +stroke 45.495 +602 1405 M 45.496 +[ [(Helvetica) 140.0 0.0 true true 0 ( 100)] 45.497 +] -46.7 MRshow 45.498 +1.000 UL 45.499 +LTb 45.500 +686 1888 M 45.501 +63 0 V 45.502 +stroke 45.503 +602 1888 M 45.504 +[ [(Helvetica) 140.0 0.0 true true 0 ( 150)] 45.505 +] -46.7 MRshow 45.506 +1.000 UL 45.507 +LTb 45.508 +686 2372 M 45.509 +63 0 V 45.510 +stroke 45.511 +602 2372 M 45.512 +[ [(Helvetica) 140.0 0.0 true true 0 ( 200)] 45.513 +] -46.7 MRshow 45.514 +1.000 UL 45.515 +LTb 45.516 +686 2855 M 45.517 +63 0 V 45.518 +stroke 45.519 +602 2855 M 45.520 +[ [(Helvetica) 140.0 0.0 true true 0 ( 250)] 45.521 +] -46.7 MRshow 45.522 +1.000 UL 45.523 +LTb 45.524 +686 448 M 45.525 +0 63 V 45.526 +stroke 45.527 +686 308 M 45.528 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 45.529 +] -46.7 MCshow 45.530 +1.000 UL 45.531 +LTb 45.532 +1109 448 M 45.533 +0 63 V 45.534 +stroke 45.535 +1109 308 M 45.536 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 45.537 +] -46.7 MCshow 45.538 +1.000 UL 45.539 +LTb 45.540 +1531 448 M 45.541 +0 63 V 45.542 +stroke 45.543 +1531 308 M 45.544 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 45.545 +] -46.7 MCshow 45.546 +1.000 UL 45.547 +LTb 45.548 +1954 448 M 45.549 +0 63 V 45.550 +stroke 45.551 +1954 308 M 45.552 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 45.553 +] -46.7 MCshow 45.554 +1.000 UL 45.555 +LTb 45.556 +2377 448 M 45.557 +0 63 V 45.558 +stroke 45.559 +2377 308 M 45.560 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 45.561 +] -46.7 MCshow 45.562 +1.000 UL 45.563 +LTb 45.564 +2799 448 M 45.565 +0 63 V 45.566 +stroke 45.567 +2799 308 M 45.568 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 45.569 +] -46.7 MCshow 45.570 +1.000 UL 45.571 +LTb 45.572 +3222 448 M 45.573 +0 63 V 45.574 +stroke 45.575 +3222 308 M 45.576 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 45.577 +] -46.7 MCshow 45.578 +1.000 UL 45.579 +LTb 45.580 +3644 448 M 45.581 +0 63 V 45.582 +stroke 45.583 +3644 308 M 45.584 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 45.585 +] -46.7 MCshow 45.586 +1.000 UL 45.587 +LTb 45.588 +4067 448 M 45.589 +0 63 V 45.590 +stroke 45.591 +4067 308 M 45.592 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 45.593 +] -46.7 MCshow 45.594 +1.000 UL 45.595 +LTb 45.596 +1.000 UL 45.597 +LTb 45.598 +686 2855 M 45.599 +686 448 L 45.600 +3381 0 V 45.601 +0 2407 R 45.602 +-3381 0 R 45.603 +stroke 45.604 +LCb setrgbcolor 45.605 +112 1651 M 45.606 +currentpoint gsave translate -270 rotate 0 0 moveto 45.607 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 45.608 +] -46.7 MCshow 45.609 +grestore 45.610 +LTb 45.611 +LCb setrgbcolor 45.612 +2376 98 M 45.613 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 45.614 +] -46.7 MCshow 45.615 +LTb 45.616 +1.000 UP 45.617 +1.000 UL 45.618 +LTb 45.619 +1.000 UL 45.620 +LTb 45.621 +770 511 N 45.622 +0 560 V 45.623 +1491 0 V 45.624 +0 -560 V 45.625 +770 511 L 45.626 +Z stroke 45.627 +770 1071 M 45.628 +1491 0 V 45.629 +% Begin plot #1 45.630 +stroke 45.631 +4.000 UL 45.632 +LT0 45.633 +LCb setrgbcolor 45.634 +1694 1001 M 45.635 +[ [(Helvetica) 140.0 0.0 true true 0 (80 Threads)] 45.636 +] -46.7 MRshow 45.637 +LT0 45.638 +1778 1001 M 45.639 +399 0 V 45.640 +154 1854 R 45.641 +25 -124 V 45.642 +3985 1744 L 45.643 +% End plot #1 45.644 +% Begin plot #2 45.645 +stroke 45.646 +LT1 45.647 +LCb setrgbcolor 45.648 +1694 861 M 45.649 +[ [(Helvetica) 140.0 0.0 true true 0 (160 Threads)] 45.650 +] -46.7 MRshow 45.651 +LT1 45.652 +1778 861 M 45.653 +399 0 V 45.654 +% End plot #2 45.655 +% Begin plot #3 45.656 +stroke 45.657 +LT2 45.658 +LCb setrgbcolor 45.659 +1694 721 M 45.660 +[ [(Helvetica) 140.0 0.0 true true 0 (320 Threads)] 45.661 +] -46.7 MRshow 45.662 +LT2 45.663 +1778 721 M 45.664 +399 0 V 45.665 +618 2134 R 45.666 +476 -856 V 45.667 +796 -271 V 45.668 +% End plot #3 45.669 +% Begin plot #4 45.670 +stroke 45.671 +LT3 45.672 +LCb setrgbcolor 45.673 +1694 581 M 45.674 +[ [(Helvetica) 140.0 0.0 true true 0 (640 Threads)] 45.675 +] -46.7 MRshow 45.676 +LT3 45.677 +1778 581 M 45.678 +399 0 V 45.679 +166 2274 R 45.680 +586 -716 V 45.681 +4067 1495 L 45.682 +% End plot #4 45.683 +stroke 45.684 +1.000 UL 45.685 +LTb 45.686 +686 2855 M 45.687 +686 448 L 45.688 +3381 0 V 45.689 +0 2407 R 45.690 +-3381 0 R 45.691 +1.000 UP 45.692 +stroke 45.693 +grestore 45.694 +end 45.695 +showpage 45.696 +%%Trailer 45.697 +%%DocumentFonts: Helvetica 45.698 +%%Pages: 1
46.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 46.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/plots_exec_vs_task_size/not_used/xoanon_pthreads_vthread_40core_80_160_320_640thds__o30000__perfCtrs.meas.key-out.eps Fri Sep 13 11:02:18 2013 -0700 46.3 @@ -0,0 +1,884 @@ 46.4 +%!PS-Adobe-2.0 46.5 +%%Title: xoanon_pthreads_vthread_40core_80_160_320_640thds__o30000__perfCtrs.meas.key-out.eps 46.6 +%%Creator: gnuplot 4.4 patchlevel 2 46.7 +%%CreationDate: Thu Jan 26 18:45:12 2012 46.8 +%%DocumentFonts: (atend) 46.9 +%%BoundingBox: 251 50 554 482 46.10 +%%Orientation: Landscape 46.11 +%%Pages: (atend) 46.12 +%%EndComments 46.13 +%%BeginProlog 46.14 +/gnudict 256 dict def 46.15 +gnudict begin 46.16 +% 46.17 +% The following true/false flags may be edited by hand if desired. 46.18 +% The unit line width and grayscale image gamma correction may also be changed. 46.19 +% 46.20 +/Color true def 46.21 +/Blacktext false def 46.22 +/Solid false def 46.23 +/Dashlength 1 def 46.24 +/Landscape true def 46.25 +/Level1 false def 46.26 +/Rounded false def 46.27 +/ClipToBoundingBox false def 46.28 +/TransparentPatterns false def 46.29 +/gnulinewidth 5.000 def 46.30 +/userlinewidth gnulinewidth def 46.31 +/Gamma 1.0 def 46.32 +% 46.33 +/vshift -46 def 46.34 +/dl1 { 46.35 + 10.0 Dashlength mul mul 46.36 + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 46.37 +} def 46.38 +/dl2 { 46.39 + 10.0 Dashlength mul mul 46.40 + Rounded { currentlinewidth 0.75 mul add } if 46.41 +} def 46.42 +/hpt_ 31.5 def 46.43 +/vpt_ 31.5 def 46.44 +/hpt hpt_ def 46.45 +/vpt vpt_ def 46.46 +Level1 {} { 46.47 +/SDict 10 dict def 46.48 +systemdict /pdfmark known not { 46.49 + userdict /pdfmark systemdict /cleartomark get put 46.50 +} if 46.51 +SDict begin [ 46.52 + /Title (xoanon_pthreads_vthread_40core_80_160_320_640thds__o30000__perfCtrs.meas.key-out.eps) 46.53 + /Subject (gnuplot plot) 46.54 + /Creator (gnuplot 4.4 patchlevel 2) 46.55 + /Author (msach) 46.56 +% /Producer (gnuplot) 46.57 +% /Keywords () 46.58 + /CreationDate (Thu Jan 26 18:45:12 2012) 46.59 + /DOCINFO pdfmark 46.60 +end 46.61 +} ifelse 46.62 +/doclip { 46.63 + ClipToBoundingBox { 46.64 + newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 46.65 + clip 46.66 + } if 46.67 +} def 46.68 +% 46.69 +% Gnuplot Prolog Version 4.4 (August 2010) 46.70 +% 46.71 +%/SuppressPDFMark true def 46.72 +% 46.73 +/M {moveto} bind def 46.74 +/L {lineto} bind def 46.75 +/R {rmoveto} bind def 46.76 +/V {rlineto} bind def 46.77 +/N {newpath moveto} bind def 46.78 +/Z {closepath} bind def 46.79 +/C {setrgbcolor} bind def 46.80 +/f {rlineto fill} bind def 46.81 +/g {setgray} bind def 46.82 +/Gshow {show} def % May be redefined later in the file to support UTF-8 46.83 +/vpt2 vpt 2 mul def 46.84 +/hpt2 hpt 2 mul def 46.85 +/Lshow {currentpoint stroke M 0 vshift R 46.86 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 46.87 +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 46.88 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 46.89 +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 46.90 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 46.91 +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 46.92 + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 46.93 +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 46.94 + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 46.95 +/BL {stroke userlinewidth 2 mul setlinewidth 46.96 + Rounded {1 setlinejoin 1 setlinecap} if} def 46.97 +/AL {stroke userlinewidth 2 div setlinewidth 46.98 + Rounded {1 setlinejoin 1 setlinecap} if} def 46.99 +/UL {dup gnulinewidth mul /userlinewidth exch def 46.100 + dup 1 lt {pop 1} if 10 mul /udl exch def} def 46.101 +/PL {stroke userlinewidth setlinewidth 46.102 + Rounded {1 setlinejoin 1 setlinecap} if} def 46.103 +3.8 setmiterlimit 46.104 +% Default Line colors 46.105 +/LCw {1 1 1} def 46.106 +/LCb {0 0 0} def 46.107 +/LCa {0 0 0} def 46.108 +/LC0 {1 0 0} def 46.109 +/LC1 {0 1 0} def 46.110 +/LC2 {0 0 1} def 46.111 +/LC3 {1 0 1} def 46.112 +/LC4 {0 1 1} def 46.113 +/LC5 {1 1 0} def 46.114 +/LC6 {0 0 0} def 46.115 +/LC7 {1 0.3 0} def 46.116 +/LC8 {0.5 0.5 0.5} def 46.117 +% Default Line Types 46.118 +/LTw {PL [] 1 setgray} def 46.119 +/LTb {BL [] LCb DL} def 46.120 +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 46.121 +/LT0 {PL [] LC0 DL} def 46.122 +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 46.123 +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 46.124 +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 46.125 +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 46.126 +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 46.127 +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 46.128 +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 46.129 +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 46.130 +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 46.131 +/Dia {stroke [] 0 setdash 2 copy vpt add M 46.132 + hpt neg vpt neg V hpt vpt neg V 46.133 + hpt vpt V hpt neg vpt V closepath stroke 46.134 + Pnt} def 46.135 +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 46.136 + currentpoint stroke M 46.137 + hpt neg vpt neg R hpt2 0 V stroke 46.138 + } def 46.139 +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 46.140 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 46.141 + hpt2 neg 0 V closepath stroke 46.142 + Pnt} def 46.143 +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 46.144 + hpt2 vpt2 neg V currentpoint stroke M 46.145 + hpt2 neg 0 R hpt2 vpt2 V stroke} def 46.146 +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 46.147 + hpt neg vpt -1.62 mul V 46.148 + hpt 2 mul 0 V 46.149 + hpt neg vpt 1.62 mul V closepath stroke 46.150 + Pnt} def 46.151 +/Star {2 copy Pls Crs} def 46.152 +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 46.153 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 46.154 + hpt2 neg 0 V closepath fill} def 46.155 +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 46.156 + hpt neg vpt -1.62 mul V 46.157 + hpt 2 mul 0 V 46.158 + hpt neg vpt 1.62 mul V closepath fill} def 46.159 +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 46.160 + hpt neg vpt 1.62 mul V 46.161 + hpt 2 mul 0 V 46.162 + hpt neg vpt -1.62 mul V closepath stroke 46.163 + Pnt} def 46.164 +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 46.165 + hpt neg vpt 1.62 mul V 46.166 + hpt 2 mul 0 V 46.167 + hpt neg vpt -1.62 mul V closepath fill} def 46.168 +/DiaF {stroke [] 0 setdash vpt add M 46.169 + hpt neg vpt neg V hpt vpt neg V 46.170 + hpt vpt V hpt neg vpt V closepath fill} def 46.171 +/Pent {stroke [] 0 setdash 2 copy gsave 46.172 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 46.173 + closepath stroke grestore Pnt} def 46.174 +/PentF {stroke [] 0 setdash gsave 46.175 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 46.176 + closepath fill grestore} def 46.177 +/Circle {stroke [] 0 setdash 2 copy 46.178 + hpt 0 360 arc stroke Pnt} def 46.179 +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 46.180 +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 46.181 +/C1 {BL [] 0 setdash 2 copy moveto 46.182 + 2 copy vpt 0 90 arc closepath fill 46.183 + vpt 0 360 arc closepath} bind def 46.184 +/C2 {BL [] 0 setdash 2 copy moveto 46.185 + 2 copy vpt 90 180 arc closepath fill 46.186 + vpt 0 360 arc closepath} bind def 46.187 +/C3 {BL [] 0 setdash 2 copy moveto 46.188 + 2 copy vpt 0 180 arc closepath fill 46.189 + vpt 0 360 arc closepath} bind def 46.190 +/C4 {BL [] 0 setdash 2 copy moveto 46.191 + 2 copy vpt 180 270 arc closepath fill 46.192 + vpt 0 360 arc closepath} bind def 46.193 +/C5 {BL [] 0 setdash 2 copy moveto 46.194 + 2 copy vpt 0 90 arc 46.195 + 2 copy moveto 46.196 + 2 copy vpt 180 270 arc closepath fill 46.197 + vpt 0 360 arc} bind def 46.198 +/C6 {BL [] 0 setdash 2 copy moveto 46.199 + 2 copy vpt 90 270 arc closepath fill 46.200 + vpt 0 360 arc closepath} bind def 46.201 +/C7 {BL [] 0 setdash 2 copy moveto 46.202 + 2 copy vpt 0 270 arc closepath fill 46.203 + vpt 0 360 arc closepath} bind def 46.204 +/C8 {BL [] 0 setdash 2 copy moveto 46.205 + 2 copy vpt 270 360 arc closepath fill 46.206 + vpt 0 360 arc closepath} bind def 46.207 +/C9 {BL [] 0 setdash 2 copy moveto 46.208 + 2 copy vpt 270 450 arc closepath fill 46.209 + vpt 0 360 arc closepath} bind def 46.210 +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 46.211 + 2 copy moveto 46.212 + 2 copy vpt 90 180 arc closepath fill 46.213 + vpt 0 360 arc closepath} bind def 46.214 +/C11 {BL [] 0 setdash 2 copy moveto 46.215 + 2 copy vpt 0 180 arc closepath fill 46.216 + 2 copy moveto 46.217 + 2 copy vpt 270 360 arc closepath fill 46.218 + vpt 0 360 arc closepath} bind def 46.219 +/C12 {BL [] 0 setdash 2 copy moveto 46.220 + 2 copy vpt 180 360 arc closepath fill 46.221 + vpt 0 360 arc closepath} bind def 46.222 +/C13 {BL [] 0 setdash 2 copy moveto 46.223 + 2 copy vpt 0 90 arc closepath fill 46.224 + 2 copy moveto 46.225 + 2 copy vpt 180 360 arc closepath fill 46.226 + vpt 0 360 arc closepath} bind def 46.227 +/C14 {BL [] 0 setdash 2 copy moveto 46.228 + 2 copy vpt 90 360 arc closepath fill 46.229 + vpt 0 360 arc} bind def 46.230 +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 46.231 + vpt 0 360 arc closepath} bind def 46.232 +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 46.233 + neg 0 rlineto closepath} bind def 46.234 +/Square {dup Rec} bind def 46.235 +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 46.236 +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 46.237 +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 46.238 +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 46.239 +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 46.240 +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 46.241 +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 46.242 + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 46.243 +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 46.244 +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 46.245 + 2 copy vpt Square fill Bsquare} bind def 46.246 +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 46.247 +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 46.248 +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 46.249 + Bsquare} bind def 46.250 +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 46.251 + Bsquare} bind def 46.252 +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 46.253 +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 46.254 + 2 copy vpt Square fill Bsquare} bind def 46.255 +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 46.256 + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 46.257 +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 46.258 +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 46.259 +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 46.260 +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 46.261 +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 46.262 +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 46.263 +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 46.264 +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 46.265 +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 46.266 +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 46.267 +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 46.268 +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 46.269 +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 46.270 +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 46.271 +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 46.272 +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 46.273 +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 46.274 +/DiaE {stroke [] 0 setdash vpt add M 46.275 + hpt neg vpt neg V hpt vpt neg V 46.276 + hpt vpt V hpt neg vpt V closepath stroke} def 46.277 +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 46.278 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 46.279 + hpt2 neg 0 V closepath stroke} def 46.280 +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 46.281 + hpt neg vpt -1.62 mul V 46.282 + hpt 2 mul 0 V 46.283 + hpt neg vpt 1.62 mul V closepath stroke} def 46.284 +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 46.285 + hpt neg vpt 1.62 mul V 46.286 + hpt 2 mul 0 V 46.287 + hpt neg vpt -1.62 mul V closepath stroke} def 46.288 +/PentE {stroke [] 0 setdash gsave 46.289 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 46.290 + closepath stroke grestore} def 46.291 +/CircE {stroke [] 0 setdash 46.292 + hpt 0 360 arc stroke} def 46.293 +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 46.294 +/DiaW {stroke [] 0 setdash vpt add M 46.295 + hpt neg vpt neg V hpt vpt neg V 46.296 + hpt vpt V hpt neg vpt V Opaque stroke} def 46.297 +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 46.298 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 46.299 + hpt2 neg 0 V Opaque stroke} def 46.300 +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 46.301 + hpt neg vpt -1.62 mul V 46.302 + hpt 2 mul 0 V 46.303 + hpt neg vpt 1.62 mul V Opaque stroke} def 46.304 +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 46.305 + hpt neg vpt 1.62 mul V 46.306 + hpt 2 mul 0 V 46.307 + hpt neg vpt -1.62 mul V Opaque stroke} def 46.308 +/PentW {stroke [] 0 setdash gsave 46.309 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 46.310 + Opaque stroke grestore} def 46.311 +/CircW {stroke [] 0 setdash 46.312 + hpt 0 360 arc Opaque stroke} def 46.313 +/BoxFill {gsave Rec 1 setgray fill grestore} def 46.314 +/Density { 46.315 + /Fillden exch def 46.316 + currentrgbcolor 46.317 + /ColB exch def /ColG exch def /ColR exch def 46.318 + /ColR ColR Fillden mul Fillden sub 1 add def 46.319 + /ColG ColG Fillden mul Fillden sub 1 add def 46.320 + /ColB ColB Fillden mul Fillden sub 1 add def 46.321 + ColR ColG ColB setrgbcolor} def 46.322 +/BoxColFill {gsave Rec PolyFill} def 46.323 +/PolyFill {gsave Density fill grestore grestore} def 46.324 +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 46.325 +% 46.326 +% PostScript Level 1 Pattern Fill routine for rectangles 46.327 +% Usage: x y w h s a XX PatternFill 46.328 +% x,y = lower left corner of box to be filled 46.329 +% w,h = width and height of box 46.330 +% a = angle in degrees between lines and x-axis 46.331 +% XX = 0/1 for no/yes cross-hatch 46.332 +% 46.333 +/PatternFill {gsave /PFa [ 9 2 roll ] def 46.334 + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 46.335 + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 46.336 + gsave 1 setgray fill grestore clip 46.337 + currentlinewidth 0.5 mul setlinewidth 46.338 + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 46.339 + 0 0 M PFa 5 get rotate PFs -2 div dup translate 46.340 + 0 1 PFs PFa 4 get div 1 add floor cvi 46.341 + {PFa 4 get mul 0 M 0 PFs V} for 46.342 + 0 PFa 6 get ne { 46.343 + 0 1 PFs PFa 4 get div 1 add floor cvi 46.344 + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 46.345 + } if 46.346 + stroke grestore} def 46.347 +% 46.348 +/languagelevel where 46.349 + {pop languagelevel} {1} ifelse 46.350 + 2 lt 46.351 + {/InterpretLevel1 true def} 46.352 + {/InterpretLevel1 Level1 def} 46.353 + ifelse 46.354 +% 46.355 +% PostScript level 2 pattern fill definitions 46.356 +% 46.357 +/Level2PatternFill { 46.358 +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 46.359 + bind def 46.360 +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 46.361 +<< Tile8x8 46.362 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 46.363 +>> matrix makepattern 46.364 +/Pat1 exch def 46.365 +<< Tile8x8 46.366 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 46.367 + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 46.368 +>> matrix makepattern 46.369 +/Pat2 exch def 46.370 +<< Tile8x8 46.371 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 46.372 + 8 8 L 8 0 L 0 0 L fill} 46.373 +>> matrix makepattern 46.374 +/Pat3 exch def 46.375 +<< Tile8x8 46.376 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 46.377 + 0 12 M 12 0 L stroke} 46.378 +>> matrix makepattern 46.379 +/Pat4 exch def 46.380 +<< Tile8x8 46.381 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 46.382 + 0 -4 M 12 8 L stroke} 46.383 +>> matrix makepattern 46.384 +/Pat5 exch def 46.385 +<< Tile8x8 46.386 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 46.387 + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 46.388 +>> matrix makepattern 46.389 +/Pat6 exch def 46.390 +<< Tile8x8 46.391 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 46.392 + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 46.393 +>> matrix makepattern 46.394 +/Pat7 exch def 46.395 +<< Tile8x8 46.396 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 46.397 + 12 0 M -4 8 L 12 4 M 0 10 L stroke} 46.398 +>> matrix makepattern 46.399 +/Pat8 exch def 46.400 +<< Tile8x8 46.401 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 46.402 + -4 0 M 12 8 L -4 4 M 8 10 L stroke} 46.403 +>> matrix makepattern 46.404 +/Pat9 exch def 46.405 +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 46.406 +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 46.407 +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 46.408 +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 46.409 +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 46.410 +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 46.411 +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 46.412 +} def 46.413 +% 46.414 +% 46.415 +%End of PostScript Level 2 code 46.416 +% 46.417 +/PatternBgnd { 46.418 + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 46.419 +} def 46.420 +% 46.421 +% Substitute for Level 2 pattern fill codes with 46.422 +% grayscale if Level 2 support is not selected. 46.423 +% 46.424 +/Level1PatternFill { 46.425 +/Pattern1 {0.250 Density} bind def 46.426 +/Pattern2 {0.500 Density} bind def 46.427 +/Pattern3 {0.750 Density} bind def 46.428 +/Pattern4 {0.125 Density} bind def 46.429 +/Pattern5 {0.375 Density} bind def 46.430 +/Pattern6 {0.625 Density} bind def 46.431 +/Pattern7 {0.875 Density} bind def 46.432 +} def 46.433 +% 46.434 +% Now test for support of Level 2 code 46.435 +% 46.436 +Level1 {Level1PatternFill} {Level2PatternFill} ifelse 46.437 +% 46.438 +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 46.439 +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 46.440 +currentdict end definefont pop 46.441 +/MFshow { 46.442 + { dup 5 get 3 ge 46.443 + { 5 get 3 eq {gsave} {grestore} ifelse } 46.444 + {dup dup 0 get findfont exch 1 get scalefont setfont 46.445 + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 46.446 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 46.447 + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 46.448 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 46.449 + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 46.450 + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 46.451 + pop aload pop M} ifelse }ifelse }ifelse } 46.452 + ifelse } 46.453 + forall} def 46.454 +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 46.455 +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 46.456 + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 46.457 + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 46.458 +/MLshow { currentpoint stroke M 46.459 + 0 exch R 46.460 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 46.461 +/MRshow { currentpoint stroke M 46.462 + exch dup MFwidth neg 3 -1 roll R 46.463 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 46.464 +/MCshow { currentpoint stroke M 46.465 + exch dup MFwidth -2 div 3 -1 roll R 46.466 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 46.467 +/XYsave { [( ) 1 2 true false 3 ()] } bind def 46.468 +/XYrestore { [( ) 1 2 true false 4 ()] } bind def 46.469 +end 46.470 +%%EndProlog 46.471 +%%Page: 1 1 46.472 +gnudict begin 46.473 +gsave 46.474 +doclip 46.475 +50 50 translate 46.476 +0.100 0.100 scale 46.477 +90 rotate 46.478 +0 -5040 translate 46.479 +0 setgray 46.480 +newpath 46.481 +(Helvetica) findfont 140 scalefont setfont 46.482 +1.000 UL 46.483 +LTb 46.484 +686 922 M 46.485 +63 0 V 46.486 +stroke 46.487 +602 922 M 46.488 +[ [(Helvetica) 140.0 0.0 true true 0 ( 50)] 46.489 +] -46.7 MRshow 46.490 +1.000 UL 46.491 +LTb 46.492 +686 1405 M 46.493 +63 0 V 46.494 +stroke 46.495 +602 1405 M 46.496 +[ [(Helvetica) 140.0 0.0 true true 0 ( 100)] 46.497 +] -46.7 MRshow 46.498 +1.000 UL 46.499 +LTb 46.500 +686 1888 M 46.501 +63 0 V 46.502 +stroke 46.503 +602 1888 M 46.504 +[ [(Helvetica) 140.0 0.0 true true 0 ( 150)] 46.505 +] -46.7 MRshow 46.506 +1.000 UL 46.507 +LTb 46.508 +686 2372 M 46.509 +63 0 V 46.510 +stroke 46.511 +602 2372 M 46.512 +[ [(Helvetica) 140.0 0.0 true true 0 ( 200)] 46.513 +] -46.7 MRshow 46.514 +1.000 UL 46.515 +LTb 46.516 +686 2855 M 46.517 +63 0 V 46.518 +stroke 46.519 +602 2855 M 46.520 +[ [(Helvetica) 140.0 0.0 true true 0 ( 250)] 46.521 +] -46.7 MRshow 46.522 +1.000 UL 46.523 +LTb 46.524 +686 448 M 46.525 +0 63 V 46.526 +stroke 46.527 +686 308 M 46.528 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 46.529 +] -46.7 MCshow 46.530 +1.000 UL 46.531 +LTb 46.532 +1159 448 M 46.533 +0 63 V 46.534 +stroke 46.535 +1159 308 M 46.536 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 46.537 +] -46.7 MCshow 46.538 +1.000 UL 46.539 +LTb 46.540 +1631 448 M 46.541 +0 63 V 46.542 +stroke 46.543 +1631 308 M 46.544 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 46.545 +] -46.7 MCshow 46.546 +1.000 UL 46.547 +LTb 46.548 +2104 448 M 46.549 +0 63 V 46.550 +stroke 46.551 +2104 308 M 46.552 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 46.553 +] -46.7 MCshow 46.554 +1.000 UL 46.555 +LTb 46.556 +2576 448 M 46.557 +0 63 V 46.558 +stroke 46.559 +2576 308 M 46.560 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 46.561 +] -46.7 MCshow 46.562 +1.000 UL 46.563 +LTb 46.564 +1.000 UL 46.565 +LTb 46.566 +686 2855 M 46.567 +686 448 L 46.568 +1890 0 V 46.569 +0 2407 R 46.570 +-1890 0 R 46.571 +stroke 46.572 +LCb setrgbcolor 46.573 +112 1651 M 46.574 +currentpoint gsave translate -270 rotate 0 0 moveto 46.575 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 46.576 +] -46.7 MCshow 46.577 +grestore 46.578 +LTb 46.579 +LCb setrgbcolor 46.580 +1631 98 M 46.581 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 46.582 +] -46.7 MCshow 46.583 +LTb 46.584 +1.000 UP 46.585 +1.000 UL 46.586 +LTb 46.587 +LCb setrgbcolor 46.588 +3489 2785 M 46.589 +[ [(Helvetica) 140.0 0.0 true true 0 (pthreads)] 46.590 +] -46.7 MCshow 46.591 +LTb 46.592 +1.000 UL 46.593 +LTb 46.594 +2744 2155 N 46.595 +0 700 V 46.596 +1491 0 V 46.597 +0 -700 V 46.598 +-1491 0 V 46.599 +Z stroke 46.600 +2744 2715 M 46.601 +1491 0 V 46.602 +% Begin plot #1 46.603 +stroke 46.604 +4.000 UL 46.605 +LT5 46.606 +LC7 setrgbcolor 46.607 +LCb setrgbcolor 46.608 +3668 2645 M 46.609 +[ [(Helvetica) 140.0 0.0 true true 0 (80 Threads)] 46.610 +] -46.7 MRshow 46.611 +LT5 46.612 +LC7 setrgbcolor 46.613 +3752 2645 M 46.614 +399 0 V 46.615 +1272 2855 M 46.616 +371 -919 V 46.617 +933 -698 V 46.618 +% End plot #1 46.619 +% Begin plot #2 46.620 +stroke 46.621 +LT6 46.622 +LCb setrgbcolor 46.623 +3668 2505 M 46.624 +[ [(Helvetica) 140.0 0.0 true true 0 (160 Threads)] 46.625 +] -46.7 MRshow 46.626 +LT6 46.627 +3752 2505 M 46.628 +399 0 V 46.629 +1280 2855 M 46.630 +1731 1723 L 46.631 +845 -658 V 46.632 +% End plot #2 46.633 +% Begin plot #3 46.634 +stroke 46.635 +LT7 46.636 +LC1 setrgbcolor 46.637 +LCb setrgbcolor 46.638 +3668 2365 M 46.639 +[ [(Helvetica) 140.0 0.0 true true 0 (320 Threads)] 46.640 +] -46.7 MRshow 46.641 +LT7 46.642 +LC1 setrgbcolor 46.643 +3752 2365 M 46.644 +399 0 V 46.645 +1096 2855 M 46.646 +95 -542 V 46.647 +439 -867 V 46.648 +2531 870 L 46.649 +% End plot #3 46.650 +% Begin plot #4 46.651 +stroke 46.652 +LT8 46.653 +LCb setrgbcolor 46.654 +3668 2225 M 46.655 +[ [(Helvetica) 140.0 0.0 true true 0 (640 Threads)] 46.656 +] -46.7 MRshow 46.657 +LT8 46.658 +3752 2225 M 46.659 +399 0 V 46.660 +1310 2855 M 46.661 +320 -574 V 46.662 +2543 1207 L 46.663 +% End plot #4 46.664 +stroke 46.665 +1.000 UL 46.666 +LTb 46.667 +686 2855 M 46.668 +686 448 L 46.669 +1890 0 V 46.670 +0 2407 R 46.671 +-1890 0 R 46.672 +1.000 UP 46.673 +686 922 M 46.674 +63 0 V 46.675 +stroke 46.676 +602 922 M 46.677 +[ [(Helvetica) 140.0 0.0 true true 0 ( 50)] 46.678 +] -46.7 MRshow 46.679 +1.000 UL 46.680 +LTb 46.681 +686 1405 M 46.682 +63 0 V 46.683 +stroke 46.684 +602 1405 M 46.685 +[ [(Helvetica) 140.0 0.0 true true 0 ( 100)] 46.686 +] -46.7 MRshow 46.687 +1.000 UL 46.688 +LTb 46.689 +686 1888 M 46.690 +63 0 V 46.691 +stroke 46.692 +602 1888 M 46.693 +[ [(Helvetica) 140.0 0.0 true true 0 ( 150)] 46.694 +] -46.7 MRshow 46.695 +1.000 UL 46.696 +LTb 46.697 +686 2372 M 46.698 +63 0 V 46.699 +stroke 46.700 +602 2372 M 46.701 +[ [(Helvetica) 140.0 0.0 true true 0 ( 200)] 46.702 +] -46.7 MRshow 46.703 +1.000 UL 46.704 +LTb 46.705 +686 2855 M 46.706 +63 0 V 46.707 +stroke 46.708 +602 2855 M 46.709 +[ [(Helvetica) 140.0 0.0 true true 0 ( 250)] 46.710 +] -46.7 MRshow 46.711 +1.000 UL 46.712 +LTb 46.713 +686 448 M 46.714 +0 63 V 46.715 +stroke 46.716 +686 308 M 46.717 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 46.718 +] -46.7 MCshow 46.719 +1.000 UL 46.720 +LTb 46.721 +1159 448 M 46.722 +0 63 V 46.723 +stroke 46.724 +1159 308 M 46.725 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 46.726 +] -46.7 MCshow 46.727 +1.000 UL 46.728 +LTb 46.729 +1631 448 M 46.730 +0 63 V 46.731 +stroke 46.732 +1631 308 M 46.733 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 46.734 +] -46.7 MCshow 46.735 +1.000 UL 46.736 +LTb 46.737 +2104 448 M 46.738 +0 63 V 46.739 +stroke 46.740 +2104 308 M 46.741 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 46.742 +] -46.7 MCshow 46.743 +1.000 UL 46.744 +LTb 46.745 +2576 448 M 46.746 +0 63 V 46.747 +stroke 46.748 +2576 308 M 46.749 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 46.750 +] -46.7 MCshow 46.751 +1.000 UL 46.752 +LTb 46.753 +1.000 UL 46.754 +LTb 46.755 +686 2855 M 46.756 +686 448 L 46.757 +1890 0 V 46.758 +0 2407 R 46.759 +-1890 0 R 46.760 +stroke 46.761 +LCb setrgbcolor 46.762 +112 1651 M 46.763 +currentpoint gsave translate -270 rotate 0 0 moveto 46.764 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 46.765 +] -46.7 MCshow 46.766 +grestore 46.767 +LTb 46.768 +LCb setrgbcolor 46.769 +1631 98 M 46.770 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 46.771 +] -46.7 MCshow 46.772 +LTb 46.773 +1.000 UP 46.774 +1.000 UL 46.775 +LTb 46.776 +LCb setrgbcolor 46.777 +3489 1931 M 46.778 +[ [(Helvetica) 140.0 0.0 true true 0 (Vthread)] 46.779 +] -46.7 MCshow 46.780 +LTb 46.781 +1.000 UL 46.782 +LTb 46.783 +2744 1301 N 46.784 +0 700 V 46.785 +1491 0 V 46.786 +0 -700 V 46.787 +-1491 0 V 46.788 +Z stroke 46.789 +2744 1861 M 46.790 +1491 0 V 46.791 +% Begin plot #1 46.792 +stroke 46.793 +4.000 UL 46.794 +LT0 46.795 +LCb setrgbcolor 46.796 +3668 1791 M 46.797 +[ [(Helvetica) 140.0 0.0 true true 0 (80 Threads)] 46.798 +] -46.7 MRshow 46.799 +LT0 46.800 +3752 1791 M 46.801 +399 0 V 46.802 +718 626 M 46.803 +12 -61 V 46.804 +22 -36 V 46.805 +42 -37 V 46.806 +86 -17 V 46.807 +169 -13 V 46.808 +341 -7 V 46.809 +681 -2 V 46.810 +505 -1 V 46.811 +% End plot #1 46.812 +% Begin plot #2 46.813 +stroke 46.814 +LT2 46.815 +LCb setrgbcolor 46.816 +3668 1651 M 46.817 +[ [(Helvetica) 140.0 0.0 true true 0 (160 Threads)] 46.818 +] -46.7 MRshow 46.819 +LT2 46.820 +3752 1651 M 46.821 +399 0 V 46.822 +718 575 M 46.823 +13 4 V 46.824 +20 -82 V 46.825 +43 -20 V 46.826 +85 -6 V 46.827 +170 -12 V 46.828 +340 -4 V 46.829 +681 -4 V 46.830 +506 -1 V 46.831 +% End plot #2 46.832 +% Begin plot #3 46.833 +stroke 46.834 +LT3 46.835 +LCb setrgbcolor 46.836 +3668 1511 M 46.837 +[ [(Helvetica) 140.0 0.0 true true 0 (320 Threads)] 46.838 +] -46.7 MRshow 46.839 +LT3 46.840 +3752 1511 M 46.841 +399 0 V 46.842 +717 581 M 46.843 +13 -38 V 46.844 +23 -9 V 46.845 +42 -41 V 46.846 +85 -19 V 46.847 +169 -11 V 46.848 +341 -7 V 46.849 +680 -5 V 46.850 +506 -1 V 46.851 +% End plot #3 46.852 +% Begin plot #4 46.853 +stroke 46.854 +LT4 46.855 +LCb setrgbcolor 46.856 +3668 1371 M 46.857 +[ [(Helvetica) 140.0 0.0 true true 0 (640 Threads)] 46.858 +] -46.7 MRshow 46.859 +LT4 46.860 +3752 1371 M 46.861 +399 0 V 46.862 +718 589 M 46.863 +13 -41 V 46.864 +21 -29 V 46.865 +43 -20 V 46.866 +85 -28 V 46.867 +169 -12 V 46.868 +341 -4 V 46.869 +680 -4 V 46.870 +506 0 V 46.871 +% End plot #4 46.872 +stroke 46.873 +1.000 UL 46.874 +LTb 46.875 +686 2855 M 46.876 +686 448 L 46.877 +1890 0 V 46.878 +0 2407 R 46.879 +-1890 0 R 46.880 +1.000 UP 46.881 +stroke 46.882 +grestore 46.883 +end 46.884 +showpage 46.885 +%%Trailer 46.886 +%%DocumentFonts: Helvetica 46.887 +%%Pages: 1
47.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 47.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/plots_exec_vs_task_size/not_used/xoanon_pthreads_vthread_40core_80_160_320_640thds__o30000__perfCtrs.meas.key-right.eps Fri Sep 13 11:02:18 2013 -0700 47.3 @@ -0,0 +1,948 @@ 47.4 +%!PS-Adobe-2.0 47.5 +%%Title: xoanon_pthreads_vthread_40core_80_160_320_640thds__o30000__perfCtrs.meas.key-right.eps 47.6 +%%Creator: gnuplot 4.4 patchlevel 2 47.7 +%%CreationDate: Thu Jan 26 18:32:06 2012 47.8 +%%DocumentFonts: (atend) 47.9 +%%BoundingBox: 251 50 554 482 47.10 +%%Orientation: Landscape 47.11 +%%Pages: (atend) 47.12 +%%EndComments 47.13 +%%BeginProlog 47.14 +/gnudict 256 dict def 47.15 +gnudict begin 47.16 +% 47.17 +% The following true/false flags may be edited by hand if desired. 47.18 +% The unit line width and grayscale image gamma correction may also be changed. 47.19 +% 47.20 +/Color true def 47.21 +/Blacktext false def 47.22 +/Solid false def 47.23 +/Dashlength 1 def 47.24 +/Landscape true def 47.25 +/Level1 false def 47.26 +/Rounded false def 47.27 +/ClipToBoundingBox false def 47.28 +/TransparentPatterns false def 47.29 +/gnulinewidth 5.000 def 47.30 +/userlinewidth gnulinewidth def 47.31 +/Gamma 1.0 def 47.32 +% 47.33 +/vshift -46 def 47.34 +/dl1 { 47.35 + 10.0 Dashlength mul mul 47.36 + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 47.37 +} def 47.38 +/dl2 { 47.39 + 10.0 Dashlength mul mul 47.40 + Rounded { currentlinewidth 0.75 mul add } if 47.41 +} def 47.42 +/hpt_ 31.5 def 47.43 +/vpt_ 31.5 def 47.44 +/hpt hpt_ def 47.45 +/vpt vpt_ def 47.46 +Level1 {} { 47.47 +/SDict 10 dict def 47.48 +systemdict /pdfmark known not { 47.49 + userdict /pdfmark systemdict /cleartomark get put 47.50 +} if 47.51 +SDict begin [ 47.52 + /Title (xoanon_pthreads_vthread_40core_80_160_320_640thds__o30000__perfCtrs.meas.key-right.eps) 47.53 + /Subject (gnuplot plot) 47.54 + /Creator (gnuplot 4.4 patchlevel 2) 47.55 + /Author (msach) 47.56 +% /Producer (gnuplot) 47.57 +% /Keywords () 47.58 + /CreationDate (Thu Jan 26 18:32:06 2012) 47.59 + /DOCINFO pdfmark 47.60 +end 47.61 +} ifelse 47.62 +/doclip { 47.63 + ClipToBoundingBox { 47.64 + newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 47.65 + clip 47.66 + } if 47.67 +} def 47.68 +% 47.69 +% Gnuplot Prolog Version 4.4 (August 2010) 47.70 +% 47.71 +%/SuppressPDFMark true def 47.72 +% 47.73 +/M {moveto} bind def 47.74 +/L {lineto} bind def 47.75 +/R {rmoveto} bind def 47.76 +/V {rlineto} bind def 47.77 +/N {newpath moveto} bind def 47.78 +/Z {closepath} bind def 47.79 +/C {setrgbcolor} bind def 47.80 +/f {rlineto fill} bind def 47.81 +/g {setgray} bind def 47.82 +/Gshow {show} def % May be redefined later in the file to support UTF-8 47.83 +/vpt2 vpt 2 mul def 47.84 +/hpt2 hpt 2 mul def 47.85 +/Lshow {currentpoint stroke M 0 vshift R 47.86 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 47.87 +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 47.88 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 47.89 +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 47.90 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 47.91 +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 47.92 + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 47.93 +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 47.94 + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 47.95 +/BL {stroke userlinewidth 2 mul setlinewidth 47.96 + Rounded {1 setlinejoin 1 setlinecap} if} def 47.97 +/AL {stroke userlinewidth 2 div setlinewidth 47.98 + Rounded {1 setlinejoin 1 setlinecap} if} def 47.99 +/UL {dup gnulinewidth mul /userlinewidth exch def 47.100 + dup 1 lt {pop 1} if 10 mul /udl exch def} def 47.101 +/PL {stroke userlinewidth setlinewidth 47.102 + Rounded {1 setlinejoin 1 setlinecap} if} def 47.103 +3.8 setmiterlimit 47.104 +% Default Line colors 47.105 +/LCw {1 1 1} def 47.106 +/LCb {0 0 0} def 47.107 +/LCa {0 0 0} def 47.108 +/LC0 {1 0 0} def 47.109 +/LC1 {0 1 0} def 47.110 +/LC2 {0 0 1} def 47.111 +/LC3 {1 0 1} def 47.112 +/LC4 {0 1 1} def 47.113 +/LC5 {1 1 0} def 47.114 +/LC6 {0 0 0} def 47.115 +/LC7 {1 0.3 0} def 47.116 +/LC8 {0.5 0.5 0.5} def 47.117 +% Default Line Types 47.118 +/LTw {PL [] 1 setgray} def 47.119 +/LTb {BL [] LCb DL} def 47.120 +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 47.121 +/LT0 {PL [] LC0 DL} def 47.122 +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 47.123 +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 47.124 +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 47.125 +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 47.126 +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 47.127 +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 47.128 +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 47.129 +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 47.130 +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 47.131 +/Dia {stroke [] 0 setdash 2 copy vpt add M 47.132 + hpt neg vpt neg V hpt vpt neg V 47.133 + hpt vpt V hpt neg vpt V closepath stroke 47.134 + Pnt} def 47.135 +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 47.136 + currentpoint stroke M 47.137 + hpt neg vpt neg R hpt2 0 V stroke 47.138 + } def 47.139 +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 47.140 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 47.141 + hpt2 neg 0 V closepath stroke 47.142 + Pnt} def 47.143 +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 47.144 + hpt2 vpt2 neg V currentpoint stroke M 47.145 + hpt2 neg 0 R hpt2 vpt2 V stroke} def 47.146 +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 47.147 + hpt neg vpt -1.62 mul V 47.148 + hpt 2 mul 0 V 47.149 + hpt neg vpt 1.62 mul V closepath stroke 47.150 + Pnt} def 47.151 +/Star {2 copy Pls Crs} def 47.152 +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 47.153 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 47.154 + hpt2 neg 0 V closepath fill} def 47.155 +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 47.156 + hpt neg vpt -1.62 mul V 47.157 + hpt 2 mul 0 V 47.158 + hpt neg vpt 1.62 mul V closepath fill} def 47.159 +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 47.160 + hpt neg vpt 1.62 mul V 47.161 + hpt 2 mul 0 V 47.162 + hpt neg vpt -1.62 mul V closepath stroke 47.163 + Pnt} def 47.164 +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 47.165 + hpt neg vpt 1.62 mul V 47.166 + hpt 2 mul 0 V 47.167 + hpt neg vpt -1.62 mul V closepath fill} def 47.168 +/DiaF {stroke [] 0 setdash vpt add M 47.169 + hpt neg vpt neg V hpt vpt neg V 47.170 + hpt vpt V hpt neg vpt V closepath fill} def 47.171 +/Pent {stroke [] 0 setdash 2 copy gsave 47.172 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 47.173 + closepath stroke grestore Pnt} def 47.174 +/PentF {stroke [] 0 setdash gsave 47.175 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 47.176 + closepath fill grestore} def 47.177 +/Circle {stroke [] 0 setdash 2 copy 47.178 + hpt 0 360 arc stroke Pnt} def 47.179 +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 47.180 +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 47.181 +/C1 {BL [] 0 setdash 2 copy moveto 47.182 + 2 copy vpt 0 90 arc closepath fill 47.183 + vpt 0 360 arc closepath} bind def 47.184 +/C2 {BL [] 0 setdash 2 copy moveto 47.185 + 2 copy vpt 90 180 arc closepath fill 47.186 + vpt 0 360 arc closepath} bind def 47.187 +/C3 {BL [] 0 setdash 2 copy moveto 47.188 + 2 copy vpt 0 180 arc closepath fill 47.189 + vpt 0 360 arc closepath} bind def 47.190 +/C4 {BL [] 0 setdash 2 copy moveto 47.191 + 2 copy vpt 180 270 arc closepath fill 47.192 + vpt 0 360 arc closepath} bind def 47.193 +/C5 {BL [] 0 setdash 2 copy moveto 47.194 + 2 copy vpt 0 90 arc 47.195 + 2 copy moveto 47.196 + 2 copy vpt 180 270 arc closepath fill 47.197 + vpt 0 360 arc} bind def 47.198 +/C6 {BL [] 0 setdash 2 copy moveto 47.199 + 2 copy vpt 90 270 arc closepath fill 47.200 + vpt 0 360 arc closepath} bind def 47.201 +/C7 {BL [] 0 setdash 2 copy moveto 47.202 + 2 copy vpt 0 270 arc closepath fill 47.203 + vpt 0 360 arc closepath} bind def 47.204 +/C8 {BL [] 0 setdash 2 copy moveto 47.205 + 2 copy vpt 270 360 arc closepath fill 47.206 + vpt 0 360 arc closepath} bind def 47.207 +/C9 {BL [] 0 setdash 2 copy moveto 47.208 + 2 copy vpt 270 450 arc closepath fill 47.209 + vpt 0 360 arc closepath} bind def 47.210 +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 47.211 + 2 copy moveto 47.212 + 2 copy vpt 90 180 arc closepath fill 47.213 + vpt 0 360 arc closepath} bind def 47.214 +/C11 {BL [] 0 setdash 2 copy moveto 47.215 + 2 copy vpt 0 180 arc closepath fill 47.216 + 2 copy moveto 47.217 + 2 copy vpt 270 360 arc closepath fill 47.218 + vpt 0 360 arc closepath} bind def 47.219 +/C12 {BL [] 0 setdash 2 copy moveto 47.220 + 2 copy vpt 180 360 arc closepath fill 47.221 + vpt 0 360 arc closepath} bind def 47.222 +/C13 {BL [] 0 setdash 2 copy moveto 47.223 + 2 copy vpt 0 90 arc closepath fill 47.224 + 2 copy moveto 47.225 + 2 copy vpt 180 360 arc closepath fill 47.226 + vpt 0 360 arc closepath} bind def 47.227 +/C14 {BL [] 0 setdash 2 copy moveto 47.228 + 2 copy vpt 90 360 arc closepath fill 47.229 + vpt 0 360 arc} bind def 47.230 +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 47.231 + vpt 0 360 arc closepath} bind def 47.232 +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 47.233 + neg 0 rlineto closepath} bind def 47.234 +/Square {dup Rec} bind def 47.235 +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 47.236 +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 47.237 +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 47.238 +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 47.239 +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 47.240 +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 47.241 +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 47.242 + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 47.243 +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 47.244 +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 47.245 + 2 copy vpt Square fill Bsquare} bind def 47.246 +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 47.247 +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 47.248 +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 47.249 + Bsquare} bind def 47.250 +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 47.251 + Bsquare} bind def 47.252 +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 47.253 +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 47.254 + 2 copy vpt Square fill Bsquare} bind def 47.255 +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 47.256 + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 47.257 +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 47.258 +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 47.259 +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 47.260 +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 47.261 +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 47.262 +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 47.263 +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 47.264 +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 47.265 +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 47.266 +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 47.267 +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 47.268 +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 47.269 +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 47.270 +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 47.271 +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 47.272 +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 47.273 +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 47.274 +/DiaE {stroke [] 0 setdash vpt add M 47.275 + hpt neg vpt neg V hpt vpt neg V 47.276 + hpt vpt V hpt neg vpt V closepath stroke} def 47.277 +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 47.278 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 47.279 + hpt2 neg 0 V closepath stroke} def 47.280 +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 47.281 + hpt neg vpt -1.62 mul V 47.282 + hpt 2 mul 0 V 47.283 + hpt neg vpt 1.62 mul V closepath stroke} def 47.284 +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 47.285 + hpt neg vpt 1.62 mul V 47.286 + hpt 2 mul 0 V 47.287 + hpt neg vpt -1.62 mul V closepath stroke} def 47.288 +/PentE {stroke [] 0 setdash gsave 47.289 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 47.290 + closepath stroke grestore} def 47.291 +/CircE {stroke [] 0 setdash 47.292 + hpt 0 360 arc stroke} def 47.293 +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 47.294 +/DiaW {stroke [] 0 setdash vpt add M 47.295 + hpt neg vpt neg V hpt vpt neg V 47.296 + hpt vpt V hpt neg vpt V Opaque stroke} def 47.297 +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 47.298 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 47.299 + hpt2 neg 0 V Opaque stroke} def 47.300 +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 47.301 + hpt neg vpt -1.62 mul V 47.302 + hpt 2 mul 0 V 47.303 + hpt neg vpt 1.62 mul V Opaque stroke} def 47.304 +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 47.305 + hpt neg vpt 1.62 mul V 47.306 + hpt 2 mul 0 V 47.307 + hpt neg vpt -1.62 mul V Opaque stroke} def 47.308 +/PentW {stroke [] 0 setdash gsave 47.309 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 47.310 + Opaque stroke grestore} def 47.311 +/CircW {stroke [] 0 setdash 47.312 + hpt 0 360 arc Opaque stroke} def 47.313 +/BoxFill {gsave Rec 1 setgray fill grestore} def 47.314 +/Density { 47.315 + /Fillden exch def 47.316 + currentrgbcolor 47.317 + /ColB exch def /ColG exch def /ColR exch def 47.318 + /ColR ColR Fillden mul Fillden sub 1 add def 47.319 + /ColG ColG Fillden mul Fillden sub 1 add def 47.320 + /ColB ColB Fillden mul Fillden sub 1 add def 47.321 + ColR ColG ColB setrgbcolor} def 47.322 +/BoxColFill {gsave Rec PolyFill} def 47.323 +/PolyFill {gsave Density fill grestore grestore} def 47.324 +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 47.325 +% 47.326 +% PostScript Level 1 Pattern Fill routine for rectangles 47.327 +% Usage: x y w h s a XX PatternFill 47.328 +% x,y = lower left corner of box to be filled 47.329 +% w,h = width and height of box 47.330 +% a = angle in degrees between lines and x-axis 47.331 +% XX = 0/1 for no/yes cross-hatch 47.332 +% 47.333 +/PatternFill {gsave /PFa [ 9 2 roll ] def 47.334 + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 47.335 + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 47.336 + gsave 1 setgray fill grestore clip 47.337 + currentlinewidth 0.5 mul setlinewidth 47.338 + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 47.339 + 0 0 M PFa 5 get rotate PFs -2 div dup translate 47.340 + 0 1 PFs PFa 4 get div 1 add floor cvi 47.341 + {PFa 4 get mul 0 M 0 PFs V} for 47.342 + 0 PFa 6 get ne { 47.343 + 0 1 PFs PFa 4 get div 1 add floor cvi 47.344 + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 47.345 + } if 47.346 + stroke grestore} def 47.347 +% 47.348 +/languagelevel where 47.349 + {pop languagelevel} {1} ifelse 47.350 + 2 lt 47.351 + {/InterpretLevel1 true def} 47.352 + {/InterpretLevel1 Level1 def} 47.353 + ifelse 47.354 +% 47.355 +% PostScript level 2 pattern fill definitions 47.356 +% 47.357 +/Level2PatternFill { 47.358 +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 47.359 + bind def 47.360 +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 47.361 +<< Tile8x8 47.362 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 47.363 +>> matrix makepattern 47.364 +/Pat1 exch def 47.365 +<< Tile8x8 47.366 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 47.367 + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 47.368 +>> matrix makepattern 47.369 +/Pat2 exch def 47.370 +<< Tile8x8 47.371 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 47.372 + 8 8 L 8 0 L 0 0 L fill} 47.373 +>> matrix makepattern 47.374 +/Pat3 exch def 47.375 +<< Tile8x8 47.376 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 47.377 + 0 12 M 12 0 L stroke} 47.378 +>> matrix makepattern 47.379 +/Pat4 exch def 47.380 +<< Tile8x8 47.381 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 47.382 + 0 -4 M 12 8 L stroke} 47.383 +>> matrix makepattern 47.384 +/Pat5 exch def 47.385 +<< Tile8x8 47.386 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 47.387 + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 47.388 +>> matrix makepattern 47.389 +/Pat6 exch def 47.390 +<< Tile8x8 47.391 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 47.392 + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 47.393 +>> matrix makepattern 47.394 +/Pat7 exch def 47.395 +<< Tile8x8 47.396 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 47.397 + 12 0 M -4 8 L 12 4 M 0 10 L stroke} 47.398 +>> matrix makepattern 47.399 +/Pat8 exch def 47.400 +<< Tile8x8 47.401 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 47.402 + -4 0 M 12 8 L -4 4 M 8 10 L stroke} 47.403 +>> matrix makepattern 47.404 +/Pat9 exch def 47.405 +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 47.406 +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 47.407 +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 47.408 +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 47.409 +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 47.410 +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 47.411 +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 47.412 +} def 47.413 +% 47.414 +% 47.415 +%End of PostScript Level 2 code 47.416 +% 47.417 +/PatternBgnd { 47.418 + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 47.419 +} def 47.420 +% 47.421 +% Substitute for Level 2 pattern fill codes with 47.422 +% grayscale if Level 2 support is not selected. 47.423 +% 47.424 +/Level1PatternFill { 47.425 +/Pattern1 {0.250 Density} bind def 47.426 +/Pattern2 {0.500 Density} bind def 47.427 +/Pattern3 {0.750 Density} bind def 47.428 +/Pattern4 {0.125 Density} bind def 47.429 +/Pattern5 {0.375 Density} bind def 47.430 +/Pattern6 {0.625 Density} bind def 47.431 +/Pattern7 {0.875 Density} bind def 47.432 +} def 47.433 +% 47.434 +% Now test for support of Level 2 code 47.435 +% 47.436 +Level1 {Level1PatternFill} {Level2PatternFill} ifelse 47.437 +% 47.438 +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 47.439 +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 47.440 +currentdict end definefont pop 47.441 +/MFshow { 47.442 + { dup 5 get 3 ge 47.443 + { 5 get 3 eq {gsave} {grestore} ifelse } 47.444 + {dup dup 0 get findfont exch 1 get scalefont setfont 47.445 + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 47.446 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 47.447 + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 47.448 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 47.449 + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 47.450 + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 47.451 + pop aload pop M} ifelse }ifelse }ifelse } 47.452 + ifelse } 47.453 + forall} def 47.454 +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 47.455 +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 47.456 + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 47.457 + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 47.458 +/MLshow { currentpoint stroke M 47.459 + 0 exch R 47.460 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 47.461 +/MRshow { currentpoint stroke M 47.462 + exch dup MFwidth neg 3 -1 roll R 47.463 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 47.464 +/MCshow { currentpoint stroke M 47.465 + exch dup MFwidth -2 div 3 -1 roll R 47.466 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 47.467 +/XYsave { [( ) 1 2 true false 3 ()] } bind def 47.468 +/XYrestore { [( ) 1 2 true false 4 ()] } bind def 47.469 +end 47.470 +%%EndProlog 47.471 +%%Page: 1 1 47.472 +gnudict begin 47.473 +gsave 47.474 +doclip 47.475 +50 50 translate 47.476 +0.100 0.100 scale 47.477 +90 rotate 47.478 +0 -5040 translate 47.479 +0 setgray 47.480 +newpath 47.481 +(Helvetica) findfont 140 scalefont setfont 47.482 +1.000 UL 47.483 +LTb 47.484 +686 922 M 47.485 +63 0 V 47.486 +stroke 47.487 +602 922 M 47.488 +[ [(Helvetica) 140.0 0.0 true true 0 ( 50)] 47.489 +] -46.7 MRshow 47.490 +1.000 UL 47.491 +LTb 47.492 +686 1405 M 47.493 +63 0 V 47.494 +stroke 47.495 +602 1405 M 47.496 +[ [(Helvetica) 140.0 0.0 true true 0 ( 100)] 47.497 +] -46.7 MRshow 47.498 +1.000 UL 47.499 +LTb 47.500 +686 1888 M 47.501 +63 0 V 47.502 +stroke 47.503 +602 1888 M 47.504 +[ [(Helvetica) 140.0 0.0 true true 0 ( 150)] 47.505 +] -46.7 MRshow 47.506 +1.000 UL 47.507 +LTb 47.508 +686 2372 M 47.509 +63 0 V 47.510 +stroke 47.511 +602 2372 M 47.512 +[ [(Helvetica) 140.0 0.0 true true 0 ( 200)] 47.513 +] -46.7 MRshow 47.514 +1.000 UL 47.515 +LTb 47.516 +686 2855 M 47.517 +63 0 V 47.518 +stroke 47.519 +602 2855 M 47.520 +[ [(Helvetica) 140.0 0.0 true true 0 ( 250)] 47.521 +] -46.7 MRshow 47.522 +1.000 UL 47.523 +LTb 47.524 +686 448 M 47.525 +0 63 V 47.526 +stroke 47.527 +686 308 M 47.528 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 47.529 +] -46.7 MCshow 47.530 +1.000 UL 47.531 +LTb 47.532 +1109 448 M 47.533 +0 63 V 47.534 +stroke 47.535 +1109 308 M 47.536 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 47.537 +] -46.7 MCshow 47.538 +1.000 UL 47.539 +LTb 47.540 +1531 448 M 47.541 +0 63 V 47.542 +stroke 47.543 +1531 308 M 47.544 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 47.545 +] -46.7 MCshow 47.546 +1.000 UL 47.547 +LTb 47.548 +1954 448 M 47.549 +0 63 V 47.550 +stroke 47.551 +1954 308 M 47.552 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 47.553 +] -46.7 MCshow 47.554 +1.000 UL 47.555 +LTb 47.556 +2377 448 M 47.557 +0 63 V 47.558 +stroke 47.559 +2377 308 M 47.560 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 47.561 +] -46.7 MCshow 47.562 +1.000 UL 47.563 +LTb 47.564 +2799 448 M 47.565 +0 63 V 47.566 +stroke 47.567 +2799 308 M 47.568 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 47.569 +] -46.7 MCshow 47.570 +1.000 UL 47.571 +LTb 47.572 +3222 448 M 47.573 +0 63 V 47.574 +stroke 47.575 +3222 308 M 47.576 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 47.577 +] -46.7 MCshow 47.578 +1.000 UL 47.579 +LTb 47.580 +3644 448 M 47.581 +0 63 V 47.582 +stroke 47.583 +3644 308 M 47.584 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 47.585 +] -46.7 MCshow 47.586 +1.000 UL 47.587 +LTb 47.588 +4067 448 M 47.589 +0 63 V 47.590 +stroke 47.591 +4067 308 M 47.592 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 47.593 +] -46.7 MCshow 47.594 +1.000 UL 47.595 +LTb 47.596 +1.000 UL 47.597 +LTb 47.598 +686 2855 M 47.599 +686 448 L 47.600 +3381 0 V 47.601 +0 2407 R 47.602 +-3381 0 R 47.603 +stroke 47.604 +LCb setrgbcolor 47.605 +112 1651 M 47.606 +currentpoint gsave translate -270 rotate 0 0 moveto 47.607 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 47.608 +] -46.7 MCshow 47.609 +grestore 47.610 +LTb 47.611 +LCb setrgbcolor 47.612 +2376 98 M 47.613 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 47.614 +] -46.7 MCshow 47.615 +LTb 47.616 +1.000 UP 47.617 +1.000 UL 47.618 +LTb 47.619 +LCb setrgbcolor 47.620 +3532 2882 M 47.621 +[ [(Helvetica) 140.0 0.0 true true 0 (pthreads)] 47.622 +] -46.7 MCshow 47.623 +LTb 47.624 +1.000 UL 47.625 +LTb 47.626 +2787 2252 N 47.627 +0 700 V 47.628 +1491 0 V 47.629 +0 -700 V 47.630 +-1491 0 V 47.631 +Z stroke 47.632 +2787 2812 M 47.633 +1491 0 V 47.634 +% Begin plot #1 47.635 +stroke 47.636 +4.000 UL 47.637 +LT5 47.638 +LC7 setrgbcolor 47.639 +LCb setrgbcolor 47.640 +3711 2742 M 47.641 +[ [(Helvetica) 140.0 0.0 true true 0 (80 Threads)] 47.642 +] -46.7 MRshow 47.643 +LT5 47.644 +LC7 setrgbcolor 47.645 +3795 2742 M 47.646 +399 0 V 47.647 +1735 2855 M 47.648 +662 -919 V 47.649 +4067 1238 L 47.650 +% End plot #1 47.651 +% Begin plot #2 47.652 +stroke 47.653 +LT6 47.654 +LCb setrgbcolor 47.655 +3711 2602 M 47.656 +[ [(Helvetica) 140.0 0.0 true true 0 (160 Threads)] 47.657 +] -46.7 MRshow 47.658 +LT6 47.659 +3795 2602 M 47.660 +399 0 V 47.661 +1748 2855 M 47.662 +2555 1723 L 47.663 +4067 1065 L 47.664 +% End plot #2 47.665 +% Begin plot #3 47.666 +stroke 47.667 +LT7 47.668 +LC1 setrgbcolor 47.669 +LCb setrgbcolor 47.670 +3711 2462 M 47.671 +[ [(Helvetica) 140.0 0.0 true true 0 (320 Threads)] 47.672 +] -46.7 MRshow 47.673 +LT7 47.674 +LC1 setrgbcolor 47.675 +3795 2462 M 47.676 +399 0 V 47.677 +1420 2855 M 47.678 +170 -542 V 47.679 +784 -867 V 47.680 +3986 870 L 47.681 +% End plot #3 47.682 +% Begin plot #4 47.683 +stroke 47.684 +LT8 47.685 +LCb setrgbcolor 47.686 +3711 2322 M 47.687 +[ [(Helvetica) 140.0 0.0 true true 0 (640 Threads)] 47.688 +] -46.7 MRshow 47.689 +LT8 47.690 +3795 2322 M 47.691 +399 0 V 47.692 +1802 2855 M 47.693 +572 -574 V 47.694 +4007 1207 L 47.695 +% End plot #4 47.696 +stroke 47.697 +1.000 UL 47.698 +LTb 47.699 +686 2855 M 47.700 +686 448 L 47.701 +3381 0 V 47.702 +0 2407 R 47.703 +-3381 0 R 47.704 +1.000 UP 47.705 +686 922 M 47.706 +63 0 V 47.707 +stroke 47.708 +602 922 M 47.709 +[ [(Helvetica) 140.0 0.0 true true 0 ( 50)] 47.710 +] -46.7 MRshow 47.711 +1.000 UL 47.712 +LTb 47.713 +686 1405 M 47.714 +63 0 V 47.715 +stroke 47.716 +602 1405 M 47.717 +[ [(Helvetica) 140.0 0.0 true true 0 ( 100)] 47.718 +] -46.7 MRshow 47.719 +1.000 UL 47.720 +LTb 47.721 +686 1888 M 47.722 +63 0 V 47.723 +stroke 47.724 +602 1888 M 47.725 +[ [(Helvetica) 140.0 0.0 true true 0 ( 150)] 47.726 +] -46.7 MRshow 47.727 +1.000 UL 47.728 +LTb 47.729 +686 2372 M 47.730 +63 0 V 47.731 +stroke 47.732 +602 2372 M 47.733 +[ [(Helvetica) 140.0 0.0 true true 0 ( 200)] 47.734 +] -46.7 MRshow 47.735 +1.000 UL 47.736 +LTb 47.737 +686 2855 M 47.738 +63 0 V 47.739 +stroke 47.740 +602 2855 M 47.741 +[ [(Helvetica) 140.0 0.0 true true 0 ( 250)] 47.742 +] -46.7 MRshow 47.743 +1.000 UL 47.744 +LTb 47.745 +686 448 M 47.746 +0 63 V 47.747 +stroke 47.748 +686 308 M 47.749 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 47.750 +] -46.7 MCshow 47.751 +1.000 UL 47.752 +LTb 47.753 +1109 448 M 47.754 +0 63 V 47.755 +stroke 47.756 +1109 308 M 47.757 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 47.758 +] -46.7 MCshow 47.759 +1.000 UL 47.760 +LTb 47.761 +1531 448 M 47.762 +0 63 V 47.763 +stroke 47.764 +1531 308 M 47.765 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 47.766 +] -46.7 MCshow 47.767 +1.000 UL 47.768 +LTb 47.769 +1954 448 M 47.770 +0 63 V 47.771 +stroke 47.772 +1954 308 M 47.773 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 47.774 +] -46.7 MCshow 47.775 +1.000 UL 47.776 +LTb 47.777 +2377 448 M 47.778 +0 63 V 47.779 +stroke 47.780 +2377 308 M 47.781 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 47.782 +] -46.7 MCshow 47.783 +1.000 UL 47.784 +LTb 47.785 +2799 448 M 47.786 +0 63 V 47.787 +stroke 47.788 +2799 308 M 47.789 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 47.790 +] -46.7 MCshow 47.791 +1.000 UL 47.792 +LTb 47.793 +3222 448 M 47.794 +0 63 V 47.795 +stroke 47.796 +3222 308 M 47.797 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 47.798 +] -46.7 MCshow 47.799 +1.000 UL 47.800 +LTb 47.801 +3644 448 M 47.802 +0 63 V 47.803 +stroke 47.804 +3644 308 M 47.805 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 47.806 +] -46.7 MCshow 47.807 +1.000 UL 47.808 +LTb 47.809 +4067 448 M 47.810 +0 63 V 47.811 +stroke 47.812 +4067 308 M 47.813 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 47.814 +] -46.7 MCshow 47.815 +1.000 UL 47.816 +LTb 47.817 +1.000 UL 47.818 +LTb 47.819 +686 2855 M 47.820 +686 448 L 47.821 +3381 0 V 47.822 +0 2407 R 47.823 +-3381 0 R 47.824 +stroke 47.825 +LCb setrgbcolor 47.826 +112 1651 M 47.827 +currentpoint gsave translate -270 rotate 0 0 moveto 47.828 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 47.829 +] -46.7 MCshow 47.830 +grestore 47.831 +LTb 47.832 +LCb setrgbcolor 47.833 +2376 98 M 47.834 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 47.835 +] -46.7 MCshow 47.836 +LTb 47.837 +1.000 UP 47.838 +1.000 UL 47.839 +LTb 47.840 +LCb setrgbcolor 47.841 +3532 2108 M 47.842 +[ [(Helvetica) 140.0 0.0 true true 0 (Vthread)] 47.843 +] -46.7 MCshow 47.844 +LTb 47.845 +1.000 UL 47.846 +LTb 47.847 +2787 1478 N 47.848 +0 700 V 47.849 +1491 0 V 47.850 +0 -700 V 47.851 +-1491 0 V 47.852 +Z stroke 47.853 +2787 2038 M 47.854 +1491 0 V 47.855 +% Begin plot #1 47.856 +stroke 47.857 +4.000 UL 47.858 +LT0 47.859 +LCb setrgbcolor 47.860 +3711 1968 M 47.861 +[ [(Helvetica) 140.0 0.0 true true 0 (80 Threads)] 47.862 +] -46.7 MRshow 47.863 +LT0 47.864 +3795 1968 M 47.865 +399 0 V 47.866 +743 626 M 47.867 +22 -61 V 47.868 +39 -36 V 47.869 +75 -37 V 47.870 +154 -17 V 47.871 +303 -13 V 47.872 +609 -7 V 47.873 +1218 -2 V 47.874 +904 -1 V 47.875 +% End plot #1 47.876 +% Begin plot #2 47.877 +stroke 47.878 +LT2 47.879 +LCb setrgbcolor 47.880 +3711 1828 M 47.881 +[ [(Helvetica) 140.0 0.0 true true 0 (160 Threads)] 47.882 +] -46.7 MRshow 47.883 +LT2 47.884 +3795 1828 M 47.885 +399 0 V 47.886 +743 575 M 47.887 +24 4 V 47.888 +36 -82 V 47.889 +76 -20 V 47.890 +153 -6 V 47.891 +303 -12 V 47.892 +609 -4 V 47.893 +1217 -4 V 47.894 +906 -1 V 47.895 +% End plot #2 47.896 +% Begin plot #3 47.897 +stroke 47.898 +LT3 47.899 +LCb setrgbcolor 47.900 +3711 1688 M 47.901 +[ [(Helvetica) 140.0 0.0 true true 0 (320 Threads)] 47.902 +] -46.7 MRshow 47.903 +LT3 47.904 +3795 1688 M 47.905 +399 0 V 47.906 +742 581 M 47.907 +24 -38 V 47.908 +39 -9 V 47.909 +76 -41 V 47.910 +151 -19 V 47.911 +304 -11 V 47.912 +610 -7 V 47.913 +1216 -5 V 47.914 +905 -1 V 47.915 +% End plot #3 47.916 +% Begin plot #4 47.917 +stroke 47.918 +LT4 47.919 +LCb setrgbcolor 47.920 +3711 1548 M 47.921 +[ [(Helvetica) 140.0 0.0 true true 0 (640 Threads)] 47.922 +] -46.7 MRshow 47.923 +LT4 47.924 +3795 1548 M 47.925 +399 0 V 47.926 +743 589 M 47.927 +23 -41 V 47.928 +38 -29 V 47.929 +77 -20 V 47.930 +151 -28 V 47.931 +303 -12 V 47.932 +610 -4 V 47.933 +1217 -4 V 47.934 +905 0 V 47.935 +% End plot #4 47.936 +stroke 47.937 +1.000 UL 47.938 +LTb 47.939 +686 2855 M 47.940 +686 448 L 47.941 +3381 0 V 47.942 +0 2407 R 47.943 +-3381 0 R 47.944 +1.000 UP 47.945 +stroke 47.946 +grestore 47.947 +end 47.948 +showpage 47.949 +%%Trailer 47.950 +%%DocumentFonts: Helvetica 47.951 +%%Pages: 1
48.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 48.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/plots_exec_vs_task_size/not_used/xoanon_vthread_40cores_80_160_320_640thds__o30000__perfCtrs.result.eps Fri Sep 13 11:02:18 2013 -0700 48.3 @@ -0,0 +1,844 @@ 48.4 +%!PS-Adobe-2.0 48.5 +%%Title: xoanon_vthread_40cores_80_160_320_640thds__o30000__perfCtrs.result.eps 48.6 +%%Creator: gnuplot 4.4 patchlevel 2 48.7 +%%CreationDate: Thu Jan 26 18:23:52 2012 48.8 +%%DocumentFonts: (atend) 48.9 +%%BoundingBox: 251 50 554 482 48.10 +%%Orientation: Landscape 48.11 +%%Pages: (atend) 48.12 +%%EndComments 48.13 +%%BeginProlog 48.14 +/gnudict 256 dict def 48.15 +gnudict begin 48.16 +% 48.17 +% The following true/false flags may be edited by hand if desired. 48.18 +% The unit line width and grayscale image gamma correction may also be changed. 48.19 +% 48.20 +/Color true def 48.21 +/Blacktext false def 48.22 +/Solid false def 48.23 +/Dashlength 1 def 48.24 +/Landscape true def 48.25 +/Level1 false def 48.26 +/Rounded false def 48.27 +/ClipToBoundingBox false def 48.28 +/TransparentPatterns false def 48.29 +/gnulinewidth 5.000 def 48.30 +/userlinewidth gnulinewidth def 48.31 +/Gamma 1.0 def 48.32 +% 48.33 +/vshift -46 def 48.34 +/dl1 { 48.35 + 10.0 Dashlength mul mul 48.36 + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 48.37 +} def 48.38 +/dl2 { 48.39 + 10.0 Dashlength mul mul 48.40 + Rounded { currentlinewidth 0.75 mul add } if 48.41 +} def 48.42 +/hpt_ 31.5 def 48.43 +/vpt_ 31.5 def 48.44 +/hpt hpt_ def 48.45 +/vpt vpt_ def 48.46 +Level1 {} { 48.47 +/SDict 10 dict def 48.48 +systemdict /pdfmark known not { 48.49 + userdict /pdfmark systemdict /cleartomark get put 48.50 +} if 48.51 +SDict begin [ 48.52 + /Title (xoanon_vthread_40cores_80_160_320_640thds__o30000__perfCtrs.result.eps) 48.53 + /Subject (gnuplot plot) 48.54 + /Creator (gnuplot 4.4 patchlevel 2) 48.55 + /Author (msach) 48.56 +% /Producer (gnuplot) 48.57 +% /Keywords () 48.58 + /CreationDate (Thu Jan 26 18:23:52 2012) 48.59 + /DOCINFO pdfmark 48.60 +end 48.61 +} ifelse 48.62 +/doclip { 48.63 + ClipToBoundingBox { 48.64 + newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 48.65 + clip 48.66 + } if 48.67 +} def 48.68 +% 48.69 +% Gnuplot Prolog Version 4.4 (August 2010) 48.70 +% 48.71 +%/SuppressPDFMark true def 48.72 +% 48.73 +/M {moveto} bind def 48.74 +/L {lineto} bind def 48.75 +/R {rmoveto} bind def 48.76 +/V {rlineto} bind def 48.77 +/N {newpath moveto} bind def 48.78 +/Z {closepath} bind def 48.79 +/C {setrgbcolor} bind def 48.80 +/f {rlineto fill} bind def 48.81 +/g {setgray} bind def 48.82 +/Gshow {show} def % May be redefined later in the file to support UTF-8 48.83 +/vpt2 vpt 2 mul def 48.84 +/hpt2 hpt 2 mul def 48.85 +/Lshow {currentpoint stroke M 0 vshift R 48.86 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 48.87 +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 48.88 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 48.89 +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 48.90 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 48.91 +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 48.92 + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 48.93 +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 48.94 + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 48.95 +/BL {stroke userlinewidth 2 mul setlinewidth 48.96 + Rounded {1 setlinejoin 1 setlinecap} if} def 48.97 +/AL {stroke userlinewidth 2 div setlinewidth 48.98 + Rounded {1 setlinejoin 1 setlinecap} if} def 48.99 +/UL {dup gnulinewidth mul /userlinewidth exch def 48.100 + dup 1 lt {pop 1} if 10 mul /udl exch def} def 48.101 +/PL {stroke userlinewidth setlinewidth 48.102 + Rounded {1 setlinejoin 1 setlinecap} if} def 48.103 +3.8 setmiterlimit 48.104 +% Default Line colors 48.105 +/LCw {1 1 1} def 48.106 +/LCb {0 0 0} def 48.107 +/LCa {0 0 0} def 48.108 +/LC0 {1 0 0} def 48.109 +/LC1 {0 1 0} def 48.110 +/LC2 {0 0 1} def 48.111 +/LC3 {1 0 1} def 48.112 +/LC4 {0 1 1} def 48.113 +/LC5 {1 1 0} def 48.114 +/LC6 {0 0 0} def 48.115 +/LC7 {1 0.3 0} def 48.116 +/LC8 {0.5 0.5 0.5} def 48.117 +% Default Line Types 48.118 +/LTw {PL [] 1 setgray} def 48.119 +/LTb {BL [] LCb DL} def 48.120 +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 48.121 +/LT0 {PL [] LC0 DL} def 48.122 +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 48.123 +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 48.124 +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 48.125 +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 48.126 +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 48.127 +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 48.128 +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 48.129 +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 48.130 +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 48.131 +/Dia {stroke [] 0 setdash 2 copy vpt add M 48.132 + hpt neg vpt neg V hpt vpt neg V 48.133 + hpt vpt V hpt neg vpt V closepath stroke 48.134 + Pnt} def 48.135 +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 48.136 + currentpoint stroke M 48.137 + hpt neg vpt neg R hpt2 0 V stroke 48.138 + } def 48.139 +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 48.140 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 48.141 + hpt2 neg 0 V closepath stroke 48.142 + Pnt} def 48.143 +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 48.144 + hpt2 vpt2 neg V currentpoint stroke M 48.145 + hpt2 neg 0 R hpt2 vpt2 V stroke} def 48.146 +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 48.147 + hpt neg vpt -1.62 mul V 48.148 + hpt 2 mul 0 V 48.149 + hpt neg vpt 1.62 mul V closepath stroke 48.150 + Pnt} def 48.151 +/Star {2 copy Pls Crs} def 48.152 +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 48.153 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 48.154 + hpt2 neg 0 V closepath fill} def 48.155 +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 48.156 + hpt neg vpt -1.62 mul V 48.157 + hpt 2 mul 0 V 48.158 + hpt neg vpt 1.62 mul V closepath fill} def 48.159 +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 48.160 + hpt neg vpt 1.62 mul V 48.161 + hpt 2 mul 0 V 48.162 + hpt neg vpt -1.62 mul V closepath stroke 48.163 + Pnt} def 48.164 +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 48.165 + hpt neg vpt 1.62 mul V 48.166 + hpt 2 mul 0 V 48.167 + hpt neg vpt -1.62 mul V closepath fill} def 48.168 +/DiaF {stroke [] 0 setdash vpt add M 48.169 + hpt neg vpt neg V hpt vpt neg V 48.170 + hpt vpt V hpt neg vpt V closepath fill} def 48.171 +/Pent {stroke [] 0 setdash 2 copy gsave 48.172 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 48.173 + closepath stroke grestore Pnt} def 48.174 +/PentF {stroke [] 0 setdash gsave 48.175 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 48.176 + closepath fill grestore} def 48.177 +/Circle {stroke [] 0 setdash 2 copy 48.178 + hpt 0 360 arc stroke Pnt} def 48.179 +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 48.180 +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 48.181 +/C1 {BL [] 0 setdash 2 copy moveto 48.182 + 2 copy vpt 0 90 arc closepath fill 48.183 + vpt 0 360 arc closepath} bind def 48.184 +/C2 {BL [] 0 setdash 2 copy moveto 48.185 + 2 copy vpt 90 180 arc closepath fill 48.186 + vpt 0 360 arc closepath} bind def 48.187 +/C3 {BL [] 0 setdash 2 copy moveto 48.188 + 2 copy vpt 0 180 arc closepath fill 48.189 + vpt 0 360 arc closepath} bind def 48.190 +/C4 {BL [] 0 setdash 2 copy moveto 48.191 + 2 copy vpt 180 270 arc closepath fill 48.192 + vpt 0 360 arc closepath} bind def 48.193 +/C5 {BL [] 0 setdash 2 copy moveto 48.194 + 2 copy vpt 0 90 arc 48.195 + 2 copy moveto 48.196 + 2 copy vpt 180 270 arc closepath fill 48.197 + vpt 0 360 arc} bind def 48.198 +/C6 {BL [] 0 setdash 2 copy moveto 48.199 + 2 copy vpt 90 270 arc closepath fill 48.200 + vpt 0 360 arc closepath} bind def 48.201 +/C7 {BL [] 0 setdash 2 copy moveto 48.202 + 2 copy vpt 0 270 arc closepath fill 48.203 + vpt 0 360 arc closepath} bind def 48.204 +/C8 {BL [] 0 setdash 2 copy moveto 48.205 + 2 copy vpt 270 360 arc closepath fill 48.206 + vpt 0 360 arc closepath} bind def 48.207 +/C9 {BL [] 0 setdash 2 copy moveto 48.208 + 2 copy vpt 270 450 arc closepath fill 48.209 + vpt 0 360 arc closepath} bind def 48.210 +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 48.211 + 2 copy moveto 48.212 + 2 copy vpt 90 180 arc closepath fill 48.213 + vpt 0 360 arc closepath} bind def 48.214 +/C11 {BL [] 0 setdash 2 copy moveto 48.215 + 2 copy vpt 0 180 arc closepath fill 48.216 + 2 copy moveto 48.217 + 2 copy vpt 270 360 arc closepath fill 48.218 + vpt 0 360 arc closepath} bind def 48.219 +/C12 {BL [] 0 setdash 2 copy moveto 48.220 + 2 copy vpt 180 360 arc closepath fill 48.221 + vpt 0 360 arc closepath} bind def 48.222 +/C13 {BL [] 0 setdash 2 copy moveto 48.223 + 2 copy vpt 0 90 arc closepath fill 48.224 + 2 copy moveto 48.225 + 2 copy vpt 180 360 arc closepath fill 48.226 + vpt 0 360 arc closepath} bind def 48.227 +/C14 {BL [] 0 setdash 2 copy moveto 48.228 + 2 copy vpt 90 360 arc closepath fill 48.229 + vpt 0 360 arc} bind def 48.230 +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 48.231 + vpt 0 360 arc closepath} bind def 48.232 +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 48.233 + neg 0 rlineto closepath} bind def 48.234 +/Square {dup Rec} bind def 48.235 +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 48.236 +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 48.237 +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 48.238 +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 48.239 +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 48.240 +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 48.241 +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 48.242 + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 48.243 +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 48.244 +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 48.245 + 2 copy vpt Square fill Bsquare} bind def 48.246 +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 48.247 +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 48.248 +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 48.249 + Bsquare} bind def 48.250 +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 48.251 + Bsquare} bind def 48.252 +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 48.253 +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 48.254 + 2 copy vpt Square fill Bsquare} bind def 48.255 +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 48.256 + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 48.257 +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 48.258 +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 48.259 +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 48.260 +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 48.261 +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 48.262 +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 48.263 +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 48.264 +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 48.265 +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 48.266 +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 48.267 +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 48.268 +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 48.269 +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 48.270 +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 48.271 +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 48.272 +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 48.273 +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 48.274 +/DiaE {stroke [] 0 setdash vpt add M 48.275 + hpt neg vpt neg V hpt vpt neg V 48.276 + hpt vpt V hpt neg vpt V closepath stroke} def 48.277 +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 48.278 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 48.279 + hpt2 neg 0 V closepath stroke} def 48.280 +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 48.281 + hpt neg vpt -1.62 mul V 48.282 + hpt 2 mul 0 V 48.283 + hpt neg vpt 1.62 mul V closepath stroke} def 48.284 +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 48.285 + hpt neg vpt 1.62 mul V 48.286 + hpt 2 mul 0 V 48.287 + hpt neg vpt -1.62 mul V closepath stroke} def 48.288 +/PentE {stroke [] 0 setdash gsave 48.289 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 48.290 + closepath stroke grestore} def 48.291 +/CircE {stroke [] 0 setdash 48.292 + hpt 0 360 arc stroke} def 48.293 +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 48.294 +/DiaW {stroke [] 0 setdash vpt add M 48.295 + hpt neg vpt neg V hpt vpt neg V 48.296 + hpt vpt V hpt neg vpt V Opaque stroke} def 48.297 +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 48.298 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 48.299 + hpt2 neg 0 V Opaque stroke} def 48.300 +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 48.301 + hpt neg vpt -1.62 mul V 48.302 + hpt 2 mul 0 V 48.303 + hpt neg vpt 1.62 mul V Opaque stroke} def 48.304 +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 48.305 + hpt neg vpt 1.62 mul V 48.306 + hpt 2 mul 0 V 48.307 + hpt neg vpt -1.62 mul V Opaque stroke} def 48.308 +/PentW {stroke [] 0 setdash gsave 48.309 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 48.310 + Opaque stroke grestore} def 48.311 +/CircW {stroke [] 0 setdash 48.312 + hpt 0 360 arc Opaque stroke} def 48.313 +/BoxFill {gsave Rec 1 setgray fill grestore} def 48.314 +/Density { 48.315 + /Fillden exch def 48.316 + currentrgbcolor 48.317 + /ColB exch def /ColG exch def /ColR exch def 48.318 + /ColR ColR Fillden mul Fillden sub 1 add def 48.319 + /ColG ColG Fillden mul Fillden sub 1 add def 48.320 + /ColB ColB Fillden mul Fillden sub 1 add def 48.321 + ColR ColG ColB setrgbcolor} def 48.322 +/BoxColFill {gsave Rec PolyFill} def 48.323 +/PolyFill {gsave Density fill grestore grestore} def 48.324 +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 48.325 +% 48.326 +% PostScript Level 1 Pattern Fill routine for rectangles 48.327 +% Usage: x y w h s a XX PatternFill 48.328 +% x,y = lower left corner of box to be filled 48.329 +% w,h = width and height of box 48.330 +% a = angle in degrees between lines and x-axis 48.331 +% XX = 0/1 for no/yes cross-hatch 48.332 +% 48.333 +/PatternFill {gsave /PFa [ 9 2 roll ] def 48.334 + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 48.335 + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 48.336 + gsave 1 setgray fill grestore clip 48.337 + currentlinewidth 0.5 mul setlinewidth 48.338 + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 48.339 + 0 0 M PFa 5 get rotate PFs -2 div dup translate 48.340 + 0 1 PFs PFa 4 get div 1 add floor cvi 48.341 + {PFa 4 get mul 0 M 0 PFs V} for 48.342 + 0 PFa 6 get ne { 48.343 + 0 1 PFs PFa 4 get div 1 add floor cvi 48.344 + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 48.345 + } if 48.346 + stroke grestore} def 48.347 +% 48.348 +/languagelevel where 48.349 + {pop languagelevel} {1} ifelse 48.350 + 2 lt 48.351 + {/InterpretLevel1 true def} 48.352 + {/InterpretLevel1 Level1 def} 48.353 + ifelse 48.354 +% 48.355 +% PostScript level 2 pattern fill definitions 48.356 +% 48.357 +/Level2PatternFill { 48.358 +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 48.359 + bind def 48.360 +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 48.361 +<< Tile8x8 48.362 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 48.363 +>> matrix makepattern 48.364 +/Pat1 exch def 48.365 +<< Tile8x8 48.366 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 48.367 + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 48.368 +>> matrix makepattern 48.369 +/Pat2 exch def 48.370 +<< Tile8x8 48.371 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 48.372 + 8 8 L 8 0 L 0 0 L fill} 48.373 +>> matrix makepattern 48.374 +/Pat3 exch def 48.375 +<< Tile8x8 48.376 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 48.377 + 0 12 M 12 0 L stroke} 48.378 +>> matrix makepattern 48.379 +/Pat4 exch def 48.380 +<< Tile8x8 48.381 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 48.382 + 0 -4 M 12 8 L stroke} 48.383 +>> matrix makepattern 48.384 +/Pat5 exch def 48.385 +<< Tile8x8 48.386 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 48.387 + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 48.388 +>> matrix makepattern 48.389 +/Pat6 exch def 48.390 +<< Tile8x8 48.391 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 48.392 + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 48.393 +>> matrix makepattern 48.394 +/Pat7 exch def 48.395 +<< Tile8x8 48.396 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 48.397 + 12 0 M -4 8 L 12 4 M 0 10 L stroke} 48.398 +>> matrix makepattern 48.399 +/Pat8 exch def 48.400 +<< Tile8x8 48.401 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 48.402 + -4 0 M 12 8 L -4 4 M 8 10 L stroke} 48.403 +>> matrix makepattern 48.404 +/Pat9 exch def 48.405 +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 48.406 +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 48.407 +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 48.408 +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 48.409 +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 48.410 +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 48.411 +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 48.412 +} def 48.413 +% 48.414 +% 48.415 +%End of PostScript Level 2 code 48.416 +% 48.417 +/PatternBgnd { 48.418 + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 48.419 +} def 48.420 +% 48.421 +% Substitute for Level 2 pattern fill codes with 48.422 +% grayscale if Level 2 support is not selected. 48.423 +% 48.424 +/Level1PatternFill { 48.425 +/Pattern1 {0.250 Density} bind def 48.426 +/Pattern2 {0.500 Density} bind def 48.427 +/Pattern3 {0.750 Density} bind def 48.428 +/Pattern4 {0.125 Density} bind def 48.429 +/Pattern5 {0.375 Density} bind def 48.430 +/Pattern6 {0.625 Density} bind def 48.431 +/Pattern7 {0.875 Density} bind def 48.432 +} def 48.433 +% 48.434 +% Now test for support of Level 2 code 48.435 +% 48.436 +Level1 {Level1PatternFill} {Level2PatternFill} ifelse 48.437 +% 48.438 +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 48.439 +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 48.440 +currentdict end definefont pop 48.441 +/MFshow { 48.442 + { dup 5 get 3 ge 48.443 + { 5 get 3 eq {gsave} {grestore} ifelse } 48.444 + {dup dup 0 get findfont exch 1 get scalefont setfont 48.445 + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 48.446 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 48.447 + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 48.448 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 48.449 + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 48.450 + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 48.451 + pop aload pop M} ifelse }ifelse }ifelse } 48.452 + ifelse } 48.453 + forall} def 48.454 +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 48.455 +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 48.456 + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 48.457 + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 48.458 +/MLshow { currentpoint stroke M 48.459 + 0 exch R 48.460 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 48.461 +/MRshow { currentpoint stroke M 48.462 + exch dup MFwidth neg 3 -1 roll R 48.463 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 48.464 +/MCshow { currentpoint stroke M 48.465 + exch dup MFwidth -2 div 3 -1 roll R 48.466 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 48.467 +/XYsave { [( ) 1 2 true false 3 ()] } bind def 48.468 +/XYrestore { [( ) 1 2 true false 4 ()] } bind def 48.469 +end 48.470 +%%EndProlog 48.471 +%%Page: 1 1 48.472 +gnudict begin 48.473 +gsave 48.474 +doclip 48.475 +50 50 translate 48.476 +0.100 0.100 scale 48.477 +90 rotate 48.478 +0 -5040 translate 48.479 +0 setgray 48.480 +newpath 48.481 +(Helvetica) findfont 140 scalefont setfont 48.482 +1.000 UL 48.483 +LTb 48.484 +518 448 M 48.485 +63 0 V 48.486 +stroke 48.487 +434 448 M 48.488 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1)] 48.489 +] -46.7 MRshow 48.490 +1.000 UL 48.491 +LTb 48.492 +518 792 M 48.493 +63 0 V 48.494 +stroke 48.495 +434 792 M 48.496 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] 48.497 +] -46.7 MRshow 48.498 +1.000 UL 48.499 +LTb 48.500 +518 1136 M 48.501 +63 0 V 48.502 +stroke 48.503 +434 1136 M 48.504 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] 48.505 +] -46.7 MRshow 48.506 +1.000 UL 48.507 +LTb 48.508 +518 1480 M 48.509 +63 0 V 48.510 +stroke 48.511 +434 1480 M 48.512 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] 48.513 +] -46.7 MRshow 48.514 +1.000 UL 48.515 +LTb 48.516 +518 1823 M 48.517 +63 0 V 48.518 +stroke 48.519 +434 1823 M 48.520 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 48.521 +] -46.7 MRshow 48.522 +1.000 UL 48.523 +LTb 48.524 +518 2167 M 48.525 +63 0 V 48.526 +stroke 48.527 +434 2167 M 48.528 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] 48.529 +] -46.7 MRshow 48.530 +1.000 UL 48.531 +LTb 48.532 +518 2511 M 48.533 +63 0 V 48.534 +stroke 48.535 +434 2511 M 48.536 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7)] 48.537 +] -46.7 MRshow 48.538 +1.000 UL 48.539 +LTb 48.540 +518 2855 M 48.541 +63 0 V 48.542 +stroke 48.543 +434 2855 M 48.544 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] 48.545 +] -46.7 MRshow 48.546 +1.000 UL 48.547 +LTb 48.548 +518 448 M 48.549 +0 63 V 48.550 +stroke 48.551 +518 308 M 48.552 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 48.553 +] -46.7 MCshow 48.554 +1.000 UL 48.555 +LTb 48.556 +962 448 M 48.557 +0 63 V 48.558 +stroke 48.559 +962 308 M 48.560 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 48.561 +] -46.7 MCshow 48.562 +1.000 UL 48.563 +LTb 48.564 +1405 448 M 48.565 +0 63 V 48.566 +stroke 48.567 +1405 308 M 48.568 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 48.569 +] -46.7 MCshow 48.570 +1.000 UL 48.571 +LTb 48.572 +1849 448 M 48.573 +0 63 V 48.574 +stroke 48.575 +1849 308 M 48.576 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 48.577 +] -46.7 MCshow 48.578 +1.000 UL 48.579 +LTb 48.580 +2293 448 M 48.581 +0 63 V 48.582 +stroke 48.583 +2293 308 M 48.584 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 48.585 +] -46.7 MCshow 48.586 +1.000 UL 48.587 +LTb 48.588 +2736 448 M 48.589 +0 63 V 48.590 +stroke 48.591 +2736 308 M 48.592 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 48.593 +] -46.7 MCshow 48.594 +1.000 UL 48.595 +LTb 48.596 +3180 448 M 48.597 +0 63 V 48.598 +stroke 48.599 +3180 308 M 48.600 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 48.601 +] -46.7 MCshow 48.602 +1.000 UL 48.603 +LTb 48.604 +3623 448 M 48.605 +0 63 V 48.606 +stroke 48.607 +3623 308 M 48.608 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 48.609 +] -46.7 MCshow 48.610 +1.000 UL 48.611 +LTb 48.612 +4067 448 M 48.613 +0 63 V 48.614 +stroke 48.615 +4067 308 M 48.616 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 48.617 +] -46.7 MCshow 48.618 +1.000 UL 48.619 +LTb 48.620 +1.000 UL 48.621 +LTb 48.622 +518 2855 M 48.623 +518 448 L 48.624 +3549 0 V 48.625 +0 2407 R 48.626 +-3549 0 R 48.627 +stroke 48.628 +LCb setrgbcolor 48.629 +112 1651 M 48.630 +currentpoint gsave translate -270 rotate 0 0 moveto 48.631 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 48.632 +] -46.7 MCshow 48.633 +grestore 48.634 +LTb 48.635 +LCb setrgbcolor 48.636 +2292 98 M 48.637 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 48.638 +] -46.7 MCshow 48.639 +LTb 48.640 +1.000 UP 48.641 +1.000 UL 48.642 +LTb 48.643 +1.000 UL 48.644 +LTb 48.645 +2492 2232 N 48.646 +0 560 V 48.647 +1491 0 V 48.648 +0 -560 V 48.649 +-1491 0 V 48.650 +Z stroke 48.651 +2492 2792 M 48.652 +1491 0 V 48.653 +% Begin plot #1 48.654 +stroke 48.655 +4.000 UL 48.656 +LT1 48.657 +LCa setrgbcolor 48.658 +518 792 M 48.659 +36 0 V 48.660 +36 0 V 48.661 +36 0 V 48.662 +35 0 V 48.663 +36 0 V 48.664 +36 0 V 48.665 +36 0 V 48.666 +36 0 V 48.667 +36 0 V 48.668 +35 0 V 48.669 +36 0 V 48.670 +36 0 V 48.671 +36 0 V 48.672 +36 0 V 48.673 +36 0 V 48.674 +36 0 V 48.675 +35 0 V 48.676 +36 0 V 48.677 +36 0 V 48.678 +36 0 V 48.679 +36 0 V 48.680 +36 0 V 48.681 +36 0 V 48.682 +35 0 V 48.683 +36 0 V 48.684 +36 0 V 48.685 +36 0 V 48.686 +36 0 V 48.687 +36 0 V 48.688 +35 0 V 48.689 +36 0 V 48.690 +36 0 V 48.691 +36 0 V 48.692 +36 0 V 48.693 +36 0 V 48.694 +36 0 V 48.695 +35 0 V 48.696 +36 0 V 48.697 +36 0 V 48.698 +36 0 V 48.699 +36 0 V 48.700 +36 0 V 48.701 +35 0 V 48.702 +36 0 V 48.703 +36 0 V 48.704 +36 0 V 48.705 +36 0 V 48.706 +36 0 V 48.707 +36 0 V 48.708 +35 0 V 48.709 +36 0 V 48.710 +36 0 V 48.711 +36 0 V 48.712 +36 0 V 48.713 +36 0 V 48.714 +36 0 V 48.715 +35 0 V 48.716 +36 0 V 48.717 +36 0 V 48.718 +36 0 V 48.719 +36 0 V 48.720 +36 0 V 48.721 +35 0 V 48.722 +36 0 V 48.723 +36 0 V 48.724 +36 0 V 48.725 +36 0 V 48.726 +36 0 V 48.727 +36 0 V 48.728 +35 0 V 48.729 +36 0 V 48.730 +36 0 V 48.731 +36 0 V 48.732 +36 0 V 48.733 +36 0 V 48.734 +35 0 V 48.735 +36 0 V 48.736 +36 0 V 48.737 +36 0 V 48.738 +36 0 V 48.739 +36 0 V 48.740 +36 0 V 48.741 +35 0 V 48.742 +36 0 V 48.743 +36 0 V 48.744 +36 0 V 48.745 +36 0 V 48.746 +36 0 V 48.747 +36 0 V 48.748 +35 0 V 48.749 +36 0 V 48.750 +36 0 V 48.751 +36 0 V 48.752 +36 0 V 48.753 +36 0 V 48.754 +35 0 V 48.755 +36 0 V 48.756 +36 0 V 48.757 +36 0 V 48.758 +% End plot #1 48.759 +% Begin plot #2 48.760 +stroke 48.761 +LT1 48.762 +LCb setrgbcolor 48.763 +3416 2722 M 48.764 +[ [(Helvetica) 140.0 0.0 true true 0 (80 Threads)] 48.765 +] -46.7 MRshow 48.766 +LT1 48.767 +3500 2722 M 48.768 +399 0 V 48.769 +670 2855 M 48.770 +51 -852 V 48.771 +882 1405 L 48.772 +1200 930 L 48.773 +1839 705 L 48.774 +3118 625 L 48.775 +949 -39 V 48.776 +% End plot #2 48.777 +% Begin plot #3 48.778 +stroke 48.779 +LT2 48.780 +LCb setrgbcolor 48.781 +3416 2582 M 48.782 +[ [(Helvetica) 140.0 0.0 true true 0 (160 Threads)] 48.783 +] -46.7 MRshow 48.784 +LT2 48.785 +3500 2582 M 48.786 +399 0 V 48.787 +632 2855 M 48.788 +8 -651 V 48.789 +80 -714 V 48.790 +881 1280 L 48.791 +1200 856 L 48.792 +1839 682 L 48.793 +3116 544 L 48.794 +951 -19 V 48.795 +% End plot #3 48.796 +% Begin plot #4 48.797 +stroke 48.798 +LT3 48.799 +LCb setrgbcolor 48.800 +3416 2442 M 48.801 +[ [(Helvetica) 140.0 0.0 true true 0 (320 Threads)] 48.802 +] -46.7 MRshow 48.803 +LT3 48.804 +3500 2442 M 48.805 +399 0 V 48.806 +678 2855 M 48.807 +45 -823 V 48.808 +882 1374 L 48.809 +1200 997 L 48.810 +1840 716 L 48.811 +3117 544 L 48.812 +950 -16 V 48.813 +% End plot #4 48.814 +% Begin plot #5 48.815 +stroke 48.816 +LT4 48.817 +LCb setrgbcolor 48.818 +3416 2302 M 48.819 +[ [(Helvetica) 140.0 0.0 true true 0 (640 Threads)] 48.820 +] -46.7 MRshow 48.821 +LT4 48.822 +3500 2302 M 48.823 +399 0 V 48.824 +656 2855 M 48.825 +67 -607 V 48.826 +881 1260 L 48.827 +1200 822 L 48.828 +1840 687 L 48.829 +3117 564 L 48.830 +950 -21 V 48.831 +% End plot #5 48.832 +stroke 48.833 +1.000 UL 48.834 +LTb 48.835 +518 2855 M 48.836 +518 448 L 48.837 +3549 0 V 48.838 +0 2407 R 48.839 +-3549 0 R 48.840 +1.000 UP 48.841 +stroke 48.842 +grestore 48.843 +end 48.844 +showpage 48.845 +%%Trailer 48.846 +%%DocumentFonts: Helvetica 48.847 +%%Pages: 1
49.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 49.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/plots_exec_vs_task_size/not_used/xoanon_vthread_80cores_80_160_320_640thds__o30000__perfCtrs.result.eps Fri Sep 13 11:02:18 2013 -0700 49.3 @@ -0,0 +1,821 @@ 49.4 +%!PS-Adobe-2.0 49.5 +%%Title: xoanon_vthread_80cores_80_160_320_640thds__o30000__perfCtrs.result.eps 49.6 +%%Creator: gnuplot 4.4 patchlevel 2 49.7 +%%CreationDate: Thu Jan 26 18:25:10 2012 49.8 +%%DocumentFonts: (atend) 49.9 +%%BoundingBox: 251 50 554 482 49.10 +%%Orientation: Landscape 49.11 +%%Pages: (atend) 49.12 +%%EndComments 49.13 +%%BeginProlog 49.14 +/gnudict 256 dict def 49.15 +gnudict begin 49.16 +% 49.17 +% The following true/false flags may be edited by hand if desired. 49.18 +% The unit line width and grayscale image gamma correction may also be changed. 49.19 +% 49.20 +/Color true def 49.21 +/Blacktext false def 49.22 +/Solid false def 49.23 +/Dashlength 1 def 49.24 +/Landscape true def 49.25 +/Level1 false def 49.26 +/Rounded false def 49.27 +/ClipToBoundingBox false def 49.28 +/TransparentPatterns false def 49.29 +/gnulinewidth 5.000 def 49.30 +/userlinewidth gnulinewidth def 49.31 +/Gamma 1.0 def 49.32 +% 49.33 +/vshift -46 def 49.34 +/dl1 { 49.35 + 10.0 Dashlength mul mul 49.36 + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 49.37 +} def 49.38 +/dl2 { 49.39 + 10.0 Dashlength mul mul 49.40 + Rounded { currentlinewidth 0.75 mul add } if 49.41 +} def 49.42 +/hpt_ 31.5 def 49.43 +/vpt_ 31.5 def 49.44 +/hpt hpt_ def 49.45 +/vpt vpt_ def 49.46 +Level1 {} { 49.47 +/SDict 10 dict def 49.48 +systemdict /pdfmark known not { 49.49 + userdict /pdfmark systemdict /cleartomark get put 49.50 +} if 49.51 +SDict begin [ 49.52 + /Title (xoanon_vthread_80cores_80_160_320_640thds__o30000__perfCtrs.result.eps) 49.53 + /Subject (gnuplot plot) 49.54 + /Creator (gnuplot 4.4 patchlevel 2) 49.55 + /Author (msach) 49.56 +% /Producer (gnuplot) 49.57 +% /Keywords () 49.58 + /CreationDate (Thu Jan 26 18:25:10 2012) 49.59 + /DOCINFO pdfmark 49.60 +end 49.61 +} ifelse 49.62 +/doclip { 49.63 + ClipToBoundingBox { 49.64 + newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 49.65 + clip 49.66 + } if 49.67 +} def 49.68 +% 49.69 +% Gnuplot Prolog Version 4.4 (August 2010) 49.70 +% 49.71 +%/SuppressPDFMark true def 49.72 +% 49.73 +/M {moveto} bind def 49.74 +/L {lineto} bind def 49.75 +/R {rmoveto} bind def 49.76 +/V {rlineto} bind def 49.77 +/N {newpath moveto} bind def 49.78 +/Z {closepath} bind def 49.79 +/C {setrgbcolor} bind def 49.80 +/f {rlineto fill} bind def 49.81 +/g {setgray} bind def 49.82 +/Gshow {show} def % May be redefined later in the file to support UTF-8 49.83 +/vpt2 vpt 2 mul def 49.84 +/hpt2 hpt 2 mul def 49.85 +/Lshow {currentpoint stroke M 0 vshift R 49.86 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 49.87 +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 49.88 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 49.89 +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 49.90 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 49.91 +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 49.92 + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 49.93 +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 49.94 + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 49.95 +/BL {stroke userlinewidth 2 mul setlinewidth 49.96 + Rounded {1 setlinejoin 1 setlinecap} if} def 49.97 +/AL {stroke userlinewidth 2 div setlinewidth 49.98 + Rounded {1 setlinejoin 1 setlinecap} if} def 49.99 +/UL {dup gnulinewidth mul /userlinewidth exch def 49.100 + dup 1 lt {pop 1} if 10 mul /udl exch def} def 49.101 +/PL {stroke userlinewidth setlinewidth 49.102 + Rounded {1 setlinejoin 1 setlinecap} if} def 49.103 +3.8 setmiterlimit 49.104 +% Default Line colors 49.105 +/LCw {1 1 1} def 49.106 +/LCb {0 0 0} def 49.107 +/LCa {0 0 0} def 49.108 +/LC0 {1 0 0} def 49.109 +/LC1 {0 1 0} def 49.110 +/LC2 {0 0 1} def 49.111 +/LC3 {1 0 1} def 49.112 +/LC4 {0 1 1} def 49.113 +/LC5 {1 1 0} def 49.114 +/LC6 {0 0 0} def 49.115 +/LC7 {1 0.3 0} def 49.116 +/LC8 {0.5 0.5 0.5} def 49.117 +% Default Line Types 49.118 +/LTw {PL [] 1 setgray} def 49.119 +/LTb {BL [] LCb DL} def 49.120 +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 49.121 +/LT0 {PL [] LC0 DL} def 49.122 +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 49.123 +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 49.124 +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 49.125 +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 49.126 +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 49.127 +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 49.128 +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 49.129 +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 49.130 +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 49.131 +/Dia {stroke [] 0 setdash 2 copy vpt add M 49.132 + hpt neg vpt neg V hpt vpt neg V 49.133 + hpt vpt V hpt neg vpt V closepath stroke 49.134 + Pnt} def 49.135 +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 49.136 + currentpoint stroke M 49.137 + hpt neg vpt neg R hpt2 0 V stroke 49.138 + } def 49.139 +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 49.140 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 49.141 + hpt2 neg 0 V closepath stroke 49.142 + Pnt} def 49.143 +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 49.144 + hpt2 vpt2 neg V currentpoint stroke M 49.145 + hpt2 neg 0 R hpt2 vpt2 V stroke} def 49.146 +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 49.147 + hpt neg vpt -1.62 mul V 49.148 + hpt 2 mul 0 V 49.149 + hpt neg vpt 1.62 mul V closepath stroke 49.150 + Pnt} def 49.151 +/Star {2 copy Pls Crs} def 49.152 +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 49.153 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 49.154 + hpt2 neg 0 V closepath fill} def 49.155 +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 49.156 + hpt neg vpt -1.62 mul V 49.157 + hpt 2 mul 0 V 49.158 + hpt neg vpt 1.62 mul V closepath fill} def 49.159 +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 49.160 + hpt neg vpt 1.62 mul V 49.161 + hpt 2 mul 0 V 49.162 + hpt neg vpt -1.62 mul V closepath stroke 49.163 + Pnt} def 49.164 +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 49.165 + hpt neg vpt 1.62 mul V 49.166 + hpt 2 mul 0 V 49.167 + hpt neg vpt -1.62 mul V closepath fill} def 49.168 +/DiaF {stroke [] 0 setdash vpt add M 49.169 + hpt neg vpt neg V hpt vpt neg V 49.170 + hpt vpt V hpt neg vpt V closepath fill} def 49.171 +/Pent {stroke [] 0 setdash 2 copy gsave 49.172 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 49.173 + closepath stroke grestore Pnt} def 49.174 +/PentF {stroke [] 0 setdash gsave 49.175 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 49.176 + closepath fill grestore} def 49.177 +/Circle {stroke [] 0 setdash 2 copy 49.178 + hpt 0 360 arc stroke Pnt} def 49.179 +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 49.180 +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 49.181 +/C1 {BL [] 0 setdash 2 copy moveto 49.182 + 2 copy vpt 0 90 arc closepath fill 49.183 + vpt 0 360 arc closepath} bind def 49.184 +/C2 {BL [] 0 setdash 2 copy moveto 49.185 + 2 copy vpt 90 180 arc closepath fill 49.186 + vpt 0 360 arc closepath} bind def 49.187 +/C3 {BL [] 0 setdash 2 copy moveto 49.188 + 2 copy vpt 0 180 arc closepath fill 49.189 + vpt 0 360 arc closepath} bind def 49.190 +/C4 {BL [] 0 setdash 2 copy moveto 49.191 + 2 copy vpt 180 270 arc closepath fill 49.192 + vpt 0 360 arc closepath} bind def 49.193 +/C5 {BL [] 0 setdash 2 copy moveto 49.194 + 2 copy vpt 0 90 arc 49.195 + 2 copy moveto 49.196 + 2 copy vpt 180 270 arc closepath fill 49.197 + vpt 0 360 arc} bind def 49.198 +/C6 {BL [] 0 setdash 2 copy moveto 49.199 + 2 copy vpt 90 270 arc closepath fill 49.200 + vpt 0 360 arc closepath} bind def 49.201 +/C7 {BL [] 0 setdash 2 copy moveto 49.202 + 2 copy vpt 0 270 arc closepath fill 49.203 + vpt 0 360 arc closepath} bind def 49.204 +/C8 {BL [] 0 setdash 2 copy moveto 49.205 + 2 copy vpt 270 360 arc closepath fill 49.206 + vpt 0 360 arc closepath} bind def 49.207 +/C9 {BL [] 0 setdash 2 copy moveto 49.208 + 2 copy vpt 270 450 arc closepath fill 49.209 + vpt 0 360 arc closepath} bind def 49.210 +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 49.211 + 2 copy moveto 49.212 + 2 copy vpt 90 180 arc closepath fill 49.213 + vpt 0 360 arc closepath} bind def 49.214 +/C11 {BL [] 0 setdash 2 copy moveto 49.215 + 2 copy vpt 0 180 arc closepath fill 49.216 + 2 copy moveto 49.217 + 2 copy vpt 270 360 arc closepath fill 49.218 + vpt 0 360 arc closepath} bind def 49.219 +/C12 {BL [] 0 setdash 2 copy moveto 49.220 + 2 copy vpt 180 360 arc closepath fill 49.221 + vpt 0 360 arc closepath} bind def 49.222 +/C13 {BL [] 0 setdash 2 copy moveto 49.223 + 2 copy vpt 0 90 arc closepath fill 49.224 + 2 copy moveto 49.225 + 2 copy vpt 180 360 arc closepath fill 49.226 + vpt 0 360 arc closepath} bind def 49.227 +/C14 {BL [] 0 setdash 2 copy moveto 49.228 + 2 copy vpt 90 360 arc closepath fill 49.229 + vpt 0 360 arc} bind def 49.230 +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 49.231 + vpt 0 360 arc closepath} bind def 49.232 +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 49.233 + neg 0 rlineto closepath} bind def 49.234 +/Square {dup Rec} bind def 49.235 +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 49.236 +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 49.237 +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 49.238 +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 49.239 +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 49.240 +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 49.241 +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 49.242 + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 49.243 +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 49.244 +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 49.245 + 2 copy vpt Square fill Bsquare} bind def 49.246 +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 49.247 +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 49.248 +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 49.249 + Bsquare} bind def 49.250 +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 49.251 + Bsquare} bind def 49.252 +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 49.253 +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 49.254 + 2 copy vpt Square fill Bsquare} bind def 49.255 +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 49.256 + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 49.257 +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 49.258 +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 49.259 +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 49.260 +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 49.261 +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 49.262 +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 49.263 +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 49.264 +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 49.265 +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 49.266 +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 49.267 +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 49.268 +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 49.269 +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 49.270 +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 49.271 +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 49.272 +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 49.273 +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 49.274 +/DiaE {stroke [] 0 setdash vpt add M 49.275 + hpt neg vpt neg V hpt vpt neg V 49.276 + hpt vpt V hpt neg vpt V closepath stroke} def 49.277 +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 49.278 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 49.279 + hpt2 neg 0 V closepath stroke} def 49.280 +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 49.281 + hpt neg vpt -1.62 mul V 49.282 + hpt 2 mul 0 V 49.283 + hpt neg vpt 1.62 mul V closepath stroke} def 49.284 +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 49.285 + hpt neg vpt 1.62 mul V 49.286 + hpt 2 mul 0 V 49.287 + hpt neg vpt -1.62 mul V closepath stroke} def 49.288 +/PentE {stroke [] 0 setdash gsave 49.289 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 49.290 + closepath stroke grestore} def 49.291 +/CircE {stroke [] 0 setdash 49.292 + hpt 0 360 arc stroke} def 49.293 +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 49.294 +/DiaW {stroke [] 0 setdash vpt add M 49.295 + hpt neg vpt neg V hpt vpt neg V 49.296 + hpt vpt V hpt neg vpt V Opaque stroke} def 49.297 +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 49.298 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 49.299 + hpt2 neg 0 V Opaque stroke} def 49.300 +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 49.301 + hpt neg vpt -1.62 mul V 49.302 + hpt 2 mul 0 V 49.303 + hpt neg vpt 1.62 mul V Opaque stroke} def 49.304 +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 49.305 + hpt neg vpt 1.62 mul V 49.306 + hpt 2 mul 0 V 49.307 + hpt neg vpt -1.62 mul V Opaque stroke} def 49.308 +/PentW {stroke [] 0 setdash gsave 49.309 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 49.310 + Opaque stroke grestore} def 49.311 +/CircW {stroke [] 0 setdash 49.312 + hpt 0 360 arc Opaque stroke} def 49.313 +/BoxFill {gsave Rec 1 setgray fill grestore} def 49.314 +/Density { 49.315 + /Fillden exch def 49.316 + currentrgbcolor 49.317 + /ColB exch def /ColG exch def /ColR exch def 49.318 + /ColR ColR Fillden mul Fillden sub 1 add def 49.319 + /ColG ColG Fillden mul Fillden sub 1 add def 49.320 + /ColB ColB Fillden mul Fillden sub 1 add def 49.321 + ColR ColG ColB setrgbcolor} def 49.322 +/BoxColFill {gsave Rec PolyFill} def 49.323 +/PolyFill {gsave Density fill grestore grestore} def 49.324 +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 49.325 +% 49.326 +% PostScript Level 1 Pattern Fill routine for rectangles 49.327 +% Usage: x y w h s a XX PatternFill 49.328 +% x,y = lower left corner of box to be filled 49.329 +% w,h = width and height of box 49.330 +% a = angle in degrees between lines and x-axis 49.331 +% XX = 0/1 for no/yes cross-hatch 49.332 +% 49.333 +/PatternFill {gsave /PFa [ 9 2 roll ] def 49.334 + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 49.335 + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 49.336 + gsave 1 setgray fill grestore clip 49.337 + currentlinewidth 0.5 mul setlinewidth 49.338 + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 49.339 + 0 0 M PFa 5 get rotate PFs -2 div dup translate 49.340 + 0 1 PFs PFa 4 get div 1 add floor cvi 49.341 + {PFa 4 get mul 0 M 0 PFs V} for 49.342 + 0 PFa 6 get ne { 49.343 + 0 1 PFs PFa 4 get div 1 add floor cvi 49.344 + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 49.345 + } if 49.346 + stroke grestore} def 49.347 +% 49.348 +/languagelevel where 49.349 + {pop languagelevel} {1} ifelse 49.350 + 2 lt 49.351 + {/InterpretLevel1 true def} 49.352 + {/InterpretLevel1 Level1 def} 49.353 + ifelse 49.354 +% 49.355 +% PostScript level 2 pattern fill definitions 49.356 +% 49.357 +/Level2PatternFill { 49.358 +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 49.359 + bind def 49.360 +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 49.361 +<< Tile8x8 49.362 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 49.363 +>> matrix makepattern 49.364 +/Pat1 exch def 49.365 +<< Tile8x8 49.366 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 49.367 + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 49.368 +>> matrix makepattern 49.369 +/Pat2 exch def 49.370 +<< Tile8x8 49.371 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 49.372 + 8 8 L 8 0 L 0 0 L fill} 49.373 +>> matrix makepattern 49.374 +/Pat3 exch def 49.375 +<< Tile8x8 49.376 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 49.377 + 0 12 M 12 0 L stroke} 49.378 +>> matrix makepattern 49.379 +/Pat4 exch def 49.380 +<< Tile8x8 49.381 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 49.382 + 0 -4 M 12 8 L stroke} 49.383 +>> matrix makepattern 49.384 +/Pat5 exch def 49.385 +<< Tile8x8 49.386 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 49.387 + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 49.388 +>> matrix makepattern 49.389 +/Pat6 exch def 49.390 +<< Tile8x8 49.391 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 49.392 + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 49.393 +>> matrix makepattern 49.394 +/Pat7 exch def 49.395 +<< Tile8x8 49.396 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 49.397 + 12 0 M -4 8 L 12 4 M 0 10 L stroke} 49.398 +>> matrix makepattern 49.399 +/Pat8 exch def 49.400 +<< Tile8x8 49.401 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 49.402 + -4 0 M 12 8 L -4 4 M 8 10 L stroke} 49.403 +>> matrix makepattern 49.404 +/Pat9 exch def 49.405 +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 49.406 +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 49.407 +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 49.408 +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 49.409 +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 49.410 +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 49.411 +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 49.412 +} def 49.413 +% 49.414 +% 49.415 +%End of PostScript Level 2 code 49.416 +% 49.417 +/PatternBgnd { 49.418 + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 49.419 +} def 49.420 +% 49.421 +% Substitute for Level 2 pattern fill codes with 49.422 +% grayscale if Level 2 support is not selected. 49.423 +% 49.424 +/Level1PatternFill { 49.425 +/Pattern1 {0.250 Density} bind def 49.426 +/Pattern2 {0.500 Density} bind def 49.427 +/Pattern3 {0.750 Density} bind def 49.428 +/Pattern4 {0.125 Density} bind def 49.429 +/Pattern5 {0.375 Density} bind def 49.430 +/Pattern6 {0.625 Density} bind def 49.431 +/Pattern7 {0.875 Density} bind def 49.432 +} def 49.433 +% 49.434 +% Now test for support of Level 2 code 49.435 +% 49.436 +Level1 {Level1PatternFill} {Level2PatternFill} ifelse 49.437 +% 49.438 +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 49.439 +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 49.440 +currentdict end definefont pop 49.441 +/MFshow { 49.442 + { dup 5 get 3 ge 49.443 + { 5 get 3 eq {gsave} {grestore} ifelse } 49.444 + {dup dup 0 get findfont exch 1 get scalefont setfont 49.445 + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 49.446 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 49.447 + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 49.448 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 49.449 + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 49.450 + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 49.451 + pop aload pop M} ifelse }ifelse }ifelse } 49.452 + ifelse } 49.453 + forall} def 49.454 +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 49.455 +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 49.456 + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 49.457 + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 49.458 +/MLshow { currentpoint stroke M 49.459 + 0 exch R 49.460 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 49.461 +/MRshow { currentpoint stroke M 49.462 + exch dup MFwidth neg 3 -1 roll R 49.463 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 49.464 +/MCshow { currentpoint stroke M 49.465 + exch dup MFwidth -2 div 3 -1 roll R 49.466 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 49.467 +/XYsave { [( ) 1 2 true false 3 ()] } bind def 49.468 +/XYrestore { [( ) 1 2 true false 4 ()] } bind def 49.469 +end 49.470 +%%EndProlog 49.471 +%%Page: 1 1 49.472 +gnudict begin 49.473 +gsave 49.474 +doclip 49.475 +50 50 translate 49.476 +0.100 0.100 scale 49.477 +90 rotate 49.478 +0 -5040 translate 49.479 +0 setgray 49.480 +newpath 49.481 +(Helvetica) findfont 140 scalefont setfont 49.482 +1.000 UL 49.483 +LTb 49.484 +518 448 M 49.485 +63 0 V 49.486 +stroke 49.487 +434 448 M 49.488 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1)] 49.489 +] -46.7 MRshow 49.490 +1.000 UL 49.491 +LTb 49.492 +518 792 M 49.493 +63 0 V 49.494 +stroke 49.495 +434 792 M 49.496 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] 49.497 +] -46.7 MRshow 49.498 +1.000 UL 49.499 +LTb 49.500 +518 1136 M 49.501 +63 0 V 49.502 +stroke 49.503 +434 1136 M 49.504 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] 49.505 +] -46.7 MRshow 49.506 +1.000 UL 49.507 +LTb 49.508 +518 1480 M 49.509 +63 0 V 49.510 +stroke 49.511 +434 1480 M 49.512 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] 49.513 +] -46.7 MRshow 49.514 +1.000 UL 49.515 +LTb 49.516 +518 1823 M 49.517 +63 0 V 49.518 +stroke 49.519 +434 1823 M 49.520 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 49.521 +] -46.7 MRshow 49.522 +1.000 UL 49.523 +LTb 49.524 +518 2167 M 49.525 +63 0 V 49.526 +stroke 49.527 +434 2167 M 49.528 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] 49.529 +] -46.7 MRshow 49.530 +1.000 UL 49.531 +LTb 49.532 +518 2511 M 49.533 +63 0 V 49.534 +stroke 49.535 +434 2511 M 49.536 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7)] 49.537 +] -46.7 MRshow 49.538 +1.000 UL 49.539 +LTb 49.540 +518 2855 M 49.541 +63 0 V 49.542 +stroke 49.543 +434 2855 M 49.544 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] 49.545 +] -46.7 MRshow 49.546 +1.000 UL 49.547 +LTb 49.548 +518 448 M 49.549 +0 63 V 49.550 +stroke 49.551 +518 308 M 49.552 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 49.553 +] -46.7 MCshow 49.554 +1.000 UL 49.555 +LTb 49.556 +962 448 M 49.557 +0 63 V 49.558 +stroke 49.559 +962 308 M 49.560 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 49.561 +] -46.7 MCshow 49.562 +1.000 UL 49.563 +LTb 49.564 +1405 448 M 49.565 +0 63 V 49.566 +stroke 49.567 +1405 308 M 49.568 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 49.569 +] -46.7 MCshow 49.570 +1.000 UL 49.571 +LTb 49.572 +1849 448 M 49.573 +0 63 V 49.574 +stroke 49.575 +1849 308 M 49.576 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 49.577 +] -46.7 MCshow 49.578 +1.000 UL 49.579 +LTb 49.580 +2293 448 M 49.581 +0 63 V 49.582 +stroke 49.583 +2293 308 M 49.584 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 49.585 +] -46.7 MCshow 49.586 +1.000 UL 49.587 +LTb 49.588 +2736 448 M 49.589 +0 63 V 49.590 +stroke 49.591 +2736 308 M 49.592 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 49.593 +] -46.7 MCshow 49.594 +1.000 UL 49.595 +LTb 49.596 +3180 448 M 49.597 +0 63 V 49.598 +stroke 49.599 +3180 308 M 49.600 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 49.601 +] -46.7 MCshow 49.602 +1.000 UL 49.603 +LTb 49.604 +3623 448 M 49.605 +0 63 V 49.606 +stroke 49.607 +3623 308 M 49.608 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 49.609 +] -46.7 MCshow 49.610 +1.000 UL 49.611 +LTb 49.612 +4067 448 M 49.613 +0 63 V 49.614 +stroke 49.615 +4067 308 M 49.616 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 49.617 +] -46.7 MCshow 49.618 +1.000 UL 49.619 +LTb 49.620 +1.000 UL 49.621 +LTb 49.622 +518 2855 M 49.623 +518 448 L 49.624 +3549 0 V 49.625 +0 2407 R 49.626 +-3549 0 R 49.627 +stroke 49.628 +LCb setrgbcolor 49.629 +112 1651 M 49.630 +currentpoint gsave translate -270 rotate 0 0 moveto 49.631 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 49.632 +] -46.7 MCshow 49.633 +grestore 49.634 +LTb 49.635 +LCb setrgbcolor 49.636 +2292 98 M 49.637 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 49.638 +] -46.7 MCshow 49.639 +LTb 49.640 +1.000 UP 49.641 +1.000 UL 49.642 +LTb 49.643 +1.000 UL 49.644 +LTb 49.645 +2492 2372 N 49.646 +0 420 V 49.647 +1491 0 V 49.648 +0 -420 V 49.649 +-1491 0 V 49.650 +Z stroke 49.651 +2492 2792 M 49.652 +1491 0 V 49.653 +% Begin plot #1 49.654 +stroke 49.655 +4.000 UL 49.656 +LT1 49.657 +LCa setrgbcolor 49.658 +518 792 M 49.659 +36 0 V 49.660 +36 0 V 49.661 +36 0 V 49.662 +35 0 V 49.663 +36 0 V 49.664 +36 0 V 49.665 +36 0 V 49.666 +36 0 V 49.667 +36 0 V 49.668 +35 0 V 49.669 +36 0 V 49.670 +36 0 V 49.671 +36 0 V 49.672 +36 0 V 49.673 +36 0 V 49.674 +36 0 V 49.675 +35 0 V 49.676 +36 0 V 49.677 +36 0 V 49.678 +36 0 V 49.679 +36 0 V 49.680 +36 0 V 49.681 +36 0 V 49.682 +35 0 V 49.683 +36 0 V 49.684 +36 0 V 49.685 +36 0 V 49.686 +36 0 V 49.687 +36 0 V 49.688 +35 0 V 49.689 +36 0 V 49.690 +36 0 V 49.691 +36 0 V 49.692 +36 0 V 49.693 +36 0 V 49.694 +36 0 V 49.695 +35 0 V 49.696 +36 0 V 49.697 +36 0 V 49.698 +36 0 V 49.699 +36 0 V 49.700 +36 0 V 49.701 +35 0 V 49.702 +36 0 V 49.703 +36 0 V 49.704 +36 0 V 49.705 +36 0 V 49.706 +36 0 V 49.707 +36 0 V 49.708 +35 0 V 49.709 +36 0 V 49.710 +36 0 V 49.711 +36 0 V 49.712 +36 0 V 49.713 +36 0 V 49.714 +36 0 V 49.715 +35 0 V 49.716 +36 0 V 49.717 +36 0 V 49.718 +36 0 V 49.719 +36 0 V 49.720 +36 0 V 49.721 +35 0 V 49.722 +36 0 V 49.723 +36 0 V 49.724 +36 0 V 49.725 +36 0 V 49.726 +36 0 V 49.727 +36 0 V 49.728 +35 0 V 49.729 +36 0 V 49.730 +36 0 V 49.731 +36 0 V 49.732 +36 0 V 49.733 +36 0 V 49.734 +35 0 V 49.735 +36 0 V 49.736 +36 0 V 49.737 +36 0 V 49.738 +36 0 V 49.739 +36 0 V 49.740 +36 0 V 49.741 +35 0 V 49.742 +36 0 V 49.743 +36 0 V 49.744 +36 0 V 49.745 +36 0 V 49.746 +36 0 V 49.747 +36 0 V 49.748 +35 0 V 49.749 +36 0 V 49.750 +36 0 V 49.751 +36 0 V 49.752 +36 0 V 49.753 +36 0 V 49.754 +35 0 V 49.755 +36 0 V 49.756 +36 0 V 49.757 +36 0 V 49.758 +% End plot #1 49.759 +% Begin plot #2 49.760 +stroke 49.761 +LT1 49.762 +LCb setrgbcolor 49.763 +3416 2722 M 49.764 +[ [(Helvetica) 140.0 0.0 true true 0 (160 Threads)] 49.765 +] -46.7 MRshow 49.766 +LT1 49.767 +3500 2722 M 49.768 +399 0 V 49.769 +1143 2855 M 49.770 +119 -356 V 49.771 +1884 1393 L 49.772 +3173 986 L 49.773 +4067 875 L 49.774 +% End plot #2 49.775 +% Begin plot #3 49.776 +stroke 49.777 +LT2 49.778 +LCb setrgbcolor 49.779 +3416 2582 M 49.780 +[ [(Helvetica) 140.0 0.0 true true 0 (320 Threads)] 49.781 +] -46.7 MRshow 49.782 +LT2 49.783 +3500 2582 M 49.784 +399 0 V 49.785 +938 2855 M 49.786 +11 -154 V 49.787 +298 -610 V 49.788 +661 -716 V 49.789 +3205 912 L 49.790 +862 -78 V 49.791 +% End plot #3 49.792 +% Begin plot #4 49.793 +stroke 49.794 +LT3 49.795 +LCb setrgbcolor 49.796 +3416 2442 M 49.797 +[ [(Helvetica) 140.0 0.0 true true 0 (640 Threads)] 49.798 +] -46.7 MRshow 49.799 +LT3 49.800 +3500 2442 M 49.801 +399 0 V 49.802 +933 2855 M 49.803 +7 -106 V 49.804 +316 -533 V 49.805 +639 -908 V 49.806 +3183 912 L 49.807 +884 -75 V 49.808 +% End plot #4 49.809 +stroke 49.810 +1.000 UL 49.811 +LTb 49.812 +518 2855 M 49.813 +518 448 L 49.814 +3549 0 V 49.815 +0 2407 R 49.816 +-3549 0 R 49.817 +1.000 UP 49.818 +stroke 49.819 +grestore 49.820 +end 49.821 +showpage 49.822 +%%Trailer 49.823 +%%DocumentFonts: Helvetica 49.824 +%%Pages: 1
50.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 50.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/plots_exec_vs_task_size/vms_pthread_vthread_8_32_128_512thds__o30000__perfCtrs.eps Fri Sep 13 11:02:18 2013 -0700 50.3 @@ -0,0 +1,1319 @@ 50.4 +%!PS-Adobe-2.0 50.5 +%%Title: vms_pthreads_vthread_8_32_128_512thds__o30000__perfCtrs.meas.eps 50.6 +%%Creator: gnuplot 4.4 patchlevel 2 50.7 +%%CreationDate: Thu Jan 26 18:20:37 2012 50.8 +%%DocumentFonts: (atend) 50.9 +%%BoundingBox: 251 50 554 482 50.10 +%%Orientation: Landscape 50.11 +%%Pages: (atend) 50.12 +%%EndComments 50.13 +%%BeginProlog 50.14 +/gnudict 256 dict def 50.15 +gnudict begin 50.16 +% 50.17 +% The following true/false flags may be edited by hand if desired. 50.18 +% The unit line width and grayscale image gamma correction may also be changed. 50.19 +% 50.20 +/Color true def 50.21 +/Blacktext false def 50.22 +/Solid false def 50.23 +/Dashlength 1 def 50.24 +/Landscape true def 50.25 +/Level1 false def 50.26 +/Rounded false def 50.27 +/ClipToBoundingBox false def 50.28 +/TransparentPatterns false def 50.29 +/gnulinewidth 5.000 def 50.30 +/userlinewidth gnulinewidth def 50.31 +/Gamma 1.0 def 50.32 +% 50.33 +/vshift -46 def 50.34 +/dl1 { 50.35 + 10.0 Dashlength mul mul 50.36 + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 50.37 +} def 50.38 +/dl2 { 50.39 + 10.0 Dashlength mul mul 50.40 + Rounded { currentlinewidth 0.75 mul add } if 50.41 +} def 50.42 +/hpt_ 31.5 def 50.43 +/vpt_ 31.5 def 50.44 +/hpt hpt_ def 50.45 +/vpt vpt_ def 50.46 +Level1 {} { 50.47 +/SDict 10 dict def 50.48 +systemdict /pdfmark known not { 50.49 + userdict /pdfmark systemdict /cleartomark get put 50.50 +} if 50.51 +SDict begin [ 50.52 + /Title (vms_pthreads_vthread_8_32_128_512thds__o30000__perfCtrs.meas.eps) 50.53 + /Subject (gnuplot plot) 50.54 + /Creator (gnuplot 4.4 patchlevel 2) 50.55 + /Author (msach) 50.56 +% /Producer (gnuplot) 50.57 +% /Keywords () 50.58 + /CreationDate (Thu Jan 26 18:20:37 2012) 50.59 + /DOCINFO pdfmark 50.60 +end 50.61 +} ifelse 50.62 +/doclip { 50.63 + ClipToBoundingBox { 50.64 + newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 50.65 + clip 50.66 + } if 50.67 +} def 50.68 +% 50.69 +% Gnuplot Prolog Version 4.4 (August 2010) 50.70 +% 50.71 +%/SuppressPDFMark true def 50.72 +% 50.73 +/M {moveto} bind def 50.74 +/L {lineto} bind def 50.75 +/R {rmoveto} bind def 50.76 +/V {rlineto} bind def 50.77 +/N {newpath moveto} bind def 50.78 +/Z {closepath} bind def 50.79 +/C {setrgbcolor} bind def 50.80 +/f {rlineto fill} bind def 50.81 +/g {setgray} bind def 50.82 +/Gshow {show} def % May be redefined later in the file to support UTF-8 50.83 +/vpt2 vpt 2 mul def 50.84 +/hpt2 hpt 2 mul def 50.85 +/Lshow {currentpoint stroke M 0 vshift R 50.86 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 50.87 +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 50.88 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 50.89 +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 50.90 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 50.91 +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 50.92 + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 50.93 +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 50.94 + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 50.95 +/BL {stroke userlinewidth 2 mul setlinewidth 50.96 + Rounded {1 setlinejoin 1 setlinecap} if} def 50.97 +/AL {stroke userlinewidth 2 div setlinewidth 50.98 + Rounded {1 setlinejoin 1 setlinecap} if} def 50.99 +/UL {dup gnulinewidth mul /userlinewidth exch def 50.100 + dup 1 lt {pop 1} if 10 mul /udl exch def} def 50.101 +/PL {stroke userlinewidth setlinewidth 50.102 + Rounded {1 setlinejoin 1 setlinecap} if} def 50.103 +3.8 setmiterlimit 50.104 +% Default Line colors 50.105 +/LCw {1 1 1} def 50.106 +/LCb {0 0 0} def 50.107 +/LCa {0 0 0} def 50.108 +/LC0 {1 0 0} def 50.109 +/LC1 {0 1 0} def 50.110 +/LC2 {0 0 1} def 50.111 +/LC3 {1 0 1} def 50.112 +/LC4 {0 1 1} def 50.113 +/LC5 {1 1 0} def 50.114 +/LC6 {0 0 0} def 50.115 +/LC7 {1 0.3 0} def 50.116 +/LC8 {0.5 0.5 0.5} def 50.117 +% Default Line Types 50.118 +/LTw {PL [] 1 setgray} def 50.119 +/LTb {BL [] LCb DL} def 50.120 +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 50.121 +/LT0 {PL [] LC0 DL} def 50.122 +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 50.123 +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 50.124 +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 50.125 +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 50.126 +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 50.127 +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 50.128 +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 50.129 +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 50.130 +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 50.131 +/Dia {stroke [] 0 setdash 2 copy vpt add M 50.132 + hpt neg vpt neg V hpt vpt neg V 50.133 + hpt vpt V hpt neg vpt V closepath stroke 50.134 + Pnt} def 50.135 +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 50.136 + currentpoint stroke M 50.137 + hpt neg vpt neg R hpt2 0 V stroke 50.138 + } def 50.139 +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 50.140 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 50.141 + hpt2 neg 0 V closepath stroke 50.142 + Pnt} def 50.143 +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 50.144 + hpt2 vpt2 neg V currentpoint stroke M 50.145 + hpt2 neg 0 R hpt2 vpt2 V stroke} def 50.146 +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 50.147 + hpt neg vpt -1.62 mul V 50.148 + hpt 2 mul 0 V 50.149 + hpt neg vpt 1.62 mul V closepath stroke 50.150 + Pnt} def 50.151 +/Star {2 copy Pls Crs} def 50.152 +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 50.153 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 50.154 + hpt2 neg 0 V closepath fill} def 50.155 +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 50.156 + hpt neg vpt -1.62 mul V 50.157 + hpt 2 mul 0 V 50.158 + hpt neg vpt 1.62 mul V closepath fill} def 50.159 +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 50.160 + hpt neg vpt 1.62 mul V 50.161 + hpt 2 mul 0 V 50.162 + hpt neg vpt -1.62 mul V closepath stroke 50.163 + Pnt} def 50.164 +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 50.165 + hpt neg vpt 1.62 mul V 50.166 + hpt 2 mul 0 V 50.167 + hpt neg vpt -1.62 mul V closepath fill} def 50.168 +/DiaF {stroke [] 0 setdash vpt add M 50.169 + hpt neg vpt neg V hpt vpt neg V 50.170 + hpt vpt V hpt neg vpt V closepath fill} def 50.171 +/Pent {stroke [] 0 setdash 2 copy gsave 50.172 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 50.173 + closepath stroke grestore Pnt} def 50.174 +/PentF {stroke [] 0 setdash gsave 50.175 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 50.176 + closepath fill grestore} def 50.177 +/Circle {stroke [] 0 setdash 2 copy 50.178 + hpt 0 360 arc stroke Pnt} def 50.179 +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 50.180 +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 50.181 +/C1 {BL [] 0 setdash 2 copy moveto 50.182 + 2 copy vpt 0 90 arc closepath fill 50.183 + vpt 0 360 arc closepath} bind def 50.184 +/C2 {BL [] 0 setdash 2 copy moveto 50.185 + 2 copy vpt 90 180 arc closepath fill 50.186 + vpt 0 360 arc closepath} bind def 50.187 +/C3 {BL [] 0 setdash 2 copy moveto 50.188 + 2 copy vpt 0 180 arc closepath fill 50.189 + vpt 0 360 arc closepath} bind def 50.190 +/C4 {BL [] 0 setdash 2 copy moveto 50.191 + 2 copy vpt 180 270 arc closepath fill 50.192 + vpt 0 360 arc closepath} bind def 50.193 +/C5 {BL [] 0 setdash 2 copy moveto 50.194 + 2 copy vpt 0 90 arc 50.195 + 2 copy moveto 50.196 + 2 copy vpt 180 270 arc closepath fill 50.197 + vpt 0 360 arc} bind def 50.198 +/C6 {BL [] 0 setdash 2 copy moveto 50.199 + 2 copy vpt 90 270 arc closepath fill 50.200 + vpt 0 360 arc closepath} bind def 50.201 +/C7 {BL [] 0 setdash 2 copy moveto 50.202 + 2 copy vpt 0 270 arc closepath fill 50.203 + vpt 0 360 arc closepath} bind def 50.204 +/C8 {BL [] 0 setdash 2 copy moveto 50.205 + 2 copy vpt 270 360 arc closepath fill 50.206 + vpt 0 360 arc closepath} bind def 50.207 +/C9 {BL [] 0 setdash 2 copy moveto 50.208 + 2 copy vpt 270 450 arc closepath fill 50.209 + vpt 0 360 arc closepath} bind def 50.210 +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 50.211 + 2 copy moveto 50.212 + 2 copy vpt 90 180 arc closepath fill 50.213 + vpt 0 360 arc closepath} bind def 50.214 +/C11 {BL [] 0 setdash 2 copy moveto 50.215 + 2 copy vpt 0 180 arc closepath fill 50.216 + 2 copy moveto 50.217 + 2 copy vpt 270 360 arc closepath fill 50.218 + vpt 0 360 arc closepath} bind def 50.219 +/C12 {BL [] 0 setdash 2 copy moveto 50.220 + 2 copy vpt 180 360 arc closepath fill 50.221 + vpt 0 360 arc closepath} bind def 50.222 +/C13 {BL [] 0 setdash 2 copy moveto 50.223 + 2 copy vpt 0 90 arc closepath fill 50.224 + 2 copy moveto 50.225 + 2 copy vpt 180 360 arc closepath fill 50.226 + vpt 0 360 arc closepath} bind def 50.227 +/C14 {BL [] 0 setdash 2 copy moveto 50.228 + 2 copy vpt 90 360 arc closepath fill 50.229 + vpt 0 360 arc} bind def 50.230 +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 50.231 + vpt 0 360 arc closepath} bind def 50.232 +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 50.233 + neg 0 rlineto closepath} bind def 50.234 +/Square {dup Rec} bind def 50.235 +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 50.236 +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 50.237 +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 50.238 +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 50.239 +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 50.240 +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 50.241 +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 50.242 + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 50.243 +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 50.244 +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 50.245 + 2 copy vpt Square fill Bsquare} bind def 50.246 +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 50.247 +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 50.248 +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 50.249 + Bsquare} bind def 50.250 +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 50.251 + Bsquare} bind def 50.252 +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 50.253 +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 50.254 + 2 copy vpt Square fill Bsquare} bind def 50.255 +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 50.256 + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 50.257 +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 50.258 +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 50.259 +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 50.260 +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 50.261 +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 50.262 +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 50.263 +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 50.264 +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 50.265 +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 50.266 +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 50.267 +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 50.268 +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 50.269 +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 50.270 +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 50.271 +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 50.272 +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 50.273 +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 50.274 +/DiaE {stroke [] 0 setdash vpt add M 50.275 + hpt neg vpt neg V hpt vpt neg V 50.276 + hpt vpt V hpt neg vpt V closepath stroke} def 50.277 +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 50.278 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 50.279 + hpt2 neg 0 V closepath stroke} def 50.280 +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 50.281 + hpt neg vpt -1.62 mul V 50.282 + hpt 2 mul 0 V 50.283 + hpt neg vpt 1.62 mul V closepath stroke} def 50.284 +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 50.285 + hpt neg vpt 1.62 mul V 50.286 + hpt 2 mul 0 V 50.287 + hpt neg vpt -1.62 mul V closepath stroke} def 50.288 +/PentE {stroke [] 0 setdash gsave 50.289 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 50.290 + closepath stroke grestore} def 50.291 +/CircE {stroke [] 0 setdash 50.292 + hpt 0 360 arc stroke} def 50.293 +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 50.294 +/DiaW {stroke [] 0 setdash vpt add M 50.295 + hpt neg vpt neg V hpt vpt neg V 50.296 + hpt vpt V hpt neg vpt V Opaque stroke} def 50.297 +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 50.298 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 50.299 + hpt2 neg 0 V Opaque stroke} def 50.300 +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 50.301 + hpt neg vpt -1.62 mul V 50.302 + hpt 2 mul 0 V 50.303 + hpt neg vpt 1.62 mul V Opaque stroke} def 50.304 +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 50.305 + hpt neg vpt 1.62 mul V 50.306 + hpt 2 mul 0 V 50.307 + hpt neg vpt -1.62 mul V Opaque stroke} def 50.308 +/PentW {stroke [] 0 setdash gsave 50.309 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 50.310 + Opaque stroke grestore} def 50.311 +/CircW {stroke [] 0 setdash 50.312 + hpt 0 360 arc Opaque stroke} def 50.313 +/BoxFill {gsave Rec 1 setgray fill grestore} def 50.314 +/Density { 50.315 + /Fillden exch def 50.316 + currentrgbcolor 50.317 + /ColB exch def /ColG exch def /ColR exch def 50.318 + /ColR ColR Fillden mul Fillden sub 1 add def 50.319 + /ColG ColG Fillden mul Fillden sub 1 add def 50.320 + /ColB ColB Fillden mul Fillden sub 1 add def 50.321 + ColR ColG ColB setrgbcolor} def 50.322 +/BoxColFill {gsave Rec PolyFill} def 50.323 +/PolyFill {gsave Density fill grestore grestore} def 50.324 +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 50.325 +% 50.326 +% PostScript Level 1 Pattern Fill routine for rectangles 50.327 +% Usage: x y w h s a XX PatternFill 50.328 +% x,y = lower left corner of box to be filled 50.329 +% w,h = width and height of box 50.330 +% a = angle in degrees between lines and x-axis 50.331 +% XX = 0/1 for no/yes cross-hatch 50.332 +% 50.333 +/PatternFill {gsave /PFa [ 9 2 roll ] def 50.334 + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 50.335 + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 50.336 + gsave 1 setgray fill grestore clip 50.337 + currentlinewidth 0.5 mul setlinewidth 50.338 + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 50.339 + 0 0 M PFa 5 get rotate PFs -2 div dup translate 50.340 + 0 1 PFs PFa 4 get div 1 add floor cvi 50.341 + {PFa 4 get mul 0 M 0 PFs V} for 50.342 + 0 PFa 6 get ne { 50.343 + 0 1 PFs PFa 4 get div 1 add floor cvi 50.344 + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 50.345 + } if 50.346 + stroke grestore} def 50.347 +% 50.348 +/languagelevel where 50.349 + {pop languagelevel} {1} ifelse 50.350 + 2 lt 50.351 + {/InterpretLevel1 true def} 50.352 + {/InterpretLevel1 Level1 def} 50.353 + ifelse 50.354 +% 50.355 +% PostScript level 2 pattern fill definitions 50.356 +% 50.357 +/Level2PatternFill { 50.358 +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 50.359 + bind def 50.360 +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 50.361 +<< Tile8x8 50.362 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 50.363 +>> matrix makepattern 50.364 +/Pat1 exch def 50.365 +<< Tile8x8 50.366 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 50.367 + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 50.368 +>> matrix makepattern 50.369 +/Pat2 exch def 50.370 +<< Tile8x8 50.371 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 50.372 + 8 8 L 8 0 L 0 0 L fill} 50.373 +>> matrix makepattern 50.374 +/Pat3 exch def 50.375 +<< Tile8x8 50.376 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 50.377 + 0 12 M 12 0 L stroke} 50.378 +>> matrix makepattern 50.379 +/Pat4 exch def 50.380 +<< Tile8x8 50.381 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 50.382 + 0 -4 M 12 8 L stroke} 50.383 +>> matrix makepattern 50.384 +/Pat5 exch def 50.385 +<< Tile8x8 50.386 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 50.387 + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 50.388 +>> matrix makepattern 50.389 +/Pat6 exch def 50.390 +<< Tile8x8 50.391 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 50.392 + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 50.393 +>> matrix makepattern 50.394 +/Pat7 exch def 50.395 +<< Tile8x8 50.396 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 50.397 + 12 0 M -4 8 L 12 4 M 0 10 L stroke} 50.398 +>> matrix makepattern 50.399 +/Pat8 exch def 50.400 +<< Tile8x8 50.401 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 50.402 + -4 0 M 12 8 L -4 4 M 8 10 L stroke} 50.403 +>> matrix makepattern 50.404 +/Pat9 exch def 50.405 +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 50.406 +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 50.407 +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 50.408 +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 50.409 +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 50.410 +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 50.411 +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 50.412 +} def 50.413 +% 50.414 +% 50.415 +%End of PostScript Level 2 code 50.416 +% 50.417 +/PatternBgnd { 50.418 + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 50.419 +} def 50.420 +% 50.421 +% Substitute for Level 2 pattern fill codes with 50.422 +% grayscale if Level 2 support is not selected. 50.423 +% 50.424 +/Level1PatternFill { 50.425 +/Pattern1 {0.250 Density} bind def 50.426 +/Pattern2 {0.500 Density} bind def 50.427 +/Pattern3 {0.750 Density} bind def 50.428 +/Pattern4 {0.125 Density} bind def 50.429 +/Pattern5 {0.375 Density} bind def 50.430 +/Pattern6 {0.625 Density} bind def 50.431 +/Pattern7 {0.875 Density} bind def 50.432 +} def 50.433 +% 50.434 +% Now test for support of Level 2 code 50.435 +% 50.436 +Level1 {Level1PatternFill} {Level2PatternFill} ifelse 50.437 +% 50.438 +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 50.439 +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 50.440 +currentdict end definefont pop 50.441 +/MFshow { 50.442 + { dup 5 get 3 ge 50.443 + { 5 get 3 eq {gsave} {grestore} ifelse } 50.444 + {dup dup 0 get findfont exch 1 get scalefont setfont 50.445 + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 50.446 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 50.447 + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 50.448 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 50.449 + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 50.450 + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 50.451 + pop aload pop M} ifelse }ifelse }ifelse } 50.452 + ifelse } 50.453 + forall} def 50.454 +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 50.455 +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 50.456 + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 50.457 + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 50.458 +/MLshow { currentpoint stroke M 50.459 + 0 exch R 50.460 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 50.461 +/MRshow { currentpoint stroke M 50.462 + exch dup MFwidth neg 3 -1 roll R 50.463 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 50.464 +/MCshow { currentpoint stroke M 50.465 + exch dup MFwidth -2 div 3 -1 roll R 50.466 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 50.467 +/XYsave { [( ) 1 2 true false 3 ()] } bind def 50.468 +/XYrestore { [( ) 1 2 true false 4 ()] } bind def 50.469 +end 50.470 +%%EndProlog 50.471 +%%Page: 1 1 50.472 +gnudict begin 50.473 +gsave 50.474 +doclip 50.475 +50 50 translate 50.476 +0.100 0.100 scale 50.477 +90 rotate 50.478 +0 -5040 translate 50.479 +0 setgray 50.480 +newpath 50.481 +(Helvetica) findfont 140 scalefont setfont 50.482 +1.000 UL 50.483 +LTb 50.484 +602 448 M 50.485 +63 0 V 50.486 +stroke 50.487 +518 448 M 50.488 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1)] 50.489 +] -46.7 MRshow 50.490 +1.000 UL 50.491 +LTb 50.492 +602 715 M 50.493 +63 0 V 50.494 +stroke 50.495 +518 715 M 50.496 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] 50.497 +] -46.7 MRshow 50.498 +1.000 UL 50.499 +LTb 50.500 +602 983 M 50.501 +63 0 V 50.502 +stroke 50.503 +518 983 M 50.504 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] 50.505 +] -46.7 MRshow 50.506 +1.000 UL 50.507 +LTb 50.508 +602 1250 M 50.509 +63 0 V 50.510 +stroke 50.511 +518 1250 M 50.512 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] 50.513 +] -46.7 MRshow 50.514 +1.000 UL 50.515 +LTb 50.516 +602 1518 M 50.517 +63 0 V 50.518 +stroke 50.519 +518 1518 M 50.520 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 50.521 +] -46.7 MRshow 50.522 +1.000 UL 50.523 +LTb 50.524 +602 1785 M 50.525 +63 0 V 50.526 +stroke 50.527 +518 1785 M 50.528 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] 50.529 +] -46.7 MRshow 50.530 +1.000 UL 50.531 +LTb 50.532 +602 2053 M 50.533 +63 0 V 50.534 +stroke 50.535 +518 2053 M 50.536 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7)] 50.537 +] -46.7 MRshow 50.538 +1.000 UL 50.539 +LTb 50.540 +602 2320 M 50.541 +63 0 V 50.542 +stroke 50.543 +518 2320 M 50.544 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] 50.545 +] -46.7 MRshow 50.546 +1.000 UL 50.547 +LTb 50.548 +602 2588 M 50.549 +63 0 V 50.550 +stroke 50.551 +518 2588 M 50.552 +[ [(Helvetica) 140.0 0.0 true true 0 ( 9)] 50.553 +] -46.7 MRshow 50.554 +1.000 UL 50.555 +LTb 50.556 +602 2855 M 50.557 +63 0 V 50.558 +stroke 50.559 +518 2855 M 50.560 +[ [(Helvetica) 140.0 0.0 true true 0 ( 10)] 50.561 +] -46.7 MRshow 50.562 +1.000 UL 50.563 +LTb 50.564 +602 448 M 50.565 +0 63 V 50.566 +stroke 50.567 +602 308 M 50.568 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 50.569 +] -46.7 MCshow 50.570 +1.000 UL 50.571 +LTb 50.572 +1035 448 M 50.573 +0 63 V 50.574 +stroke 50.575 +1035 308 M 50.576 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 50.577 +] -46.7 MCshow 50.578 +1.000 UL 50.579 +LTb 50.580 +1468 448 M 50.581 +0 63 V 50.582 +stroke 50.583 +1468 308 M 50.584 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 50.585 +] -46.7 MCshow 50.586 +1.000 UL 50.587 +LTb 50.588 +1901 448 M 50.589 +0 63 V 50.590 +stroke 50.591 +1901 308 M 50.592 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 50.593 +] -46.7 MCshow 50.594 +1.000 UL 50.595 +LTb 50.596 +2335 448 M 50.597 +0 63 V 50.598 +stroke 50.599 +2335 308 M 50.600 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 50.601 +] -46.7 MCshow 50.602 +1.000 UL 50.603 +LTb 50.604 +2768 448 M 50.605 +0 63 V 50.606 +stroke 50.607 +2768 308 M 50.608 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 50.609 +] -46.7 MCshow 50.610 +1.000 UL 50.611 +LTb 50.612 +3201 448 M 50.613 +0 63 V 50.614 +stroke 50.615 +3201 308 M 50.616 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 50.617 +] -46.7 MCshow 50.618 +1.000 UL 50.619 +LTb 50.620 +3634 448 M 50.621 +0 63 V 50.622 +stroke 50.623 +3634 308 M 50.624 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 50.625 +] -46.7 MCshow 50.626 +1.000 UL 50.627 +LTb 50.628 +4067 448 M 50.629 +0 63 V 50.630 +stroke 50.631 +4067 308 M 50.632 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 50.633 +] -46.7 MCshow 50.634 +1.000 UL 50.635 +LTb 50.636 +1.000 UL 50.637 +LTb 50.638 +602 2855 M 50.639 +602 448 L 50.640 +3465 0 V 50.641 +0 2407 R 50.642 +-3465 0 R 50.643 +stroke 50.644 +LCb setrgbcolor 50.645 +112 1651 M 50.646 +currentpoint gsave translate -270 rotate 0 0 moveto 50.647 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 50.648 +] -46.7 MCshow 50.649 +grestore 50.650 +LTb 50.651 +LCb setrgbcolor 50.652 +2334 98 M 50.653 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 50.654 +] -46.7 MCshow 50.655 +LTb 50.656 +1.000 UP 50.657 +1.000 UL 50.658 +LTb 50.659 +% Begin plot #1 50.660 +3.000 UL 50.661 +LT1 50.662 +LCa setrgbcolor 50.663 +602 715 M 50.664 +35 0 V 50.665 +35 0 V 50.666 +35 0 V 50.667 +35 0 V 50.668 +35 0 V 50.669 +35 0 V 50.670 +35 0 V 50.671 +35 0 V 50.672 +35 0 V 50.673 +35 0 V 50.674 +35 0 V 50.675 +35 0 V 50.676 +35 0 V 50.677 +35 0 V 50.678 +35 0 V 50.679 +35 0 V 50.680 +35 0 V 50.681 +35 0 V 50.682 +35 0 V 50.683 +35 0 V 50.684 +35 0 V 50.685 +35 0 V 50.686 +35 0 V 50.687 +35 0 V 50.688 +35 0 V 50.689 +35 0 V 50.690 +35 0 V 50.691 +35 0 V 50.692 +35 0 V 50.693 +35 0 V 50.694 +35 0 V 50.695 +35 0 V 50.696 +35 0 V 50.697 +35 0 V 50.698 +35 0 V 50.699 +35 0 V 50.700 +35 0 V 50.701 +35 0 V 50.702 +35 0 V 50.703 +35 0 V 50.704 +35 0 V 50.705 +35 0 V 50.706 +35 0 V 50.707 +35 0 V 50.708 +35 0 V 50.709 +35 0 V 50.710 +35 0 V 50.711 +35 0 V 50.712 +35 0 V 50.713 +35 0 V 50.714 +35 0 V 50.715 +35 0 V 50.716 +35 0 V 50.717 +35 0 V 50.718 +35 0 V 50.719 +35 0 V 50.720 +35 0 V 50.721 +35 0 V 50.722 +35 0 V 50.723 +35 0 V 50.724 +35 0 V 50.725 +35 0 V 50.726 +35 0 V 50.727 +35 0 V 50.728 +35 0 V 50.729 +35 0 V 50.730 +35 0 V 50.731 +35 0 V 50.732 +35 0 V 50.733 +35 0 V 50.734 +35 0 V 50.735 +35 0 V 50.736 +35 0 V 50.737 +35 0 V 50.738 +35 0 V 50.739 +35 0 V 50.740 +35 0 V 50.741 +35 0 V 50.742 +35 0 V 50.743 +35 0 V 50.744 +35 0 V 50.745 +35 0 V 50.746 +35 0 V 50.747 +35 0 V 50.748 +35 0 V 50.749 +35 0 V 50.750 +35 0 V 50.751 +35 0 V 50.752 +35 0 V 50.753 +35 0 V 50.754 +35 0 V 50.755 +35 0 V 50.756 +35 0 V 50.757 +35 0 V 50.758 +35 0 V 50.759 +35 0 V 50.760 +35 0 V 50.761 +35 0 V 50.762 +35 0 V 50.763 +% End plot #1 50.764 +stroke 50.765 +1.000 UL 50.766 +LTb 50.767 +602 2855 M 50.768 +602 448 L 50.769 +3465 0 V 50.770 +0 2407 R 50.771 +-3465 0 R 50.772 +1.000 UP 50.773 +602 448 M 50.774 +63 0 V 50.775 +stroke 50.776 +518 448 M 50.777 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1)] 50.778 +] -46.7 MRshow 50.779 +1.000 UL 50.780 +LTb 50.781 +602 715 M 50.782 +63 0 V 50.783 +stroke 50.784 +518 715 M 50.785 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] 50.786 +] -46.7 MRshow 50.787 +1.000 UL 50.788 +LTb 50.789 +602 983 M 50.790 +63 0 V 50.791 +stroke 50.792 +518 983 M 50.793 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] 50.794 +] -46.7 MRshow 50.795 +1.000 UL 50.796 +LTb 50.797 +602 1250 M 50.798 +63 0 V 50.799 +stroke 50.800 +518 1250 M 50.801 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] 50.802 +] -46.7 MRshow 50.803 +1.000 UL 50.804 +LTb 50.805 +602 1518 M 50.806 +63 0 V 50.807 +stroke 50.808 +518 1518 M 50.809 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 50.810 +] -46.7 MRshow 50.811 +1.000 UL 50.812 +LTb 50.813 +602 1785 M 50.814 +63 0 V 50.815 +stroke 50.816 +518 1785 M 50.817 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] 50.818 +] -46.7 MRshow 50.819 +1.000 UL 50.820 +LTb 50.821 +602 2053 M 50.822 +63 0 V 50.823 +stroke 50.824 +518 2053 M 50.825 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7)] 50.826 +] -46.7 MRshow 50.827 +1.000 UL 50.828 +LTb 50.829 +602 2320 M 50.830 +63 0 V 50.831 +stroke 50.832 +518 2320 M 50.833 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] 50.834 +] -46.7 MRshow 50.835 +1.000 UL 50.836 +LTb 50.837 +602 2588 M 50.838 +63 0 V 50.839 +stroke 50.840 +518 2588 M 50.841 +[ [(Helvetica) 140.0 0.0 true true 0 ( 9)] 50.842 +] -46.7 MRshow 50.843 +1.000 UL 50.844 +LTb 50.845 +602 2855 M 50.846 +63 0 V 50.847 +stroke 50.848 +518 2855 M 50.849 +[ [(Helvetica) 140.0 0.0 true true 0 ( 10)] 50.850 +] -46.7 MRshow 50.851 +1.000 UL 50.852 +LTb 50.853 +602 448 M 50.854 +0 63 V 50.855 +stroke 50.856 +602 308 M 50.857 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 50.858 +] -46.7 MCshow 50.859 +1.000 UL 50.860 +LTb 50.861 +1035 448 M 50.862 +0 63 V 50.863 +stroke 50.864 +1035 308 M 50.865 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 50.866 +] -46.7 MCshow 50.867 +1.000 UL 50.868 +LTb 50.869 +1468 448 M 50.870 +0 63 V 50.871 +stroke 50.872 +1468 308 M 50.873 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 50.874 +] -46.7 MCshow 50.875 +1.000 UL 50.876 +LTb 50.877 +1901 448 M 50.878 +0 63 V 50.879 +stroke 50.880 +1901 308 M 50.881 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 50.882 +] -46.7 MCshow 50.883 +1.000 UL 50.884 +LTb 50.885 +2335 448 M 50.886 +0 63 V 50.887 +stroke 50.888 +2335 308 M 50.889 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 50.890 +] -46.7 MCshow 50.891 +1.000 UL 50.892 +LTb 50.893 +2768 448 M 50.894 +0 63 V 50.895 +stroke 50.896 +2768 308 M 50.897 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 50.898 +] -46.7 MCshow 50.899 +1.000 UL 50.900 +LTb 50.901 +3201 448 M 50.902 +0 63 V 50.903 +stroke 50.904 +3201 308 M 50.905 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 50.906 +] -46.7 MCshow 50.907 +1.000 UL 50.908 +LTb 50.909 +3634 448 M 50.910 +0 63 V 50.911 +stroke 50.912 +3634 308 M 50.913 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 50.914 +] -46.7 MCshow 50.915 +1.000 UL 50.916 +LTb 50.917 +4067 448 M 50.918 +0 63 V 50.919 +stroke 50.920 +4067 308 M 50.921 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 50.922 +] -46.7 MCshow 50.923 +1.000 UL 50.924 +LTb 50.925 +1.000 UL 50.926 +LTb 50.927 +602 2855 M 50.928 +602 448 L 50.929 +3465 0 V 50.930 +0 2407 R 50.931 +-3465 0 R 50.932 +stroke 50.933 +LCb setrgbcolor 50.934 +112 1651 M 50.935 +currentpoint gsave translate -270 rotate 0 0 moveto 50.936 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 50.937 +] -46.7 MCshow 50.938 +grestore 50.939 +LTb 50.940 +LCb setrgbcolor 50.941 +2334 98 M 50.942 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 50.943 +] -46.7 MCshow 50.944 +LTb 50.945 +1.000 UP 50.946 +1.000 UL 50.947 +LTb 50.948 +LCb setrgbcolor 50.949 +3538 2919 M 50.950 +[ [(Helvetica) 140.0 0.0 true true 0 (pthreads)] 50.951 +] -46.7 MCshow 50.952 +LTb 50.953 +1.000 UL 50.954 +LTb 50.955 +2793 2289 N 50.956 +0 700 V 50.957 +1491 0 V 50.958 +0 -700 V 50.959 +-1491 0 V 50.960 +Z stroke 50.961 +2793 2849 M 50.962 +1491 0 V 50.963 +% Begin plot #1 50.964 +stroke 50.965 +4.000 UL 50.966 +LT5 50.967 +LC7 setrgbcolor 50.968 +LCb setrgbcolor 50.969 +3717 2779 M 50.970 +[ [(Helvetica) 140.0 0.0 true true 0 (8 Threads)] 50.971 +] -46.7 MRshow 50.972 +LT5 50.973 +LC7 setrgbcolor 50.974 +3801 2779 M 50.975 +399 0 V 50.976 +742 2855 M 50.977 +2 -67 V 50.978 +851 1788 L 50.979 +206 -591 V 50.980 +1473 836 L 50.981 +2306 644 L 50.982 +3967 545 L 50.983 +% End plot #1 50.984 +% Begin plot #2 50.985 +stroke 50.986 +LT6 50.987 +LCb setrgbcolor 50.988 +3717 2639 M 50.989 +[ [(Helvetica) 140.0 0.0 true true 0 (32 Threads)] 50.990 +] -46.7 MRshow 50.991 +LT6 50.992 +3801 2639 M 50.993 +399 0 V 50.994 +946 2855 M 50.995 +112 -798 V 50.996 +417 -761 V 50.997 +2304 901 L 50.998 +3971 681 L 50.999 +% End plot #2 50.1000 +% Begin plot #3 50.1001 +stroke 50.1002 +LT7 50.1003 +LC1 setrgbcolor 50.1004 +LCb setrgbcolor 50.1005 +3717 2499 M 50.1006 +[ [(Helvetica) 140.0 0.0 true true 0 (128 Threads)] 50.1007 +] -46.7 MRshow 50.1008 +LT7 50.1009 +LC1 setrgbcolor 50.1010 +3801 2499 M 50.1011 +399 0 V 50.1012 +1813 2855 M 50.1013 +496 -872 V 50.1014 +3972 1224 L 50.1015 +% End plot #3 50.1016 +% Begin plot #4 50.1017 +stroke 50.1018 +LT8 50.1019 +LCb setrgbcolor 50.1020 +3717 2359 M 50.1021 +[ [(Helvetica) 140.0 0.0 true true 0 (512 Threads)] 50.1022 +] -46.7 MRshow 50.1023 +LT8 50.1024 +3801 2359 M 50.1025 +399 0 V 50.1026 +% End plot #4 50.1027 +stroke 50.1028 +1.000 UL 50.1029 +LTb 50.1030 +602 2855 M 50.1031 +602 448 L 50.1032 +3465 0 V 50.1033 +0 2407 R 50.1034 +-3465 0 R 50.1035 +1.000 UP 50.1036 +602 448 M 50.1037 +63 0 V 50.1038 +stroke 50.1039 +518 448 M 50.1040 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1)] 50.1041 +] -46.7 MRshow 50.1042 +1.000 UL 50.1043 +LTb 50.1044 +602 715 M 50.1045 +63 0 V 50.1046 +stroke 50.1047 +518 715 M 50.1048 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] 50.1049 +] -46.7 MRshow 50.1050 +1.000 UL 50.1051 +LTb 50.1052 +602 983 M 50.1053 +63 0 V 50.1054 +stroke 50.1055 +518 983 M 50.1056 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] 50.1057 +] -46.7 MRshow 50.1058 +1.000 UL 50.1059 +LTb 50.1060 +602 1250 M 50.1061 +63 0 V 50.1062 +stroke 50.1063 +518 1250 M 50.1064 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] 50.1065 +] -46.7 MRshow 50.1066 +1.000 UL 50.1067 +LTb 50.1068 +602 1518 M 50.1069 +63 0 V 50.1070 +stroke 50.1071 +518 1518 M 50.1072 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 50.1073 +] -46.7 MRshow 50.1074 +1.000 UL 50.1075 +LTb 50.1076 +602 1785 M 50.1077 +63 0 V 50.1078 +stroke 50.1079 +518 1785 M 50.1080 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] 50.1081 +] -46.7 MRshow 50.1082 +1.000 UL 50.1083 +LTb 50.1084 +602 2053 M 50.1085 +63 0 V 50.1086 +stroke 50.1087 +518 2053 M 50.1088 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7)] 50.1089 +] -46.7 MRshow 50.1090 +1.000 UL 50.1091 +LTb 50.1092 +602 2320 M 50.1093 +63 0 V 50.1094 +stroke 50.1095 +518 2320 M 50.1096 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] 50.1097 +] -46.7 MRshow 50.1098 +1.000 UL 50.1099 +LTb 50.1100 +602 2588 M 50.1101 +63 0 V 50.1102 +stroke 50.1103 +518 2588 M 50.1104 +[ [(Helvetica) 140.0 0.0 true true 0 ( 9)] 50.1105 +] -46.7 MRshow 50.1106 +1.000 UL 50.1107 +LTb 50.1108 +602 2855 M 50.1109 +63 0 V 50.1110 +stroke 50.1111 +518 2855 M 50.1112 +[ [(Helvetica) 140.0 0.0 true true 0 ( 10)] 50.1113 +] -46.7 MRshow 50.1114 +1.000 UL 50.1115 +LTb 50.1116 +602 448 M 50.1117 +0 63 V 50.1118 +stroke 50.1119 +602 308 M 50.1120 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 50.1121 +] -46.7 MCshow 50.1122 +1.000 UL 50.1123 +LTb 50.1124 +1035 448 M 50.1125 +0 63 V 50.1126 +stroke 50.1127 +1035 308 M 50.1128 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 50.1129 +] -46.7 MCshow 50.1130 +1.000 UL 50.1131 +LTb 50.1132 +1468 448 M 50.1133 +0 63 V 50.1134 +stroke 50.1135 +1468 308 M 50.1136 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 50.1137 +] -46.7 MCshow 50.1138 +1.000 UL 50.1139 +LTb 50.1140 +1901 448 M 50.1141 +0 63 V 50.1142 +stroke 50.1143 +1901 308 M 50.1144 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 50.1145 +] -46.7 MCshow 50.1146 +1.000 UL 50.1147 +LTb 50.1148 +2335 448 M 50.1149 +0 63 V 50.1150 +stroke 50.1151 +2335 308 M 50.1152 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 50.1153 +] -46.7 MCshow 50.1154 +1.000 UL 50.1155 +LTb 50.1156 +2768 448 M 50.1157 +0 63 V 50.1158 +stroke 50.1159 +2768 308 M 50.1160 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 50.1161 +] -46.7 MCshow 50.1162 +1.000 UL 50.1163 +LTb 50.1164 +3201 448 M 50.1165 +0 63 V 50.1166 +stroke 50.1167 +3201 308 M 50.1168 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 50.1169 +] -46.7 MCshow 50.1170 +1.000 UL 50.1171 +LTb 50.1172 +3634 448 M 50.1173 +0 63 V 50.1174 +stroke 50.1175 +3634 308 M 50.1176 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 50.1177 +] -46.7 MCshow 50.1178 +1.000 UL 50.1179 +LTb 50.1180 +4067 448 M 50.1181 +0 63 V 50.1182 +stroke 50.1183 +4067 308 M 50.1184 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 50.1185 +] -46.7 MCshow 50.1186 +1.000 UL 50.1187 +LTb 50.1188 +1.000 UL 50.1189 +LTb 50.1190 +602 2855 M 50.1191 +602 448 L 50.1192 +3465 0 V 50.1193 +0 2407 R 50.1194 +-3465 0 R 50.1195 +stroke 50.1196 +LCb setrgbcolor 50.1197 +112 1651 M 50.1198 +currentpoint gsave translate -270 rotate 0 0 moveto 50.1199 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 50.1200 +] -46.7 MCshow 50.1201 +grestore 50.1202 +LTb 50.1203 +LCb setrgbcolor 50.1204 +2334 98 M 50.1205 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 50.1206 +] -46.7 MCshow 50.1207 +LTb 50.1208 +1.000 UP 50.1209 +1.000 UL 50.1210 +LTb 50.1211 +LCb setrgbcolor 50.1212 +2022 2919 M 50.1213 +[ [(Helvetica) 140.0 0.0 true true 0 (Vthread)] 50.1214 +] -46.7 MCshow 50.1215 +LTb 50.1216 +1.000 UL 50.1217 +LTb 50.1218 +1277 2289 N 50.1219 +0 700 V 50.1220 +1491 0 V 50.1221 +0 -700 V 50.1222 +-1491 0 V 50.1223 +Z stroke 50.1224 +1277 2849 M 50.1225 +1491 0 V 50.1226 +% Begin plot #1 50.1227 +stroke 50.1228 +4.000 UL 50.1229 +LT0 50.1230 +LCb setrgbcolor 50.1231 +2201 2779 M 50.1232 +[ [(Helvetica) 140.0 0.0 true true 0 (8 Threads)] 50.1233 +] -46.7 MRshow 50.1234 +LT0 50.1235 +2285 2779 M 50.1236 +399 0 V 50.1237 +654 2182 M 50.1238 +16 -334 V 50.1239 +24 -434 V 50.1240 +54 -354 V 50.1241 +852 815 L 50.1242 +1060 648 L 50.1243 +1474 537 L 50.1244 +832 -41 V 50.1245 +3969 471 L 50.1246 +% End plot #1 50.1247 +% Begin plot #2 50.1248 +stroke 50.1249 +LT2 50.1250 +LCb setrgbcolor 50.1251 +2201 2639 M 50.1252 +[ [(Helvetica) 140.0 0.0 true true 0 (32 Threads)] 50.1253 +] -46.7 MRshow 50.1254 +LT2 50.1255 +2285 2639 M 50.1256 +399 0 V 50.1257 +654 1786 M 50.1258 +16 -339 V 50.1259 +24 -169 V 50.1260 +748 917 L 50.1261 +852 723 L 50.1262 +1059 606 L 50.1263 +416 -79 V 50.1264 +832 -43 V 50.1265 +3969 467 L 50.1266 +% End plot #2 50.1267 +% Begin plot #3 50.1268 +stroke 50.1269 +LT3 50.1270 +LCb setrgbcolor 50.1271 +2201 2499 M 50.1272 +[ [(Helvetica) 140.0 0.0 true true 0 (128 Threads)] 50.1273 +] -46.7 MRshow 50.1274 +LT3 50.1275 +2285 2499 M 50.1276 +399 0 V 50.1277 +654 1837 M 50.1278 +16 -296 V 50.1279 +26 -324 V 50.1280 +748 970 L 50.1281 +851 740 L 50.1282 +1059 610 L 50.1283 +416 -81 V 50.1284 +832 -39 V 50.1285 +3970 466 L 50.1286 +% End plot #3 50.1287 +% Begin plot #4 50.1288 +stroke 50.1289 +LT4 50.1290 +LCb setrgbcolor 50.1291 +2201 2359 M 50.1292 +[ [(Helvetica) 140.0 0.0 true true 0 (512 Threads)] 50.1293 +] -46.7 MRshow 50.1294 +LT4 50.1295 +2285 2359 M 50.1296 +399 0 V 50.1297 +654 1958 M 50.1298 +14 -347 V 50.1299 +26 -349 V 50.1300 +748 965 L 50.1301 +850 751 L 50.1302 +1058 612 L 50.1303 +416 -83 V 50.1304 +833 -41 V 50.1305 +3970 467 L 50.1306 +% End plot #4 50.1307 +stroke 50.1308 +1.000 UL 50.1309 +LTb 50.1310 +602 2855 M 50.1311 +602 448 L 50.1312 +3465 0 V 50.1313 +0 2407 R 50.1314 +-3465 0 R 50.1315 +1.000 UP 50.1316 +stroke 50.1317 +grestore 50.1318 +end 50.1319 +showpage 50.1320 +%%Trailer 50.1321 +%%DocumentFonts: Helvetica 50.1322 +%%Pages: 1
51.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 51.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/figures/plots_exec_vs_task_size/xoanon_pthread_vthread_40core_80_160_320_640thds__o30000__perfCtrs.eps Fri Sep 13 11:02:18 2013 -0700 51.3 @@ -0,0 +1,948 @@ 51.4 +%!PS-Adobe-2.0 51.5 +%%Title: xoanon_pthreads_vthread_40core_80_160_320_640thds__o30000__perfCtrs.meas.eps 51.6 +%%Creator: gnuplot 4.4 patchlevel 2 51.7 +%%CreationDate: Thu Jan 26 18:27:40 2012 51.8 +%%DocumentFonts: (atend) 51.9 +%%BoundingBox: 251 50 554 482 51.10 +%%Orientation: Landscape 51.11 +%%Pages: (atend) 51.12 +%%EndComments 51.13 +%%BeginProlog 51.14 +/gnudict 256 dict def 51.15 +gnudict begin 51.16 +% 51.17 +% The following true/false flags may be edited by hand if desired. 51.18 +% The unit line width and grayscale image gamma correction may also be changed. 51.19 +% 51.20 +/Color true def 51.21 +/Blacktext false def 51.22 +/Solid false def 51.23 +/Dashlength 1 def 51.24 +/Landscape true def 51.25 +/Level1 false def 51.26 +/Rounded false def 51.27 +/ClipToBoundingBox false def 51.28 +/TransparentPatterns false def 51.29 +/gnulinewidth 5.000 def 51.30 +/userlinewidth gnulinewidth def 51.31 +/Gamma 1.0 def 51.32 +% 51.33 +/vshift -46 def 51.34 +/dl1 { 51.35 + 10.0 Dashlength mul mul 51.36 + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 51.37 +} def 51.38 +/dl2 { 51.39 + 10.0 Dashlength mul mul 51.40 + Rounded { currentlinewidth 0.75 mul add } if 51.41 +} def 51.42 +/hpt_ 31.5 def 51.43 +/vpt_ 31.5 def 51.44 +/hpt hpt_ def 51.45 +/vpt vpt_ def 51.46 +Level1 {} { 51.47 +/SDict 10 dict def 51.48 +systemdict /pdfmark known not { 51.49 + userdict /pdfmark systemdict /cleartomark get put 51.50 +} if 51.51 +SDict begin [ 51.52 + /Title (xoanon_pthreads_vthread_40core_80_160_320_640thds__o30000__perfCtrs.meas.eps) 51.53 + /Subject (gnuplot plot) 51.54 + /Creator (gnuplot 4.4 patchlevel 2) 51.55 + /Author (msach) 51.56 +% /Producer (gnuplot) 51.57 +% /Keywords () 51.58 + /CreationDate (Thu Jan 26 18:27:40 2012) 51.59 + /DOCINFO pdfmark 51.60 +end 51.61 +} ifelse 51.62 +/doclip { 51.63 + ClipToBoundingBox { 51.64 + newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 51.65 + clip 51.66 + } if 51.67 +} def 51.68 +% 51.69 +% Gnuplot Prolog Version 4.4 (August 2010) 51.70 +% 51.71 +%/SuppressPDFMark true def 51.72 +% 51.73 +/M {moveto} bind def 51.74 +/L {lineto} bind def 51.75 +/R {rmoveto} bind def 51.76 +/V {rlineto} bind def 51.77 +/N {newpath moveto} bind def 51.78 +/Z {closepath} bind def 51.79 +/C {setrgbcolor} bind def 51.80 +/f {rlineto fill} bind def 51.81 +/g {setgray} bind def 51.82 +/Gshow {show} def % May be redefined later in the file to support UTF-8 51.83 +/vpt2 vpt 2 mul def 51.84 +/hpt2 hpt 2 mul def 51.85 +/Lshow {currentpoint stroke M 0 vshift R 51.86 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 51.87 +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 51.88 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 51.89 +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 51.90 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 51.91 +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 51.92 + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 51.93 +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 51.94 + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 51.95 +/BL {stroke userlinewidth 2 mul setlinewidth 51.96 + Rounded {1 setlinejoin 1 setlinecap} if} def 51.97 +/AL {stroke userlinewidth 2 div setlinewidth 51.98 + Rounded {1 setlinejoin 1 setlinecap} if} def 51.99 +/UL {dup gnulinewidth mul /userlinewidth exch def 51.100 + dup 1 lt {pop 1} if 10 mul /udl exch def} def 51.101 +/PL {stroke userlinewidth setlinewidth 51.102 + Rounded {1 setlinejoin 1 setlinecap} if} def 51.103 +3.8 setmiterlimit 51.104 +% Default Line colors 51.105 +/LCw {1 1 1} def 51.106 +/LCb {0 0 0} def 51.107 +/LCa {0 0 0} def 51.108 +/LC0 {1 0 0} def 51.109 +/LC1 {0 1 0} def 51.110 +/LC2 {0 0 1} def 51.111 +/LC3 {1 0 1} def 51.112 +/LC4 {0 1 1} def 51.113 +/LC5 {1 1 0} def 51.114 +/LC6 {0 0 0} def 51.115 +/LC7 {1 0.3 0} def 51.116 +/LC8 {0.5 0.5 0.5} def 51.117 +% Default Line Types 51.118 +/LTw {PL [] 1 setgray} def 51.119 +/LTb {BL [] LCb DL} def 51.120 +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 51.121 +/LT0 {PL [] LC0 DL} def 51.122 +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 51.123 +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 51.124 +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 51.125 +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 51.126 +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 51.127 +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 51.128 +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 51.129 +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 51.130 +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 51.131 +/Dia {stroke [] 0 setdash 2 copy vpt add M 51.132 + hpt neg vpt neg V hpt vpt neg V 51.133 + hpt vpt V hpt neg vpt V closepath stroke 51.134 + Pnt} def 51.135 +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 51.136 + currentpoint stroke M 51.137 + hpt neg vpt neg R hpt2 0 V stroke 51.138 + } def 51.139 +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 51.140 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 51.141 + hpt2 neg 0 V closepath stroke 51.142 + Pnt} def 51.143 +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 51.144 + hpt2 vpt2 neg V currentpoint stroke M 51.145 + hpt2 neg 0 R hpt2 vpt2 V stroke} def 51.146 +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 51.147 + hpt neg vpt -1.62 mul V 51.148 + hpt 2 mul 0 V 51.149 + hpt neg vpt 1.62 mul V closepath stroke 51.150 + Pnt} def 51.151 +/Star {2 copy Pls Crs} def 51.152 +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 51.153 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 51.154 + hpt2 neg 0 V closepath fill} def 51.155 +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 51.156 + hpt neg vpt -1.62 mul V 51.157 + hpt 2 mul 0 V 51.158 + hpt neg vpt 1.62 mul V closepath fill} def 51.159 +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 51.160 + hpt neg vpt 1.62 mul V 51.161 + hpt 2 mul 0 V 51.162 + hpt neg vpt -1.62 mul V closepath stroke 51.163 + Pnt} def 51.164 +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 51.165 + hpt neg vpt 1.62 mul V 51.166 + hpt 2 mul 0 V 51.167 + hpt neg vpt -1.62 mul V closepath fill} def 51.168 +/DiaF {stroke [] 0 setdash vpt add M 51.169 + hpt neg vpt neg V hpt vpt neg V 51.170 + hpt vpt V hpt neg vpt V closepath fill} def 51.171 +/Pent {stroke [] 0 setdash 2 copy gsave 51.172 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 51.173 + closepath stroke grestore Pnt} def 51.174 +/PentF {stroke [] 0 setdash gsave 51.175 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 51.176 + closepath fill grestore} def 51.177 +/Circle {stroke [] 0 setdash 2 copy 51.178 + hpt 0 360 arc stroke Pnt} def 51.179 +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 51.180 +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 51.181 +/C1 {BL [] 0 setdash 2 copy moveto 51.182 + 2 copy vpt 0 90 arc closepath fill 51.183 + vpt 0 360 arc closepath} bind def 51.184 +/C2 {BL [] 0 setdash 2 copy moveto 51.185 + 2 copy vpt 90 180 arc closepath fill 51.186 + vpt 0 360 arc closepath} bind def 51.187 +/C3 {BL [] 0 setdash 2 copy moveto 51.188 + 2 copy vpt 0 180 arc closepath fill 51.189 + vpt 0 360 arc closepath} bind def 51.190 +/C4 {BL [] 0 setdash 2 copy moveto 51.191 + 2 copy vpt 180 270 arc closepath fill 51.192 + vpt 0 360 arc closepath} bind def 51.193 +/C5 {BL [] 0 setdash 2 copy moveto 51.194 + 2 copy vpt 0 90 arc 51.195 + 2 copy moveto 51.196 + 2 copy vpt 180 270 arc closepath fill 51.197 + vpt 0 360 arc} bind def 51.198 +/C6 {BL [] 0 setdash 2 copy moveto 51.199 + 2 copy vpt 90 270 arc closepath fill 51.200 + vpt 0 360 arc closepath} bind def 51.201 +/C7 {BL [] 0 setdash 2 copy moveto 51.202 + 2 copy vpt 0 270 arc closepath fill 51.203 + vpt 0 360 arc closepath} bind def 51.204 +/C8 {BL [] 0 setdash 2 copy moveto 51.205 + 2 copy vpt 270 360 arc closepath fill 51.206 + vpt 0 360 arc closepath} bind def 51.207 +/C9 {BL [] 0 setdash 2 copy moveto 51.208 + 2 copy vpt 270 450 arc closepath fill 51.209 + vpt 0 360 arc closepath} bind def 51.210 +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 51.211 + 2 copy moveto 51.212 + 2 copy vpt 90 180 arc closepath fill 51.213 + vpt 0 360 arc closepath} bind def 51.214 +/C11 {BL [] 0 setdash 2 copy moveto 51.215 + 2 copy vpt 0 180 arc closepath fill 51.216 + 2 copy moveto 51.217 + 2 copy vpt 270 360 arc closepath fill 51.218 + vpt 0 360 arc closepath} bind def 51.219 +/C12 {BL [] 0 setdash 2 copy moveto 51.220 + 2 copy vpt 180 360 arc closepath fill 51.221 + vpt 0 360 arc closepath} bind def 51.222 +/C13 {BL [] 0 setdash 2 copy moveto 51.223 + 2 copy vpt 0 90 arc closepath fill 51.224 + 2 copy moveto 51.225 + 2 copy vpt 180 360 arc closepath fill 51.226 + vpt 0 360 arc closepath} bind def 51.227 +/C14 {BL [] 0 setdash 2 copy moveto 51.228 + 2 copy vpt 90 360 arc closepath fill 51.229 + vpt 0 360 arc} bind def 51.230 +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 51.231 + vpt 0 360 arc closepath} bind def 51.232 +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 51.233 + neg 0 rlineto closepath} bind def 51.234 +/Square {dup Rec} bind def 51.235 +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 51.236 +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 51.237 +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 51.238 +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 51.239 +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 51.240 +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 51.241 +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 51.242 + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 51.243 +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 51.244 +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 51.245 + 2 copy vpt Square fill Bsquare} bind def 51.246 +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 51.247 +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 51.248 +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 51.249 + Bsquare} bind def 51.250 +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 51.251 + Bsquare} bind def 51.252 +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 51.253 +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 51.254 + 2 copy vpt Square fill Bsquare} bind def 51.255 +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 51.256 + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 51.257 +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 51.258 +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 51.259 +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 51.260 +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 51.261 +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 51.262 +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 51.263 +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 51.264 +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 51.265 +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 51.266 +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 51.267 +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 51.268 +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 51.269 +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 51.270 +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 51.271 +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 51.272 +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 51.273 +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 51.274 +/DiaE {stroke [] 0 setdash vpt add M 51.275 + hpt neg vpt neg V hpt vpt neg V 51.276 + hpt vpt V hpt neg vpt V closepath stroke} def 51.277 +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 51.278 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 51.279 + hpt2 neg 0 V closepath stroke} def 51.280 +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 51.281 + hpt neg vpt -1.62 mul V 51.282 + hpt 2 mul 0 V 51.283 + hpt neg vpt 1.62 mul V closepath stroke} def 51.284 +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 51.285 + hpt neg vpt 1.62 mul V 51.286 + hpt 2 mul 0 V 51.287 + hpt neg vpt -1.62 mul V closepath stroke} def 51.288 +/PentE {stroke [] 0 setdash gsave 51.289 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 51.290 + closepath stroke grestore} def 51.291 +/CircE {stroke [] 0 setdash 51.292 + hpt 0 360 arc stroke} def 51.293 +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 51.294 +/DiaW {stroke [] 0 setdash vpt add M 51.295 + hpt neg vpt neg V hpt vpt neg V 51.296 + hpt vpt V hpt neg vpt V Opaque stroke} def 51.297 +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 51.298 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 51.299 + hpt2 neg 0 V Opaque stroke} def 51.300 +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 51.301 + hpt neg vpt -1.62 mul V 51.302 + hpt 2 mul 0 V 51.303 + hpt neg vpt 1.62 mul V Opaque stroke} def 51.304 +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 51.305 + hpt neg vpt 1.62 mul V 51.306 + hpt 2 mul 0 V 51.307 + hpt neg vpt -1.62 mul V Opaque stroke} def 51.308 +/PentW {stroke [] 0 setdash gsave 51.309 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 51.310 + Opaque stroke grestore} def 51.311 +/CircW {stroke [] 0 setdash 51.312 + hpt 0 360 arc Opaque stroke} def 51.313 +/BoxFill {gsave Rec 1 setgray fill grestore} def 51.314 +/Density { 51.315 + /Fillden exch def 51.316 + currentrgbcolor 51.317 + /ColB exch def /ColG exch def /ColR exch def 51.318 + /ColR ColR Fillden mul Fillden sub 1 add def 51.319 + /ColG ColG Fillden mul Fillden sub 1 add def 51.320 + /ColB ColB Fillden mul Fillden sub 1 add def 51.321 + ColR ColG ColB setrgbcolor} def 51.322 +/BoxColFill {gsave Rec PolyFill} def 51.323 +/PolyFill {gsave Density fill grestore grestore} def 51.324 +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 51.325 +% 51.326 +% PostScript Level 1 Pattern Fill routine for rectangles 51.327 +% Usage: x y w h s a XX PatternFill 51.328 +% x,y = lower left corner of box to be filled 51.329 +% w,h = width and height of box 51.330 +% a = angle in degrees between lines and x-axis 51.331 +% XX = 0/1 for no/yes cross-hatch 51.332 +% 51.333 +/PatternFill {gsave /PFa [ 9 2 roll ] def 51.334 + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 51.335 + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 51.336 + gsave 1 setgray fill grestore clip 51.337 + currentlinewidth 0.5 mul setlinewidth 51.338 + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 51.339 + 0 0 M PFa 5 get rotate PFs -2 div dup translate 51.340 + 0 1 PFs PFa 4 get div 1 add floor cvi 51.341 + {PFa 4 get mul 0 M 0 PFs V} for 51.342 + 0 PFa 6 get ne { 51.343 + 0 1 PFs PFa 4 get div 1 add floor cvi 51.344 + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 51.345 + } if 51.346 + stroke grestore} def 51.347 +% 51.348 +/languagelevel where 51.349 + {pop languagelevel} {1} ifelse 51.350 + 2 lt 51.351 + {/InterpretLevel1 true def} 51.352 + {/InterpretLevel1 Level1 def} 51.353 + ifelse 51.354 +% 51.355 +% PostScript level 2 pattern fill definitions 51.356 +% 51.357 +/Level2PatternFill { 51.358 +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 51.359 + bind def 51.360 +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 51.361 +<< Tile8x8 51.362 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 51.363 +>> matrix makepattern 51.364 +/Pat1 exch def 51.365 +<< Tile8x8 51.366 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 51.367 + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 51.368 +>> matrix makepattern 51.369 +/Pat2 exch def 51.370 +<< Tile8x8 51.371 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 51.372 + 8 8 L 8 0 L 0 0 L fill} 51.373 +>> matrix makepattern 51.374 +/Pat3 exch def 51.375 +<< Tile8x8 51.376 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 51.377 + 0 12 M 12 0 L stroke} 51.378 +>> matrix makepattern 51.379 +/Pat4 exch def 51.380 +<< Tile8x8 51.381 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 51.382 + 0 -4 M 12 8 L stroke} 51.383 +>> matrix makepattern 51.384 +/Pat5 exch def 51.385 +<< Tile8x8 51.386 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 51.387 + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 51.388 +>> matrix makepattern 51.389 +/Pat6 exch def 51.390 +<< Tile8x8 51.391 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 51.392 + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 51.393 +>> matrix makepattern 51.394 +/Pat7 exch def 51.395 +<< Tile8x8 51.396 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 51.397 + 12 0 M -4 8 L 12 4 M 0 10 L stroke} 51.398 +>> matrix makepattern 51.399 +/Pat8 exch def 51.400 +<< Tile8x8 51.401 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 51.402 + -4 0 M 12 8 L -4 4 M 8 10 L stroke} 51.403 +>> matrix makepattern 51.404 +/Pat9 exch def 51.405 +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 51.406 +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 51.407 +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 51.408 +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 51.409 +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 51.410 +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 51.411 +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 51.412 +} def 51.413 +% 51.414 +% 51.415 +%End of PostScript Level 2 code 51.416 +% 51.417 +/PatternBgnd { 51.418 + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 51.419 +} def 51.420 +% 51.421 +% Substitute for Level 2 pattern fill codes with 51.422 +% grayscale if Level 2 support is not selected. 51.423 +% 51.424 +/Level1PatternFill { 51.425 +/Pattern1 {0.250 Density} bind def 51.426 +/Pattern2 {0.500 Density} bind def 51.427 +/Pattern3 {0.750 Density} bind def 51.428 +/Pattern4 {0.125 Density} bind def 51.429 +/Pattern5 {0.375 Density} bind def 51.430 +/Pattern6 {0.625 Density} bind def 51.431 +/Pattern7 {0.875 Density} bind def 51.432 +} def 51.433 +% 51.434 +% Now test for support of Level 2 code 51.435 +% 51.436 +Level1 {Level1PatternFill} {Level2PatternFill} ifelse 51.437 +% 51.438 +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 51.439 +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 51.440 +currentdict end definefont pop 51.441 +/MFshow { 51.442 + { dup 5 get 3 ge 51.443 + { 5 get 3 eq {gsave} {grestore} ifelse } 51.444 + {dup dup 0 get findfont exch 1 get scalefont setfont 51.445 + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 51.446 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 51.447 + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 51.448 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 51.449 + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 51.450 + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 51.451 + pop aload pop M} ifelse }ifelse }ifelse } 51.452 + ifelse } 51.453 + forall} def 51.454 +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 51.455 +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 51.456 + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 51.457 + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 51.458 +/MLshow { currentpoint stroke M 51.459 + 0 exch R 51.460 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 51.461 +/MRshow { currentpoint stroke M 51.462 + exch dup MFwidth neg 3 -1 roll R 51.463 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 51.464 +/MCshow { currentpoint stroke M 51.465 + exch dup MFwidth -2 div 3 -1 roll R 51.466 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 51.467 +/XYsave { [( ) 1 2 true false 3 ()] } bind def 51.468 +/XYrestore { [( ) 1 2 true false 4 ()] } bind def 51.469 +end 51.470 +%%EndProlog 51.471 +%%Page: 1 1 51.472 +gnudict begin 51.473 +gsave 51.474 +doclip 51.475 +50 50 translate 51.476 +0.100 0.100 scale 51.477 +90 rotate 51.478 +0 -5040 translate 51.479 +0 setgray 51.480 +newpath 51.481 +(Helvetica) findfont 140 scalefont setfont 51.482 +1.000 UL 51.483 +LTb 51.484 +686 922 M 51.485 +63 0 V 51.486 +stroke 51.487 +602 922 M 51.488 +[ [(Helvetica) 140.0 0.0 true true 0 ( 50)] 51.489 +] -46.7 MRshow 51.490 +1.000 UL 51.491 +LTb 51.492 +686 1405 M 51.493 +63 0 V 51.494 +stroke 51.495 +602 1405 M 51.496 +[ [(Helvetica) 140.0 0.0 true true 0 ( 100)] 51.497 +] -46.7 MRshow 51.498 +1.000 UL 51.499 +LTb 51.500 +686 1888 M 51.501 +63 0 V 51.502 +stroke 51.503 +602 1888 M 51.504 +[ [(Helvetica) 140.0 0.0 true true 0 ( 150)] 51.505 +] -46.7 MRshow 51.506 +1.000 UL 51.507 +LTb 51.508 +686 2372 M 51.509 +63 0 V 51.510 +stroke 51.511 +602 2372 M 51.512 +[ [(Helvetica) 140.0 0.0 true true 0 ( 200)] 51.513 +] -46.7 MRshow 51.514 +1.000 UL 51.515 +LTb 51.516 +686 2855 M 51.517 +63 0 V 51.518 +stroke 51.519 +602 2855 M 51.520 +[ [(Helvetica) 140.0 0.0 true true 0 ( 250)] 51.521 +] -46.7 MRshow 51.522 +1.000 UL 51.523 +LTb 51.524 +686 448 M 51.525 +0 63 V 51.526 +stroke 51.527 +686 308 M 51.528 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 51.529 +] -46.7 MCshow 51.530 +1.000 UL 51.531 +LTb 51.532 +1109 448 M 51.533 +0 63 V 51.534 +stroke 51.535 +1109 308 M 51.536 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 51.537 +] -46.7 MCshow 51.538 +1.000 UL 51.539 +LTb 51.540 +1531 448 M 51.541 +0 63 V 51.542 +stroke 51.543 +1531 308 M 51.544 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 51.545 +] -46.7 MCshow 51.546 +1.000 UL 51.547 +LTb 51.548 +1954 448 M 51.549 +0 63 V 51.550 +stroke 51.551 +1954 308 M 51.552 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 51.553 +] -46.7 MCshow 51.554 +1.000 UL 51.555 +LTb 51.556 +2377 448 M 51.557 +0 63 V 51.558 +stroke 51.559 +2377 308 M 51.560 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 51.561 +] -46.7 MCshow 51.562 +1.000 UL 51.563 +LTb 51.564 +2799 448 M 51.565 +0 63 V 51.566 +stroke 51.567 +2799 308 M 51.568 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 51.569 +] -46.7 MCshow 51.570 +1.000 UL 51.571 +LTb 51.572 +3222 448 M 51.573 +0 63 V 51.574 +stroke 51.575 +3222 308 M 51.576 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 51.577 +] -46.7 MCshow 51.578 +1.000 UL 51.579 +LTb 51.580 +3644 448 M 51.581 +0 63 V 51.582 +stroke 51.583 +3644 308 M 51.584 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 51.585 +] -46.7 MCshow 51.586 +1.000 UL 51.587 +LTb 51.588 +4067 448 M 51.589 +0 63 V 51.590 +stroke 51.591 +4067 308 M 51.592 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 51.593 +] -46.7 MCshow 51.594 +1.000 UL 51.595 +LTb 51.596 +1.000 UL 51.597 +LTb 51.598 +686 2855 M 51.599 +686 448 L 51.600 +3381 0 V 51.601 +0 2407 R 51.602 +-3381 0 R 51.603 +stroke 51.604 +LCb setrgbcolor 51.605 +112 1651 M 51.606 +currentpoint gsave translate -270 rotate 0 0 moveto 51.607 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 51.608 +] -46.7 MCshow 51.609 +grestore 51.610 +LTb 51.611 +LCb setrgbcolor 51.612 +2376 98 M 51.613 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 51.614 +] -46.7 MCshow 51.615 +LTb 51.616 +1.000 UP 51.617 +1.000 UL 51.618 +LTb 51.619 +LCb setrgbcolor 51.620 +3532 2882 M 51.621 +[ [(Helvetica) 140.0 0.0 true true 0 (pthreads)] 51.622 +] -46.7 MCshow 51.623 +LTb 51.624 +1.000 UL 51.625 +LTb 51.626 +2787 2252 N 51.627 +0 700 V 51.628 +1491 0 V 51.629 +0 -700 V 51.630 +-1491 0 V 51.631 +Z stroke 51.632 +2787 2812 M 51.633 +1491 0 V 51.634 +% Begin plot #1 51.635 +stroke 51.636 +4.000 UL 51.637 +LT5 51.638 +LC7 setrgbcolor 51.639 +LCb setrgbcolor 51.640 +3711 2742 M 51.641 +[ [(Helvetica) 140.0 0.0 true true 0 (80 Threads)] 51.642 +] -46.7 MRshow 51.643 +LT5 51.644 +LC7 setrgbcolor 51.645 +3795 2742 M 51.646 +399 0 V 51.647 +1735 2855 M 51.648 +662 -919 V 51.649 +4067 1238 L 51.650 +% End plot #1 51.651 +% Begin plot #2 51.652 +stroke 51.653 +LT6 51.654 +LCb setrgbcolor 51.655 +3711 2602 M 51.656 +[ [(Helvetica) 140.0 0.0 true true 0 (160 Threads)] 51.657 +] -46.7 MRshow 51.658 +LT6 51.659 +3795 2602 M 51.660 +399 0 V 51.661 +1748 2855 M 51.662 +2555 1723 L 51.663 +4067 1065 L 51.664 +% End plot #2 51.665 +% Begin plot #3 51.666 +stroke 51.667 +LT7 51.668 +LC1 setrgbcolor 51.669 +LCb setrgbcolor 51.670 +3711 2462 M 51.671 +[ [(Helvetica) 140.0 0.0 true true 0 (320 Threads)] 51.672 +] -46.7 MRshow 51.673 +LT7 51.674 +LC1 setrgbcolor 51.675 +3795 2462 M 51.676 +399 0 V 51.677 +1420 2855 M 51.678 +170 -542 V 51.679 +784 -867 V 51.680 +3986 870 L 51.681 +% End plot #3 51.682 +% Begin plot #4 51.683 +stroke 51.684 +LT8 51.685 +LCb setrgbcolor 51.686 +3711 2322 M 51.687 +[ [(Helvetica) 140.0 0.0 true true 0 (640 Threads)] 51.688 +] -46.7 MRshow 51.689 +LT8 51.690 +3795 2322 M 51.691 +399 0 V 51.692 +1802 2855 M 51.693 +572 -574 V 51.694 +4007 1207 L 51.695 +% End plot #4 51.696 +stroke 51.697 +1.000 UL 51.698 +LTb 51.699 +686 2855 M 51.700 +686 448 L 51.701 +3381 0 V 51.702 +0 2407 R 51.703 +-3381 0 R 51.704 +1.000 UP 51.705 +686 922 M 51.706 +63 0 V 51.707 +stroke 51.708 +602 922 M 51.709 +[ [(Helvetica) 140.0 0.0 true true 0 ( 50)] 51.710 +] -46.7 MRshow 51.711 +1.000 UL 51.712 +LTb 51.713 +686 1405 M 51.714 +63 0 V 51.715 +stroke 51.716 +602 1405 M 51.717 +[ [(Helvetica) 140.0 0.0 true true 0 ( 100)] 51.718 +] -46.7 MRshow 51.719 +1.000 UL 51.720 +LTb 51.721 +686 1888 M 51.722 +63 0 V 51.723 +stroke 51.724 +602 1888 M 51.725 +[ [(Helvetica) 140.0 0.0 true true 0 ( 150)] 51.726 +] -46.7 MRshow 51.727 +1.000 UL 51.728 +LTb 51.729 +686 2372 M 51.730 +63 0 V 51.731 +stroke 51.732 +602 2372 M 51.733 +[ [(Helvetica) 140.0 0.0 true true 0 ( 200)] 51.734 +] -46.7 MRshow 51.735 +1.000 UL 51.736 +LTb 51.737 +686 2855 M 51.738 +63 0 V 51.739 +stroke 51.740 +602 2855 M 51.741 +[ [(Helvetica) 140.0 0.0 true true 0 ( 250)] 51.742 +] -46.7 MRshow 51.743 +1.000 UL 51.744 +LTb 51.745 +686 448 M 51.746 +0 63 V 51.747 +stroke 51.748 +686 308 M 51.749 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 51.750 +] -46.7 MCshow 51.751 +1.000 UL 51.752 +LTb 51.753 +1109 448 M 51.754 +0 63 V 51.755 +stroke 51.756 +1109 308 M 51.757 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 51.758 +] -46.7 MCshow 51.759 +1.000 UL 51.760 +LTb 51.761 +1531 448 M 51.762 +0 63 V 51.763 +stroke 51.764 +1531 308 M 51.765 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 51.766 +] -46.7 MCshow 51.767 +1.000 UL 51.768 +LTb 51.769 +1954 448 M 51.770 +0 63 V 51.771 +stroke 51.772 +1954 308 M 51.773 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 51.774 +] -46.7 MCshow 51.775 +1.000 UL 51.776 +LTb 51.777 +2377 448 M 51.778 +0 63 V 51.779 +stroke 51.780 +2377 308 M 51.781 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 51.782 +] -46.7 MCshow 51.783 +1.000 UL 51.784 +LTb 51.785 +2799 448 M 51.786 +0 63 V 51.787 +stroke 51.788 +2799 308 M 51.789 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 51.790 +] -46.7 MCshow 51.791 +1.000 UL 51.792 +LTb 51.793 +3222 448 M 51.794 +0 63 V 51.795 +stroke 51.796 +3222 308 M 51.797 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 51.798 +] -46.7 MCshow 51.799 +1.000 UL 51.800 +LTb 51.801 +3644 448 M 51.802 +0 63 V 51.803 +stroke 51.804 +3644 308 M 51.805 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 51.806 +] -46.7 MCshow 51.807 +1.000 UL 51.808 +LTb 51.809 +4067 448 M 51.810 +0 63 V 51.811 +stroke 51.812 +4067 308 M 51.813 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 51.814 +] -46.7 MCshow 51.815 +1.000 UL 51.816 +LTb 51.817 +1.000 UL 51.818 +LTb 51.819 +686 2855 M 51.820 +686 448 L 51.821 +3381 0 V 51.822 +0 2407 R 51.823 +-3381 0 R 51.824 +stroke 51.825 +LCb setrgbcolor 51.826 +112 1651 M 51.827 +currentpoint gsave translate -270 rotate 0 0 moveto 51.828 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 51.829 +] -46.7 MCshow 51.830 +grestore 51.831 +LTb 51.832 +LCb setrgbcolor 51.833 +2376 98 M 51.834 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 51.835 +] -46.7 MCshow 51.836 +LTb 51.837 +1.000 UP 51.838 +1.000 UL 51.839 +LTb 51.840 +LCb setrgbcolor 51.841 +2011 2882 M 51.842 +[ [(Helvetica) 140.0 0.0 true true 0 (Vthread)] 51.843 +] -46.7 MCshow 51.844 +LTb 51.845 +1.000 UL 51.846 +LTb 51.847 +1266 2252 N 51.848 +0 700 V 51.849 +1491 0 V 51.850 +0 -700 V 51.851 +-1491 0 V 51.852 +Z stroke 51.853 +1266 2812 M 51.854 +1491 0 V 51.855 +% Begin plot #1 51.856 +stroke 51.857 +4.000 UL 51.858 +LT0 51.859 +LCb setrgbcolor 51.860 +2190 2742 M 51.861 +[ [(Helvetica) 140.0 0.0 true true 0 (80 Threads)] 51.862 +] -46.7 MRshow 51.863 +LT0 51.864 +2274 2742 M 51.865 +399 0 V 51.866 +743 626 M 51.867 +22 -61 V 51.868 +39 -36 V 51.869 +75 -37 V 51.870 +154 -17 V 51.871 +303 -13 V 51.872 +609 -7 V 51.873 +1218 -2 V 51.874 +904 -1 V 51.875 +% End plot #1 51.876 +% Begin plot #2 51.877 +stroke 51.878 +LT2 51.879 +LCb setrgbcolor 51.880 +2190 2602 M 51.881 +[ [(Helvetica) 140.0 0.0 true true 0 (160 Threads)] 51.882 +] -46.7 MRshow 51.883 +LT2 51.884 +2274 2602 M 51.885 +399 0 V 51.886 +743 575 M 51.887 +24 4 V 51.888 +36 -82 V 51.889 +76 -20 V 51.890 +153 -6 V 51.891 +303 -12 V 51.892 +609 -4 V 51.893 +1217 -4 V 51.894 +906 -1 V 51.895 +% End plot #2 51.896 +% Begin plot #3 51.897 +stroke 51.898 +LT3 51.899 +LCb setrgbcolor 51.900 +2190 2462 M 51.901 +[ [(Helvetica) 140.0 0.0 true true 0 (320 Threads)] 51.902 +] -46.7 MRshow 51.903 +LT3 51.904 +2274 2462 M 51.905 +399 0 V 51.906 +742 581 M 51.907 +24 -38 V 51.908 +39 -9 V 51.909 +76 -41 V 51.910 +151 -19 V 51.911 +304 -11 V 51.912 +610 -7 V 51.913 +1216 -5 V 51.914 +905 -1 V 51.915 +% End plot #3 51.916 +% Begin plot #4 51.917 +stroke 51.918 +LT4 51.919 +LCb setrgbcolor 51.920 +2190 2322 M 51.921 +[ [(Helvetica) 140.0 0.0 true true 0 (640 Threads)] 51.922 +] -46.7 MRshow 51.923 +LT4 51.924 +2274 2322 M 51.925 +399 0 V 51.926 +743 589 M 51.927 +23 -41 V 51.928 +38 -29 V 51.929 +77 -20 V 51.930 +151 -28 V 51.931 +303 -12 V 51.932 +610 -4 V 51.933 +1217 -4 V 51.934 +905 0 V 51.935 +% End plot #4 51.936 +stroke 51.937 +1.000 UL 51.938 +LTb 51.939 +686 2855 M 51.940 +686 448 L 51.941 +3381 0 V 51.942 +0 2407 R 51.943 +-3381 0 R 51.944 +1.000 UP 51.945 +stroke 51.946 +grestore 51.947 +end 51.948 +showpage 51.949 +%%Trailer 51.950 +%%DocumentFonts: Helvetica 51.951 +%%Pages: 1
52.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 52.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/helpers/07_F_26__The_Questions__blank.txt Fri Sep 13 11:02:18 2013 -0700 52.3 @@ -0,0 +1,100 @@ 52.4 + 52.5 + 52.6 +1) What are the problems the authors are trying to solve? 52.7 + When done, for each problem, how does one decide the value of a proposed solution? Suggest a priority domain for deciding whether to use a proposed solution. 52.8 + 52.9 +The problem is 52.10 + 52.11 +A priority domain for deciding the value of some proposed solution to this problem is 52.12 + 52.13 +The value of this solution is determined by 52.14 + 52.15 + 52.16 + 52.17 +2) What "things" does the proposed solution to this problem enable? 52.18 + What benefit to reader is bought by each "thing", & what related to the "thing", gives the benefit. 52.19 + What details are unique about the proposed solution that enables the thing that gives benefit? 52.20 + How does that uniqueness enable or achieve the thing? 52.21 + 52.22 +It enables 52.23 + 52.24 +The benefit to me is 52.25 + 52.26 +Unique details of solution that enable the thing gives benefit are 52.27 + 52.28 +The uniqueness enables the thing that gives benefit by 52.29 + 52.30 + 52.31 + 52.32 +3) What are the fundamentals underlying the problem? 52.33 + What makes this problem hard? 52.34 + What are the basic elements and forces of the problem that the proposed solution has to be in terms of, avoid, use to advantage? ie: gravity, invariant relationships, market forces, human capacity (avg level of real programmers, hubris, legacy is held onto, barriers to adoption), and so on 52.35 +How does the proposed solution work within/relate to/address/take advantage of/deal with the fundamentals underlying the problem? 52.36 + 52.37 +The fundamentals are 52.38 + 52.39 +The hard part is 52.40 + 52.41 +The basic elements are 52.42 + 52.43 +The proposed solution 52.44 + 52.45 + 52.46 + 52.47 +4) What are other approaches and conventional wisdom to solving these problems? 52.48 + What benefits enabled by the proposed solution are not enabled by other work, and vice versa? 52.49 + How does each approach address something the others miss? 52.50 + Try to suggest groupings or categories for the various approaches. 52.51 + Try to suggest ways multiple approaches may be combined to get more pros with fewer cons. 52.52 + 52.53 +Other approaches are 52.54 + 52.55 +A benefit enabled by the proposed that is not enabled by other work is 52.56 + 52.57 +Categories: 52.58 + 52.59 +Combining: 52.60 + 52.61 + 52.62 + 52.63 +5) What is/are the unique main "things" that enable what the proposed solution does? 52.64 + Sketch the details of each of these "things". 52.65 + Did you detect any drawbacks, not stated in the paper, from the details? 52.66 + Did you see any really cool techniques? 52.67 + 52.68 +Unique main "things" are 52.69 + 52.70 +Drawbacks from details: 52.71 + 52.72 +Idea of 52.73 + 52.74 + 52.75 + 52.76 +6) What aspects of the implementation/proof/design need results given in order to convince you that the proposed solution delivers the stated benefits? 52.77 + 52.78 +They have to show 52.79 + 52.80 + 52.81 + 52.82 +7) What results did they show? 52.83 + Did they show results in all the needed aspects (which were left out)? 52.84 + Were the testing method and results shown good enough to convince you? 52.85 + Did you detect any cons, not stated in the paper, from the results? 52.86 + 52.87 +They showed 52.88 + 52.89 +Con.. 52.90 + 52.91 + 52.92 + 52.93 +8) How do you think this work may provide some value to you in your future research? 52.94 + 52.95 +The work my provide value for me 52.96 + 52.97 + 52.98 + 52.99 +3 or more comments/questions: (pick out the most important things to you from the discussion you gave above, or add things that were not brought out by the above questions. I am asking for these as things to bring up during class). 52.100 + 52.101 +1) 52.102 + 52.103 + 52.104 \ No newline at end of file
53.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 53.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/helpers/bib_for_papers.bib Fri Sep 13 11:02:18 2013 -0700 53.3 @@ -0,0 +1,1257 @@ 53.4 + 53.5 + 53.6 + 53.7 +"" 53.8 +@Article{, 53.9 + author = {}, 53.10 + title = {}, 53.11 + journal = {}, 53.12 + volume = {}, 53.13 + number = {}, 53.14 + year = {}, 53.15 + pages = {} 53.16 +} 53.17 + 53.18 + 53.19 + 53.20 +"" 53.21 +@Book{, 53.22 + author = {}, 53.23 + title = {}, 53.24 + publisher = {}, 53.25 + year = {}, 53.26 + pages = {} 53.27 +} 53.28 + 53.29 + 53.30 + 53.31 +"" 53.32 +@misc{, 53.33 + author = {}, 53.34 + title = {}, 53.35 + url = {} 53.36 +} 53.37 + 53.38 + 53.39 +"Lamport paper with clock sync" 53.40 +@article{Lamport78, 53.41 + author = {Lamport, Leslie}, 53.42 + title = {Time, clocks, and the ordering of events in a distributed system}, 53.43 + journal = {Commun. ACM}, 53.44 + volume = {21}, 53.45 + issue = {7}, 53.46 + year = {1978}, 53.47 + pages = {558--565}, 53.48 + } 53.49 + 53.50 +"Lamport paper with mutex lock algorithm" 53.51 +@article{Lamport87, 53.52 + author = {Lamport, Leslie}, 53.53 + title = {A fast mutual exclusion algorithm}, 53.54 + journal = {ACM Trans. Comput. Syst.}, 53.55 + volume = {5}, 53.56 + issue = {1}, 53.57 + year = {1987}, 53.58 + pages = {1--11} 53.59 +} 53.60 + 53.61 +"Dijkstra semaphore definition paper" 53.62 +@inproceedings{Dijkstra67, 53.63 + author = {Dijkstra, Edsger W.}, 53.64 + title = {The structure of the "{THE}"-multiprogramming system}, 53.65 + booktitle = {Proceedings of the first ACM symposium on Operating System Principles}, 53.66 + series = {SOSP '67}, 53.67 + year = {1967}, 53.68 + pages = {10.1--10.6} 53.69 + } 53.70 + 53.71 +"Original coroutine paper" 53.72 +@article{Conway63, 53.73 + author = {Conway, Melvin E.}, 53.74 + title = {Design of a separable transition-diagram compiler}, 53.75 + journal = {Commun. ACM}, 53.76 + volume = {6}, 53.77 + issue = {7}, 53.78 + year = {1963}, 53.79 + pages = {396--408} 53.80 +} 53.81 + 53.82 +"Component model book Leavens G, Sitaraman M(eds.). Foundations of Component-Based Systems. Cambridge University Press: Cambridge, 2000" 53.83 +@Book{ComponentModel00, 53.84 + author = {G Leavens and M Sitaraman (eds)}, 53.85 + title = {Foundations of Component-Based Systems}, 53.86 + publisher = {Cambridge University Press}, 53.87 + year = {2000} 53.88 +} 53.89 + 53.90 + 53.91 +"Hewitt Actors Ref on ArXiv" 53.92 +@misc{Hewitt10, 53.93 + author = {Carl Hewitt}, 53.94 + title = {Actor Model of Computation}, 53.95 + year = {2010}, 53.96 + note = {http://arxiv.org/abs/1008.1459} 53.97 +} 53.98 + 53.99 +"Actors paper -- AGHA has a 1985 tech report looks like it introduces Actors as an execution model..?" 53.100 +@article{Actors97, 53.101 +author = {Agha,G. and Mason,I. and Smith,S. and Talcott,C.}, 53.102 +title = {A foundation for actor computation}, 53.103 +journal = {Journal of Functional Programming}, 53.104 +volume = {7}, 53.105 +number = {01}, 53.106 +pages = {1-72}, 53.107 +year = {1997}, 53.108 +} 53.109 + 53.110 +"Scheduler Activations: M onto N thread technique" 53.111 +@article{SchedActivations, 53.112 + author = {Anderson, Thomas E. and Bershad, Brian N. and Lazowska, Edward D. and Levy, Henry M.}, 53.113 + title = {Scheduler activations: effective kernel support for the user-level management of parallelism}, 53.114 + journal = {ACM Trans. Comput. Syst.}, 53.115 + volume = {10}, 53.116 + issue = {1}, 53.117 + month = {February}, 53.118 + year = {1992}, 53.119 + pages = {53--79} 53.120 +} 53.121 + 53.122 +"BOM in Manticore project: functional language for scheduling and concurrency" 53.123 +@inproceedings{BOMinManticore, 53.124 + author = {Fluet, Matthew and Rainey, Mike and Reppy, John and Shaw, Adam and Xiao, Yingqi}, 53.125 + title = {Manticore: a heterogeneous parallel language}, 53.126 + booktitle = {Proceedings of the 2007 workshop on Declarative aspects of multicore programming}, 53.127 + series = {DAMP '07}, 53.128 + year = {2007}, 53.129 + pages = {37--44}, 53.130 + numpages = {8} 53.131 +} 53.132 + 53.133 + 53.134 +//===================================== 53.135 +"Gain from Chaos tech report" 53.136 +@techreport 53.137 + {Halle92, 53.138 + Author = {Halle, K.S. and Chua, Leon O. and Anishchenko, V.S. and Safonova, M.A.}, 53.139 + Title = {Signal Amplification via Chaos: Experimental Evidence}, 53.140 + Institution = {EECS Department, University of California, Berkeley}, 53.141 + Year = {1992}, 53.142 + URL = {http://www.eecs.berkeley.edu/Pubs/TechRpts/1992/2223.html}, 53.143 + Number = {UCB/ERL M92/130} 53.144 +} 53.145 + 53.146 + 53.147 +Reprinted in: 53.148 +Madan, R. N. (1993) Chua’s Circuit : A Paradigm for Chaos, World Scientific, Singapore. 53.149 +"Signal Amplification via Chaos: Experimental Evidence" 53.150 +K.S. Halle, Leon O. Chua, V.S. Anishchenko and M.A. Safonova 53.151 +pgs 290-308 53.152 + 53.153 + 53.154 +"Spread Spectrum Communication Through Modulation of Chaos" 53.155 +Halle K.S., Wu C.W., Itoh M., Chua L.O. Spread Spectrum Communication Through Modulation of Chaos. Int. J. of Bifur. and Chaos, (3):469–477. 1993. 53.156 +cited by 232 53.157 + 53.158 + 53.159 +"Experimental Demonstration of Secure Communications Via Chaotic Synchronization" 53.160 +Kocarev V, Halle K.S., Eckert K., Chua L.O., Parlitz V. Experimental Demonstration of Secure Communications Via Chaotic Synchronization. Int. J. Bifur. and Chaos, (2):709 713. 1992. 53.161 + 53.162 + 53.163 +//========================================== 53.164 + 53.165 +"BLIS 2010 HotPar: Leveraging Semantics Attached to Function Calls to Isolate Applications from Hardware" 53.166 +@inproceedings 53.167 + {BLISInHotPar, 53.168 + author = {Sean Halle and Albert Cohen}, 53.169 + booktitle = {HOTPAR '10: USENIX Workshop on Hot Topics in Parallelism}, 53.170 + month = {June}, 53.171 + title = {Leveraging Semantics Attached to Function Calls to Isolate Applications from Hardware}, 53.172 + year = {2010} 53.173 + } 53.174 + 53.175 +"2011 HotPar: " 53.176 +@inproceedings 53.177 + {HotPar11, 53.178 + author = {Sean Halle and Albert Cohen}, 53.179 + booktitle = {HOTPAR '11: USENIX Workshop on Hot Topics in Parallelism}, 53.180 + month = {May}, 53.181 + title = {}, 53.182 + year = {2011} 53.183 + } 53.184 + 53.185 +"VMS in LCPC 2011" 53.186 +@article{VMSLCPC, 53.187 + author = {Sean Halle and Albert Cohen}, 53.188 + title = {A Mutable Hardware Abstraction to Replace Threads}, 53.189 + journal = {24th International Workshop on Languages and Compilers for Parallel Languages (LCPC11)}, 53.190 + year = {2011} 53.191 +} 53.192 + 53.193 + 53.194 +"A Framework to Support Research on Portable High Performance Parallelism" 53.195 +@misc{FrameworkTechRep, 53.196 + Author = {Halle, Sean and Nadezhkin, Dmitry and Cohen, Albert}, 53.197 + Note = {http://www.soe.ucsc.edu/share/technical-reports/2010/ucsc-soe-10-02.pdf}, 53.198 + Title = {A Framework to Support Research on Portable High Performance Parallelism}, 53.199 + Year = 2010 53.200 +} 53.201 + 53.202 +"DKU Pattern for Performance Portable Parallel Software" 53.203 +@misc{DKUTechRep, 53.204 + Author = {Halle, Sean and Cohen, Albert}, 53.205 + Note = {http://www.soe.ucsc.edu/share/technical-reports/2009/ucsc-soe-09-06.pdf}, 53.206 + Title = {DKU Pattern for Performance Portable Parallel Software}, 53.207 + Year = 2009 53.208 +} 53.209 + 53.210 +"An Extensible Parallel Language" 53.211 +@misc{EQNLangTechRep, 53.212 + Author = {Halle, Sean}, 53.213 + Note = {http://www.soe.ucsc.edu/share/technical-reports/2009/ucsc-soe-09-16.pdf}, 53.214 + Title = {An Extensible Parallel Language}, 53.215 + Year = 2009 53.216 +} 53.217 + 53.218 +"A Hardware-Independent Parallel Operating System Abstraction Layer" 53.219 +@misc{CTOSTechRep, 53.220 + Author = {Halle, Sean}, 53.221 + Note = {http://www.soe.ucsc.edu/share/technical-reports/2009/ucsc-soe-09-15.pdf}, 53.222 + Title = {A Hardware-Independent Parallel Operating System Abstraction LayerParallelism}, 53.223 + Year = 2009 53.224 +} 53.225 + 53.226 +"Parallel Language Extensions for Side Effects" 53.227 +@misc{SideEffectsTechRep, 53.228 + Author = {Halle, Sean and Cohen, Albert}, 53.229 + Note = {http://www.soe.ucsc.edu/share/technical-reports/2009/ucsc-soe-09-14.pdf}, 53.230 + Title = {Parallel Language Extensions for Side Effects}, 53.231 + Year = 2009 53.232 +} 53.233 + 53.234 + 53.235 +"BaCTiL: Base CodeTime Language" 53.236 +@misc{BaCTiLTechRep, 53.237 + Author = {Halle, Sean}, 53.238 + Note = {http://www.soe.ucsc.edu/share/technical-reports/2006/ucsc-crl-06-08.pdf}, 53.239 + Title = {BaCTiL: Base CodeTime Language}, 53.240 + Year = 2006 53.241 +} 53.242 + 53.243 + 53.244 +"The Elements of the CodeTime Software Platform" 53.245 +@misc{CTPlatformTechRep, 53.246 + Author = {Halle, Sean}, 53.247 + Note = {http://www.soe.ucsc.edu/share/technical-reports/2006/ucsc-crl-06-09.pdf}, 53.248 + Title = {The Elements of the CodeTime Software Platform}, 53.249 + Year = 2006 53.250 +} 53.251 + 53.252 + 53.253 +"A Scalable and Efficient Peer-to-Peer Run-Time System for a Hardware Independent Software Platform" 53.254 +@misc{CTRTTechRep, 53.255 + Author = {Halle, Sean}, 53.256 + Note = {http://www.soe.ucsc.edu/share/technical-reports/2006/ucsc-crl-06-10.pdf}, 53.257 + Title = {A Scalable and Efficient Peer-to-Peer Run-Time System for a Hardware Independent Software Platform}, 53.258 + Year = 2006 53.259 +} 53.260 + 53.261 + 53.262 +"The Big-Step Operational Semantics of CodeTime Circuits" 53.263 +@misc{FrameworkTechRep, 53.264 + Author = {Halle, Sean}, 53.265 + Note = {http://www.soe.ucsc.edu/share/technical-reports/2006/ucsc-crl-06-11.pdf}, 53.266 + Title = {The Big-Step Operational Semantics of CodeTime Circuits}, 53.267 + Year = 2006 53.268 +} 53.269 + 53.270 + 53.271 +"A Mental Framework for use in Creating Hardware Independent Parallel Languages" 53.272 +@misc{FrameworkTechRep, 53.273 + Author = {Halle, Sean}, 53.274 + Note = {http://www.soe.ucsc.edu/share/technical-reports/2006/ucsc-crl-06-12.pdf}, 53.275 + Title = {A Mental Framework for use in Creating Hardware Independent Parallel Languages}, 53.276 + Year = 2006 53.277 +} 53.278 + 53.279 + 53.280 +"The Case for an Integrated Software Platform for HEC Illustrated Using the CodeTime Platform" 53.281 +@misc{CIPTechRep, 53.282 + Author = {Halle, Sean}, 53.283 + Note = {http://www.soe.ucsc.edu/share/technical-reports/2005/ucsc-crl-05-05.pdf}, 53.284 + Title = {The Case for an Integrated Software Platform for HEC Illustrated Using the CodeTime Platform}, 53.285 + Year = 2005 53.286 +} 53.287 + 53.288 +//========================================== 53.289 + 53.290 + 53.291 +"OMP Hompe page" 53.292 +@misc{OMPHome, 53.293 + Note = {http://www.openmediaplatform.eu/}, 53.294 + Title = {{Open Media Platform} homepage}, 53.295 +} 53.296 + 53.297 +"The OMP infrastructure site" 53.298 +@misc{Halle2008, 53.299 + Author = {Sean Halle and Albert Cohen}, 53.300 + Note = {http://omp.musictwodotoh.com}, 53.301 + Title = {{DKU} infrastructure server} 53.302 +} 53.303 + 53.304 + 53.305 + 53.306 +"The DKU sourceforge site" 53.307 +@misc{DKUSourceForge, 53.308 + Author = {Sean Halle and Albert Cohen}, 53.309 + Month = {November}, 53.310 + Note = {http://dku.sourceforge.net}, 53.311 + Title = {{DKU} website}, 53.312 + Year = {2008} 53.313 +} 53.314 + 53.315 + 53.316 +"The BLIS sourceforge site" 53.317 +@misc{BLISHome, 53.318 + Author = {Sean Halle and Albert Cohen}, 53.319 + Month = {November}, 53.320 + Note = {http://blisplatform.sourceforge.net}, 53.321 + Title = {{BLIS} website}, 53.322 + Year = {2008} 53.323 +} 53.324 + 53.325 + 53.326 +"The VMS Home page" 53.327 +@misc{VMSHome, 53.328 + Author = {Sean Halle and Merten Sach and Ben Juurlink and Albert Cohen}, 53.329 + Note = {http://virtualizedmasterslave.org}, 53.330 + Title = {{VMS} Home Page}, 53.331 + Year = {2010} 53.332 +} 53.333 + 53.334 + 53.335 +"The PStack Home page" 53.336 +@misc{PStackHome, 53.337 + Author = {Sean Halle}, 53.338 + Note = {http://pstack.sourceforge.net}, 53.339 + Title = {{PStack} Home Page}, 53.340 + Year = {2012} 53.341 +} 53.342 + 53.343 + 53.344 +"Deblocking code in SVN" 53.345 +@misc{DeblockingCode, 53.346 + Note = {http://dku.svn.sourceforge.net/viewvc/dku/branches/DKU\_C\_\_Deblocking\_\_orig/}, 53.347 + Title ={{DKU-ized Deblocking Filter} code} 53.348 +} 53.349 + 53.350 + 53.351 + 53.352 +"Sample code on BLIS site" 53.353 +@misc{SampleBLISCode, 53.354 + Note = {http://dku.sourceforge.net/SampleCode.htm}, 53.355 + Title ={{Sample BLIS Code}} 53.356 +} 53.357 + 53.358 +"Framework Technical Report" 53.359 +@misc{FrameworkTechRep, 53.360 + Author = {Halle, Sean and Nadezhkin, Dmitry and Cohen, Albert}, 53.361 + Note = {http://www.soe.ucsc.edu/share/technical-reports/2010/ucsc-soe-10-02.pdf}, 53.362 + Title = {A Framework to Support Research on Portable High Performance Parallelism} 53.363 +} 53.364 + 53.365 +"Map reduce" 53.366 +@misc{MapReduceHome, 53.367 + Author = {Google Corp.}, 53.368 + Note = {http://labs.google.com/papers/mapreduce.html}, 53.369 + Title = {{MapReduce} Home page}, 53.370 +} 53.371 + 53.372 + 53.373 +"TBB Thread Building Blocks" 53.374 +@misc{TBBHome, 53.375 + Author = {Intel Corp.}, 53.376 + Note = {http://www.threadingbuildingblocks.org}, 53.377 + Title = {{TBB} Home page}, 53.378 +} 53.379 + 53.380 + 53.381 +"HPF Wikipedia entry" 53.382 +@misc{HPFWikipedia, 53.383 + Author = {Wikipedia}, 53.384 + Note = {http://en.wikipedia.org/wiki/High_Performance_Fortran}, 53.385 + Title = {{HPF} wikipedia page}, 53.386 +} 53.387 + 53.388 + 53.389 +"OpenMP Home page" 53.390 +@misc{OpenMPHome, 53.391 + Author = {{OpenMP} organization}, 53.392 + Note = {http://www.openmp.org}, 53.393 + Title = {{OpenMP} Home page} 53.394 +} 53.395 + 53.396 + 53.397 + 53.398 +"Open MPI Home page" 53.399 +@misc{MPIHome, 53.400 + Author = {open-mpi organization}, 53.401 + Note = {http://www.open-mpi.org}, 53.402 + Title = {{Open MPI} Home page} 53.403 +} 53.404 + 53.405 +"OpenCL Home page" 53.406 +@misc{OpenCLHome, 53.407 + Author = {Kronos Group}, 53.408 + Note = {http://www.khronos.org/opencl}, 53.409 + Title = {{OpenCL} Home page} 53.410 +} 53.411 + 53.412 + 53.413 +"CILK Hompe page" 53.414 +@misc{CILKHome, 53.415 + Author = {Cilk group at MIT}, 53.416 + Note = {http://supertech.csail.mit.edu/cilk/}, 53.417 + Title = {{CILK} homepage}, 53.418 +} 53.419 + 53.420 +@InProceedings{Fri98, 53.421 + author = {M. Frigo and C. E. Leiserson and K. H. Randall}, 53.422 + title = {The Implementation of the Cilk-5 Multithreaded Language}, 53.423 + booktitle = {PLDI '98: Proceedings of the 1998 ACM SIGPLAN conference on Programming language design and implementation}, 53.424 + pages = {212--223}, 53.425 + year = 1998, 53.426 + address = {Montreal, Quebec}, 53.427 + month = jun 53.428 +} 53.429 + 53.430 + 53.431 +"Titanium Hompe page" 53.432 +@misc{TitaniumHome, 53.433 + Note = {http://titanium.cs.berkeley.edu}, 53.434 + Title = {{Titanium} homepage} 53.435 +} 53.436 + 53.437 + 53.438 +"CnC in HotPar" 53.439 +@inproceedings{CnCInHotPar, 53.440 + author = {Knobe, Kathleen}, 53.441 + booktitle = {HOTPAR '09: USENIX Workshop on Hot Topics in Parallelism}, 53.442 + month = {March}, 53.443 + title = {Ease of Use with Concurrent Collections {(CnC)}}, 53.444 + year = {2009} 53.445 +} 53.446 + 53.447 + 53.448 +"CnC Hompe page" 53.449 +@misc{CnCHome, 53.450 + Author = {Intel Corp.}, 53.451 + Note = {http://software.intel.com/en-us/articles/intel-concurrent-collections-for-cc/}, 53.452 + Title = {{CnC} homepage}, 53.453 +} 53.454 + 53.455 +"Spiral Home page" 53.456 +@misc{SpiralHome, 53.457 + Author = {Spiral Group at CMU}, 53.458 + Note = {http://www.spiral.net}, 53.459 + Title = {{Spiral} homepage}, 53.460 +} 53.461 + 53.462 + 53.463 +"Scala Hompe page" 53.464 +@misc{ScalaHome, 53.465 + Author = {Scala organization}, 53.466 + Note = {http://www.scala-lang.org/}, 53.467 + Title = {{Scala} homepage}, 53.468 +} 53.469 + 53.470 + 53.471 + 53.472 + 53.473 +"UPC Hompe page" 53.474 +@misc{UPCHome, 53.475 + Author = {UPC group at UC Berkeley}, 53.476 + Note = {http://upc.lbl.gov/}, 53.477 + Title = {{Unified Parallel C} homepage}, 53.478 +} 53.479 + 53.480 + 53.481 +"Suif Hompe page" 53.482 +@misc{SuifHome, 53.483 + Note = {http://suif.stanford.edu}, 53.484 + Title = {{Suif} Parallelizing compiler homepage}, 53.485 +} 53.486 + 53.487 + 53.488 + 53.489 +"SEJITS" 53.490 +@article{SEJITS, 53.491 + author = {B. Catanzaro and S. Kamil and Y. Lee and K. Asanovic and J. Demmel and K. Keutzer and J. Shalf and K. Yelick and A. Fox}, 53.492 + title = {SEJITS: Getting Productivity AND Performance With Selective Embedded JIT Specialization}, 53.493 + journal = {First Workshop on Programmable Models for Emerging Architecture at the 18th International Conference on Parallel Architectures and Compilation Techniques }, 53.494 + year = {2009} 53.495 +} 53.496 + 53.497 + 53.498 +"Arnaldo 3D parallel on NXP chip" 53.499 +@inproceedings{Arnaldo3D, 53.500 + author = {Azevedo, Arnaldo and Meenderinck, Cor and Juurlink, Ben and Terechko, Andrei and Hoogerbrugge, Jan and Alvarez, Mauricio and Ramirez, Alex}, 53.501 + title = {Parallel H.264 Decoding on an Embedded Multicore Processor}, 53.502 + booktitle = {HiPEAC '09: Proceedings of the 4th International Conference on High Performance Embedded Architectures and Compilers}, 53.503 + year = {2009}, 53.504 + pages = {404--418} 53.505 + } 53.506 + 53.507 + 53.508 +"Narayanan's GPU scheduling tool" 53.509 +@article{NarayananGPUSched, 53.510 + author = {Narayanan Sundaram and Anand Raghunathan and Srimat T. Chakradhar}, 53.511 + title = {A framework for efficient and scalable execution of domain-specific templates on GPUs}, 53.512 + journal ={International Parallel and Distributed Processing Symposium {(IPDPS)}}, 53.513 + year = {2009}, 53.514 + pages = {1-12}, 53.515 +} 53.516 + 53.517 +"Polyhedral for GPU from Ohio State" 53.518 +@inproceedings{PolyForGPU, 53.519 + author = {Baskaran, Muthu Manikandan and Bondhugula, Uday and Krishnamoorthy, Sriram and Ramanujam, J. and Rountev, Atanas and Sadayappan, P.}, 53.520 + title = {A compiler framework for optimization of affine loop nests for gpgpus}, 53.521 + booktitle = {ICS '08: Proceedings of the 22nd annual international conference on Supercomputing}, 53.522 + year = {2008}, 53.523 + pages = {225--234}, 53.524 + } 53.525 + 53.526 +"Loulou's Polyhedral loop-nest optimization paper in PLDI 08" 53.527 +@inproceedings{Loulou08, 53.528 + author = {Pouchet, Louis-No\"{e}l and Bastoul, C\'{e}dric and Cohen, Albert and Cavazos, John}, 53.529 + title = {Iterative optimization in the polyhedral model: part ii, multidimensional time}, 53.530 + booktitle = {ACM SIGPLAN conference on Programming language design and implementation {(PLDI)} }, 53.531 + year = {2008}, 53.532 + pages = {90--100}, 53.533 + } 53.534 + 53.535 + 53.536 +"Merge in HotPar" 53.537 +@inproceedings{MergeInHotPar, 53.538 + author = {Michael D. Linderman and James Balfour and Teresa H. Meng and William J. Dally}, 53.539 + booktitle = {HOTPAR '09: USENIX Workshop on Hot Topics in Parallelism}, 53.540 + month = {March}, 53.541 + title = {Embracing Heterogeneity \- Parallel Programming for Changing Hardware}, 53.542 + year = {2009} 53.543 +} 53.544 + 53.545 + 53.546 +"Galois system for irregular problems" 53.547 +@inproceedings{GaloisRef, 53.548 + author = {Kulkarni, Milind and Pingali, Keshav and Walter, Bruce and Ramanarayanan, Ganesh and Bala, Kavita and Chew, L. Paul}, 53.549 + title = {Optimistic parallelism requires abstractions}, 53.550 + booktitle = {PLDI '07: Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation}, 53.551 + year = {2007}, 53.552 + pages = {211--222} 53.553 +} 53.554 + 53.555 +"Cool compiler book that talks about balancing task size with machine characteristics.. the one Amit had" 53.556 +@book{Allen2002, 53.557 + author = {Kennedy, Ken and Allen, John R.}, 53.558 + title = {Optimizing compilers for modern architectures: a dependence-based approach}, 53.559 + year = {2002}, 53.560 + publisher = {Morgan Kaufmann Publishers Inc.} 53.561 + } 53.562 + 53.563 + 53.564 +"Streaming languages and tools survery paper" 53.565 +@MISC{Stephens95, 53.566 + author = {R. Stephens}, 53.567 + title = {A Survey Of Stream Processing}, 53.568 + year = {1995} 53.569 +} 53.570 + 53.571 + 53.572 +"Capsule" 53.573 +@INPROCEEDINGS{Palatin06, 53.574 + author = {P Palatin and Y Lhuillier and O Temam}, 53.575 + title = {CAPSULE: Hardware-assisted parallel execution of componentbased programs}, 53.576 + booktitle = {In Proceedings of the 39th Annual International Symposium on Microarchitecture}, 53.577 + year = {2006}, 53.578 + pages = {247--258} 53.579 +} 53.580 + 53.581 +"Sequioa" 53.582 +@inproceedings{Sequioa06, 53.583 + author = {Fatahalian,, Kayvon and Horn,, Daniel Reiter and Knight,, Timothy J. and Leem,, Larkhoon and Houston,, Mike and Park,, Ji Young and Erez,, Mattan and Ren,, Manman and Aiken,, Alex and Dally,, William J. and Hanrahan,, Pat}, 53.584 + title = {Sequoia: programming the memory hierarchy}, 53.585 + booktitle = {SC '06: Proceedings of the 2006 ACM/IEEE conference on Supercomputing}, 53.586 + year = {2006}, 53.587 + pages = {83} 53.588 + } 53.589 + 53.590 + 53.591 + 53.592 + 53.593 +"Cole meta skeletons book" 53.594 +@Book{Cole89, 53.595 + author = {M Cole}, 53.596 + title = {Algorithmic skeletons: Structured management of parallel computation}, 53.597 + publisher = {Pitman}, 53.598 + year = {1989} 53.599 +} 53.600 + 53.601 + 53.602 +"Meta programming skeletons example" 53.603 +@INPROCEEDINGS{Ginhac98, 53.604 + author = {Dominique Ginhac and Jocelyn Serot and Jean Pierre Derutin}, 53.605 + title = {Fast prototyping of image processing applications using functional skeletons on a MIMD-DM architecture}, 53.606 + booktitle = {In IAPR Workshop on Machine Vision and Applications}, 53.607 + year = {1998}, 53.608 + pages = {468--471} 53.609 +} 53.610 + 53.611 + 53.612 +"Parallel Skeletons meta programming" 53.613 +@inproceedings{Serot08MetaParallel, 53.614 + author = {Serot, Jocelyn and Falcou, Joel}, 53.615 + title = {Functional Meta-programming for Parallel Skeletons}, 53.616 + booktitle = {ICCS '08: Proceedings of the 8th international conference on Computational Science, Part I}, 53.617 + year = {2008}, 53.618 + pages = {154--163} 53.619 + } 53.620 + 53.621 + 53.622 +"Random skeletons for parallel programming article with lots of citations" 53.623 +@INPROCEEDINGS{Darlington93, 53.624 + author = {J. Darlington and A. J. Field and P. G. Harrison and P. H. J. Kelly and D. W. N. Sharp and Q. Wu}, 53.625 + title = {Parallel programming using skeleton functions}, 53.626 + booktitle = {}, 53.627 + year = {1993}, 53.628 + pages = {146--160}, 53.629 + publisher = {Springer-Verlag} 53.630 +} 53.631 + 53.632 + 53.633 +"View from Berkeley paper" 53.634 +@article{Asanovic06BerkeleyView, 53.635 + title={{The landscape of parallel computing research: A view from berkeley}}, 53.636 + author={Asanovic, K. and Bodik, R. and Catanzaro, B.C. and Gebis, J.J. and Husbands, P. and Keutzer, K. and Patterson, D.A. and Plishker, W.L. and Shalf, J. and Williams, S.W. and others}, 53.637 + journal={Electrical Engineering and Computer Sciences, University of California at Berkeley, Technical Report No. UCB/EECS-2006-183, December}, 53.638 + volume={18}, 53.639 + number={2006-183}, 53.640 + pages={19}, 53.641 + year={2006}, 53.642 +} 53.643 + 53.644 + 53.645 + 53.646 + 53.647 +"Berkeley Pattern Language" 53.648 +@misc{BerkeleyPattLang, 53.649 + Note = {http://parlab.eecs.berkeley.edu/wiki/patterns}, 53.650 + Title = {{Berkeley Pattern Language}} 53.651 +} 53.652 + 53.653 + 53.654 +"Keutzer reccomended Parallel Prog Patterns book" 53.655 +@book{Mattson04Patterns, 53.656 + title={{Patterns for parallel programming}}, 53.657 + author={Mattson, T. and Sanders, B. and Massingill, B.}, 53.658 + year={2004}, 53.659 + publisher={Addison-Wesley Professional} 53.660 +} 53.661 + 53.662 + 53.663 +"Skillicorn Parallel Languages Survery book" 53.664 +@article{Skillicorn98, 53.665 + title={{Models and languages for parallel computation}}, 53.666 + author={Skillicorn, D.B. and Talia, D.}, 53.667 + journal={ACM Computing Surveys (CSUR)}, 53.668 + volume={30}, 53.669 + number={2}, 53.670 + pages={123--169}, 53.671 + year={1998} 53.672 +} 53.673 + 53.674 + 53.675 + 53.676 +"NESL language" 53.677 +@conference{Blelloch93NESL, 53.678 + title={{Implementation of a portable nested data-parallel language}}, 53.679 + author={Blelloch, G.E. and Hardwick, J.C. and Chatterjee, S. and Sipelstein, J. and Zagha, M.}, 53.680 + booktitle={Proceedings of the fourth ACM SIGPLAN symposium on Principles and practice of parallel programming}, 53.681 + pages={102--111}, 53.682 + year={1993}, 53.683 + organization={ACM New York, NY, USA} 53.684 +} 53.685 + 53.686 + 53.687 +"Sisal" 53.688 +@article{McgrawSisal, 53.689 + title={{SISAL: Streams and iteration in a single assignment language: Reference manual version 1.2}}, 53.690 + author={McGraw, J. and Skedzielewski, SK and Allan, SJ and Oldehoeft, RR and Glauert, J. and Kirkham, C. and Noyce, B. and Thomas, R.}, 53.691 + journal={Manual M-146, Rev}, 53.692 + volume={1} 53.693 +} 53.694 + 53.695 + 53.696 +"Linda" 53.697 +@article{Gelernter85Linda, 53.698 + title={{Generative communication in Linda}}, 53.699 + author={Gelernter, D.}, 53.700 + journal={ACM Transactions on Programming Languages and Systems (TOPLAS)}, 53.701 + volume={7}, 53.702 + number={1}, 53.703 + pages={80--112}, 53.704 + year={1985} 53.705 +} 53.706 + 53.707 + 53.708 +"ZPL" 53.709 +@article{Lin94ZPL, 53.710 + title={{ZPL: An array sublanguage}}, 53.711 + author={Lin, C. and Snyder, L.}, 53.712 + journal={Lecture Notes in Computer Science}, 53.713 + volume={768}, 53.714 + pages={96--114}, 53.715 + year={1994} 53.716 +} 53.717 + 53.718 + 53.719 + 53.720 + 53.721 +// Visual programming 53.722 +@article 53.723 + { baecker97, 53.724 + author = {Ron Baecker and Chris DiGiano and Aaron Marcus}, 53.725 + title = {Software visualization for debugging}, 53.726 + journal = {Communications of the ACM}, 53.727 + volume = {40}, 53.728 + number = {4}, 53.729 + year = {1997}, 53.730 + issn = {0001-0782}, 53.731 + pages = {44--54}, 53.732 + publisher = {ACM Press} 53.733 + } 53.734 + 53.735 + 53.736 +// Visual programming 53.737 +@article 53.738 + { ball96, 53.739 + author = {T. A. Ball and S. G. Eick}, 53.740 + title = {Software Visualization in the Large}, 53.741 + journal ={IEEE Computer}, 53.742 + volume = {29}, 53.743 + number = {4}, 53.744 + year = {1996}, 53.745 + month = {apr}, 53.746 + pages = {33--43} 53.747 + } 53.748 + 53.749 + 53.750 +// Milner references this, Chemical Abstract Machine 53.751 +@book 53.752 + {berry89, 53.753 + title={{The chemical abstract machine}}, 53.754 + author={Berry, G. and Boudol, G.}, 53.755 + year={1989}, 53.756 + publisher={ACM Press} 53.757 +} 53.758 + 53.759 + 53.760 +// Cilk reference 53.761 +@article 53.762 + {blumofe95, 53.763 + author = {Robert D. Blumofe and Christopher F. Joerg and Bradley C. Kuszmaul and Charles E. Leiserson and Keith H. Randall and Yuli Zhou}, 53.764 + title = {Cilk: an efficient multithreaded runtime system}, 53.765 + journal = {SIGPLAN Not.}, 53.766 + volume = {30}, 53.767 + number = {8}, 53.768 + year = {1995}, 53.769 + pages = {207--216} 53.770 + } 53.771 + 53.772 + 53.773 +// this has 1440 citations, so throwing it in.. 53.774 +// The complexity of symbolic checking of program correctness 53.775 +@article 53.776 + {burch90, 53.777 + title={{Symbolic model checking: 10^{20} states and beyond}}, 53.778 + author={Burch, JR and Clarke, EM and McMillan, KL and Dill, DL and Hwang, LJ}, 53.779 + journal={Logic in Computer Science, 1990. LICS'90, Proceedings}, 53.780 + pages={428--439}, 53.781 + year={1990} 53.782 +} 53.783 + 53.784 +@article 53.785 + {chamberlain98, 53.786 +author = {B. Chamberlain and S. Choi and E. Lewis and C. Lin and L. Snyder and W. Weathersby}, 53.787 +title = {ZPL's WYSIWYG Performance Model}, 53.788 +journal = {hips}, 53.789 +volume = {00}, 53.790 +year = {1998}, 53.791 +isbn = {0-8186-8412-7}, 53.792 +pages = {50} 53.793 +} 53.794 + 53.795 + 53.796 + 53.797 +// from http://libweb.princeton.edu/libraries/firestone/rbsc/aids/church/church1.html#1 53.798 +@article{church41, 53.799 + author={A. Church}, 53.800 + title={The Calculi of Lambda-Conversion}, 53.801 + journal={Annals of Mathematics Studies}, 53.802 + number={6}, 53.803 + year={1941}, 53.804 + publisher={Princeton University} 53.805 +} 53.806 + 53.807 + 53.808 +@misc 53.809 + { CodeTimeSite, 53.810 + author = {Sean Halle}, 53.811 + key = {CodeTime}, 53.812 + title = {Homepage for The CodeTime Parallel Software Platform}, 53.813 + note = {{\ttfamily http://codetime.sourceforge.net}} 53.814 + } 53.815 + 53.816 + 53.817 + 53.818 +@misc 53.819 + { CodeTimePlatform, 53.820 + author = {Sean Halle}, 53.821 + key = {CodeTime}, 53.822 + title = {The CodeTime Parallel Software Platform}, 53.823 + note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_Platform.pdf}} 53.824 + } 53.825 + 53.826 + 53.827 +@misc 53.828 + { CodeTimeVS, 53.829 + author = {Sean Halle}, 53.830 + key = {CodeTime}, 53.831 + title = {The Specification of the CodeTime Platform's Virtual Server}, 53.832 + note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_Virtual\_Server.pdf}} 53.833 + } 53.834 + 53.835 + 53.836 +@misc 53.837 + { CodeTimeOS, 53.838 + author = {Sean Halle}, 53.839 + key = {CodeTime}, 53.840 + title = {A Hardware Independent OS}, 53.841 + note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_OS.pdf}} 53.842 + } 53.843 + 53.844 + 53.845 +@misc 53.846 + { CodeTimeSem, 53.847 + author = {Sean Halle}, 53.848 + key = {CodeTime}, 53.849 + title = {The Big-Step Operational Semantics of the CodeTime Computational Model}, 53.850 + note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_Semantics.pdf}} 53.851 + } 53.852 + 53.853 + 53.854 +@misc 53.855 + { CodeTimeTh, 53.856 + author = {Sean Halle}, 53.857 + key = {CodeTime}, 53.858 + title = {A Mental Framework for Use in Creating Hardware-Independent Parallel Languages}, 53.859 + note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTiime\_Theoretical\_Framework.pdf}} 53.860 + } 53.861 + 53.862 + 53.863 +@misc 53.864 + { CodeTimeTh1, 53.865 + author = {Sean Halle}, 53.866 + key = {CodeTime}, 53.867 + title = {The CodeTime Parallel Software Platform}, 53.868 + note = {{\ttfamily http://codetime.sourceforge.net}} 53.869 + } 53.870 + 53.871 + 53.872 +@misc 53.873 + { CodeTimeTh2, 53.874 + author = {Sean Halle}, 53.875 + key = {CodeTime}, 53.876 + title = {The CodeTime Parallel Software Platform}, 53.877 + note = {{\ttfamily http://codetime.sourceforge.net}} 53.878 + } 53.879 + 53.880 + 53.881 +@misc 53.882 + { CodeTimeRT, 53.883 + author = {Sean Halle}, 53.884 + key = {CodeTime}, 53.885 + title = {The CodeTime Parallel Software Platform}, 53.886 + note = {{\ttfamily http://codetime.sourceforge.net}} 53.887 + } 53.888 + 53.889 + 53.890 +@misc 53.891 + { CodeTimeWebSite 53.892 + author = {Sean Halle}, 53.893 + key = {CodeTime}, 53.894 + title = {The CodeTime Parallel Software Platform}, 53.895 + note = {{\ttfamily http://codetime.sourceforge.net}} 53.896 + } 53.897 + 53.898 + 53.899 +@misc 53.900 + { CodeTimeBaCTiL, 53.901 + author = {Sean Halle}, 53.902 + key = {CodeTime}, 53.903 + title = {The Base CodeTime Language}, 53.904 + note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_BaCTiL.pdf}} 53.905 + } 53.906 + 53.907 +@misc 53.908 + { CodeTimeCert, 53.909 + author = {Sean Halle}, 53.910 + key = {CodeTime}, 53.911 + title = {The CodeTime Certification Strategy}, 53.912 + note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_Certification.pdf}} 53.913 + } 53.914 + 53.915 + 53.916 +// Multiple inheritance: explains issues well and references LOOPS and CLOS 53.917 +@inproceedings{ducournau94, 53.918 + author = {R. Ducournau and M. Habib and M. Huchard and M. L. Mugnier}, 53.919 + title = {Proposal for a monotonic multiple inheritance linearization}, 53.920 + booktitle = {OOPSLA '94: Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications}, 53.921 + year = {1994}, 53.922 + pages = {164--175}, 53.923 + publisher = {ACM Press} 53.924 +} 53.925 + 53.926 + 53.927 +// 252 Citations, shows equivalence of mu-calculus and (nondeterministic) tree automata, 53.928 +// so cited as foundation a lot 53.929 +@article{emerson91, 53.930 + title={{Tree automata, mu-calculus and determinacy}}, 53.931 + author={Emerson, EA and Jutla, CS}, 53.932 + journal={Proceedings of the 32nd Symposium on Foundations of Computer Science}, 53.933 + pages={368--377}, 53.934 + year={1991} 53.935 +} 53.936 + 53.937 + 53.938 +// Introducs PRAM model, at same time, in same conference as 53.939 +@article{fortune78, 53.940 + title={{Parallelism in random access machines}}, 53.941 + author={Fortune, S. and Wyllie, J.}, 53.942 + journal={STOC '78: Proceedings of the tenth annual ACM symposium on Theory of computing}, 53.943 + pages={114--118}, 53.944 + year={1978}, 53.945 + publisher={ACM Press New York, NY, USA} 53.946 +} 53.947 + 53.948 + 53.949 + 53.950 +// Smalltalk reference 53.951 +@book{goldberg83, 53.952 + title={{Smalltalk-80: the language and its implementation}}, 53.953 + author={Goldberg, A. and Robson, D.}, 53.954 + year={1983}, 53.955 + publisher={Addison-Wesley} 53.956 +} 53.957 + 53.958 + 53.959 +// also introduces PRAM model, apparently independently 53.960 +@inproceedings{goldschlager78, 53.961 + author = {Leslie M. Goldschlager}, 53.962 + title = {A unified approach to models of synchronous parallel machines}, 53.963 + booktitle = {STOC '78: Proceedings of the tenth annual ACM symposium on Theory of computing}, 53.964 + year = {1978}, 53.965 + pages = {89--94}, 53.966 + location = {San Diego, California, United States}, 53.967 + doi = {http://doi.acm.org/10.1145/800133.804336}, 53.968 + publisher = {ACM Press}, 53.969 +} 53.970 + 53.971 + 53.972 +// Java spec 53.973 +@book 53.974 + { gosling96, 53.975 + author = {J. Gosling and B. Joy and G. Steele and G. Bracha}, 53.976 + title = {The Java Language Specification}, 53.977 + publisher = {Addison-Wesley}, 53.978 + year = {1996} 53.979 + } 53.980 + 53.981 + 53.982 +// Survey of prototyping parallel apps 53.983 +@article{hasselbring00, 53.984 + author = {Wilhelm Hasselbring}, 53.985 + title = {Programming languages and systems for prototyping concurrent applications}, 53.986 + journal = {ACM Comput. Surv.}, 53.987 + volume = {32}, 53.988 + number = {1}, 53.989 + year = {2000}, 53.990 + issn = {0360-0300}, 53.991 + pages = {43--79}, 53.992 + doi = {http://doi.acm.org/10.1145/349194.349199}, 53.993 + publisher = {ACM Press}, 53.994 + address = {New York, NY, USA}, 53.995 + } 53.996 + 53.997 + 53.998 +// Original CSP paper 53.999 +@article{hoare78, 53.1000 + author={C. A. R. Hoare}, 53.1001 + title={Communicating Sequential Processes}, 53.1002 + journal={Communications of the ACM}, 53.1003 + year={1978}, 53.1004 + volume={21}, 53.1005 + number={8}, 53.1006 + pages={666-677} 53.1007 +} 53.1008 + 53.1009 + 53.1010 +// 8 citations.. probably from self.. want a paper that ties areas together.. 53.1011 +// This paper does a beautiful job.. 53.1012 +@article{huth, 53.1013 + title={{A Unifying Framework for Model Checking Labeled Kripke Structures, Modal Transition Systems, and Interval Transition Systems}}, 53.1014 + author={Huth, M.}, 53.1015 + journal={Proceedings of the 19th International Conference on the Foundations of Software Technology \& Theoretical Computer Science, Lecture Notes in Computer Science}, 53.1016 + pages={369--380}, 53.1017 + publisher={Springer-Verlag} 53.1018 +} 53.1019 + 53.1020 + 53.1021 +// Dataflow advances survey, includes large grain dataflow 53.1022 +@article 53.1023 + { johnston04, 53.1024 + author = {Wesley M. Johnston and J. R. Paul Hanna and Richard J. Millar}, 53.1025 + title = {Advances in dataflow programming languages}, 53.1026 + journal = {ACM Comput. Surv.}, 53.1027 + volume = {36}, 53.1028 + number = {1}, 53.1029 + year = {2004}, 53.1030 + issn = {0360-0300}, 53.1031 + pages = {1--34}, 53.1032 + doi = {http://doi.acm.org/10.1145/1013208.1013209}, 53.1033 + publisher = {ACM Press}, 53.1034 + address = {New York, NY, USA} 53.1035 + } 53.1036 + 53.1037 + 53.1038 +@book 53.1039 + { koelbel93, 53.1040 + author = {C. H. Koelbel and D. Loveman and R. Schreiber and G. Steele Jr}, 53.1041 + title = {High Performance Fortran Handbook}, 53.1042 + year = {1993}, 53.1043 + publisher = {MIT Press} 53.1044 + } 53.1045 + 53.1046 + 53.1047 +// mu calculus paper with 430 citations 53.1048 +@article{kozen83, 53.1049 + title={{Results on the Propositional mu-Calculus}}, 53.1050 + author={Kozen, D.}, 53.1051 + journal={TCS}, 53.1052 + volume={27}, 53.1053 + pages={333--354}, 53.1054 + year={1983} 53.1055 +} 53.1056 + 53.1057 + 53.1058 +// original kripke structure paper 53.1059 +@article{kripke63, 53.1060 + title={{Semantical analysis of modal logic}}, 53.1061 + author={Kripke, S.}, 53.1062 + journal={Zeitschrift fur Mathematische Logik und Grundlagen der Mathematik}, 53.1063 + volume={9}, 53.1064 + pages={67--96}, 53.1065 + year={1963} 53.1066 +} 53.1067 + 53.1068 + 53.1069 +@book 53.1070 + { mcGraw85, 53.1071 + author = {J McGraw and S. Skedzielewski and S. Allan and R Odefoeft}, 53.1072 + title = {SISAL: Streams and Iteration in a Single-Assignment Language: Reference Manual Version 1.2}, 53.1073 + note = {Manual M-146 Rev. 1}, 53.1074 + publisher = {Lawrence Livermore National Laboratory}, 53.1075 + year = {1985} 53.1076 + } 53.1077 + 53.1078 + 53.1079 +// Milner's own citation to development of CCS 53.1080 +@book{milner80, 53.1081 + title={{A Calculus of Communicating Systems, volume 92 of Lecture Notes in Computer Science}}, 53.1082 + author={Milner, R.}, 53.1083 + year={1980}, 53.1084 + publisher={Springer-Verlag} 53.1085 +} 53.1086 + 53.1087 + 53.1088 +// Milner's own pi-calculus reference 53.1089 +@article{milner92, 53.1090 + title={{A calculus of mobile processes, parts I and II}}, 53.1091 + author={Milner, R. and Parrow, J. and Walker, D.}, 53.1092 + journal={Information and Computation}, 53.1093 + volume={100}, 53.1094 + number={1}, 53.1095 + pages={1--40 and 41--77}, 53.1096 + year={1992}, 53.1097 + publisher={Academic Press} 53.1098 +} 53.1099 + 53.1100 + 53.1101 +// more recent Pi calculus reference 53.1102 +@book 53.1103 + { milner99, 53.1104 + author = {Robin Milner}, 53.1105 + title = {Communicating and Mobile Systems: The pi-Calculus}, 53.1106 + publisher = {Cambridge University Press}, 53.1107 + year = {1999} 53.1108 + } 53.1109 + 53.1110 + 53.1111 +// MPI reference 53.1112 +@book 53.1113 + { MPIForum94, 53.1114 + author = {M. P. I. Forum}, 53.1115 + title = {MPI: A Message-Passing Interface Standard}, 53.1116 + year = {1994} 53.1117 + } 53.1118 + 53.1119 + 53.1120 +// Petri nets original citation 53.1121 +@article{petri62, 53.1122 + title={{Fundamentals of a theory of asynchronous information flow}}, 53.1123 + author={Petri, C.A.}, 53.1124 + journal={Proc. IFIP Congress}, 53.1125 + volume={62}, 53.1126 + pages={386--390}, 53.1127 + year={1962} 53.1128 +} 53.1129 + 53.1130 + 53.1131 +// Pierce Type system book 53.1132 +@book{pierce02, 53.1133 + title={Types and Programming Languages}, 53.1134 + author={Pierce, B. C.}, 53.1135 + year={2002}, 53.1136 + publisher={MIT Press} 53.1137 +} 53.1138 + 53.1139 + 53.1140 +// Survey of Visual programming 53.1141 +@Article 53.1142 + { price, 53.1143 + author = {B. A. Price and R. M. Baecker and L. S. Small}, 53.1144 + title = {A Principled Taxonomy of Software Visualization}, 53.1145 + journal ={Journal of Visual Languages and Computing}, 53.1146 + volume = {4}, 53.1147 + number = {3}, 53.1148 + pages = {211--266} 53.1149 + } 53.1150 + 53.1151 + 53.1152 + 53.1153 +@misc 53.1154 + { pythonWebSite, 53.1155 + key = {Python}, 53.1156 + title = {The Python Software Foundation Mission Statement}, 53.1157 + note = {{\ttfamily http://www.python.org/psf/mission.html}} 53.1158 + } 53.1159 + 53.1160 + 53.1161 +// Roadmap for Revitalization of High End Computing 53.1162 +@unpublished 53.1163 + { reed03, 53.1164 + editor = {Daniel A. Reed}, 53.1165 + title = {Workshop on The Roadmap for the Revitalization of High-End Computing}, 53.1166 + day = {16--18}, 53.1167 + month = {jun}, 53.1168 + year = {2003}, 53.1169 + note = {Available at {\ttfamily http://www.cra.org/reports/supercomputing.web.pdf}} 53.1170 + } 53.1171 + 53.1172 + 53.1173 +// Parallel Pascal 53.1174 +@Article 53.1175 + { reeves84, 53.1176 + author = {A. P. Reeves}, 53.1177 + title = {Parallel Pascal -- An Extended Pascal for Parallel Computers}, 53.1178 + journal = {Journal of Parallel and Distributed Computing}, 53.1179 + volume = {1}, 53.1180 + number = {}, 53.1181 + year = {1984}, 53.1182 + month = {aug}, 53.1183 + pages = {64--80} 53.1184 + } 53.1185 + 53.1186 + 53.1187 +// Survey of parallel langs and models 53.1188 +@article{skillicorn98, 53.1189 + author = {David B. Skillicorn and Domenico Talia}, 53.1190 + title = {Models and languages for parallel computation}, 53.1191 + journal = {ACM Comput. Surv.}, 53.1192 + volume = {30}, 53.1193 + number = {2}, 53.1194 + year = {1998}, 53.1195 + issn = {0360-0300}, 53.1196 + pages = {123--169}, 53.1197 + doi = {http://doi.acm.org/10.1145/280277.280278}, 53.1198 + publisher = {ACM Press}, 53.1199 + address = {New York, NY, USA}, 53.1200 + } 53.1201 + 53.1202 + 53.1203 +// LOOPS ref for multiple inheritance issues 53.1204 +@article{stefik86, 53.1205 + title={Object Oriented Programming: Themes and Variations}, 53.1206 + author={Stefik, M. and Bobrow, D. G.}, 53.1207 + journal={The AI Magazine}, 53.1208 + volume={6}, 53.1209 + number={4}, 53.1210 + year={1986} 53.1211 +} 53.1212 + 53.1213 + 53.1214 +// 240 citations to this book, so seems safe.. covers modal logics which is superset 53.1215 +// of temporal logics 53.1216 +@book{stirling92, 53.1217 + title={{Modal and Temporal Logics}}, 53.1218 + author={Stirling, C.}, 53.1219 + year={1992}, 53.1220 + publisher={University of Edinburgh, Department of Computer Science} 53.1221 +} 53.1222 + 53.1223 + 53.1224 +// Titanium website 53.1225 +@misc 53.1226 + { TitaniumWebSite, 53.1227 + author = {Paul Hilfinger and et. al.}, 53.1228 + title = {The Titanium Project Home Page}, 53.1229 + note = {{\ttfamily http://www.cs.berkeley.edu/projects/titanium}} 53.1230 + } 53.1231 + 53.1232 + 53.1233 +// website with scans of original work by Turing 53.1234 +@misc{turing38, 53.1235 + author={A. Turing}, 53.1236 + note={http://www.turingarchive.org/intro/, and 53.1237 +http://www.turing.org.uk/sources/biblio4.html, and 53.1238 +http://web.comlab.ox.ac.uk/oucl/research/areas/ieg/e-library/sources/tp2-ie.pdf}, 53.1239 + year={1938} 53.1240 +} 53.1241 + 53.1242 + 53.1243 +// First mention of von Neumann's architecture ideas 53.1244 +@book{vonNeumann45, 53.1245 + title={First Draft of a Report on the EDVAC}, 53.1246 + author={J. von Neumann}, 53.1247 + year={1945}, 53.1248 + publisher={United States Army Ordnance Department} 53.1249 +} 53.1250 + 53.1251 + 53.1252 +// The 203 Glynn Winskel book for Formal Semantics 53.1253 +@book{winskel93, 53.1254 + title={{The Formal Semantics of Programming Languages}}, 53.1255 + author={Winskel, G.}, 53.1256 + year={1993}, 53.1257 + publisher={MIT Press} 53.1258 +} 53.1259 + 53.1260 +
54.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 54.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/helpers/plain.bst Fri Sep 13 11:02:18 2013 -0700 54.3 @@ -0,0 +1,1098 @@ 54.4 +% BibTeX standard bibliography style `plain' 54.5 + % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09. 54.6 + % Copyright (C) 1985, all rights reserved. 54.7 + % Copying of this file is authorized only if either 54.8 + % (1) you make absolutely no changes to your copy, including name, or 54.9 + % (2) if you do make changes, you name it something other than 54.10 + % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst. 54.11 + % This restriction helps ensure that all standard styles are identical. 54.12 + % The file btxbst.doc has the documentation for this style. 54.13 + 54.14 +ENTRY 54.15 + { address 54.16 + author 54.17 + booktitle 54.18 + chapter 54.19 + edition 54.20 + editor 54.21 + howpublished 54.22 + institution 54.23 + journal 54.24 + key 54.25 + month 54.26 + note 54.27 + number 54.28 + organization 54.29 + pages 54.30 + publisher 54.31 + school 54.32 + series 54.33 + title 54.34 + type 54.35 + volume 54.36 + year 54.37 + } 54.38 + {} 54.39 + { label } 54.40 + 54.41 +INTEGERS { output.state before.all mid.sentence after.sentence after.block } 54.42 + 54.43 +FUNCTION {init.state.consts} 54.44 +{ #0 'before.all := 54.45 + #1 'mid.sentence := 54.46 + #2 'after.sentence := 54.47 + #3 'after.block := 54.48 +} 54.49 + 54.50 +STRINGS { s t } 54.51 + 54.52 +FUNCTION {output.nonnull} 54.53 +{ 's := 54.54 + output.state mid.sentence = 54.55 + { ", " * write$ } 54.56 + { output.state after.block = 54.57 + { add.period$ write$ 54.58 + newline$ 54.59 + "\newblock " write$ 54.60 + } 54.61 + { output.state before.all = 54.62 + 'write$ 54.63 + { add.period$ " " * write$ } 54.64 + if$ 54.65 + } 54.66 + if$ 54.67 + mid.sentence 'output.state := 54.68 + } 54.69 + if$ 54.70 + s 54.71 +} 54.72 + 54.73 +FUNCTION {output} 54.74 +{ duplicate$ empty$ 54.75 + 'pop$ 54.76 + 'output.nonnull 54.77 + if$ 54.78 +} 54.79 + 54.80 +FUNCTION {output.check} 54.81 +{ 't := 54.82 + duplicate$ empty$ 54.83 + { pop$ "empty " t * " in " * cite$ * warning$ } 54.84 + 'output.nonnull 54.85 + if$ 54.86 +} 54.87 + 54.88 +FUNCTION {output.bibitem} 54.89 +{ newline$ 54.90 + "\bibitem{" write$ 54.91 + cite$ write$ 54.92 + "}" write$ 54.93 + newline$ 54.94 + "" 54.95 + before.all 'output.state := 54.96 +} 54.97 + 54.98 +FUNCTION {fin.entry} 54.99 +{ add.period$ 54.100 + write$ 54.101 + newline$ 54.102 +} 54.103 + 54.104 +FUNCTION {new.block} 54.105 +{ output.state before.all = 54.106 + 'skip$ 54.107 + { after.block 'output.state := } 54.108 + if$ 54.109 +} 54.110 + 54.111 +FUNCTION {new.sentence} 54.112 +{ output.state after.block = 54.113 + 'skip$ 54.114 + { output.state before.all = 54.115 + 'skip$ 54.116 + { after.sentence 'output.state := } 54.117 + if$ 54.118 + } 54.119 + if$ 54.120 +} 54.121 + 54.122 +FUNCTION {not} 54.123 +{ { #0 } 54.124 + { #1 } 54.125 + if$ 54.126 +} 54.127 + 54.128 +FUNCTION {and} 54.129 +{ 'skip$ 54.130 + { pop$ #0 } 54.131 + if$ 54.132 +} 54.133 + 54.134 +FUNCTION {or} 54.135 +{ { pop$ #1 } 54.136 + 'skip$ 54.137 + if$ 54.138 +} 54.139 + 54.140 +FUNCTION {new.block.checka} 54.141 +{ empty$ 54.142 + 'skip$ 54.143 + 'new.block 54.144 + if$ 54.145 +} 54.146 + 54.147 +FUNCTION {new.block.checkb} 54.148 +{ empty$ 54.149 + swap$ empty$ 54.150 + and 54.151 + 'skip$ 54.152 + 'new.block 54.153 + if$ 54.154 +} 54.155 + 54.156 +FUNCTION {new.sentence.checka} 54.157 +{ empty$ 54.158 + 'skip$ 54.159 + 'new.sentence 54.160 + if$ 54.161 +} 54.162 + 54.163 +FUNCTION {new.sentence.checkb} 54.164 +{ empty$ 54.165 + swap$ empty$ 54.166 + and 54.167 + 'skip$ 54.168 + 'new.sentence 54.169 + if$ 54.170 +} 54.171 + 54.172 +FUNCTION {field.or.null} 54.173 +{ duplicate$ empty$ 54.174 + { pop$ "" } 54.175 + 'skip$ 54.176 + if$ 54.177 +} 54.178 + 54.179 +FUNCTION {emphasize} 54.180 +{ duplicate$ empty$ 54.181 + { pop$ "" } 54.182 + { "{\em " swap$ * "}" * } 54.183 + if$ 54.184 +} 54.185 + 54.186 +INTEGERS { nameptr namesleft numnames } 54.187 + 54.188 +FUNCTION {format.names} 54.189 +{ 's := 54.190 + #1 'nameptr := 54.191 + s num.names$ 'numnames := 54.192 + numnames 'namesleft := 54.193 + { namesleft #0 > } 54.194 + { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't := 54.195 + nameptr #1 > 54.196 + { namesleft #1 > 54.197 + { ", " * t * } 54.198 + { numnames #2 > 54.199 + { "," * } 54.200 + 'skip$ 54.201 + if$ 54.202 + t "others" = 54.203 + { " et~al." * } 54.204 + { " and " * t * } 54.205 + if$ 54.206 + } 54.207 + if$ 54.208 + } 54.209 + 't 54.210 + if$ 54.211 + nameptr #1 + 'nameptr := 54.212 + namesleft #1 - 'namesleft := 54.213 + } 54.214 + while$ 54.215 +} 54.216 + 54.217 +FUNCTION {format.authors} 54.218 +{ author empty$ 54.219 + { "" } 54.220 + { author format.names } 54.221 + if$ 54.222 +} 54.223 + 54.224 +FUNCTION {format.editors} 54.225 +{ editor empty$ 54.226 + { "" } 54.227 + { editor format.names 54.228 + editor num.names$ #1 > 54.229 + { ", editors" * } 54.230 + { ", editor" * } 54.231 + if$ 54.232 + } 54.233 + if$ 54.234 +} 54.235 + 54.236 +FUNCTION {format.title} 54.237 +{ title empty$ 54.238 + { "" } 54.239 + { title "t" change.case$ } 54.240 + if$ 54.241 +} 54.242 + 54.243 +FUNCTION {n.dashify} 54.244 +{ 't := 54.245 + "" 54.246 + { t empty$ not } 54.247 + { t #1 #1 substring$ "-" = 54.248 + { t #1 #2 substring$ "--" = not 54.249 + { "--" * 54.250 + t #2 global.max$ substring$ 't := 54.251 + } 54.252 + { { t #1 #1 substring$ "-" = } 54.253 + { "-" * 54.254 + t #2 global.max$ substring$ 't := 54.255 + } 54.256 + while$ 54.257 + } 54.258 + if$ 54.259 + } 54.260 + { t #1 #1 substring$ * 54.261 + t #2 global.max$ substring$ 't := 54.262 + } 54.263 + if$ 54.264 + } 54.265 + while$ 54.266 +} 54.267 + 54.268 +FUNCTION {format.date} 54.269 +{ year empty$ 54.270 + { month empty$ 54.271 + { "" } 54.272 + { "there's a month but no year in " cite$ * warning$ 54.273 + month 54.274 + } 54.275 + if$ 54.276 + } 54.277 + { month empty$ 54.278 + 'year 54.279 + { month " " * year * } 54.280 + if$ 54.281 + } 54.282 + if$ 54.283 +} 54.284 + 54.285 +FUNCTION {format.btitle} 54.286 +{ title emphasize 54.287 +} 54.288 + 54.289 +FUNCTION {tie.or.space.connect} 54.290 +{ duplicate$ text.length$ #3 < 54.291 + { "~" } 54.292 + { " " } 54.293 + if$ 54.294 + swap$ * * 54.295 +} 54.296 + 54.297 +FUNCTION {either.or.check} 54.298 +{ empty$ 54.299 + 'pop$ 54.300 + { "can't use both " swap$ * " fields in " * cite$ * warning$ } 54.301 + if$ 54.302 +} 54.303 + 54.304 +FUNCTION {format.bvolume} 54.305 +{ volume empty$ 54.306 + { "" } 54.307 + { "volume" volume tie.or.space.connect 54.308 + series empty$ 54.309 + 'skip$ 54.310 + { " of " * series emphasize * } 54.311 + if$ 54.312 + "volume and number" number either.or.check 54.313 + } 54.314 + if$ 54.315 +} 54.316 + 54.317 +FUNCTION {format.number.series} 54.318 +{ volume empty$ 54.319 + { number empty$ 54.320 + { series field.or.null } 54.321 + { output.state mid.sentence = 54.322 + { "number" } 54.323 + { "Number" } 54.324 + if$ 54.325 + number tie.or.space.connect 54.326 + series empty$ 54.327 + { "there's a number but no series in " cite$ * warning$ } 54.328 + { " in " * series * } 54.329 + if$ 54.330 + } 54.331 + if$ 54.332 + } 54.333 + { "" } 54.334 + if$ 54.335 +} 54.336 + 54.337 +FUNCTION {format.edition} 54.338 +{ edition empty$ 54.339 + { "" } 54.340 + { output.state mid.sentence = 54.341 + { edition "l" change.case$ " edition" * } 54.342 + { edition "t" change.case$ " edition" * } 54.343 + if$ 54.344 + } 54.345 + if$ 54.346 +} 54.347 + 54.348 +INTEGERS { multiresult } 54.349 + 54.350 +FUNCTION {multi.page.check} 54.351 +{ 't := 54.352 + #0 'multiresult := 54.353 + { multiresult not 54.354 + t empty$ not 54.355 + and 54.356 + } 54.357 + { t #1 #1 substring$ 54.358 + duplicate$ "-" = 54.359 + swap$ duplicate$ "," = 54.360 + swap$ "+" = 54.361 + or or 54.362 + { #1 'multiresult := } 54.363 + { t #2 global.max$ substring$ 't := } 54.364 + if$ 54.365 + } 54.366 + while$ 54.367 + multiresult 54.368 +} 54.369 + 54.370 +FUNCTION {format.pages} 54.371 +{ pages empty$ 54.372 + { "" } 54.373 + { pages multi.page.check 54.374 + { "pages" pages n.dashify tie.or.space.connect } 54.375 + { "page" pages tie.or.space.connect } 54.376 + if$ 54.377 + } 54.378 + if$ 54.379 +} 54.380 + 54.381 +FUNCTION {format.vol.num.pages} 54.382 +{ volume field.or.null 54.383 + number empty$ 54.384 + 'skip$ 54.385 + { "(" number * ")" * * 54.386 + volume empty$ 54.387 + { "there's a number but no volume in " cite$ * warning$ } 54.388 + 'skip$ 54.389 + if$ 54.390 + } 54.391 + if$ 54.392 + pages empty$ 54.393 + 'skip$ 54.394 + { duplicate$ empty$ 54.395 + { pop$ format.pages } 54.396 + { ":" * pages n.dashify * } 54.397 + if$ 54.398 + } 54.399 + if$ 54.400 +} 54.401 + 54.402 +FUNCTION {format.chapter.pages} 54.403 +{ chapter empty$ 54.404 + 'format.pages 54.405 + { type empty$ 54.406 + { "chapter" } 54.407 + { type "l" change.case$ } 54.408 + if$ 54.409 + chapter tie.or.space.connect 54.410 + pages empty$ 54.411 + 'skip$ 54.412 + { ", " * format.pages * } 54.413 + if$ 54.414 + } 54.415 + if$ 54.416 +} 54.417 + 54.418 +FUNCTION {format.in.ed.booktitle} 54.419 +{ booktitle empty$ 54.420 + { "" } 54.421 + { editor empty$ 54.422 + { "In " booktitle emphasize * } 54.423 + { "In " format.editors * ", " * booktitle emphasize * } 54.424 + if$ 54.425 + } 54.426 + if$ 54.427 +} 54.428 + 54.429 +FUNCTION {empty.misc.check} 54.430 +{ author empty$ title empty$ howpublished empty$ 54.431 + month empty$ year empty$ note empty$ 54.432 + and and and and and 54.433 + key empty$ not and 54.434 + { "all relevant fields are empty in " cite$ * warning$ } 54.435 + 'skip$ 54.436 + if$ 54.437 +} 54.438 + 54.439 +FUNCTION {format.thesis.type} 54.440 +{ type empty$ 54.441 + 'skip$ 54.442 + { pop$ 54.443 + type "t" change.case$ 54.444 + } 54.445 + if$ 54.446 +} 54.447 + 54.448 +FUNCTION {format.tr.number} 54.449 +{ type empty$ 54.450 + { "Technical Report" } 54.451 + 'type 54.452 + if$ 54.453 + number empty$ 54.454 + { "t" change.case$ } 54.455 + { number tie.or.space.connect } 54.456 + if$ 54.457 +} 54.458 + 54.459 +FUNCTION {format.article.crossref} 54.460 +{ key empty$ 54.461 + { journal empty$ 54.462 + { "need key or journal for " cite$ * " to crossref " * crossref * 54.463 + warning$ 54.464 + "" 54.465 + } 54.466 + { "In {\em " journal * "\/}" * } 54.467 + if$ 54.468 + } 54.469 + { "In " key * } 54.470 + if$ 54.471 + " \cite{" * crossref * "}" * 54.472 +} 54.473 + 54.474 +FUNCTION {format.crossref.editor} 54.475 +{ editor #1 "{vv~}{ll}" format.name$ 54.476 + editor num.names$ duplicate$ 54.477 + #2 > 54.478 + { pop$ " et~al." * } 54.479 + { #2 < 54.480 + 'skip$ 54.481 + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = 54.482 + { " et~al." * } 54.483 + { " and " * editor #2 "{vv~}{ll}" format.name$ * } 54.484 + if$ 54.485 + } 54.486 + if$ 54.487 + } 54.488 + if$ 54.489 +} 54.490 + 54.491 +FUNCTION {format.book.crossref} 54.492 +{ volume empty$ 54.493 + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ 54.494 + "In " 54.495 + } 54.496 + { "Volume" volume tie.or.space.connect 54.497 + " of " * 54.498 + } 54.499 + if$ 54.500 + editor empty$ 54.501 + editor field.or.null author field.or.null = 54.502 + or 54.503 + { key empty$ 54.504 + { series empty$ 54.505 + { "need editor, key, or series for " cite$ * " to crossref " * 54.506 + crossref * warning$ 54.507 + "" * 54.508 + } 54.509 + { "{\em " * series * "\/}" * } 54.510 + if$ 54.511 + } 54.512 + { key * } 54.513 + if$ 54.514 + } 54.515 + { format.crossref.editor * } 54.516 + if$ 54.517 + " \cite{" * crossref * "}" * 54.518 +} 54.519 + 54.520 +FUNCTION {format.incoll.inproc.crossref} 54.521 +{ editor empty$ 54.522 + editor field.or.null author field.or.null = 54.523 + or 54.524 + { key empty$ 54.525 + { booktitle empty$ 54.526 + { "need editor, key, or booktitle for " cite$ * " to crossref " * 54.527 + crossref * warning$ 54.528 + "" 54.529 + } 54.530 + { "In {\em " booktitle * "\/}" * } 54.531 + if$ 54.532 + } 54.533 + { "In " key * } 54.534 + if$ 54.535 + } 54.536 + { "In " format.crossref.editor * } 54.537 + if$ 54.538 + " \cite{" * crossref * "}" * 54.539 +} 54.540 + 54.541 +FUNCTION {article} 54.542 +{ output.bibitem 54.543 + format.authors "author" output.check 54.544 + new.block 54.545 + format.title "title" output.check 54.546 + new.block 54.547 + crossref missing$ 54.548 + { journal emphasize "journal" output.check 54.549 + format.vol.num.pages output 54.550 + format.date "year" output.check 54.551 + } 54.552 + { format.article.crossref output.nonnull 54.553 + format.pages output 54.554 + } 54.555 + if$ 54.556 + new.block 54.557 + note output 54.558 + fin.entry 54.559 +} 54.560 + 54.561 +FUNCTION {book} 54.562 +{ output.bibitem 54.563 + author empty$ 54.564 + { format.editors "author and editor" output.check } 54.565 + { format.authors output.nonnull 54.566 + crossref missing$ 54.567 + { "author and editor" editor either.or.check } 54.568 + 'skip$ 54.569 + if$ 54.570 + } 54.571 + if$ 54.572 + new.block 54.573 + format.btitle "title" output.check 54.574 + crossref missing$ 54.575 + { format.bvolume output 54.576 + new.block 54.577 + format.number.series output 54.578 + new.sentence 54.579 + publisher "publisher" output.check 54.580 + address output 54.581 + } 54.582 + { new.block 54.583 + format.book.crossref output.nonnull 54.584 + } 54.585 + if$ 54.586 + format.edition output 54.587 + format.date "year" output.check 54.588 + new.block 54.589 + note output 54.590 + fin.entry 54.591 +} 54.592 + 54.593 +FUNCTION {booklet} 54.594 +{ output.bibitem 54.595 + format.authors output 54.596 + new.block 54.597 + format.title "title" output.check 54.598 + howpublished address new.block.checkb 54.599 + howpublished output 54.600 + address output 54.601 + format.date output 54.602 + new.block 54.603 + note output 54.604 + fin.entry 54.605 +} 54.606 + 54.607 +FUNCTION {inbook} 54.608 +{ output.bibitem 54.609 + author empty$ 54.610 + { format.editors "author and editor" output.check } 54.611 + { format.authors output.nonnull 54.612 + crossref missing$ 54.613 + { "author and editor" editor either.or.check } 54.614 + 'skip$ 54.615 + if$ 54.616 + } 54.617 + if$ 54.618 + new.block 54.619 + format.btitle "title" output.check 54.620 + crossref missing$ 54.621 + { format.bvolume output 54.622 + format.chapter.pages "chapter and pages" output.check 54.623 + new.block 54.624 + format.number.series output 54.625 + new.sentence 54.626 + publisher "publisher" output.check 54.627 + address output 54.628 + } 54.629 + { format.chapter.pages "chapter and pages" output.check 54.630 + new.block 54.631 + format.book.crossref output.nonnull 54.632 + } 54.633 + if$ 54.634 + format.edition output 54.635 + format.date "year" output.check 54.636 + new.block 54.637 + note output 54.638 + fin.entry 54.639 +} 54.640 + 54.641 +FUNCTION {incollection} 54.642 +{ output.bibitem 54.643 + format.authors "author" output.check 54.644 + new.block 54.645 + format.title "title" output.check 54.646 + new.block 54.647 + crossref missing$ 54.648 + { format.in.ed.booktitle "booktitle" output.check 54.649 + format.bvolume output 54.650 + format.number.series output 54.651 + format.chapter.pages output 54.652 + new.sentence 54.653 + publisher "publisher" output.check 54.654 + address output 54.655 + format.edition output 54.656 + format.date "year" output.check 54.657 + } 54.658 + { format.incoll.inproc.crossref output.nonnull 54.659 + format.chapter.pages output 54.660 + } 54.661 + if$ 54.662 + new.block 54.663 + note output 54.664 + fin.entry 54.665 +} 54.666 + 54.667 +FUNCTION {inproceedings} 54.668 +{ output.bibitem 54.669 + format.authors "author" output.check 54.670 + new.block 54.671 + format.title "title" output.check 54.672 + new.block 54.673 + crossref missing$ 54.674 + { format.in.ed.booktitle "booktitle" output.check 54.675 + format.bvolume output 54.676 + format.number.series output 54.677 + format.pages output 54.678 + address empty$ 54.679 + { organization publisher new.sentence.checkb 54.680 + organization output 54.681 + publisher output 54.682 + format.date "year" output.check 54.683 + } 54.684 + { address output.nonnull 54.685 + format.date "year" output.check 54.686 + new.sentence 54.687 + organization output 54.688 + publisher output 54.689 + } 54.690 + if$ 54.691 + } 54.692 + { format.incoll.inproc.crossref output.nonnull 54.693 + format.pages output 54.694 + } 54.695 + if$ 54.696 + new.block 54.697 + note output 54.698 + fin.entry 54.699 +} 54.700 + 54.701 +FUNCTION {conference} { inproceedings } 54.702 + 54.703 +FUNCTION {manual} 54.704 +{ output.bibitem 54.705 + author empty$ 54.706 + { organization empty$ 54.707 + 'skip$ 54.708 + { organization output.nonnull 54.709 + address output 54.710 + } 54.711 + if$ 54.712 + } 54.713 + { format.authors output.nonnull } 54.714 + if$ 54.715 + new.block 54.716 + format.btitle "title" output.check 54.717 + author empty$ 54.718 + { organization empty$ 54.719 + { address new.block.checka 54.720 + address output 54.721 + } 54.722 + 'skip$ 54.723 + if$ 54.724 + } 54.725 + { organization address new.block.checkb 54.726 + organization output 54.727 + address output 54.728 + } 54.729 + if$ 54.730 + format.edition output 54.731 + format.date output 54.732 + new.block 54.733 + note output 54.734 + fin.entry 54.735 +} 54.736 + 54.737 +FUNCTION {mastersthesis} 54.738 +{ output.bibitem 54.739 + format.authors "author" output.check 54.740 + new.block 54.741 + format.title "title" output.check 54.742 + new.block 54.743 + "Master's thesis" format.thesis.type output.nonnull 54.744 + school "school" output.check 54.745 + address output 54.746 + format.date "year" output.check 54.747 + new.block 54.748 + note output 54.749 + fin.entry 54.750 +} 54.751 + 54.752 +FUNCTION {misc} 54.753 +{ output.bibitem 54.754 + format.authors output 54.755 + title howpublished new.block.checkb 54.756 + format.title output 54.757 + howpublished new.block.checka 54.758 + howpublished output 54.759 + format.date output 54.760 + new.block 54.761 + note output 54.762 + fin.entry 54.763 + empty.misc.check 54.764 +} 54.765 + 54.766 +FUNCTION {phdthesis} 54.767 +{ output.bibitem 54.768 + format.authors "author" output.check 54.769 + new.block 54.770 + format.btitle "title" output.check 54.771 + new.block 54.772 + "PhD thesis" format.thesis.type output.nonnull 54.773 + school "school" output.check 54.774 + address output 54.775 + format.date "year" output.check 54.776 + new.block 54.777 + note output 54.778 + fin.entry 54.779 +} 54.780 + 54.781 +FUNCTION {proceedings} 54.782 +{ output.bibitem 54.783 + editor empty$ 54.784 + { organization output } 54.785 + { format.editors output.nonnull } 54.786 + if$ 54.787 + new.block 54.788 + format.btitle "title" output.check 54.789 + format.bvolume output 54.790 + format.number.series output 54.791 + address empty$ 54.792 + { editor empty$ 54.793 + { publisher new.sentence.checka } 54.794 + { organization publisher new.sentence.checkb 54.795 + organization output 54.796 + } 54.797 + if$ 54.798 + publisher output 54.799 + format.date "year" output.check 54.800 + } 54.801 + { address output.nonnull 54.802 + format.date "year" output.check 54.803 + new.sentence 54.804 + editor empty$ 54.805 + 'skip$ 54.806 + { organization output } 54.807 + if$ 54.808 + publisher output 54.809 + } 54.810 + if$ 54.811 + new.block 54.812 + note output 54.813 + fin.entry 54.814 +} 54.815 + 54.816 +FUNCTION {techreport} 54.817 +{ output.bibitem 54.818 + format.authors "author" output.check 54.819 + new.block 54.820 + format.title "title" output.check 54.821 + new.block 54.822 + format.tr.number output.nonnull 54.823 + institution "institution" output.check 54.824 + address output 54.825 + format.date "year" output.check 54.826 + new.block 54.827 + note output 54.828 + fin.entry 54.829 +} 54.830 + 54.831 +FUNCTION {unpublished} 54.832 +{ output.bibitem 54.833 + format.authors "author" output.check 54.834 + new.block 54.835 + format.title "title" output.check 54.836 + new.block 54.837 + note "note" output.check 54.838 + format.date output 54.839 + fin.entry 54.840 +} 54.841 + 54.842 +FUNCTION {default.type} { misc } 54.843 + 54.844 +MACRO {jan} {"January"} 54.845 + 54.846 +MACRO {feb} {"February"} 54.847 + 54.848 +MACRO {mar} {"March"} 54.849 + 54.850 +MACRO {apr} {"April"} 54.851 + 54.852 +MACRO {may} {"May"} 54.853 + 54.854 +MACRO {jun} {"June"} 54.855 + 54.856 +MACRO {jul} {"July"} 54.857 + 54.858 +MACRO {aug} {"August"} 54.859 + 54.860 +MACRO {sep} {"September"} 54.861 + 54.862 +MACRO {oct} {"October"} 54.863 + 54.864 +MACRO {nov} {"November"} 54.865 + 54.866 +MACRO {dec} {"December"} 54.867 + 54.868 +MACRO {acmcs} {"ACM Computing Surveys"} 54.869 + 54.870 +MACRO {acta} {"Acta Informatica"} 54.871 + 54.872 +MACRO {cacm} {"Communications of the ACM"} 54.873 + 54.874 +MACRO {ibmjrd} {"IBM Journal of Research and Development"} 54.875 + 54.876 +MACRO {ibmsj} {"IBM Systems Journal"} 54.877 + 54.878 +MACRO {ieeese} {"IEEE Transactions on Software Engineering"} 54.879 + 54.880 +MACRO {ieeetc} {"IEEE Transactions on Computers"} 54.881 + 54.882 +MACRO {ieeetcad} 54.883 + {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} 54.884 + 54.885 +MACRO {ipl} {"Information Processing Letters"} 54.886 + 54.887 +MACRO {jacm} {"Journal of the ACM"} 54.888 + 54.889 +MACRO {jcss} {"Journal of Computer and System Sciences"} 54.890 + 54.891 +MACRO {scp} {"Science of Computer Programming"} 54.892 + 54.893 +MACRO {sicomp} {"SIAM Journal on Computing"} 54.894 + 54.895 +MACRO {tocs} {"ACM Transactions on Computer Systems"} 54.896 + 54.897 +MACRO {tods} {"ACM Transactions on Database Systems"} 54.898 + 54.899 +MACRO {tog} {"ACM Transactions on Graphics"} 54.900 + 54.901 +MACRO {toms} {"ACM Transactions on Mathematical Software"} 54.902 + 54.903 +MACRO {toois} {"ACM Transactions on Office Information Systems"} 54.904 + 54.905 +MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} 54.906 + 54.907 +MACRO {tcs} {"Theoretical Computer Science"} 54.908 + 54.909 +READ 54.910 + 54.911 +FUNCTION {sortify} 54.912 +{ purify$ 54.913 + "l" change.case$ 54.914 +} 54.915 + 54.916 +INTEGERS { len } 54.917 + 54.918 +FUNCTION {chop.word} 54.919 +{ 's := 54.920 + 'len := 54.921 + s #1 len substring$ = 54.922 + { s len #1 + global.max$ substring$ } 54.923 + 's 54.924 + if$ 54.925 +} 54.926 + 54.927 +FUNCTION {sort.format.names} 54.928 +{ 's := 54.929 + #1 'nameptr := 54.930 + "" 54.931 + s num.names$ 'numnames := 54.932 + numnames 'namesleft := 54.933 + { namesleft #0 > } 54.934 + { nameptr #1 > 54.935 + { " " * } 54.936 + 'skip$ 54.937 + if$ 54.938 + s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't := 54.939 + nameptr numnames = t "others" = and 54.940 + { "et al" * } 54.941 + { t sortify * } 54.942 + if$ 54.943 + nameptr #1 + 'nameptr := 54.944 + namesleft #1 - 'namesleft := 54.945 + } 54.946 + while$ 54.947 +} 54.948 + 54.949 +FUNCTION {sort.format.title} 54.950 +{ 't := 54.951 + "A " #2 54.952 + "An " #3 54.953 + "The " #4 t chop.word 54.954 + chop.word 54.955 + chop.word 54.956 + sortify 54.957 + #1 global.max$ substring$ 54.958 +} 54.959 + 54.960 +FUNCTION {author.sort} 54.961 +{ author empty$ 54.962 + { key empty$ 54.963 + { "to sort, need author or key in " cite$ * warning$ 54.964 + "" 54.965 + } 54.966 + { key sortify } 54.967 + if$ 54.968 + } 54.969 + { author sort.format.names } 54.970 + if$ 54.971 +} 54.972 + 54.973 +FUNCTION {author.editor.sort} 54.974 +{ author empty$ 54.975 + { editor empty$ 54.976 + { key empty$ 54.977 + { "to sort, need author, editor, or key in " cite$ * warning$ 54.978 + "" 54.979 + } 54.980 + { key sortify } 54.981 + if$ 54.982 + } 54.983 + { editor sort.format.names } 54.984 + if$ 54.985 + } 54.986 + { author sort.format.names } 54.987 + if$ 54.988 +} 54.989 + 54.990 +FUNCTION {author.organization.sort} 54.991 +{ author empty$ 54.992 + { organization empty$ 54.993 + { key empty$ 54.994 + { "to sort, need author, organization, or key in " cite$ * warning$ 54.995 + "" 54.996 + } 54.997 + { key sortify } 54.998 + if$ 54.999 + } 54.1000 + { "The " #4 organization chop.word sortify } 54.1001 + if$ 54.1002 + } 54.1003 + { author sort.format.names } 54.1004 + if$ 54.1005 +} 54.1006 + 54.1007 +FUNCTION {editor.organization.sort} 54.1008 +{ editor empty$ 54.1009 + { organization empty$ 54.1010 + { key empty$ 54.1011 + { "to sort, need editor, organization, or key in " cite$ * warning$ 54.1012 + "" 54.1013 + } 54.1014 + { key sortify } 54.1015 + if$ 54.1016 + } 54.1017 + { "The " #4 organization chop.word sortify } 54.1018 + if$ 54.1019 + } 54.1020 + { editor sort.format.names } 54.1021 + if$ 54.1022 +} 54.1023 + 54.1024 +FUNCTION {presort} 54.1025 +{ type$ "book" = 54.1026 + type$ "inbook" = 54.1027 + or 54.1028 + 'author.editor.sort 54.1029 + { type$ "proceedings" = 54.1030 + 'editor.organization.sort 54.1031 + { type$ "manual" = 54.1032 + 'author.organization.sort 54.1033 + 'author.sort 54.1034 + if$ 54.1035 + } 54.1036 + if$ 54.1037 + } 54.1038 + if$ 54.1039 + " " 54.1040 + * 54.1041 + year field.or.null sortify 54.1042 + * 54.1043 + " " 54.1044 + * 54.1045 + title field.or.null 54.1046 + sort.format.title 54.1047 + * 54.1048 + #1 entry.max$ substring$ 54.1049 + 'sort.key$ := 54.1050 +} 54.1051 + 54.1052 +ITERATE {presort} 54.1053 + 54.1054 +SORT 54.1055 + 54.1056 +STRINGS { longest.label } 54.1057 + 54.1058 +INTEGERS { number.label longest.label.width } 54.1059 + 54.1060 +FUNCTION {initialize.longest.label} 54.1061 +{ "" 'longest.label := 54.1062 + #1 'number.label := 54.1063 + #0 'longest.label.width := 54.1064 +} 54.1065 + 54.1066 +FUNCTION {longest.label.pass} 54.1067 +{ number.label int.to.str$ 'label := 54.1068 + number.label #1 + 'number.label := 54.1069 + label width$ longest.label.width > 54.1070 + { label 'longest.label := 54.1071 + label width$ 'longest.label.width := 54.1072 + } 54.1073 + 'skip$ 54.1074 + if$ 54.1075 +} 54.1076 + 54.1077 +EXECUTE {initialize.longest.label} 54.1078 + 54.1079 +ITERATE {longest.label.pass} 54.1080 + 54.1081 +FUNCTION {begin.bib} 54.1082 +{ preamble$ empty$ 54.1083 + 'skip$ 54.1084 + { preamble$ write$ newline$ } 54.1085 + if$ 54.1086 + "\begin{thebibliography}{" longest.label * "}" * write$ newline$ 54.1087 +} 54.1088 + 54.1089 +EXECUTE {begin.bib} 54.1090 + 54.1091 +EXECUTE {init.state.consts} 54.1092 + 54.1093 +ITERATE {call.type$} 54.1094 + 54.1095 +FUNCTION {end.bib} 54.1096 +{ newline$ 54.1097 + "\end{thebibliography}" write$ newline$ 54.1098 +} 54.1099 + 54.1100 +EXECUTE {end.bib} 54.1101 +
55.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 55.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/helpers/url.sty Fri Sep 13 11:02:18 2013 -0700 55.3 @@ -0,0 +1,325 @@ 55.4 +% url.sty ver 1.4 02-Mar-1999 Donald Arseneau asnd@triumf.ca 55.5 +% Copyright 1996-1999 Donald Arseneau, Vancouver, Canada. 55.6 +% This program can be used, distributed, and modified under the terms 55.7 +% of the LaTeX Project Public License. 55.8 +% 55.9 +% A form of \verb that allows linebreaks at certain characters or 55.10 +% combinations of characters, accepts reconfiguration, and can usually 55.11 +% be used in the argument to another command. It is intended for email 55.12 +% addresses, hypertext links, directories/paths, etc., which normally 55.13 +% have no spaces. The font may be selected using the \urlstyle command, 55.14 +% and new url-like commands can be defined using \urldef. 55.15 +% 55.16 +% Usage: Conditions: 55.17 +% \url{ } If the argument contains any "%", "#", or "^^", or ends with 55.18 +% "\", it can't be used in the argument to another command. 55.19 +% The argument must not contain unbalanced braces. 55.20 +% \url| | ...where "|" is any character not used in the argument and not 55.21 +% "{" or a space. The same restrictions as above except that the 55.22 +% argument may contain unbalanced braces. 55.23 +% \xyz for "\xyz" a defined-url; this can be used anywhere, no matter 55.24 +% what characters it contains. 55.25 +% 55.26 +% See further instructions after "\endinput" 55.27 +% 55.28 +\def\Url@ttdo{% style assignments for tt fonts or T1 encoding 55.29 +\def\UrlBreaks{\do\.\do\@\do\\\do\/\do\!\do\_\do\|\do\%\do\;\do\>\do\]% 55.30 + \do\)\do\,\do\?\do\'\do\+\do\=}% 55.31 +\def\UrlBigBreaks{\do\:\do@url@hyp}% 55.32 +\def\UrlNoBreaks{\do\(\do\[\do\{\do\<}% (unnecessary) 55.33 +\def\UrlSpecials{\do\ {\ }}% 55.34 +\def\UrlOrds{\do\*\do\-\do\~}% any ordinary characters that aren't usually 55.35 +} 55.36 +\def\Url@do{% style assignments for OT1 fonts except tt 55.37 +\def\UrlBreaks{\do\.\do\@\do\/\do\!\do\%\do\;\do\]\do\)\do\,\do\?\do\+\do\=}% 55.38 +\def\UrlBigBreaks{\do\:\do@url@hyp}% 55.39 +\def\UrlNoBreaks{\do\(\do\[\do\{}% prevents breaks after *next* character 55.40 +\def\UrlSpecials{\do\<{\langle}\do\>{\mathbin{\rangle}}\do\_{\_% 55.41 + \penalty\@m}\do\|{\mid}\do\{{\lbrace}\do\}{\mathbin{\rbrace}}\do 55.42 + \\{\mathbin{\backslash}}\do\~{\raise.6ex\hbox{\m@th$\scriptstyle\sim$}}\do 55.43 + \ {\ }}% 55.44 +\def\UrlOrds{\do\'\do\"\do\-}% 55.45 +} 55.46 +\def\url@ttstyle{% 55.47 +\@ifundefined{selectfont}{\def\UrlFont{\tt}}{\def\UrlFont{\ttfamily}}\Url@ttdo 55.48 +} 55.49 +\def\url@rmstyle{% 55.50 +\@ifundefined{selectfont}{\def\UrlFont{\rm}}{\def\UrlFont{\rmfamily}}\Url@do 55.51 +} 55.52 +\def\url@sfstyle{% 55.53 +\@ifundefined{selectfont}{\def\UrlFont{\sf}}{\def\UrlFont{\sffamily}}\Url@do 55.54 +} 55.55 +\def\url@samestyle{\ifdim\fontdimen\thr@@\font=\z@ \url@ttstyle \else 55.56 + \url@rmstyle \fi \def\UrlFont{}} 55.57 + 55.58 +\@ifundefined{strip@prefix}{\def\strip@prefix#1>{}}{} 55.59 +\@ifundefined{verbatim@nolig@list}{\def\verbatim@nolig@list{\do\`}}{} 55.60 + 55.61 +\def\Url{% 55.62 + \begingroup \let\url@moving\relax\relax \endgroup 55.63 + \ifmmode\@nomatherr$\fi 55.64 + \UrlFont $\fam\z@ \textfont\z@\font 55.65 + \let\do\@makeother \dospecials % verbatim catcodes 55.66 + \catcode`{\@ne \catcode`}\tw@ \catcode`\ 10 % except braces and spaces 55.67 + \medmuskip0mu \thickmuskip\medmuskip \thinmuskip\medmuskip 55.68 + \@tempcnta\fam\multiply\@tempcnta\@cclvi 55.69 + \let\do\set@mathcode \UrlOrds % ordinary characters that were special 55.70 + \advance\@tempcnta 8192 \UrlBreaks % bin 55.71 + \advance\@tempcnta 4096 \UrlBigBreaks % rel 55.72 + \advance\@tempcnta 4096 \UrlNoBreaks % open 55.73 + \let\do\set@mathact \UrlSpecials % active 55.74 + \let\do\set@mathnolig \verbatim@nolig@list % prevent ligatures 55.75 + \@ifnextchar\bgroup\Url@z\Url@y} 55.76 + 55.77 +\def\Url@y#1{\catcode`{11 \catcode`}11 55.78 + \def\@tempa##1#1{\Url@z{##1}}\@tempa} 55.79 +\def\Url@z#1{\def\@tempa{#1}\expandafter\expandafter\expandafter\Url@Hook 55.80 + \expandafter\strip@prefix\meaning\@tempa\UrlRight\m@th$\endgroup} 55.81 +\def\Url@Hook{\UrlLeft} 55.82 +\let\UrlRight\@empty 55.83 +\let\UrlLeft\@empty 55.84 + 55.85 +\def\set@mathcode#1{\count@`#1\advance\count@\@tempcnta\mathcode`#1\count@} 55.86 +\def\set@mathact#1#2{\mathcode`#132768 \lccode`\~`#1\lowercase{\def~{#2}}} 55.87 +\def\set@mathnolig#1{\ifnum\mathcode`#1<32768 55.88 + \lccode`\~`#1\lowercase{\edef~{\mathchar\number\mathcode`#1_{\/}}}% 55.89 + \mathcode`#132768 \fi} 55.90 + 55.91 +\def\urldef#1#2{\begingroup \setbox\z@\hbox\bgroup 55.92 + \def\Url@z{\Url@def{#1}{#2}}#2} 55.93 +\expandafter\ifx\csname DeclareRobustCommand\endcsname\relax 55.94 + \def\Url@def#1#2#3{\m@th$\endgroup\egroup\endgroup 55.95 + \def#1{#2{#3}}} 55.96 +\else 55.97 + \def\Url@def#1#2#3{\m@th$\endgroup\egroup\endgroup 55.98 + \DeclareRobustCommand{#1}{#2{#3}}} 55.99 +\fi 55.100 + 55.101 +\def\urlstyle#1{\csname url@#1style\endcsname} 55.102 + 55.103 +% Sample (and default) configuration: 55.104 +% 55.105 +\newcommand\url{\begingroup \Url} 55.106 +% 55.107 +% picTeX defines \path, so declare it optionally: 55.108 +\@ifundefined{path}{\newcommand\path{\begingroup \urlstyle{tt}\Url}}{} 55.109 +% 55.110 +% too many styles define \email like \address, so I will not define it. 55.111 +% \newcommand\email{\begingroup \urlstyle{rm}\Url} 55.112 + 55.113 +% Process LaTeX \package options 55.114 +% 55.115 +\urlstyle{tt} 55.116 +\let\Url@sppen\@M 55.117 +\def\do@url@hyp{}% by default, no breaks after hyphens 55.118 + 55.119 +\@ifundefined{ProvidesPackage}{}{ 55.120 + \ProvidesPackage{url}[1999/03/02 \space ver 1.4 \space 55.121 + Verb mode for urls, email addresses, and file names] 55.122 + \DeclareOption{hyphens}{\def\do@url@hyp{\do\-}}% allow breaks after hyphens 55.123 + \DeclareOption{obeyspaces}{\let\Url@Hook\relax}% a flag for later 55.124 + \DeclareOption{spaces}{\let\Url@sppen\relpenalty} 55.125 + \DeclareOption{T1}{\let\Url@do\Url@ttdo} 55.126 + \ProcessOptions 55.127 +\ifx\Url@Hook\relax % [obeyspaces] was declared 55.128 + \def\Url@Hook#1\UrlRight\m@th{\edef\@tempa{\noexpand\UrlLeft 55.129 + \Url@retain#1\Url@nosp\, }\@tempa\UrlRight\m@th} 55.130 + \def\Url@retain#1 {#1\penalty\Url@sppen\ \Url@retain} 55.131 + \def\Url@nosp\,#1\Url@retain{} 55.132 +\fi 55.133 +} 55.134 + 55.135 +\edef\url@moving{\csname Url Error\endcsname} 55.136 +\expandafter\edef\url@moving 55.137 + {\csname url used in a moving argument.\endcsname} 55.138 +\expandafter\expandafter\expandafter \let \url@moving\undefined 55.139 + 55.140 +\endinput 55.141 +% 55.142 +% url.sty ver 1.4 02-Mar-1999 Donald Arseneau asnd@reg.triumf.ca 55.143 +% 55.144 +% This package defines "\url", a form of "\verb" that allows linebreaks, 55.145 +% and can often be used in the argument to another command. It can be 55.146 +% configured to print in different formats, and is particularly useful for 55.147 +% hypertext links, email addresses, directories/paths, etc. The font may 55.148 +% be selected using the "\urlstyle" command and pre-defined text can be 55.149 +% stored with the "\urldef" command. New url-like commands can be defined, 55.150 +% and a "\path" command is provided this way. 55.151 +% 55.152 +% Usage: Conditions: 55.153 +% \url{ } If the argument contains any "%", "#", or "^^", or ends with 55.154 +% "\", it can't be used in the argument to another command. 55.155 +% The argument must not contain unbalanced braces. 55.156 +% \url| | ...where "|" is any character not used in the argument and not 55.157 +% "{" or a space. The same restrictions as above except that the 55.158 +% argument may contain unbalanced braces. 55.159 +% \xyz for "\xyz" a defined-url; this can be used anywhere, no matter 55.160 +% what characters it contains. 55.161 +% 55.162 +% The "\url" command is fragile, and its argument is likely to be very 55.163 +% fragile, but a defined-url is robust. 55.164 +% 55.165 +% Package Option: obeyspaces 55.166 +% Ordinarily, all spaces are ignored in the url-text. The "[obeyspaces]" 55.167 +% option allows spaces, but may introduce spurious spaces when a url 55.168 +% containing "\" characters is given in the argument to another command. 55.169 +% So if you need to obey spaces you can say "\usepackage[obeyspaces]{url}", 55.170 +% and if you need both spaces and backslashes, use a `defined-url' for 55.171 +% anything with "\". 55.172 +% 55.173 +% Package Option: hyphens 55.174 +% Ordinarily, breaks are not allowed after "-" characters because this 55.175 +% leads to confusion. (Is the "-" part of the address or just a hyphen?) 55.176 +% The package option "[hyphens]" allows breaks after explicit hyphen 55.177 +% characters. The "\url" command will *never ever* hyphenate words. 55.178 +% 55.179 +% Package Option: spaces 55.180 +% Likewise, breaks are not usually allowed after spaces under the 55.181 +% "[obeyspaces]" option, but giving the options "[obeyspaces,spaces]" 55.182 +% will allow breaks at those spaces. 55.183 +% 55.184 +% Package Option: T1 55.185 +% This signifies that you will be using T1-encoded fonts which contain 55.186 +% some characters missing from most older (OT1) encoded TeX fonts. This 55.187 +% changes the default definition for "\urlstyle{rm}". 55.188 +% 55.189 +% Defining a defined-url: 55.190 +% Take for example the email address "myself%node@gateway.net" which could 55.191 +% not be given (using "\url" or "\verb") in a caption or parbox due to the 55.192 +% percent sign. This address can be predefined with 55.193 +% \urldef{\myself}\url{myself%node@gateway.net} or 55.194 +% \urldef{\myself}\url|myself%node@gateway.net| 55.195 +% and then you may use "\myself" instead of "\url{myself%node@gateway.net}" 55.196 +% in an argument, and even in a moving argument like a caption because a 55.197 +% defined-url is robust. 55.198 +% 55.199 +% Style: 55.200 +% You can switch the style of printing using "\urlstyle{tt}", where "tt" 55.201 +% can be any defined style. The pre-defined styles are "tt", "rm", "sf", 55.202 +% and "same" which all allow the same linebreaks but different fonts -- 55.203 +% the first three select a specific font and the "same" style uses the 55.204 +% current text font. You can define your own styles with different fonts 55.205 +% and/or line-breaking by following the explanations below. The "\url" 55.206 +% command follows whatever the currently-set style dictates. 55.207 +% 55.208 +% Alternate commands: 55.209 +% It may be desireable to have different things treated differently, each 55.210 +% in a predefined style; e.g., if you want directory paths to always be 55.211 +% in tt and email addresses to be rm, then you would define new url-like 55.212 +% commands as follows: 55.213 +% 55.214 +% \newcommand\email{\begingroup \urlstyle{rm}\Url} 55.215 +% \newcommand\directory{\begingroup \urlstyle{tt}\Url} 55.216 +% 55.217 +% You must follow this format closely, and NOTE that the final command is 55.218 +% "\Url", not "\url". In fact, the "\directory" example is exactly the 55.219 +% "\path" definition which is pre-defined in the package. If you look 55.220 +% above, you will see that "\url" is defined with 55.221 +% \newcommand\url{\begingroup \Url} 55.222 +% I.e., using whatever url-style has been selected. 55.223 +% 55.224 +% You can make a defined-url for these other styles, using the usual 55.225 +% "\urldef" command as in this example: 55.226 +% 55.227 +% \urldef{\myself}{\email}{myself%node.domain@gateway.net} 55.228 +% 55.229 +% which makes "\myself" act like "\email{myself%node.domain@gateway.net}", 55.230 +% if the "\email" command is defined as above. The "\myself" command 55.231 +% would then be robust. 55.232 +% 55.233 +% Defining styles: 55.234 +% Before describing how to customize the printing style, it is best to 55.235 +% mention something about the unusual implementation of "\url". Although 55.236 +% the material is textual in nature, and the font specification required 55.237 +% is a text-font command, the text is actually typeset in *math* mode. 55.238 +% This allows the context-sensitive linebreaking, but also accounts for 55.239 +% the default behavior of ignoring spaces. Now on to defining styles. 55.240 +% 55.241 +% To change the font or the list of characters that allow linebreaks, you 55.242 +% could redefine the commands "\UrlFont", "\UrlBreaks", "\UrlSpecials" etc. 55.243 +% directly in the document, but it is better to define a new `url-style' 55.244 +% (following the example of "\url@ttstyle" and "\url@rmstyle") which defines 55.245 +% all of "\UrlBigbreaks", "\UrlNoBreaks", "\UrlBreaks", "\UrlSpecials", and 55.246 +% "\UrlFont". 55.247 +% 55.248 +% Changing font: 55.249 +% The "\UrlFont" command selects the font. The definition of "\UrlFont" 55.250 +% done by the pre-defined styles varies to cope with a variety of LaTeX 55.251 +% font selection schemes, but it could be as simple as "\def\UrlFont{\tt}". 55.252 +% Depending on the font selected, some characters may need to be defined 55.253 +% in the "\UrlSpecials" list because many fonts don't contain all the 55.254 +% standard input characters. 55.255 +% 55.256 +% Changing linebreaks: 55.257 +% The list of characters that allow line-breaks is given by "\UrlBreaks" 55.258 +% and "\UrlBigBreaks", which have the format "\do\c" for character "c". 55.259 +% The differences are that `BigBreaks' have a lower penalty and have 55.260 +% different breakpoints when in sequence (as in "http://"): `BigBreaks' 55.261 +% are treated as mathrels while `Breaks' are mathbins (see The TeXbook, 55.262 +% p.170). In particular, a series of `BigBreak' characters will break at 55.263 +% the end and only at the end; a series of `Break' characters will break 55.264 +% after the first and after every following *pair*; there will be no 55.265 +% break after a `Break' character if a `BigBreak' follows. In the case 55.266 +% of "http://" it doesn't matter whether ":" is a `Break' or `BigBreak' -- 55.267 +% the breaks are the same in either case; but for DECnet nodes with "::" 55.268 +% it is important to prevent breaks *between* the colons, and that is why 55.269 +% colons are `BigBreaks'. 55.270 +% 55.271 +% It is possible for characters to prevent breaks after the next following 55.272 +% character (I use this for parentheses). Specify these in "\UrlNoBreaks". 55.273 +% 55.274 +% You can do arbitrarily complex things with characters by making them 55.275 +% active in math mode (mathcode hex-8000) and specifying the definition(s) 55.276 +% in "\UrlSpecials". This is used in the rm and sf styles for OT1 font 55.277 +% encoding to handle several characters that are not present in those 55.278 +% computer-modern style fonts. See the definition of "\Url@do", which 55.279 +% is used by both "\url@rmstyle" and "\url@sfstyle"; it handles missing 55.280 +% characters via "\UrlSpecials". The nominal format for setting each 55.281 +% special character "c" is: "\do\c{<definition>}", but you can include 55.282 +% other definitions too. 55.283 +% 55.284 +% 55.285 +% If all this sounds confusing ... well, it is! But I hope you won't need 55.286 +% to redefine breakpoints -- the default assignments seem to work well for 55.287 +% a wide variety of applications. If you do need to make changes, you can 55.288 +% test for breakpoints using regular math mode and the characters "+=(a". 55.289 +% 55.290 +% Yet more flexibility: 55.291 +% You can also customize the verbatim text by defining "\UrlRight" and/or 55.292 +% "\UrlLeft", e.g., for ISO formatting of urls surrounded by "< >", define 55.293 +% 55.294 +% \renewcommand\url{\begingroup \def\UrlLeft{<url: }\def\UrlRight{>}% 55.295 +% \urlstyle{tt}\Url} 55.296 +% 55.297 +% The meanings of "\UrlLeft" and "\UrlRight" are *not* reproduced verbatim. 55.298 +% This lets you use formatting commands there, but you must be careful not 55.299 +% to use TeX's special characters ("\^_%~#$&{}" etc.) improperly. 55.300 +% You can also define "\UrlLeft" to reprocess the verbatim text, but the 55.301 +% format of the definition is special: 55.302 +% 55.303 +% \def\UrlLeft#1\UrlRight{ ... do things with #1 ... } 55.304 +% 55.305 +% Yes, that is "#1" followed by "\UrlRight" then the definition. For 55.306 +% example, to put a hyperTeX hypertext link in the DVI file: 55.307 +% 55.308 +% \def\UrlLeft#1\UrlRight{\special{html:<a href="#1">}#1\special{html:</a>}} 55.309 +% 55.310 +% Using this technique, url.sty can provide a convenient interface for 55.311 +% performing various operations on verbatim text. You don't even need 55.312 +% to print out the argument! For greatest efficiency in such obscure 55.313 +% applications, you can define a null url-style where all the lists like 55.314 +% "\UrlBreaks" are empty. 55.315 +% 55.316 +% Revision History: 55.317 +% ver 1.1 6-Feb-1996: 55.318 +% Fix hyphens that wouldn't break and ligatures that weren't suppressed. 55.319 +% ver 1.2 19-Oct-1996: 55.320 +% Package option for T1 encoding; Hooks: "\UrlLeft" and "\UrlRight". 55.321 +% ver 1.3 21-Jul-1997: 55.322 +% Prohibit spaces as delimiter characters; change ascii tilde in OT1. 55.323 +% ver 1.4 02-Mar-1999 55.324 +% LaTeX license; moving-argument-error 55.325 +% The End 55.326 + 55.327 +Test file integrity: ASCII 32-57, 58-126: !"#$%&'()*+,-./0123456789 55.328 +:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
56.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 56.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/helpers/usetex-v1-anon.cls Fri Sep 13 11:02:18 2013 -0700 56.3 @@ -0,0 +1,363 @@ 56.4 +\NeedsTeXFormat{LaTeX2e} 56.5 +\ProvidesClass{usetex-v1-anon}[2002/10/31 v1.2 usetex Usenix article class] 56.6 + 56.7 +% usetex-v1.cls - to be used with LaTeX2e for Usenix articles 56.8 +% 56.9 +% To use this style file, do this: 56.10 +% 56.11 +% \documentclass{usetex-v1} 56.12 +% 56.13 +% The following definitions are modifications of standard article.cls 56.14 +% definitions, arranged to do a better job of matching the Usenix 56.15 +% guidelines. and make for convenient Usenix paper writing 56.16 +% 56.17 +% Choose the appropriate option: 56.18 +% 56.19 +% 1. workingdraft: 56.20 +% 56.21 +% For initial submission and shepherding. Features prominent 56.22 +% date, notice of draft status, page numbers, and annotation 56.23 +% facilities. 56.24 +% 56.25 +% 2. proof: 56.26 +% 56.27 +% A galley proof identical to the final copy except for page 56.28 +% numbering and proof date on the bottom. Annotations are 56.29 +% removed. 56.30 +% 56.31 +% 3. webversion: 56.32 +% 56.33 +% A web-publishable version, uses \docstatus{} to indicate 56.34 +% publication information (where and when paper was published), 56.35 +% and page numbers. 56.36 +% 56.37 +% 4. finalversion: 56.38 +% 56.39 +% The final camera-ready-copy (CRC) version of the paper. 56.40 +% Published in conference proceedings. This doesn't include 56.41 +% page numbers, annotations, or draft status (Usenix adds 56.42 +% headers, footers, and page numbers onto the CRC). 56.43 +% 56.44 +% If several are used, the last one in this list wins 56.45 +% 56.46 + 56.47 +% 56.48 +% In addition, the option "endnotes" permits the use of the 56.49 +% otherwise-disabled, Usenix-deprecated footnote{} command in 56.50 +% documents. In this case, be sure to include a 56.51 +% \makeendnotes command at the end of your document or 56.52 +% the endnotes will not actually appear. 56.53 +% 56.54 + 56.55 +\newif\if@draftcopy \newif\ifworkingdraft 56.56 +\DeclareOption{workingdraft}{\workingdrafttrue\@draftcopytrue} 56.57 +\newif\ifproof \DeclareOption{proof}{\prooftrue\@draftcopytrue} 56.58 +\newif\ifwebversion 56.59 +\DeclareOption{webversion}{\prooftrue\webversiontrue\@draftcopytrue} 56.60 +\DeclareOption{finalversion}{} 56.61 +\newif\ifhasendnotes 56.62 +\DeclareOption{endnotes}{\hasendnotestrue} 56.63 + 56.64 +% pass all other options to the article class 56.65 +\DeclareOption*{% 56.66 + \PassOptionsToClass{\CurrentOption}{article}% 56.67 +} 56.68 + 56.69 +% actually process the options 56.70 +\ProcessOptions 56.71 + 56.72 +% usetex is based on article 56.73 +\LoadClass[twocolumn]{article} 56.74 + 56.75 +% Footnotes are not currently allowed, but 56.76 +% endnotes (while a bad idea) are. 56.77 +\ifhasendnotes 56.78 + \RequirePackage{endnotes} 56.79 +\fi 56.80 + 56.81 +% save any provided document status information 56.82 +\def\@docstatus{} 56.83 +\def\docstatus#1{\gdef\@docstatus{#1}} 56.84 + 56.85 +\ifworkingdraft 56.86 + 56.87 + % formatting helper for draft notes 56.88 + \newcommand{\@noteleader[1]}{% 56.89 + {\marginpar{\framebox{\scriptsize\textbf{#1}}}}% 56.90 + \bfseries\itshape 56.91 + } 56.92 + 56.93 + % put a small anonymous editing note in the draft copy 56.94 + \newcommand{\edannote}[1]{{\@noteleader[note] (#1)}} 56.95 + 56.96 + % put a small attributed editing note in the draft copy 56.97 + \newcommand{\edatnote}[2]{{\@noteleader[#1] #2}} 56.98 + 56.99 + % put an attributed editing note paragraph in the draft copy 56.100 + \newenvironment{ednote}[1] 56.101 + {\newcommand{\who}{#1}\@noteleader[\who]} 56.102 + 56.103 + % mark a spot where work has been left off for later 56.104 + \newcommand{\HERE}{% 56.105 + {\mbox{}\marginpar{\framebox{\textbf{here}}}}{\bf\ldots}} 56.106 + 56.107 +\else 56.108 + 56.109 + % dummy versions of editing commands to produce warnings 56.110 + 56.111 + \newcommand{\edannote}[1]{\@latex@warning 56.112 + {Leftover edannote command in final version ignored}} 56.113 + 56.114 + \newcommand{\edatnote}[1]{\@latex@warning 56.115 + {Leftover edatnote command in final version ignored}} 56.116 + 56.117 + \newsavebox{\@discard} 56.118 + \newenvironment{ednote}[1]{\@latex@warning 56.119 + {Leftover ednote environment in final version ignored}% 56.120 + \begin{lrbox}{\@discard}}{\end{lrbox}} 56.121 + 56.122 + \newcommand{\HERE}{\@latex@warning 56.123 + {Leftover HERE command in final version ignored}} 56.124 + 56.125 +\fi 56.126 + 56.127 +% set up the footers appropriately 56.128 +\def\@setfoot{% 56.129 + \ifwebversion 56.130 + % webversions get whatever status the author says 56.131 + \gdef\@evenfoot{\@docstatus \hfil \thepage}% 56.132 + \else 56.133 + % all other drafts get the standard draft footer 56.134 + \gdef\@evenfoot{\textbf{Draft:} \@draftdate\hfil \textbf{Page:} \thepage}% 56.135 + \fi 56.136 + \gdef\@oddfoot{\@evenfoot}% 56.137 +} 56.138 + 56.139 +% 56.140 +% Usenix wants no page numbers for submitted papers, so that 56.141 +% they can number them themselves. Drafts should have 56.142 +% numbered pages, so they can be edited. 56.143 +% 56.144 +\if@draftcopy 56.145 + % Compute a date and time for the draft for use 56.146 + % either in \@setfoot (proof) or in \maketitle (workingdraft) 56.147 + % 56.148 + % Time code adapted from custom-bib/makebst.tex 56.149 + % Copyright 1993-1999 Patrick W Daly 56.150 + % Max-Planck-Institut f\"ur Aeronomie 56.151 + % E-mail: daly@linmp.mpg.de 56.152 + \newcount\hour 56.153 + \hour=\time 56.154 + \divide\hour by 60 56.155 + \newcount\minute 56.156 + \minute=\hour 56.157 + \multiply\minute by 60 56.158 + \advance\minute by -\time 56.159 + \multiply\minute by -1 56.160 + \newcommand{\@draftdate} 56.161 + {{\the\year/\/\two@digits{\the\month}/\/\two@digits{\the\day}% 56.162 + ~\two@digits{\the\hour}:\two@digits{\the\minute}}} 56.163 + \pagestyle{plain} 56.164 + \@setfoot 56.165 +\else 56.166 + \pagestyle{empty} 56.167 +\fi 56.168 + 56.169 +% Times-Roman font is nice if you can get it (requires NFSS, 56.170 +% which is in latex2e). 56.171 +\usepackage{times} 56.172 + 56.173 +% endnote support, as described at 56.174 +% http://www.lyx.org/help/footnotes.php 56.175 +\ifhasendnotes 56.176 + \typeout 56.177 + {Warning: endnotes support is deprecated (see documentation for details)} 56.178 + \let\footnote=\endnote 56.179 + \def\enoteformat{\rightskip\z@ \leftskip\z@ 56.180 + \parindent=0pt\parskip=\baselineskip 56.181 + \@theenmark. } 56.182 + \newcommand{\makeendnotes}{ 56.183 + \begingroup 56.184 + \def\enotesize{\normalsize} 56.185 + \theendnotes 56.186 + \endgroup 56.187 + } 56.188 +\else 56.189 + \long\gdef\footnote{\@latex@error 56.190 + {Deprecated footnote command (see documentation for details)}} 56.191 + \long\gdef\endnote{\@latex@error 56.192 + {Deprecated endnote command (see documentation for details)}} 56.193 +\fi 56.194 + 56.195 +% 56.196 +% Usenix margins 56.197 +% Gives active areas of 6.45" x 9.0" 56.198 +% 56.199 +\setlength{\textheight}{9.0in} 56.200 +\setlength{\columnsep}{0.25in} 56.201 +\setlength{\textwidth}{6.45in} 56.202 +%\setlength{\footskip}{0.0in} 56.203 +%\setlength{\footheight}{0.0in} 56.204 +\setlength{\topmargin}{0.0in} 56.205 +\setlength{\headheight}{0.0in} 56.206 +\setlength{\headsep}{0.0in} 56.207 +\setlength{\evensidemargin}{0.0in} 56.208 +\setlength{\oddsidemargin}{0.0in} 56.209 +\setlength{\marginparsep}{1.5em} 56.210 +\setlength{\marginparwidth}{0.35in} 56.211 + 56.212 +% The standard maketitle insists on 56.213 +% messing with the style of the first page. 56.214 +% Thus, we will wrap maketitle with code to put 56.215 +% things right again. 56.216 +\let \save@maketitle=\maketitle 56.217 +\def\maketitle{ 56.218 + \save@maketitle 56.219 + \if@draftcopy 56.220 + \@specialpagefalse 56.221 + \else 56.222 + \thispagestyle{empty} 56.223 + \fi 56.224 +} 56.225 + 56.226 +% 56.227 +% Usenix titles are in 14-point bold type, with no date, and with no 56.228 +% change in the empty page headers. The author section is 56.229 +% 12 point roman and italic: see below. 56.230 +% 56.231 +\def\@maketitle{% 56.232 + \newpage 56.233 + \null 56.234 +% \vskip 3ex% 56.235 + \begin{center}% 56.236 +% \let \footnote \thanks 56.237 + {\Large \bf \@title \par}% % use 14 pt bold 56.238 +% \vskip 2ex% 56.239 + {\large 56.240 +% \lineskip .5ex% 56.241 +% \begin{tabular}[t]{c}% 56.242 +% \@author 56.243 +% \end{tabular}\par 56.244 + }% 56.245 + \ifworkingdraft 56.246 + \vskip 0.5ex 56.247 + \textbf{Draft of \@draftdate} 56.248 + \vskip 0.5ex 56.249 + \fi 56.250 + \ifwebversion 56.251 + \vskip 0.5ex 56.252 + \textit{Authors and affiliation elided for review.} 56.253 + \vskip 0.5ex 56.254 + \fi 56.255 + \end{center}% 56.256 + \par 56.257 +% \vskip 2ex 56.258 +} 56.259 + 56.260 +% 56.261 +% The author section 56.262 +% should have names in Roman, address in 56.263 +% italic, e-mail/http in typewriter. 56.264 +% This is enforced by use of these macros 56.265 +% 56.266 +\def\authname#1{{#1}\\} 56.267 +\def\authaddr#1{\itshape{#1}\\} 56.268 +\def\authurl#1{{\normalsize #1}\\} 56.269 + 56.270 +% 56.271 +% The abstract is preceded by a 12-pt bold centered heading 56.272 +% 56.273 +\def\abstract{\begin{center}% 56.274 + {\large\bf \abstractname\vspace{-.5ex}\vspace{\z@}}% 56.275 + \end{center}} 56.276 +\def\endabstract{} 56.277 + 56.278 +% 56.279 +% Main section titles are 12-pt bold. Lower divisions can 56.280 +% be same size or smaller: we choose same. 56.281 +% Main section leading is tight. Subsection leading is even 56.282 +% slightly tighter. All lower divisions are formatted like subsections. 56.283 +% 56.284 +\newcommand\@sectionfont{\reset@font\large\bf} 56.285 +\newlength\@sectionaboveskip 56.286 +\setlength\@sectionaboveskip{-0.7\baselineskip 56.287 + plus -0.1\baselineskip 56.288 + minus -0.1\baselineskip} 56.289 +\newlength\@sectionbelowskip 56.290 +\setlength\@sectionbelowskip{0.3\baselineskip 56.291 + plus 0.1\baselineskip} 56.292 +\newlength\@subsectionaboveskip 56.293 +\setlength\@subsectionaboveskip{-0.5\baselineskip 56.294 + plus -0.1\baselineskip} 56.295 +\renewcommand\section{\@startsection {section}{1}{\z@}% 56.296 + {\@sectionaboveskip}{\@sectionbelowskip}{\@sectionfont}} 56.297 +\newcommand\@gensubsection[2]{\@startsection {#1}{#2}{\z@}% 56.298 + {\@subsectionaboveskip}{\@sectionbelowskip}{\@sectionfont}} 56.299 +\renewcommand\subsection{\@gensubsection{subsection}{2}} 56.300 +\renewcommand\subsubsection{\@gensubsection{subsubsection}{3}} 56.301 +%\renewcommand\paragraph{\@gensubsection{paragraph}{4}} 56.302 +%\renewcommand\subparagraph{\@gensubsection{subparagaph}{5}} 56.303 +\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% 56.304 + {1.25ex \@plus 0.2ex \@minus 0.2ex}% 56.305 + {-1.0em}% 56.306 + {\normalfont\normalsize\bfseries}} 56.307 +\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% 56.308 + {1.25ex \@plus 0.2ex \@minus 0.2ex}% 56.309 + {-1.0em}% 56.310 + {\normalfont\normalsize\bfseries}} 56.311 + 56.312 +% List items need to be tightened up. 56.313 +% There must be a better way than copying 56.314 +% the definitions to modify the list environment... 56.315 +\def\@itemspacings{\listparindent=\parindent 56.316 + \parsep=0pt\topsep=0.3\baselineskip\partopsep=0pt\itemsep=0pt} 56.317 +% now make envs use itemspacings 56.318 +\def\itemize{% 56.319 + \ifnum \@itemdepth >\thr@@\@toodeep\else 56.320 + \advance\@itemdepth\@ne 56.321 + \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% 56.322 + \expandafter 56.323 + \list 56.324 + \csname\@itemitem\endcsname 56.325 + {\@itemspacings\def\makelabel##1{\hss\llap{##1}}}% 56.326 + \fi} 56.327 +\def\enumerate{% 56.328 + \ifnum \@enumdepth >\thr@@\@toodeep\else 56.329 + \advance\@enumdepth\@ne 56.330 + \edef\@enumctr{enum\romannumeral\the\@enumdepth}% 56.331 + \expandafter 56.332 + \list 56.333 + \csname label\@enumctr\endcsname 56.334 + {\@itemspacings\usecounter\@enumctr\def\makelabel##1{\hss\llap{##1}}}% 56.335 + \fi} 56.336 +\def\description{% 56.337 + \list{}{\labelwidth\z@ \itemindent-\leftmargin 56.338 + \@itemspacings\let\makelabel\descriptionlabel}} 56.339 + 56.340 +% Bibliography items need to be tightened up. 56.341 +% Again, there must be a better way than copying 56.342 +% the definitions to modify the list environment... 56.343 +\def\thebibliography#1% 56.344 + {\section*{\refname}% 56.345 + \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}% 56.346 + \list{\@biblabel{\@arabic\c@enumiv}}% 56.347 + {\settowidth\labelwidth{\@biblabel{#1}}% 56.348 + \leftmargin\labelwidth 56.349 + \advance\leftmargin\labelsep 56.350 + \@openbib@code 56.351 + \usecounter{enumiv}% 56.352 + \let\p@enumiv\@empty 56.353 + \renewcommand\theenumiv{\@arabic\c@enumiv}% 56.354 + \parsep=0pt}% pack entries 56.355 + \sloppy 56.356 + \hbadness=8000% mostly don't whine about bibliography fmt 56.357 + \clubpenalty=4000% 56.358 + \@clubpenalty=\clubpenalty 56.359 + \widowpenalty=4000% 56.360 + \sfcode`\.\@m} 56.361 + 56.362 +% Floating bodies need to be tightened up. 56.363 +\setlength\textfloatsep{14pt plus 2pt} 56.364 +\setlength\dbltextfloatsep{\textfloatsep} 56.365 +\setlength\intextsep{0.8\textfloatsep} 56.366 +\setlength\abovecaptionskip{8pt minus 2pt}
57.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 57.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/helpers/usetex-v1.cls Fri Sep 13 11:02:18 2013 -0700 57.3 @@ -0,0 +1,357 @@ 57.4 +\NeedsTeXFormat{LaTeX2e} 57.5 +\ProvidesClass{usetex-v1}[2002/10/31 v1.2 usetex Usenix article class] 57.6 + 57.7 +% usetex-v1.cls - to be used with LaTeX2e for Usenix articles 57.8 +% 57.9 +% To use this style file, do this: 57.10 +% 57.11 +% \documentclass{usetex-v1} 57.12 +% 57.13 +% The following definitions are modifications of standard article.cls 57.14 +% definitions, arranged to do a better job of matching the Usenix 57.15 +% guidelines. and make for convenient Usenix paper writing 57.16 +% 57.17 +% Choose the appropriate option: 57.18 +% 57.19 +% 1. workingdraft: 57.20 +% 57.21 +% For initial submission and shepherding. Features prominent 57.22 +% date, notice of draft status, page numbers, and annotation 57.23 +% facilities. 57.24 +% 57.25 +% 2. proof: 57.26 +% 57.27 +% A galley proof identical to the final copy except for page 57.28 +% numbering and proof date on the bottom. Annotations are 57.29 +% removed. 57.30 +% 57.31 +% 3. webversion: 57.32 +% 57.33 +% A web-publishable version, uses \docstatus{} to indicate 57.34 +% publication information (where and when paper was published), 57.35 +% and page numbers. 57.36 +% 57.37 +% 4. finalversion: 57.38 +% 57.39 +% The final camera-ready-copy (CRC) version of the paper. 57.40 +% Published in conference proceedings. This doesn't include 57.41 +% page numbers, annotations, or draft status (Usenix adds 57.42 +% headers, footers, and page numbers onto the CRC). 57.43 +% 57.44 +% If several are used, the last one in this list wins 57.45 +% 57.46 + 57.47 +% 57.48 +% In addition, the option "endnotes" permits the use of the 57.49 +% otherwise-disabled, Usenix-deprecated footnote{} command in 57.50 +% documents. In this case, be sure to include a 57.51 +% \makeendnotes command at the end of your document or 57.52 +% the endnotes will not actually appear. 57.53 +% 57.54 + 57.55 +\newif\if@draftcopy \newif\ifworkingdraft 57.56 +\DeclareOption{workingdraft}{\workingdrafttrue\@draftcopytrue} 57.57 +\newif\ifproof \DeclareOption{proof}{\prooftrue\@draftcopytrue} 57.58 +\newif\ifwebversion 57.59 +\DeclareOption{webversion}{\prooftrue\webversiontrue\@draftcopytrue} 57.60 +\DeclareOption{finalversion}{} 57.61 +\newif\ifhasendnotes 57.62 +\DeclareOption{endnotes}{\hasendnotestrue} 57.63 + 57.64 +% pass all other options to the article class 57.65 +\DeclareOption*{% 57.66 + \PassOptionsToClass{\CurrentOption}{article}% 57.67 +} 57.68 + 57.69 +% actually process the options 57.70 +\ProcessOptions 57.71 + 57.72 +% usetex is based on article 57.73 +\LoadClass[twocolumn]{article} 57.74 + 57.75 +% Footnotes are not currently allowed, but 57.76 +% endnotes (while a bad idea) are. 57.77 +\ifhasendnotes 57.78 + \RequirePackage{endnotes} 57.79 +\fi 57.80 + 57.81 +% save any provided document status information 57.82 +\def\@docstatus{} 57.83 +\def\docstatus#1{\gdef\@docstatus{#1}} 57.84 + 57.85 +\ifworkingdraft 57.86 + 57.87 + % formatting helper for draft notes 57.88 + \newcommand{\@noteleader[1]}{% 57.89 + {\marginpar{\framebox{\scriptsize\textbf{#1}}}}% 57.90 + \bfseries\itshape 57.91 + } 57.92 + 57.93 + % put a small anonymous editing note in the draft copy 57.94 + \newcommand{\edannote}[1]{{\@noteleader[note] (#1)}} 57.95 + 57.96 + % put a small attributed editing note in the draft copy 57.97 + \newcommand{\edatnote}[2]{{\@noteleader[#1] #2}} 57.98 + 57.99 + % put an attributed editing note paragraph in the draft copy 57.100 + \newenvironment{ednote}[1] 57.101 + {\newcommand{\who}{#1}\@noteleader[\who]} 57.102 + 57.103 + % mark a spot where work has been left off for later 57.104 + \newcommand{\HERE}{% 57.105 + {\mbox{}\marginpar{\framebox{\textbf{here}}}}{\bf\ldots}} 57.106 + 57.107 +\else 57.108 + 57.109 + % dummy versions of editing commands to produce warnings 57.110 + 57.111 + \newcommand{\edannote}[1]{\@latex@warning 57.112 + {Leftover edannote command in final version ignored}} 57.113 + 57.114 + \newcommand{\edatnote}[1]{\@latex@warning 57.115 + {Leftover edatnote command in final version ignored}} 57.116 + 57.117 + \newsavebox{\@discard} 57.118 + \newenvironment{ednote}[1]{\@latex@warning 57.119 + {Leftover ednote environment in final version ignored}% 57.120 + \begin{lrbox}{\@discard}}{\end{lrbox}} 57.121 + 57.122 + \newcommand{\HERE}{\@latex@warning 57.123 + {Leftover HERE command in final version ignored}} 57.124 + 57.125 +\fi 57.126 + 57.127 +% set up the footers appropriately 57.128 +\def\@setfoot{% 57.129 + \ifwebversion 57.130 + % webversions get whatever status the author says 57.131 + \gdef\@evenfoot{\@docstatus \hfil \thepage}% 57.132 + \else 57.133 + % all other drafts get the standard draft footer 57.134 + \gdef\@evenfoot{\textbf{Draft:} \@draftdate\hfil \textbf{Page:} \thepage}% 57.135 + \fi 57.136 + \gdef\@oddfoot{\@evenfoot}% 57.137 +} 57.138 + 57.139 +% 57.140 +% Usenix wants no page numbers for submitted papers, so that 57.141 +% they can number them themselves. Drafts should have 57.142 +% numbered pages, so they can be edited. 57.143 +% 57.144 +\if@draftcopy 57.145 + % Compute a date and time for the draft for use 57.146 + % either in \@setfoot (proof) or in \maketitle (workingdraft) 57.147 + % 57.148 + % Time code adapted from custom-bib/makebst.tex 57.149 + % Copyright 1993-1999 Patrick W Daly 57.150 + % Max-Planck-Institut f\"ur Aeronomie 57.151 + % E-mail: daly@linmp.mpg.de 57.152 + \newcount\hour 57.153 + \hour=\time 57.154 + \divide\hour by 60 57.155 + \newcount\minute 57.156 + \minute=\hour 57.157 + \multiply\minute by 60 57.158 + \advance\minute by -\time 57.159 + \multiply\minute by -1 57.160 + \newcommand{\@draftdate} 57.161 + {{\the\year/\/\two@digits{\the\month}/\/\two@digits{\the\day}% 57.162 + ~\two@digits{\the\hour}:\two@digits{\the\minute}}} 57.163 + \pagestyle{plain} 57.164 + \@setfoot 57.165 +\else 57.166 + \pagestyle{empty} 57.167 +\fi 57.168 + 57.169 +% Times-Roman font is nice if you can get it (requires NFSS, 57.170 +% which is in latex2e). 57.171 +\usepackage{times} 57.172 + 57.173 +% endnote support, as described at 57.174 +% http://www.lyx.org/help/footnotes.php 57.175 +\ifhasendnotes 57.176 + \typeout 57.177 + {Warning: endnotes support is deprecated (see documentation for details)} 57.178 + \let\footnote=\endnote 57.179 + \def\enoteformat{\rightskip\z@ \leftskip\z@ 57.180 + \parindent=0pt\parskip=\baselineskip 57.181 + \@theenmark. } 57.182 + \newcommand{\makeendnotes}{ 57.183 + \begingroup 57.184 + \def\enotesize{\normalsize} 57.185 + \theendnotes 57.186 + \endgroup 57.187 + } 57.188 +\else 57.189 + \long\gdef\footnote{\@latex@error 57.190 + {Deprecated footnote command (see documentation for details)}} 57.191 + \long\gdef\endnote{\@latex@error 57.192 + {Deprecated endnote command (see documentation for details)}} 57.193 +\fi 57.194 + 57.195 +% 57.196 +% Usenix margins 57.197 +% Gives active areas of 6.45" x 9.0" 57.198 +% 57.199 +\setlength{\textheight}{9.0in} 57.200 +\setlength{\columnsep}{0.25in} 57.201 +\setlength{\textwidth}{6.45in} 57.202 +%\setlength{\footskip}{0.0in} 57.203 +%\setlength{\footheight}{0.0in} 57.204 +\setlength{\topmargin}{0.0in} 57.205 +\setlength{\headheight}{0.0in} 57.206 +\setlength{\headsep}{0.0in} 57.207 +\setlength{\evensidemargin}{0.0in} 57.208 +\setlength{\oddsidemargin}{0.0in} 57.209 +\setlength{\marginparsep}{1.5em} 57.210 +\setlength{\marginparwidth}{0.35in} 57.211 + 57.212 +% The standard maketitle insists on 57.213 +% messing with the style of the first page. 57.214 +% Thus, we will wrap maketitle with code to put 57.215 +% things right again. 57.216 +\let \save@maketitle=\maketitle 57.217 +\def\maketitle{ 57.218 + \save@maketitle 57.219 + \if@draftcopy 57.220 + \@specialpagefalse 57.221 + \else 57.222 + \thispagestyle{empty} 57.223 + \fi 57.224 +} 57.225 + 57.226 +% 57.227 +% Usenix titles are in 14-point bold type, with no date, and with no 57.228 +% change in the empty page headers. The author section is 57.229 +% 12 point roman and italic: see below. 57.230 +% 57.231 +\def\@maketitle{% 57.232 + \newpage 57.233 + \null 57.234 + \vskip 3ex% 57.235 + \begin{center}% 57.236 + \let \footnote \thanks 57.237 + {\Large \bf \@title \par}% % use 14 pt bold 57.238 + \vskip 2ex% 57.239 + {\large 57.240 + \lineskip .5ex% 57.241 + \begin{tabular}[t]{c}% 57.242 + \@author 57.243 + \end{tabular}\par}% 57.244 + \ifworkingdraft 57.245 + \vskip 3ex \textbf{Draft of \@draftdate} \vskip 3ex 57.246 + \fi 57.247 + \ifwebversion 57.248 + \vskip 3ex \textbf{\@docstatus} \vskip 3ex 57.249 + \fi 57.250 + \end{center}% 57.251 + \par 57.252 + \vskip 2ex} 57.253 + 57.254 +% 57.255 +% The author section 57.256 +% should have names in Roman, address in 57.257 +% italic, e-mail/http in typewriter. 57.258 +% This is enforced by use of these macros 57.259 +% 57.260 +\def\authname#1{{#1}\\} 57.261 +\def\authaddr#1{\itshape{#1}\\} 57.262 +\def\authurl#1{{\normalsize #1}\\} 57.263 + 57.264 +% 57.265 +% The abstract is preceded by a 12-pt bold centered heading 57.266 +% 57.267 +\def\abstract{\begin{center}% 57.268 + {\large\bf \abstractname\vspace{-.5ex}\vspace{\z@}}% 57.269 + \end{center}} 57.270 +\def\endabstract{} 57.271 + 57.272 +% 57.273 +% Main section titles are 12-pt bold. Lower divisions can 57.274 +% be same size or smaller: we choose same. 57.275 +% Main section leading is tight. Subsection leading is even 57.276 +% slightly tighter. All lower divisions are formatted like subsections. 57.277 +% 57.278 +\newcommand\@sectionfont{\reset@font\large\bf} 57.279 +\newlength\@sectionaboveskip 57.280 +\setlength\@sectionaboveskip{-0.7\baselineskip 57.281 + plus -0.1\baselineskip 57.282 + minus -0.1\baselineskip} 57.283 +\newlength\@sectionbelowskip 57.284 +\setlength\@sectionbelowskip{0.3\baselineskip 57.285 + plus 0.1\baselineskip} 57.286 +\newlength\@subsectionaboveskip 57.287 +\setlength\@subsectionaboveskip{-0.5\baselineskip 57.288 + plus -0.1\baselineskip} 57.289 +\renewcommand\section{\@startsection {section}{1}{\z@}% 57.290 + {\@sectionaboveskip}{\@sectionbelowskip}{\@sectionfont}} 57.291 +\newcommand\@gensubsection[2]{\@startsection {#1}{#2}{\z@}% 57.292 + {\@subsectionaboveskip}{\@sectionbelowskip}{\@sectionfont}} 57.293 +\renewcommand\subsection{\@gensubsection{subsection}{2}} 57.294 +\renewcommand\subsubsection{\@gensubsection{subsubsection}{3}} 57.295 +%\renewcommand\paragraph{\@gensubsection{paragraph}{4}} 57.296 +%\renewcommand\subparagraph{\@gensubsection{subparagaph}{5}} 57.297 +\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% 57.298 + {1.25ex \@plus 0.2ex \@minus 0.2ex}% 57.299 + {-1.0em}% 57.300 + {\normalfont\normalsize\bfseries}} 57.301 +\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% 57.302 + {1.25ex \@plus 0.2ex \@minus 0.2ex}% 57.303 + {-1.0em}% 57.304 + {\normalfont\normalsize\bfseries}} 57.305 + 57.306 +% List items need to be tightened up. 57.307 +% There must be a better way than copying 57.308 +% the definitions to modify the list environment... 57.309 +\def\@itemspacings{\listparindent=\parindent 57.310 + \parsep=0pt\topsep=0.3\baselineskip\partopsep=0pt\itemsep=0pt} 57.311 +% now make envs use itemspacings 57.312 +\def\itemize{% 57.313 + \ifnum \@itemdepth >\thr@@\@toodeep\else 57.314 + \advance\@itemdepth\@ne 57.315 + \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% 57.316 + \expandafter 57.317 + \list 57.318 + \csname\@itemitem\endcsname 57.319 + {\@itemspacings\def\makelabel##1{\hss\llap{##1}}}% 57.320 + \fi} 57.321 +\def\enumerate{% 57.322 + \ifnum \@enumdepth >\thr@@\@toodeep\else 57.323 + \advance\@enumdepth\@ne 57.324 + \edef\@enumctr{enum\romannumeral\the\@enumdepth}% 57.325 + \expandafter 57.326 + \list 57.327 + \csname label\@enumctr\endcsname 57.328 + {\@itemspacings\usecounter\@enumctr\def\makelabel##1{\hss\llap{##1}}}% 57.329 + \fi} 57.330 +\def\description{% 57.331 + \list{}{\labelwidth\z@ \itemindent-\leftmargin 57.332 + \@itemspacings\let\makelabel\descriptionlabel}} 57.333 + 57.334 +% Bibliography items need to be tightened up. 57.335 +% Again, there must be a better way than copying 57.336 +% the definitions to modify the list environment... 57.337 +\def\thebibliography#1% 57.338 + {\section*{\refname}% 57.339 + \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}% 57.340 + \list{\@biblabel{\@arabic\c@enumiv}}% 57.341 + {\settowidth\labelwidth{\@biblabel{#1}}% 57.342 + \leftmargin\labelwidth 57.343 + \advance\leftmargin\labelsep 57.344 + \@openbib@code 57.345 + \usecounter{enumiv}% 57.346 + \let\p@enumiv\@empty 57.347 + \renewcommand\theenumiv{\@arabic\c@enumiv}% 57.348 + \parsep=0pt}% pack entries 57.349 + \sloppy 57.350 + \hbadness=8000% mostly don't whine about bibliography fmt 57.351 + \clubpenalty=4000% 57.352 + \@clubpenalty=\clubpenalty 57.353 + \widowpenalty=4000% 57.354 + \sfcode`\.\@m} 57.355 + 57.356 +% Floating bodies need to be tightened up. 57.357 +\setlength\textfloatsep{14pt plus 2pt} 57.358 +\setlength\dbltextfloatsep{\textfloatsep} 57.359 +\setlength\intextsep{0.8\textfloatsep} 57.360 +\setlength\abovecaptionskip{8pt minus 2pt}
58.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 58.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/latex/.pdf Fri Sep 13 11:02:18 2013 -0700 58.3 @@ -0,0 +1,31 @@ 58.4 +%!PS-Adobe-3.0 EPSF-3.0 58.5 +%%Creator: PDF2EPS - BaKoMa TeX Portable Document Format (PDF) Import Filter. 58.6 +%%Title: ..\figures\Proto-Runtime__mdoules_plus_plugin_plus 58.7 +%%CreationDate: Sat May 04 20:18:38 2013 58.8 +%%LanguageLevel: 3 58.9 +%%DocumentData: Clean7Bit 58.10 +%%BoundingBox: 0 0 612 792 58.11 +%%Rotate: 0 58.12 +%%EndComments 58.13 + 58.14 +%%Error: Can't find image 58.15 + 58.16 +%%Page: 1 1 58.17 +newpath 58.18 +0 0 moveto 0 792 lineto 612 792 lineto 612 0 lineto closepath 58.19 +1 0 0 setrgbcolor stroke 58.20 +0 0 0.5 setrgbcolor 58.21 +/Times-Roman findfont 30 scalefont setfont 58.22 +0 396 moveto 0 90 rmoveto 58.23 +gsave (Filter:) gsave show grestore 120 0 rmoveto (PDF2EPS) show grestore 58.24 +0 -30 rmoveto gsave (File:) gsave show grestore 120 0 rmoveto (../figures/Proto-Runtime__mdoules_plus_plugin_plus) show grestore 58.25 +1 0 0 setrgbcolor 58.26 +0 -30 rmoveto gsave (Error:) gsave show grestore 58.27 + /Times-Roman findfont 24 scalefont setfont 120 0 rmoveto (Can't find image) show grestore 58.28 +0 0.5 0 setrgbcolor 58.29 +0 -60 rmoveto gsave (Hint:) show grestore 58.30 +/Times-Roman findfont 24 scalefont setfont 58.31 +0 -30 rmoveto gsave 20 0 rmoveto (Open the file by Acrobat and then save) show grestore 58.32 +%%EndPage 58.33 +(\nPDF2EPS Error: ../figures/Proto-Runtime__mdoules_plus_plugin_plus - Can't find image\n) print flush 58.34 +%%EndDocument
59.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 59.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/latex/PRT__tutorial_explanation_learning.tex Fri Sep 13 11:02:18 2013 -0700 59.3 @@ -0,0 +1,2570 @@ 59.4 +%----------------------------------------------------------------------------- 59.5 +% 59.6 +% Template for sigplanconf LaTeX Class 59.7 +% 59.8 +% Name: sigplanconf-template.tex 59.9 +% 59.10 +% Purpose: A template for sigplanconf.cls, which is a LaTeX 2e class 59.11 +% file for SIGPLAN conference proceedings. 59.12 +% 59.13 +% Guide: Refer to "Author's Guide to the ACM SIGPLAN Class," 59.14 +% sigplanconf-guide.pdf 59.15 +% 59.16 +% Author: Paul C. Anagnostopoulos 59.17 +% Windfall Software 59.18 +% 978 371-2316 59.19 +% paul@windfall.com 59.20 +% 59.21 +% Created: 15 February 2005 59.22 +% 59.23 +%----------------------------------------------------------------------------- 59.24 + 59.25 + 59.26 +\documentclass[preprint]{sigplanconf} 59.27 + 59.28 +% The following \documentclass options may be useful: 59.29 +% 59.30 +% 10pt To set in 10-point type instead of 9-point. 59.31 +% 11pt To set in 11-point type instead of 9-point. 59.32 +% authoryear To obtain author/year citation style instead of numeric. 59.33 +\usepackage{amssymb,graphicx,calc,ifthen,subfig,dblfloatfix,fixltx2e} 59.34 + 59.35 + 59.36 +% correct bad hyphenation here 59.37 +\hyphenation{op-tical net-works semi-conduc-tor} 59.38 + 59.39 +\usepackage{wasysym} 59.40 +\usepackage{amstext} 59.41 + 59.42 +\begin{document} 59.43 + 59.44 +\bibliographystyle{plain} 59.45 +% 59.46 + 59.47 +\conferenceinfo{WXYZ '05}{date, City.} 59.48 +\copyrightyear{2005} 59.49 +\copyrightdata{[to be supplied]} 59.50 + 59.51 +\titlebanner{banner above paper title} % These are ignored unless 59.52 +\preprintfooter{short description of paper} % 'preprint' option specified. 59.53 + 59.54 + 59.55 +\title{ The Proto-Runtime Abstraction Applied to the 59.56 +Construction 59.57 +of Parallel Domain Specific Languages} 59.58 + 59.59 + 59.60 +\authorinfo{Sean Halle} 59.61 + {Open Source Research Institute, INRIA, 59.62 + and TU Berlin} 59.63 + {seanhalle@opensourceresearchinstitute.org} 59.64 +\authorinfo{Merten Sach} 59.65 + {TU Berlin} 59.66 + {msach@mailbox.tu-berlin.de} 59.67 +\authorinfo{Albert Cohen} 59.68 + {Ecole Normal Supereur, and INRIA} 59.69 + {albert.cohen@inria.fr} 59.70 + 59.71 +\maketitle 59.72 + 59.73 + 59.74 +\begin{abstract} 59.75 + 59.76 + 59.77 + 59.78 +Domain Specific Languages that are embedded into a base language have promise to provide productivity, performant-portability and wide adoption for parallel programming. However such languages have too few users to support the large effort required to create them and port them across hardware platforms, resulting in low adoption of the method. 59.79 +As one step to ameliorate this, we apply the proto-runtime approach, which reduces the effort to create and port the runtime systems of parallel languages. It modularizes the creation of runtime systems and the parallelism constructs they implement, by providing an interface 59.80 +that separates the language-construct and scheduling logic away from the low-level runtime details, including concurrency, memory consistency, and runtime-performance aspects. 59.81 +As a result, new parallel constructs are written using sequential reasoning, multiple languages can be mixed within 59.82 +the same program, and reusable services such as performance 59.83 +tuning and debugging 59.84 +support are available. In addition, scheduling of work onto hardware is under language and application control, without interference from an underlying thread package scheduler. This enables higher quality scheduling decisions for higher application performance. 59.85 +We present measurements of the time taken to develop runtimes for new languages, as well as time to re-implement for existing ones, which average a few days each. In addition, we measure performance of implementations 59.86 +based on proto-runtime, going head-to-head with the standard distributions of Cilk, StarSs (OMPSs), and posix threads, showing that the proto-runtime matches or outperforms on large servers in all cases. 59.87 + 59.88 +? 59.89 + 59.90 + 59.91 +replace lang-specific with interface, centralize services, minimize effort to create, give language control over hardware assignment.. side benefits: multi-lang, perf-tuning, debugging\end{abstract} 59.92 + 59.93 + 59.94 + 59.95 + 59.96 + 59.97 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 59.98 +\section{Background and Motivation} 59.99 +\label{sec:intro} 59.100 + 59.101 +[Note to reviewers: this paper's style and structure follow the official PPoPP guide to writing style, which is linked to the PPoPP website. We are taking on faith that the approach has been communicated effectively to reviewers and that we won't be penalized for following it's recommended structure and approach.] 59.102 + 59.103 +As hardware becomes increasingly parallel, programming must also 59.104 +become parallel. However, the transition from sequential to parallel programming has been slow due to the difficulty of the traditional parallel programming methods. 59.105 + 59.106 +The main difficulties with parallel programming are: 1) difficult mental model, which reduces productivity, 2) additional effort to rewrite the code for each hardware target to get acceptable performance and 3) disruption to existing practices, including steep learning curve, changes to the tools used, and changes in work practices. 59.107 + 59.108 +Many believe that these can be overcome with the use of embedded style parallel Domain-Specific Languages (epDSLs) []. epDSL language 59.109 +constructs match the mental model of the domain, while 59.110 +they internally imply parallelism. For example, a simulation 59.111 +epDSL called HWSim[] has only 10 constructs, which match 59.112 +the actions taken during a simulation 59.113 +of interacting objects. They are mixed into sequential C code and take 59.114 +only a couple of hours to learn. Yet they encapsulate subtle 59.115 +and complex dependencies that relate simulated time 59.116 +to the physical time in the machine. They encapsulate the parallelism 59.117 +present, while simultaneously making the implementation 59.118 +simpler to think about than a purely sequential implementation. 59.119 + 59.120 + 59.121 + 59.122 + Despite this, the adoption of such languages has been slow, we believe due to the cost to create them and to port them across hardware targets. The small number of users of each language, which is specific to a narrow domain, makes this cost impractical. 59.123 + 59.124 +We propose that a method that makes epDSLs lower cost to produce as well as to port across hardware targets will allow them to fulfill their promise. We show 59.125 +how to apply the proto-runtime approach to help towards this goal. 59.126 + 59.127 +In this approach, a language's runtime system is built 59.128 +as a plugin that is connected to a pre-existing proto-runtime instance installed on given hardware. Together, the plugin 59.129 +plus proto-runtime instance form the runtime system 59.130 +of the language. The proto-runtime instance itself acts as the infrastructure of a runtime system, and 59.131 +encapsulates most of the hardware-specific details, 59.132 +while providing a number of services for use by the 59.133 +plugged in language module. 59.134 + 59.135 +A proto-runtime instance is essentially a full runtime, but with two key pieces replaced by an interface. One piece replaced is the logic of language constructs, and the other is logic for choosing which core to assign work onto. The proto-runtime instance then supplies 59.136 +the rest of the runtime system. 59.137 + 59.138 +The decomposition, into a proto-runtime plus plugged-in language behaviors, modularizes the construction of runtimes. The proto-runtime is one module, which embodies runtime internals, which are hardware oriented and independent of language. The plugged-in portions form the two other modules, which are language specific. The interface between them occurs at a natural boundary, which separates the hardware oriented portion of a runtime from the language oriented portion. 59.139 + 59.140 +We claim the following benefits of the proto-runtime approach, each of which is supported in the indicated section of the paper: 59.141 + 59.142 +\begin{itemize} 59.143 + 59.144 +\item The proto-runtime approach modularizes the runtime (\S\ref{sec:Proposal}). 59.145 + 59.146 +%\item The modularization is consistent with patterns that appear to be fundamental to parallel computation and runtimes (\S\ ). 59.147 + 59.148 +\item The modularization cleanly separates hardware 59.149 +related runtime internals from the language-specific logic (\S\ref{sec:Proposal}, 59.150 +\S\ref{subsec:Example}). 59.151 + 59.152 +\item The modularization gives the language control 59.153 +over timing and placement of executing work (\S\ref{sec:Proposal}). 59.154 + 59.155 + 59.156 +\item 59.157 + 59.158 +The modularization selectively exposes hardware aspects relevant to placement of work. If the language takes advantage of this, it can result in reduced communication between cores and increased application performance (\S\ ). 59.159 + 59.160 +\begin{itemize} 59.161 + 59.162 +\item Similar control over hardware is not possible when the language is built on top of a package like Posix threads or TBB, which has its own work-to-hardware assignment (\S\ref{sec:Related}). 59.163 + 59.164 +\end{itemize} 59.165 + 59.166 + 59.167 +\item The modularization results in reduced time to implement a new language's behavior, and in reduced time to port a language to new hardware (\S\ref{sec:Proposal}, 59.168 +\S\ref{subsec:ImplTimeMeas}). 59.169 + 59.170 +\begin{itemize} 59.171 + 59.172 + 59.173 +\item Part of the time reduction is due to the proto-runtime providing common services for all languages to (re)use. Such services include debugging facilities, automated verification, concurrency handling, dynamic performance measurements for use in assignment and auto-tuning, and so on (\S\ ). 59.174 + 59.175 +\item Part is due to hiding the low 59.176 +level hardware aspects inside the proto-runtime module, 59.177 +independent from language (\S \ref{sec:intro}). 59.178 + 59.179 +\item Part is due to reuse of the effort of performance-tuning the runtime internals (\S ). 59.180 + 59.181 +\item Part is due to using sequential thinking when implementing the language logic, enabled by the proto-runtime protecting shared internal runtime state and exporting an interface that presents a sequential model (\S\ref{subsec:Example}). 59.182 + 59.183 + 59.184 +\end{itemize} 59.185 + 59.186 +\item Modularization with similar benefits does not appear possible when using a package such as Posix threads or TBB, unless the package itself is modified and then used according to the proto-runtime pattern (\S\ref{sec:Related}). 59.187 + 59.188 + 59.189 +\item The proto-runtime approach appears to future-proof language 59.190 +runtime 59.191 +construction, because the patterns underlying proto-runtime appear to be fundamental (\S\ref{subsec:TiePoints}, 59.192 +\S\ref{subsec:Example}), and so should hold for future architectures. Plugins are reused on those, although performance related updates to the 59.193 +plugins may be desired. 59.194 + 59.195 +\end{itemize} 59.196 + 59.197 +The paper is organized as follows: We first expand on the value of embedded style parallel DSLs (epDSLs), and where the effort goes when creating one (\S\ref{subsec:eDSLEffort}). We focus on the role that runtime implementation effort plays in the adoption of epDSLs, which motivates the value of the savings provided by the proto-runtime approach. We then move on to the details of the proto-runtime approach (\S\ref{sec:Proposal}), and tie them to how a runtime is modularized (\S\ref{subsec:Modules}), covering how each claimed benefit is provided. 59.198 +We then show overhead measurements (\S\ref{subsec:OverheadMeas}) and implementation time measurements (\S\ref{subsec:ImplTimeMeas} ), which indicate that the proto-runtime approach is performance competitive while significantly reducing implementation and porting effort. 59.199 +With that understanding in hand, we then discuss how the approach compares to related work (\S\ref{sec:Related}), and finally, we highlight the main conclusions drawn from the research (\S\ref{sec:Conclusion}). 59.200 + 59.201 + 59.202 + 59.203 + 59.204 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 59.205 +% 59.206 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 59.207 +\section{Background: The epDSL Hypothesis} 59.208 + 59.209 +%[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]] 59.210 + 59.211 +%[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]] 59.212 + 59.213 +%[[Bridge: effort to create = runtime + effort port = runtime + perf on new target = runtime]] 59.214 + 59.215 +%[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]] 59.216 + 59.217 +Domain Specific Languages have been around for a while [], and recently have been suggested as a good approach for parallel programming[][stanford PPL]. 59.218 + 59.219 +In essence, a DSL, or just Domain Language, captures patterns that are common in a particular domain of expertise, such as user interfaces, simulations of physical systems, bio-informatics, and so on. Each domain has a particular set of mental models, common types of computation, and common kinds of data structures. A DSL captures these common elements in custom syntax. 59.220 + 59.221 + 59.222 +The custom syntax can capture parallelism information while simultaneously being natural to think about. In practice, multiple aspects of domains provide opportunities for parallelism. For example, the custom data structures seen by the coder can be internally implemented with distributed algorithms; common operations in the domain can be internally implemented with parallel algorithms; and, the domain constructs often imply dependencies. All of these are gained without the programmer being aware of this implied parallelism; they just follow simple language usage rules. 59.223 + 59.224 + 59.225 + 59.226 +\subsection{Embedding a DSL into a base language} 59.227 + 59.228 +A style of domain language, which we feel has good adoption potential, is the so-called \textit{embedded} style of DSL (eDSL) [] [metaborg][stanford ppl]. In this variation, a program is written in a mix of a base sequential language plus domain language constructs. The syntax of the two is intermixed. A preprocessing step then translates the domain syntax into the base syntax, and includes calls to the domain language's runtime. 59.229 + 59.230 + 59.231 +For example, use C (or Java) as the base language for an application, then mix-in custom syntax from a user-interface eDSL. To test the code, the developer modifies the build process to first perform the translation step, then pass the resulting source through the normal compiler. The resulting executable contains calls to a runtime library that becomes linked, at run time, to an implementation that has been tuned to the hardware. 59.232 + 59.233 +As with HWSim, the number of such embedded 59.234 +constructs tends to be low, easy to learn, and significantly 59.235 +reduce the complexity of the code written. All while 59.236 +implicitly specifying parallelism. 59.237 + 59.238 +Additionally, parallel versions, or epDSLs have more than just a syntactic advantage over libraries. The language has a toolchain that provides build-time optimization and can take advantage of relationships among distinct constructs within the code. The relationship information allows derivation of communication patterns that inform the choice of placement of work, which is critical to performance on parallel hardware. 59.239 +\subsection{Low learning curve, high productivity, and portability} 59.240 + eDSLs tend to have low learning curve because domain experts are already familiar with the concepts behind the language constructs, and there are relatively few constructs 59.241 +for an embedded DSL. This is especially valuable for those who are \textit{not} expert programmers. Embedded style DSLs further reduce learning curve because they require no new development tools nor development procedures. Together, these address the goal of a low learning curve for switching to parallel software development. 59.242 + 59.243 +Productivity has been shown to be enhanced by a well designed DSL, with studies measuring 59.244 +10x reduction in development time [][][]. Factors 59.245 +behind this include simplifying the application code, modularizing it, and encapsulating performance aspects inside the language. Simplifying reduces the amount of code and the amount of mental effort. Modularizing separates concerns within the code and isolates aspects, which improves productivity. Encapsulating performance inside the DSL constructs removes them from the application programmer's concerns, which also improves productivity. 59.246 + 59.247 +Perhaps the most important productivity enhancement comes from hiding parallelism aspects inside the DSL constructs. The language takes advantage of the domain patterns to present a familiar mental model, and then attaches synchronization, work-division, and communication implications to those constructs, without the programmer having to be aware of them. Combining the simplicity, modularization, performance encapsulation, and parallelism hiding, with congruence with the mental model of the domain, together work towards the goal of high productivity. 59.248 + 59.249 +Portability is aided by the encapsulation of performance aspects inside the DSL constructs. The aspects that require large amounts of computation are often pulled into the language, so only the language implementation must adapt to new hardware. Although fully achieving such isolation isn't always possible, epDSLs hold promise for making significant strides towards it. 59.250 + 59.251 +\subsection{Low disruption and easy adoption} 59.252 + 59.253 +Using an epDSL tends to have low disruption because the base language remains the same, along with most of the development tools and practices. 59.254 + Constructs from the epDSL can be mixed into existing sequential code, incrementally replacing the high computation sections, while continuing with the same development practices. 59.255 + 59.256 + \subsection{ Few users means the effort of eDSLs must be low} \label{subsec:eDSLEffort} 59.257 + 59.258 +What appears to be holding epDSLs back from widespread 59.259 +adoption is mainly the time, expertise, and cost to develop an epDSL. The effort to create a usable epDSL needs to be reduced to the point that it is viable for a user base of only a few hundred. 59.260 + 59.261 +The effort falls into three categories: 59.262 + 59.263 +\begin{enumerate} 59.264 +\item effort to explore language design and create the epDSL syntax 59.265 +\item effort to create the runtime that produces the epDSL behavior 59.266 +\item effort to performance tune the epDSL on particular hardware 59.267 +\end{itemize} 59.268 + 59.269 + 59.270 +\subsection{The big picture} 59.271 + 59.272 +Across the industry as a whole, when epDSLs become successful, there may be thousands of epDSLs, that 59.273 +each must be mapped onto hundreds of different hardware platforms. That multiplicative effect must be reduced in order to make the epDSL approach economically viable. 59.274 + 59.275 +The first category of eDSL effort is creating the front-end translation of custom syntax into the base language. This is a one-time effort that does not repeat when new hardware is added. 59.276 + 59.277 +The effort that has to be expended on each platform is the runtime implementation and toolchain optimizations. 59.278 +Runtime implementation includes hardware-specific low-level tuning and modification of mapping of work onto cores. 59.279 + 59.280 +This is where leveraging the proto-runtime approach 59.281 +pays off. Hardware platforms cluster into groups with similar performance-related features. Proto-runtime 59.282 +presents a common abstraction for all hardware 59.283 +platforms, but a portion of the interface supplies performance related 59.284 +information specific to the hardware. This portion is specialized for each 59.285 +cluster. Examples of clusters include: 59.286 + 59.287 +\begin{itemize} 59.288 +\item single chip shared coherent memory 59.289 +\item multi-chip shared coherent memory (NUMA) 59.290 +\item coprocessor with independent address space (GPGPU) 59.291 +\item a network among nodes of the above categories 59.292 +(Distributed) \item a hierarchy of sub-networks 59.293 +\end{itemize} 59.294 + 59.295 + 59.296 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 59.297 +% 59.298 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 59.299 +\section{Our Proposal} \label{sec:Proposal} 59.300 + 59.301 +We propose addressing the runtime effort portion of creating 59.302 +an epDSL by defining a modularization of runtimes, as seen in Fig. \ref{fig:PR_three_pieces}. The low-level hardware details are collected into one module, which presents a common interface, called the \textit{proto-runtime 59.303 +instance}. The language supplies 59.304 +the top two modules, which plug in via the interface. The hardware specific module (proto-runtime instance) presents the same interface 59.305 +for all platforms, with a specialization for each category 59.306 +of platform sharing similar performance related features. The proto-runtime module only has to be implement once for a given platform, and is then reused by all the languages. 59.307 + 59.308 +\begin{figure}[ht] 59.309 + \centering 59.310 + \includegraphics[width = 1.5in, height = 1.1in]{../figures/proto-runtime__modules.pdf} 59.311 + \caption{Shows how the proto-runtime approach modularizes the implementation of a runtime. The three pieces are the proto-runtime implementation, an implementation of the language construct behaviors, and an implementation of the portion of scheduling that chooses which work is assigned to which processor. } 59.312 + \label{fig:PR_three_pieces} 59.313 +\end{figure} 59.314 + 59.315 + 59.316 +Because of the modularization, a language has a much lower effort requirement, of implementing just for each category. 59.317 + 59.318 +The higher level of abstraction simplifies the task for the language implementer. 59.319 +The language doesn't consider the low-level details of making the runtime itself run fast. It only has to consider the level of hardware feature that is exposed by the interface. 59.320 + 59.321 +One additional benefit is that the assignment module 59.322 +gives control to the language, to choose when and where it wishes work to execute. 59.323 +This simplifies implementation of language features related to scheduling behavior. 59.324 +It also enables the language implementor to use sophisticated 59.325 +methods for choosing placement of work, which can significantly impact 59.326 +application performance. 59.327 + 59.328 +In this paper, we present work that applies to coherent 59.329 +shared memory machines, both single chip and multiple chip. Extensions beyond this are currently in progress, to address multiple-address-space machines and hierarchical 59.330 +heterogeneous collections of processors, which will appear in future papers. 59.331 + 59.332 +\subsection{Breakdown of the modules} \label{subsec:Modules} 59.333 + 59.334 +The language is broken into two parts, as seen in Fig. 59.335 +\ref{fig:langBreakdown}. One is a thin wrapper library that 59.336 +invokes the runtime and the other is a set of modules that are part of that invoked runtime. These are called 59.337 +the \textit{language plugin} or just plugin. 59.338 + 59.339 + 59.340 +\begin{figure}[ht] 59.341 + \centering 59.342 + \includegraphics[width = 2.8in, height = 1.1in]{../figures/proto-runtime__modules_lang_breakdown.pdf} 59.343 + \caption{Shows how the code of the language implementation 59.344 + is broken into two pieces. The first is a thin wrapper 59.345 + that invokes the runtime, the other is a dynamic 59.346 + library that plugs into the runtime.} 59.347 + \label{fig:langBreakdown} 59.348 +\end{figure} 59.349 + 59.350 + 59.351 + 59.352 +Thus, a non-changing application executable is able to invoke hardware specific plugin code, which changes between machines. The plugin collects the two language modules into a dynamic library. The library is implemented, compiled, distributed and installed separately from applications. The application executable contains only symbols of plugin functions, and during the run those are dynamically linked to machine-specific implementations. 59.353 + 59.354 + 59.355 +In order to provide such modularization, we rely upon a model for specifying synchronization constructs that we call the tie-point model. The low-level nature of a tie-point places them below the level of constructs, 59.356 +even a simple mutex. Instead, a mutex is specified in terms 59.357 +of the primitives in the tie-point model. In turn, 59.358 +the tie-point primitives are implemented 59.359 +by proto-runtime. 59.360 + 59.361 + This places all parallel constructs on the same level in the software stack, be they complex like the AND-OR parallelism of Prolog, or the wild-card matching 59.362 +channels in coordination languages, or ultra-simple acquire and release mutex constructs. All are implemented in terms of the same tie-point primitives provided by the proto-runtime instance. 59.363 + 59.364 +We have reached a point in the paper, now, where the order of explanation can take one of two paths: either 59.365 +start with the abstract model of tie-points and explain how this affects the modularization of the runtime, or start with implementation details and work upwards towards the abstract model of tie-points. We have chosen to start with the abstract tie-point model, but the reader is invited to skip to the section after it, which starts with code examples and ties code details to the abstract tie-point model. 59.366 + 59.367 + 59.368 + 59.369 +\section{The tie-point model.}\label{subsec:TiePoints} 59.370 + 59.371 + 59.372 +\subsection{timelines} 59.373 +A tie-point relates timelines, so we talk a bit, first, about timelines. A timeline is the common element in parallelism. If you look at any parallel language, it involves a number of independent timelines. It then controls which timelines are actively progressing relative to the others. 59.374 + 59.375 +For example, take a thread library, which we consider 59.376 +a parallel language. It provides a command to create a thread, where that thread represents an independent timeline. The library also provides the mutex acquire and release commands, which control which of those timelines advance relative to each other. When an acquire executes, it can cause the thread to block, which means the associated timeline suspends; it stops 59.377 +making forward progress. The release in a different thread clears the block, which resumes the timeline. That linkage between suspend and resume of different timelines is the control the language exerts over which timelines are actively progressing. 59.378 + 59.379 +To build up to tie-points, we look at the nature of points on 59.380 +a single timeline, by reviewing mutex behavior in detail. See the timeline shown in Fig \ref{fig:singleTimeline}. Thread A, which is timeline A, tries to acquire the mutex, M, 59.381 +by executing the acquire command. Timeline A stops, at point 1.S, then something external to it happens, and the timeline starts again at point 1.R. The gap between is not seen by the code executed within the thread. Rather, from the code-execution viewpoint, the acquire command is a single command, and hence the gap between 1.S and 1.R collapses to a single point on the timeline. 59.382 + 59.383 + 59.384 +\begin{figure}[ht] 59.385 + \centering 59.386 + \includegraphics[width = 2.8in, height = 0.8in] 59.387 + {../figures/PR__timeline_single.pdf} 59.388 + \caption{The timeline suspends at 1.S and resumes 59.389 + at 1.R. From the viewpoint of the timeline, the gap collapses into a single point.} 59.390 + \label{fig:singleTimeline} 59.391 +\end{figure} 59.392 + 59.393 + 59.394 + Fig. \ref{fig:dualTimeline} shows two timelines: timeline A executing acquire and timeline B executing release. The release still suspends its timeline, but 59.395 +it quickly resumes again because it is not blocked. 59.396 +The release causes timeline A to also resume. The fact 59.397 +of the release on one timeline has caused the end of the acquire on the other. This makes 59.398 +the two collapsed points become what we term \textit{tied together} into a \textit{tie-point}. 59.399 + 59.400 +\begin{figure}[ht] 59.401 + \centering 59.402 + \includegraphics[width = 2.8in, height = 1.2in] 59.403 + {../figures/PR__timeline_dual.pdf} 59.404 + \caption{Two timelines with tied together ``collapsed'' 59.405 +points. 59.406 +Point 1 on timeline A forms a tie-point with point 59.407 +2 on timeline B. 59.408 +It is hidden activity that takes place inside the gaps that 59.409 +establishes a causal relationship that ties them together.} 59.410 + \label{fig:dualTimeline} 59.411 +\end{figure} 59.412 + 59.413 +Fig. \ref{fig:dualTimelineWHidden} adds detail about 59.414 +how the release goes about causing the end of the block 59.415 +on the acquire. It reveals 59.416 +a hidden timeline, which is what performs the behavior of the 59.417 +acquire and release constructs. As seen, acquire starts 59.418 +with a suspend, which is accompanied by a communication 59.419 +sent to the hidden timeline. The hidden timeline then 59.420 +checks whether the mutex is free, sees that it isn't 59.421 +and leaves timeline A suspended. Later, timeline 59.422 +B performs release, which suspends it and sends a communication 59.423 +to the same hidden timeline. That then sees that timeline 59.424 +A is waiting for the release and performs a special 59.425 +control action that resumes timeline A, followed by 59.426 +doing the control action again to resume timeline B. 59.427 + It is inside the hidden timeline that the acquire 59.428 +gets linked to the release, tying the constructs together. 59.429 + 59.430 + 59.431 +\begin{figure}[ht] 59.432 + \centering 59.433 + \includegraphics[width = 2.8in, height = 1.9in] 59.434 + {../figures/PR__timeline_dual_w_hidden.pdf} 59.435 + \caption{Two timelines with tied together ``collapsed'' 59.436 +points showing the detail of a hidden timeline that 59.437 +performs the behavior that ties the points together. 59.438 +Vertical dashed lines represent communication sent 59.439 +as part of the suspend action, and the curvy arrows 59.440 +represent special control that causes resume of the 59.441 +target timelines. During the gaps in timelines A and 59.442 +B, activity takes place in the hidden timeline, which 59.443 +calculates that the timelines should be resumed, then 59.444 +exercises control to make resume happen.} 59.445 + \label{fig:dualTimelineWHidden} 59.446 +\end{figure} 59.447 + 59.448 + 59.449 + 59.450 +We show in \S\ref{sec:FormalTiePoint} that the pattern 59.451 +of communications to and from the hidden timeline establishes 59.452 +an ordering relationship between events before and 59.453 +after the tied points. That implies a relation on 59.454 +the visibility of events. 59.455 + 59.456 +Fig \ref{fig:tie-pointGuarantees} shows the ordering relationship and the implied visibility of operations between 59.457 +the timelines. Operations that execute in 59.458 +the first timeline before the tie-point are visible 59.459 +in the second after the tie point, and vice versa. Likewise, operations that execute in one timeline after the tie-point are not visible in the other timeline before the tie-point. Such an ordering satisfies 59.460 +the requirements 59.461 +of a synchronization construct. 59.462 + 59.463 + 59.464 + 59.465 +\begin{figure}[ht] 59.466 + \centering 59.467 + \includegraphics[width = 2.8in, height = 1.25in] 59.468 + {../figures/PR__timeline_tie_point_ordering.pdf} 59.469 + \caption{The 59.470 +visibility guarantees that result from a tie-point. Shows which 59.471 + operations, such as writes, performed on one timeline can be seen by the other 59.472 +timeline. These visibilities are equivalent to establishing 59.473 +an order between events before the tied points versus those after the tied 59.474 +points. Both timelines agree on what events are before 59.475 +versus after the tied point. } 59.476 + \label{fig:tie-pointGuarantees} 59.477 +\end{figure} 59.478 + 59.479 + 59.480 +\subsection{Formal definition of tie-point} \label{sec:FormalTiePoint} 59.481 +In a moment we will show how any and all synchronization constructs 59.482 +can be defined in terms of tie-points. Before getting 59.483 +there, we must choose an, unavoidably arguable, definition of synchronization 59.484 +construct. We then provide a formal definition of tie-point 59.485 +and use it to show that a tie point 59.486 +satisfies the conditions of any 59.487 +such synchronization 59.488 +construct. 59.489 + 59.490 +Our formalism defines timelines, communication between 59.491 +timelines, and suspend and resume of a timeline. It then shows a particular pattern, which is the characteristic pattern that defines a tie-point. We then show that when that characteristic pattern exists, then relations exist between timelines that have certain properties. 59.492 +We conclude by showing a few classical definitions 59.493 +of synchronization and show that those definitions 59.494 +are upheld when the tie-point pattern is present. Hence, those classical definitions can be satisfied via creation of a tie-point. 59.495 + 59.496 +\subsubsection{} 59.497 + 59.498 +\begin{description} 59.499 +\item[timeline:] 59.500 +\(T = E \times\mathbb{N}, (E, <)\). A timeline is an ordered 59.501 +sequence of events. Given two events $e_\alpha, e_\beta \in E$ from a timeline, the events are ordered by the 59.502 +subscripts, so: $e_\alpha < e_\beta$ iff $\alpha < \beta$, 59.503 +and vice versa. 59.504 + Any and all memory locations in a system are part 59.505 + of, or local to, exactly one timeline. Only that 59.506 +timeline can modify the locations (hence, side-effects require shared memory to have its own timeline that 59.507 +is separate 59.508 +from any timeline that code executes in). 59.509 + 59.510 +\item[event:] 59.511 +\(E =\{c_{0,t},c_{1,t}, ..\} \cup \{s_{n,\alpha ,t}\} \cup \{r_{n,\beta , t}\} 59.512 +\cup \{z_{\gamma ,t} \} \). There are four kinds of event 59.513 +that can happen on a timeline, namely $c$, a step of computation, 59.514 +which modifies the memory local to the timeline; $s$, a 59.515 +send of a communication which pushes out contents from 59.516 +the timeline's local memory; $r$, a receive of a communication 59.517 +which modifies the timeline's local memory; and $z$, 59.518 +a synchronization 59.519 +construct which suspends then resumes the timeline in such a way 59.520 +as to establish a relation between events on this timeline 59.521 +versus events on a remote timeline. Suspend is denoted 59.522 +$z\_s_{\gamma ,t}$ while resume is denoted $z\_r_{\gamma 59.523 +,t}$ where $s$ 59.524 +and $r$ are literal while $\gamma$ denotes the position 59.525 +on the timeline and $t$ is the timeline that executes 59.526 +the synchronization construct. 59.527 +\item[communication:] 59.528 +\(C = \{s,r\}, s < r\). A communication is a set of 59.529 +one send event from one timeline plus one or more receive events 59.530 +from different timelines, with the send 59.531 +event ordered before the receive event(s), denoted $s_{n,\alpha, t}\mapsto 59.532 +r_{n,\beta,t}$ where $n$ distinguishes the communication 59.533 +set, $\alpha$ and $\beta$ are the ordering upon the 59.534 +timeline and $t$ denotes the timeline the event is on. A communication 59.535 +orders events on one timeline relative to events on another. 59.536 +However, the ordering is only between two points. In 59.537 +particular for two sends from timeline 1 to timeline 59.538 +2, if \(s_{1,\_,1} < s_{2,\_,1}\) on timeline 1, then on 59.539 +timeline 2, both \(r_{1,\_,2} < r_{2,\_,2}\) and \(r_{2,\_,2} < r_{1,\_,2}\) are valid, where ``$\_$'' in the position 59.540 +of the ordering integer represents a wild 59.541 +card. However, $s_{1,\_,1} \mapsto r_{1,\_,2}$ 59.542 +followed by $s_{2,\_,2} \mapsto r_{2,\_,1}$ where $r_{1,\_,2} 59.543 +< s_{2,\_,2}$ 59.544 + implies that $s_{1,\_,1} < r_{2,\_,1}$ always. 59.545 + 59.546 +\item[hidden timeline:] We define a special kind of "hidden" timeline that is not 59.547 +seen by application code. It has an additional 59.548 +kind of event available, which ends a synchronization 59.549 +event on a different timeline. 59.550 + We denote this $fro_{\delta,h}$ where $fro$ is literal, 59.551 + standing for ``force resume other (timeline)", $\delta$ is the position 59.552 + on the timeline and $h$ is the (hidden) timeline the 59.553 +event is on. Additionally, a suspend event on an application 59.554 +visible timeline implies a send from that timeline 59.555 +to a hidden timeline. Hence $z\_s_{\gamma,t} \Rightarrow 59.556 +s_{n,\gamma,t} \mapsto r_{n,\_,h}$ 59.557 + 59.558 +\item[tie-point:] Now, we define a tie-point as a set of two or more 59.559 +synchronization points from different timelines which 59.560 +are related by a particular pattern of communications. 59.561 +As a result of the pattern, the set satisfies particular criteria. The pattern is that communications from the suspend synchronization events must converge on a common hidden timeline and that timeline must then emit a subsequent resume event for each of the suspended timelines, 59.562 +as shown back in Fig. \ref{fig:dualTimelineWHidden}. 59.563 + 59.564 +\end{description} 59.565 + 59.566 +We now show that from these definitions it follows: 59.567 +[math here] which says that any event that comes after a tie point on one timeline is ordered after any event on a different timeline that precedes the tie-point on that timeline (note that the same tie point is common to both timelines). The dual also holds true. 59.568 + 59.569 +We take the event immediately preceding and the event 59.570 +immediately following two synchronization events on 59.571 +two timelines. The synchronization events begin with 59.572 +a suspend half-event and ends with a resume half-event. 59.573 +The suspend half-event is accompanied by a send to 59.574 +a hidden timeline. That hidden timeline has a receive, 59.575 +and later in its sequence it has a receive for the 59.576 +synchronization event from the second timeline. The 59.577 +hidden timeline then performs resume of both timelines. 59.578 + 59.579 +From that, we get the following relations: 59.580 + 59.581 +Which shows that the event following on timeline 1 comes after the event preceding on timeline 2 and vice versa. 59.582 + 59.583 +This property of ordering events on two timelines in this way is the key requirement for several classical definitions of synchronization. Hence, any implementation that exhibits this pattern of synchronization communications converging on a common hidden timeline, which subsequently resumes the synchronizations, in turn satisfies the conditions for a synchronization. 59.584 + 59.585 +\subsubsection{What is different about tie-point?} 59.586 +Many readers will be wondering "so, how is implementing 59.587 +a synchronization construct this way any different 59.588 +from how they're currently implemented?" The answer 59.589 +is that currently, synchronization constructs are 59.590 +implemented on top of other synchronization constructs, 59.591 +where we consider an atomic Compare and Swap instruction 59.592 +to be a synchronization construct. It is only in the 59.593 +hardware that a synchronization construct is assembled 59.594 +from pieces. We further claim that the hardware implements 59.595 +according to the tie-point pattern described in our formal definition. 59.596 + 59.597 +What we consider to be a tie-point is any point that 59.598 +has this pattern, independent of the semantics added. 59.599 +For example, for the Compare And Swap (CAS) instruction, 59.600 +the comparison and swap are the semantics of what the 59.601 +instruction does, while the atomicity, or exclusive 59.602 +access is the part that provides the ordering relations. 59.603 +So, the presence of the ordering relations is the tie-point 59.604 +portion, while the comparison and swap are the plugged-in 59.605 +semantics portion associated with the tie point. 59.606 + 59.607 +In that way, tie-point can be considered to simply 59.608 +say ``has the ordering relation of a synchronization 59.609 +construct". Tie-point is nothing new, when viewed that way. However, a tie-point is not a given, but rather 59.610 +has to be constructed. To get a tie-point, one must 59.611 +create a construction from which the givens for a synchronization 59.612 +can be derived. Further, tie points can be constructed 59.613 +for things that most would not readily consider a synchronization 59.614 +construct. For example, any asynchronous communication 59.615 +establishes a half tie-point, because ordering can 59.616 +be derived. This is useful, for example, in defining 59.617 +memory consistency models. 59.618 + 59.619 +The key here is the elements of the model within which 59.620 +tie-point is defined. In particular, memory does not 59.621 +exist outside a timeline, the points on a timeline 59.622 +have no ordering relative to points on another timeline, 59.623 +ordering between timelines is only established by a communication, and timelines can suspend themselves 59.624 +(or be suspended by a different timeline), 59.625 +and be resumed by a different timeline. 59.626 + 59.627 +Within this model, the characteristics of a synchronization 59.628 +can be derived. That is the key difference, as usually 59.629 +one states as a \textit{given} that a construct exists that has the synchronization properties. Tie-point 59.630 +is derived, versus synchronization is given. 59.631 + 59.632 +True, the two are equally powerful. 59.633 + 59.634 +More low level, less junk on top, more efficiency and 59.635 +more control -- w/sync like threads, it has its own 59.636 +scheduler, have no control over where and when work 59.637 +happens. 59.638 + 59.639 +It is different because it only directly provides half 59.640 +the behavior, the time half. in the sense that 59.641 + 59.642 +The claim is that from a theory standpoint, tie-point 59.643 +is not more powerful -- proto-runtime can implement 59.644 +synchronization constructs, and sync constructs can 59.645 +implement other sync constructs.. 59.646 + 59.647 +But, sync constructs CANNOT implement all of proto-runtime! They can't do the communications nor the hidden timeline nor create VPs 59.648 +nor scheduling.. also, proto-runtime can do distributed 59.649 +memory things that sync constructs cannot. 59.650 + 59.651 +The sync constructs can be used together with shared 59.652 +memory-based communication in order to make more complex 59.653 +sync constructs.. but they can't be used in a distributed 59.654 +memory system to make distributed memory things. 59.655 + 59.656 +Unless use communication to implement shared memory 59.657 +on top of distributed memory.. things like that.. It's 59.658 +a question of what's fair game in the comparison -- 59.659 +proto-runtime the behavior is in the hidden timeline, 59.660 +which is "inside" the construct, in a sense.. but using sync constructs to implement others, you lose 59.661 +that "inside" notion.. it just becomes application 59.662 +code that uses sync constructs.. with the app code 59.663 +running in an application timeline.. so.. need to 59.664 +get at that notion of animator, which has the "hidden" 59.665 +timeline, versus function call.. 59.666 + 59.667 +What about this.. it's a matter of constructing from 59.668 +equally powerful versus from less powerful.. mmmm want 59.669 +that notion of animator in there.. and want to get 59.670 +at when an arrangement qualifies as having "switched 59.671 +over to the animator" -- does implementing mutex from 59.672 +just memory ops qualify as switching over to the animator 59.673 +just by entering the code that implements the mutex? 59.674 +Say, place that code in-line in the application code 59.675 +everywhere it's used.. 59.676 + 59.677 +Hmmmm.. could use the relation model to show that the 59.678 +pure memory based implementation contains a tie-point, 59.679 +which is how the more-primitive operations are able 59.680 +to construct the more powerful mutex. That might 59.681 +be a more fruitful, easier to gain acceptance, approach.. 59.682 +show that things that have no time-related semantics, 59.683 +only simple one-way communication, are able to construct 59.684 +the time-related semantics.. and it is the presence 59.685 +of the tie-point convergence pattern that does it. 59.686 + 59.687 +In fact, might take the Dijkstra original mutex from 59.688 +must memory implementation and show the tie-point pattern 59.689 +within it.. then also show the tie-point pattern within lock-free implementations.. the point being that all 59.690 +you have to show is the presence of the tie-point pattern, 59.691 +in order to prove synchronization properties.. where 59.692 +"synchronization properties" is the existence of the ordering relation.. which is equivalent to agreement of before vs after.. which is equivalent to the visibility 59.693 +relation, which is what a programmer cares about.. 59.694 +the visibility is what a programmer requires in a "mutual 59.695 +exclusion". 59.696 + 59.697 +This visibility guarantees is how it can be guaranteed that 59.698 +those that are still "before" the mutex cannot influence 59.699 +the one "after" the mutex, which is inside the critical section. And also require vice versa, 59.700 +that the one "after" the mutex, inside the critical 59.701 +section, cannot take actions 59.702 +that influence any "before" it.. similarly at the 59.703 +end of the critical section, need the same isolation. 59.704 + 59.705 + 59.706 +Let's see.. the relation model said that something 59.707 +with synchronization constraints can be created from 59.708 +just communication plus hidden timeline.. as long 59.709 +as get the convergence on that hidden timeline. 59.710 + 59.711 +What Henning was saying was that sync is defined as 59.712 +the end-constraints. So, the end-constraints IS what 59.713 +a synchronization construct is. It doesn't matter 59.714 +how to implement one, it only matters the end constraints. 59.715 + 59.716 +So, what the relation thing showed was how to construct 59.717 +a synchronization. What need to show is that the relation 59.718 +thing can also construct stuff that cannot be constructed 59.719 +with a synchronization construct. 59.720 + 59.721 +I guess the question would be: if one starts with a 59.722 +synchronization construct existing within a distributed 59.723 +system.. well, then one can construct other sync constructs 59.724 +from that one.. 59.725 + 59.726 +For them, the question of "more primitive" is: can the more primitive 59.727 +thing do stuff the "full" one cannot? 59.728 + 59.729 +For me, the question of "more primitive"\ is: can one 59.730 +of them be constructed from the other, which ONLY\ 59.731 +has simpler pieces? Constructing one from itself says nothing.. 59.732 +but being able to construct one from something that 59.733 +is NOT one, whose individual components all have less 59.734 +than one.. that thing's pieces are all less powerful.. 59.735 +then it is a particular combination that brings the extra 59.736 +time-related behavior of a sync construct into existence. 59.737 +It is recognizing the particular pattern that brings 59.738 +that extra into existence that is of value. 59.739 + 59.740 +It is that pattern that tells you how to get one from 59.741 +simpler pieces. 59.742 + 59.743 +So, the story is: using only pieces that lack the "special" 59.744 +synchronization construct property, construct something 59.745 +that does have the synchronization property. That, 59.746 +is building something more powerful from pieces that 59.747 +are less powerful. 59.748 + 59.749 +The other part of the story is: the proto-runtime cannot 59.750 +be used by itself. It requires addition before it 59.751 +can be used. That is, have to add the $M\mapsto M$, to arrive 59.752 +at the $T\times M\mapsto M$, then can use the $T\times 59.753 +M\mapsto M$.. but can't 59.754 +use just the $T\times$ by itself -- that's non-sensical. 59.755 +So, provides a $(M\mapsto M, f)$ that is used to get the $T\times M\mapsto M$, 59.756 +but can't use the $f$ inside an application.. it doesn't 59.757 +do anything other than add the Tx.. so it doesn't 59.758 +accomplish any steps of computation, nor does it provide 59.759 +$T\times$ to any application code.. the $(M\mapsto M, f)$ is outside 59.760 +of any language -- that's what CREATES a language. 59.761 + 59.762 +*****Can't define $(M\mapsto M, f)$ as part of its own language, 59.763 +because it doesn't do anything. No computation is 59.764 +performed by it. **** (so, what's the definition of 59.765 +computation, then?) 59.766 + 59.767 +The other part of the story is the HWSim time behavior 59.768 +-- those aren't sync constructs.. rather that is a 59.769 +particular set of constraints on time.. constructed 59.770 +out of primitives none of which have sych nor time 59.771 +behavior by themselves beyond "comes after" of comm. 59.772 + 59.773 +Another part of the story is the singleton thing, constructed 59.774 +directly.. Q: can that be built from sync constructs 59.775 +in distributed system? Does using sync constructs 59.776 +do something that using primitives doesn't? Does it 59.777 +add something, fundamentally? Well, it is in terms 59.778 +of something that already has the property being constructed.. 59.779 +that's the issue.. in one case, taking something that 59.780 +has the property and building something else that has 59.781 +it.. in other case taking something that doesn't and 59.782 +building something that does. 59.783 + 59.784 +So.. in the consistency model, just using the comes-after 59.785 +property of communication to derive compound communication, 59.786 +of particular write to particular read, via memory 59.787 +locations. 59.788 + 59.789 +So, what is a tie-point in that consistency model? It is the pattern that allows deriving an ordering, between different computation timelines. There, the 59.790 +tie-point was tying a write on one to a read on the 59.791 +other, and thereby establishing a half-ordering between 59.792 +the two timelines. 59.793 + 59.794 +Right.. so that should be it.. that a chain of communications results in an ordering between the end-points. And that a synchronization is nothing more than two communication chains that are tied together.. where the tie equals the chains SHARING one link, on some intermediate timeline. 59.795 + 59.796 +Right.. thinking about mutex acquire and release.. 59.797 +the release is asynch.. the sending timeline resumes before 59.798 +the hidden timeline receives notice.. but that just 59.799 +establishes a half tie-point, no? 59.800 + 59.801 +In the async case, operations after the construct can be seen BEFORE the construct in the other timeline. Right. So that's a half tie-point. A full tie-point is that nothing after in either can be seen before by the other. 59.802 + 59.803 +Right.. so one distinction is this: a half tie-point 59.804 +cannot be created using sync constructs "directly". 59.805 + A sync construct is a full tie-point. 59.806 + 59.807 + 59.808 +================================================ 59.809 + 59.810 + 59.811 +\subsubsection{Lifeline, Timeline, and Projection} 59.812 +We define a formal entity that we call a lifeline, 59.813 +where a timeline is a type of lifeline. 59.814 +We define event-types and specific occurrences of event-types, and show how multiple lifelines can observe the same occurrence. A projection between 59.815 +lifelines is defined as an event initiated upon one lifeline being observed on a different lifeline. The projection is from initiator to observer. 59.816 + 59.817 +\begin{description} 59.818 +\item[event:] 59.819 +\(E \) represents an event, which is something that 59.820 +can be initiated or observed. 59.821 +\item[occurrence:] 59.822 +\(O\in E \times\mathbb{N}\) is the set of occurrences, where each occurrence associates a specific event with a unique identifier. A particular occurrence is denoted by subscripting with the value of the associated 59.823 +integer, for example: \(O_{7}\) 59.824 + 59.825 +\item[clock:] 59.826 +\(t:I\rightarrow\mathbb{R}^{+}\) maps each integer 59.827 +onto a real number, such that \(I_{1}<I_{2}\Rightarrow 59.828 +R_{1}<R_{2}\) . In general, different clocks have no relation to each other, but elements associated with a clock have a sequence defined by the integer 59.829 +sequence of the clock. 59.830 +\item[lifeline:] 59.831 +\(l = <\alpha , t> \) 59.832 + is a lifeline, where \(\alpha\) 59.833 +is a sequence over \(Dom(t)\) and each element of \(\alpha\) is either an initiation of an occurrence, or an observation 59.834 +of one. A \textit{beat} of the lifeline is one tuple, denoted \(l(i)\), while the occurrence associated 59.835 +to the beat is denoted\(\) \(O(l(i)) \) or equivalently \(O(\alpha(i)). \) The real value 59.836 +associated with the beat is denoted \(t(l(i))\). For a given lifeline, not every element of \(t\) must have an associated 59.837 +\(\alpha\), but every \(\alpha\) must have a unique associated 59.838 +\(I\) from the clock \(t\). Note that \(\forall i , t(l(i)) < t(l(i+1))\). At most one beat from one 59.839 +lifeline can initiate an occurrence. However, multiple 59.840 +beats 59.841 +from a given lifeline can observe the same occurrence, 59.842 +including one initiated earlier in the sequence of 59.843 +the lifeline, 59.844 +and multiple lifelines may observe the same occurrence, 59.845 +each multiple times. 59.846 + 59.847 +\item[projection:] 59.848 +Given \(l_{1} = <\alpha , t_{1}> \), \(l_{2} = <\beta , t_{2}> \) then a projection from \(l_{1}\) to \(l_{2}\) 59.849 + is denoted \(l_{1}(i) \uparrow l_{2}(j) \), where \(l_{1}(i) \uparrow l_{2}(j) 59.850 +\equiv O(l_{1}(i)) = O(l_{2}(j))\). 59.851 + This says that the occurrence initiated by the ith beat of the first lifeline is observed by the jth beat 59.852 +of the second lifeline. 59.853 + 59.854 +\item[ordering tuple:] \(OT_{}\) is a tuple consisting 59.855 +of a set of two beats from two different lifelines, which do 59.856 +not participate in projections, plus a set of projections 59.857 +that cross the two beats in the forward direction. 59.858 +Given \(OT =<[l_{1}(x) , l_{2}(y)], [projections]> \) then \(OT\) is an 59.859 +ordering tuple iff \( [projections] \neq0 \forall p(i,j) \in projections \nexists p(i,j) 59.860 +|i<x \wedge j>y\ \) 59.861 +\item[program run:] \(\mathcal{R} \) is a particular set of lifelines. 59.862 +The program run begins with the creation of any lifeline, and 59.863 +ends with the end of all lifelines. 59.864 + 59.865 +\item[equivalent positions in different sequences:] a partial ordering is defined. 59.866 +Given two positions within different sequences, if 59.867 +one or both both can be 59.868 +validly rearranged, by using the partial ordering to 59.869 +define valid rearrangements, so they occupy 59.870 + the same position in their rearranged sequences, then 59.871 +they are equivalent positions. 59.872 + 59.873 +\item[equivalent occurrences:] two occurrences are 59.874 +equivalent if their event instances cannot be distinguished, given the observation 59.875 +measurements of interest. If the observation measurement 59.876 +involves sequences, then the two events must lie at 59.877 +equivalent positions within their respective sequences. 59.878 + 59.879 +\item[equivalent lifelines:] two lifelines whose beats 59.880 +can be paired, such that every beat in one lifeline 59.881 +has an equivalent beat in the other. The beats do 59.882 +not have to occur in the same order in both lifelines. 59.883 +Beats associated to occurrences that are not of interest can be dropped. 59.884 + 59.885 +\item[equivalent program runs:] two runs such that 59.886 +their lifelines can be paired one-to-one, with every lifeline in one paired to an equivalent 59.887 +lifeline in the other. The projections between lifelines 59.888 +in one run can be different from the projections in 59.889 +the other run. 59.890 + 59.891 +\item[tie-point:] a set of beats, one from each of two lifelines, such that this set of beats forms a separation set in all equivalent program runs. 59.892 +\end{description} 59.893 + 59.894 + 59.895 +Some things to note: A particular occurrence 59.896 +can be associated to at most one beat from a given 59.897 +lifeline, but that same occurrence can also be associated 59.898 +to beats from multiple other lifelines. Also, an occurrence may 59.899 +be initiated by a lifeline but never observed by any. 59.900 +Every \(O\) has a set of projections associated with it. 59.901 + 59.902 +For example, the event could 59.903 +be writing a value into a variable. Two separate 59.904 +write events are considered equivalent occurrences if 59.905 +they both write the same particular value into whatever memory location 59.906 +is associated to the same particular 59.907 +variable, and happen within valid partial orderings 59.908 +relative to the other occurrences. This is normally 59.909 +compared across re-creations of the "universe" that 59.910 +provides the context for the orderings of events instances. 59.911 + 59.912 +========= 59.913 + 59.914 + Okay, talked it over with Sung -- what about making distinguished beats 59.915 +-- as Sung poked around for, make the PR\ "suspend" be the 59.916 +distinguished beat. Then, as we worked out talking it 59.917 +through, make the code that happens on the hidden timeline be the linkage between the beats -- so a tie-point is any number of distinguished beats such that the hidden calculation on one of the beats executed the resume for all of the other beats in the tie point. That establishes how a tie point gets created.. separately, need a universal statement of what is guaranteed by a tie point. 59.918 + 59.919 +So, one thing, is that the hidden calc is normally chosen such that every equivalent program run reproduces equivalent tie points -- but defining equivalent relies upon defining the "meaning"\ of the constructs.. but maybe that thing above about equivalent in terms of partial order can be used, by saying all constructs 59.920 +are associated with a partial ordering -- but, still can have truly non-deterministic behavior being the correct behavior.. hmmm, but that should still have a partial ordering! 59.921 + 59.922 + What I\ really want to do is define tie-point in terms of the write-to-read. A half tie point says what's before the pre is visible after in the post timeline. And a full tie-point says that goes both ways. So, acquire-release is only a half tie-point, because what's after the release in its timeline can be seen before the acquire in its timeline. That makes it a half tie-point. Also, whats before the acquire in its timeline does not necessarily have to be seen after the release in its timeline.. that also makes it a half tie-point. 59.923 + 59.924 +So, use the project definition, and the crossing definition, to say which crossing projects are allowed by a half tie point, and which of those must be eliminated to make it a full tie-point. Then THAT\ defines the behaviors of a tie-point, independently from how it is created. 59.925 + 59.926 +The full definition of tie-point, in terms of proto-runtime value, has both those -- the hidden timeline "math" thing along with the causality, gives the "creation" aspect of tie-point, and the allowed projections gives the "behavior" aspect of tie-point. 59.927 + 59.928 +From the projection "behavior" I can simply state "this 59.929 +defines what all synchronization constructs do" -- 59.930 +the projection behavior is the whole purpose of a sync construct -- to ensure particular communication pattern when comm is via side-effect 59.931 + 59.932 +======= 59.933 + 59.934 +From first model, have the real-value constraints for slide of suspend and resume relative to each other.. 59.935 + 59.936 +The behavior of full tie-point is no back-cross projections, and there is a set of forward-crossing projections, which may be empty, and any of the tied timelines may 59.937 +be the initiating timeline. For a half tie-point, have the origin lifeline. There is a set of forward-crossing projections with initiation on the origin lifeline, 59.938 +and backward crossing are allowed whose initiation 59.939 +is on non-origin lifeline. 59.940 + 59.941 +But a tie-point is more than just the behavior it defines. 59.942 + In order for a pair of special beats to form a tie-point, 59.943 +they must be causally linked on their internal lifelines. This means that a sequence of changes of the internal 59.944 +state links the internal activity of one of the special beats to the internal activity of another special beat 59.945 +that executes the resume that ends the second special beat. All special beats that are resumed inside the 59.946 +same internal activity will have the behavior of a 59.947 +full tie-point. Half tie-points can have both halves 59.948 +resumed in different internal activities. 59.949 + 59.950 +A special beat has a variable-length span, as measured in the real-number of the clock. A special beat is associated to an isolated atomic span on a hidden lifeline. The only way to end the span of a special beat is via a "resume" beat on the hidden lifeline, which names the special beat to be ended. 59.951 + 59.952 +The internal activity on the hidden lifeline enforces some description. 59.953 + 59.954 +For 59.955 +example, send-receive descriptions are: send = if paired 59.956 +receiver is in shared context then resume both else place self into shared context. receive: if paired send is in shared context then resume both else place self into shared context. 59.957 + 59.958 +For acquire-release.. acquire: if lock-owner inside shared 59.959 +context is empty then place self-name into lock-owner 59.960 +and resume self else place self onto end of sequence 59.961 +of special beats. release: remove self from lock-owner 59.962 +and place the next in sequence of special beats into 59.963 +lock-owner. If non-empty then resume the new lock-owner. 59.964 +in every case, resume self. Note, acquire-release can 59.965 +form either a half tie-point or a full tie-point. 59.966 +? 59.967 + 59.968 +==== 59.969 + 59.970 +Note to the reader. This is a first pass at a formal description of tie-point. It likely contains more constraints than necessary. It should not be taken as the final formalism, nor is it implied to be elegant in any way, but simply an existence proof for a formal description 59.971 +of a useful subset of what the intuition of tie-point associates to. 59.972 + 59.973 + 59.974 + 59.975 + 59.976 + 59.977 +\subsection{How a synchronization construct relates 59.978 +to tie-points} 59.979 + 59.980 +To prepare for stating how the tie-point model can be used to 59.981 +specify a synchronization construct, we first state 59.982 +clearly what we mean by a ``synchronization construct''. 59.983 + 59.984 +The top of Fig \ref{fig:PRSyncConstrDef} shows two 59.985 +independent timelines, both performing reads and writes 59.986 +within a machine that has coherent shared memory. The 59.987 +timelines have no relative ordering defined, so any 59.988 +write on Timeline A can be received by any read of 59.989 +the same address on 59.990 +Timeline B, and vice versa. This means that, in general, 59.991 +the use of a variable that is read and written by both will result in non-deterministic behavior. 59.992 + 59.993 + 59.994 +\begin{figure}[ht] 59.995 + \centering 59.996 + \includegraphics[width = 2.0in, height = 2.8in] 59.997 + {../figures/PR__timeline_sync_def.pdf} 59.998 + \caption{Depicts the meaning we adopt for `synchronization construct'. One of them controls communications between timelines 59.999 +by controlling the slide of timelines relative to each 59.1000 +other. They imply certain visibility between writes and reads on different timelines.} 59.1001 + \label{fig:PRSyncConstrDef} 59.1002 +\end{figure} 59.1003 + 59.1004 + 59.1005 + 59.1006 +To control the behavior of writes and reads to the 59.1007 +same addresses, a common point must be established, which 59.1008 +limits the ``sliding'' of the timelines relative to 59.1009 +each other. A synchronization construct is used for 59.1010 +this. 59.1011 +The net effect of such a construct is to establish 59.1012 +a common point that both timelines agree on. This 59.1013 +point separates reads and writes before it from reads 59.1014 +and writes after it. 59.1015 + 59.1016 +For example, consider a simple lock used to protect a critical section. The lock is acquired by one timeline 59.1017 +before entering the critical section. Any writes performed 59.1018 +on other timelines before the lock was granted must be complete before the critical section starts, so that reads performed inside the critical section see them. This is illustrated in the middle of Fig \ref{fig:PRSyncConstrDef}. 59.1019 + 59.1020 +The critical section ends by releasing the lock, which allows a different timeline to acquire and enter the critical section. As seen in the bottom of Fig \ref{fig:PRSyncConstrDef}, 59.1021 +any writes performed by that new 59.1022 +timeline after it acquires the lock must not be visible 59.1023 +to reads performed by the old timeline before it released 59.1024 +the lock. 59.1025 + 59.1026 +With this intuition, we define a synchronization construct 59.1027 +as an operation preformed on a timeline, which has 59.1028 +the property that it creates 59.1029 +a tie-point together with an operation performed on a different 59.1030 +timeline. Such operations that establish a tie-point 59.1031 +fit our definition of synchronization constructs. 59.1032 + 59.1033 + 59.1034 +\subsection{More on tie-points} 59.1035 + 59.1036 +Fig \ref{fig:dualTimeline} showed how a tie-point can be generated. The establishment was accomplished by 59.1037 +a combination of primitive mechanisms. These include: 1) suspend; 2) an `invisible' timeline that executes 59.1038 +behavior in the gaps; 3) resume 59.1039 +called from that invisible timeline; and 4) enforcement 59.1040 +of instruction completion relative to resume. 59.1041 + 59.1042 +What an established tie-point provides is the notion that the tied points are the same ``instant" for both tied timelines. What that means is that both timelines see events ordered relative to that point in the same way. 59.1043 + 59.1044 + 59.1045 +Notice that the primitives that establish a tie-point 59.1046 +do not involve any notion of dependency or constraint 59.1047 +on order of execution. It is the behavior code that runs on the invisible 59.1048 + timeline that embodies notions such as dependency 59.1049 + between units of work, mutual exclusion, 59.1050 + partial ordering of work, and so on. However, the 59.1051 + primitives do provide the notion of causality, the ordering implied by causality, and enforcing completion 59.1052 +of reads/writes. 59.1053 + 59.1054 +It is up to the language to supply the behavior that happens inside 59.1055 +the gaps, which executes on the invisible timeline. This behavior is what decides which timelines end up 59.1056 +sharing a tie point. It is that decision making, of which timelines to tie together, that implements the 59.1057 +semantics of a synchronization construct. 59.1058 + 59.1059 +A workshop paper also discusses tie points 59.1060 +[]. A formal treatment of tie-points is beyond the scope of this paper. However, a formal framework has been substantially completed and 59.1061 +will be published in a future paper. 59.1062 + 59.1063 + 59.1064 + 59.1065 +\subsection{Tie-points within a proto-runtime} 59.1066 + 59.1067 + Fig \ref{fig:dualTimeline} didn't say what entity owns the hidden timeline that executes the behavior that takes place in the gaps. This is what the proto-runtime does. An instance of the 59.1068 +proto-runtime executes the language plugin behavior. 59.1069 +It acts as the hidden timeline. 59.1070 + 59.1071 + The proto-runtime code module also supplies implementations 59.1072 +of the primitives that are used to establish a tie-point, including these: 59.1073 + 59.1074 + %It provides the primitive that suspends a timeline and then causes language plugin behavior to execute in the gap. 59.1075 + 59.1076 +%The plugin behavior that runs in the proto-runtime when one timeline suspends is what chooses another timeline to resume as a consequence. That choice establishes causality between the suspensions of the two timelines, and in the process ensures that a valid tie will exist between the two collapsed timeline points. The code of the primitives is provided as part of the proto-runtime code module, while the plugin behavior is executed by an instance of a running proto-runtime. 59.1077 + 59.1078 +%The running proto-runtime instance is also known as the Master, while the application timelines are known as Slaves. The behavior of the language constructs executes within the Master's timeline, while the behavior of application code executes within Slave timelines. 59.1079 + 59.1080 +%\subsection{More about the proto-runtime} 59.1081 + 59.1082 +\begin{itemize} 59.1083 +\item create a virtual processor (which has a suspendible timeline) 59.1084 +\item create a task (which has an atomic timeline that runs to completion) 59.1085 + 59.1086 +\item suspend a timeline, then invoke a function to handle the suspension -- handler is supplied with 59.1087 +parameters from application 59.1088 +\item resume a timeline, which makes it ready for execution 59.1089 +\item end a timeline 59.1090 +\item trigger choosing which virtual processor or task to begin execution on an offered 59.1091 +core 59.1092 + 59.1093 +\end{itemize} 59.1094 + 59.1095 +Virtual processors and tasks, both, have associated timelines. The reason for having both is a practical one, as tasks are simpler, with less overhead, 59.1096 +and many languages have the semantics of short, atomic, units of work that 59.1097 +are not intended to suspend. Thus, tasks are treated differently inside the 59.1098 +proto-runtime, and incur less overhead to create and run. 59.1099 + 59.1100 +A special feature of the proto-runtime is that if a task happens to execute 59.1101 +a language command that causes suspension, then the proto-runtime automatically 59.1102 +converts that task to a suspendible virtual processor. This helps support the mixing of different 59.1103 +languages within the same program. 59.1104 + 59.1105 + 59.1106 +The proto-runtime provides a mechanism for communicating information from the application code to the plugin function that was invoked to handle suspension. For example, the identity of a particular mutex a thread wishes to acquire 59.1107 +can be communicated from the wrapper library to the plugin. 59.1108 + 59.1109 + 59.1110 +Because the proto-runtime tracks all the timelines, the end of a timeline has to be explicitly stated in the application code, by calling a wrapper library function. That then invokes the proto-runtime primitive, 59.1111 +which informs the proto-runtime instance. The proto-runtime performs internal bookkeeping related to the ending of the timeline, and notes that the core is now free and offers it to the plugin's Assigner function. 59.1112 + 59.1113 +The proto-runtime involves the language into the process of choosing which core a given task 59.1114 +or virtual processor executes on. The proto-runtime maintains control, but offers free cores to the Assigner 59.1115 +portion of the plugin. It responds by then assigning a task or virtual processor to the core. The proto-runtime just offers, it is up to the language to decide what work that core should receive at that point in time. 59.1116 + 59.1117 + 59.1118 + 59.1119 +\subsection{Concrete Example}\label{subsec:Example} 59.1120 + 59.1121 +To make this concrete, consider the example of implementing 59.1122 +acquire mutex and release mutex. The semantics are: 59.1123 + 59.1124 +\begin{itemize} 59.1125 +\item Acquire Mutex: A thread calls the construct, 59.1126 +and 59.1127 +provides the name of the mutex. If no thread owns the 59.1128 +mutex, the calling thread is given ownership and it 59.1129 +continues to make progress. However, if a different thread 59.1130 +already owns the mutex, the calling thread is put into a queue 59.1131 +of waiting threads, and stops making progress. 59.1132 +\item Release Mutex: A thread calls the construct and 59.1133 +provides the name of the mutex. If the mutex has waiting threads in its queue, then the next thread is taken out and given ownership of the mutex. That thread is resumed, to once again make progress, as it the thread 59.1134 +that called the release construct.. 59.1135 +\end{itemize} 59.1136 + 59.1137 +This calls for a data structure that has two fields: 59.1138 +one holds the thread that currently owns the mutex, 59.1139 +the other holds a queue of threads waiting to acquire 59.1140 +the mutex. The semantics of a construct involve multiple 59.1141 +reads 59.1142 +and writes of the data structure. Hence, the 59.1143 + structure must be protected 59.1144 +from races between different threads. 59.1145 + 59.1146 +The protection 59.1147 +is where the difficulty comes into the implementation, 59.1148 +and where performance issues come into the picture. 59.1149 +It could be accomplished with a single global lock 59.1150 + that uses hardware primitives, or accomplished 59.1151 +with wait-free data structures that only rely upon the coherence 59.1152 +mechanism of the memory system, or even by message passing plus 59.1153 +quorum techniques. 59.1154 + 59.1155 +However, the implementation of the semantics is independent 59.1156 +of the implementation of the protection. They are orthogonal, 59.1157 +and an interface can be placed between them. One side 59.1158 +of the interface implements checking and updating the fields of 59.1159 +the data structure, while the other side implements 59.1160 +protecting the first side from interference. 59.1161 + 59.1162 +The side that provides protection requires fields, 59.1163 +for its use, to be placed into the data structure used 59.1164 +to represent a thread. To hide those details, 59.1165 +the protection side should also provide 59.1166 +primitives to create and destroy threads, as well as suspend 59.1167 +and resume them. 59.1168 + 59.1169 +This interface that separates the semantic side from 59.1170 +the protection 59.1171 +side is the proto-runtime interface. It is what enables 59.1172 +the modularization of runtime system implementations. 59.1173 + 59.1174 +The tie-point concept provides a model for thinking 59.1175 +about how the semantic side controls ordering among multiple threads, without exposing any details of the protection side. The tie-point model involves thinking only about actions taken during suspension of timelines (threads). It assumes that those actions are protected from interference, and that suspend and resume of timelines are primitive operations made available. The model remains constant regardless of implementation details. 59.1176 + That provides a cross-hardware way of specifying synchronization 59.1177 +behavior using just sequential thinking. The proto-runtime primitives implement the elements of the tie-point model. 59.1178 + 59.1179 + %Currently, these constructs are either implemented directly in terms of hardware level synchronization constructs such as the atomic Compare And Swap (CAS) instruction, or else are a thin wrapper that invokes operating system behavior. However, the behavior of the OS\ kernel's threading primitives are themselves implemented in terms of hardware level synchronization 59.1180 +%constructs. Either way, developing the behavior proves 59.1181 +%time consuming due to the difficulty of debugging hardware level synchronization behavior, and due to the difficulty of performance tuning such low level code across the full spectrum of patterns caused by applications. 59.1182 + 59.1183 + 59.1184 + 59.1185 + 59.1186 + 59.1187 +\section{Concrete Details} 59.1188 +Now that we have seen the concepts of how to modularize 59.1189 +a runtime system, using the tie-point model, it is 59.1190 +time to make the concepts concrete by showing code 59.1191 +segments that implement each of the concepts, and code 59.1192 +segments that use the concepts. We will start with 59.1193 +the big picture and work down. 59.1194 + 59.1195 +The first stop will be the development process, showing 59.1196 +how it is fractured into three separate and independent 59.1197 +development activities. Next, we will show examples 59.1198 +of how application 59.1199 +code invokes constructs, and follow the path of calls 59.1200 +down to the point it switches over to the runtime system. Lastly, 59.1201 +we will look at the flow of control inside the runtime, 59.1202 +where we will focus on the interaction between plugin 59.1203 +code and proto-runtime code. 59.1204 + 59.1205 +In this last portion, we will show how the 59.1206 +interface supplies the plugin with a consistent ``inside 59.1207 +the runtime" environment. Along with that, we will 59.1208 +show how providing 59.1209 +a consistent environment 59.1210 + is an implementation of the "single hidden timeline" portion 59.1211 + of the tie-point model. We will also show how it is 59.1212 + the existence of a \textit{single} hidden timeline 59.1213 + that allows the semantic portion of the language constructs 59.1214 +to be written in a sequential style, without regard to concurrency issues. 59.1215 + 59.1216 + 59.1217 +\subsection{Three independent development efforts} 59.1218 + 59.1219 +To get a handle on the big picture, we describe the 59.1220 +three independent paths that development takes: 59.1221 +one for development of proto-runtime code, one for 59.1222 +development of language implementation, and one for 59.1223 +application development. Each of these produces a separate 59.1224 +installable artifact. 59.1225 +The proto-runtime development produces a dynamic library, for each machine. The language development produces a dynamic library to plug into whichever proto-runtime library is installed on a given machine. It may also produce development tools that are used during compilation, distribution, and even installation and during the run. The application development produces a single source, which the language tools may then turn into multiple executables. 59.1226 + 59.1227 +The proto-runtime code is developed separately from 59.1228 +both language and application code, and packaged as a dynamic library. This library has multiple implementations. Each kind of hardware platform has a proto-runtime implemented specifically for it, and is tuned for low overhead on that hardware. The administrator of a particular machine chooses the proto-runtime implementation best suited to that hardware, and installs that. 59.1229 + 59.1230 +The language code is likewise developed separately from both proto-runtime and application code. Although multiple versions of a language may be implemented, there are significantly fewer versions than the number of proto-runtime versions. That is because most of the hardware details are abstracted away by the proto-runtime interface. 59.1231 + 59.1232 +However, the interface does expose hardware features related to placement of work onto cores, so some variations may exist for the same interface. Again, the administrator chooses which language implementation best suits their machine and installs the corresponding dynamic library. 59.1233 + 59.1234 +The wrapper library, however, is not 59.1235 +installed on the machine where code runs. Rather, it 59.1236 +is only used during development of an application, 59.1237 +and remains independent of hardware. 59.1238 + 59.1239 +Ideally the application is developed only once. It makes calls to the wrapper library, which in turn invokes the dynamic libraries of the language and proto-runtime. 59.1240 +When an application is executed, the loader binds the 59.1241 +dynamic libraries, connecting them to the application. 59.1242 + In this way, a single, 59.1243 +unchanging, executable gains access to machine-specific implementations of language and proto-runtime. 59.1244 + 59.1245 +However, the success of the compile-once approach has 59.1246 +limits in practice. Each machine's characteristics determine the size of unit of work that gives the best performance. When too small, the overhead in the runtime system that is required to create the work, manage constraints, and perform assignment becomes larger than the work 59.1247 +itself. When work-unit size is too large, then not enough units exist to keep all the cores busy. Thankfully, the range between is wide enough, for most applications, that neither limit is hit, on most machines. As machines evolve, though, this happy circumstance is likely to change, necessitating recompiling and possibly hand modifying the application code or some meta-form. 59.1248 + 59.1249 +\subsection{Walk through of activity during execution} 59.1250 + 59.1251 +At this point, we present a picture of the flow of control on each 59.1252 +of two cores, as the core is switched between application 59.1253 +code and runtime code. It is too early to understand 59.1254 +the details, but this figure can be referred back to 59.1255 +as each portion is discussed in the coming sub-sections. 59.1256 +Each portion of the figure is labelled with the sub-section that describes that portion of activity. 59.1257 + 59.1258 +At the top is the main program, which starts the proto-runtime, 59.1259 +and creates a proto-runtime process. Below that is 59.1260 +depicted the creation of proto-runtime virtual processors, 59.1261 +along with the animation of application code by those virtual 59.1262 +processors. 59.1263 + 59.1264 +? 59.1265 + 59.1266 +The application passes information to a wrapper library 59.1267 +call, 59.1268 +such as the ID of the mutex to acquire. The library function packages the 59.1269 +information into a request data structure, then invokes a proto-runtime 59.1270 +primitive. That suspends the virtual processor (timeline) that is executing 59.1271 +that code. The call to the primitive passes as arguments the request structure and a pointer 59.1272 +to the plugin function that will handle the request. 59.1273 +The handler runs inside the Master and chooses which 59.1274 +other timelines to resume as a consequence of the wrapper-library 59.1275 +call. Those timelines will then resume, returning from 59.1276 +whatever wrapper-library call caused them to suspend. In this way, the request handle implements the behavior of a 59.1277 +synchronization construct. 59.1278 + 59.1279 +However, there is one last step between the request 59.1280 +handler marking a timeline as ready to resume 59.1281 +and it becoming re-animated. That step is where the 59.1282 +assignment half of the language plugin comes into play. 59.1283 +The request handlers stack up work that is free to 59.1284 +be executed, but it is the assigner that chooses which 59.1285 +of those to place onto an offered core. 59.1286 + 59.1287 + 59.1288 + 59.1289 + 59.1290 + 59.1291 +\begin{figure*}[ht] 59.1292 + \centering 59.1293 + \includegraphics[width = 7.0in, height = 4.5in] 59.1294 + {../figures/Proto-Runtime__modules_plus_plugin_plus_code.pdf} 59.1295 + \caption{Illustration of the physical time sequence of the timelines of multiple virtual processors executing on multiple 59.1296 +cores. The timelines run top to bottom, while calls 59.1297 +between modules and returns run horizontally. The colors of Fn names indicate whether the 59.1298 +code is part of the application (green), the proto-runtime module (blue), or the language (red). The top two timelines are animated 59.1299 +by core 1, while the bottom 2 are animated by core 59.1300 +2. The boxes 59.1301 +represent virtual processors, each with its associated 59.1302 +timeline next to it. The timelines have no relative 59.1303 +ordering, except at tie-points established by the Request 59.1304 +Handlers. Gaps in the timelines are caused by suspension, 59.1305 +which is effected by primitives within the proto-runtime 59.1306 +code module.} 59.1307 + \label{fig:physTimeSeq} 59.1308 +\end{figure*} 59.1309 + 59.1310 + 59.1311 + 59.1312 +\subsection{Using language constructs} 59.1313 +In the simple form of an eDSL, the language constructs 59.1314 +take the form of function calls. The reader familiar 59.1315 +with posix threads will have used function calls to 59.1316 +perform mutex acquire commands and mutex release commands. 59.1317 +Here, we illustrate invoking language commands in the 59.1318 +same way. 59.1319 + 59.1320 +We use posix threads for our example because it is 59.1321 +a familiar language that the reader already knows well. 59.1322 +It allows us to illustrate the concepts new to proto-runtime without introducing potential confusion about what the language semantics are. 59.1323 + 59.1324 +\subsubsection{Main and startup} 59.1325 +Before using a proto-runtime based language, the proto-runtime 59.1326 +system must be started, and a proto-runtime process 59.1327 +must be created. Fig X shows this. Notice that the 59.1328 +create process was given a pointer 59.1329 +to a function. This function is the seed of the proto-runtime 59.1330 +based application code. This seed must start all proto-runtime 59.1331 +based languages that will be used in the application, 59.1332 +and must create the virtual processors and tasks that 59.1333 +perform the work and may in turn create more VPs and/or tasks that perform work. 59.1334 + 59.1335 +==main, with PR\_\_start and PR\_\_create\_process == 59.1336 + 59.1337 +\subsubsection{Seed birth function and thread birth 59.1338 +function} 59.1339 +Fig X shows our example seed function. It first starts 59.1340 +the language that will be used, which is Vthread. It 59.1341 +is an implementation of posix threads that is on top of proto-runtime. 59.1342 +Next, the seed uses Vthread commands to create two 59.1343 +threads, and then uses Vthread join to wait for both 59.1344 +threads to die. Lastly it "dissipates", which is the 59.1345 +command that kills the virtual processor that is animating 59.1346 +the function. 59.1347 + 59.1348 +==seed\_birth\_Fn, with Vthread\_\_start(), Vthread\_\_create\_thread, 59.1349 +Vthread\_\_join, Vthread\_\_stop, and dissipate== 59.1350 + 59.1351 +Notice the signature 59.1352 +of the seed birth function. It returns void, and takes a pointer 59.1353 +to void plus a pointer to a SlaveVP struct. This is 59.1354 +the standard signature that must be used for all birth functions for 59.1355 +proto-runtime created virtual processors or tasks. 59.1356 + 59.1357 + 59.1358 +Also, notice that the standard signature includes a 59.1359 +pointer to a SlaveVP struct. This is a proto-runtime 59.1360 +defined structure, which holds the meta-information 59.1361 +about a virtual processor. The birth function is handed 59.1362 +the structure of the virtual processor that is animating 59.1363 +it. 59.1364 + 59.1365 +An illuminating aside is that the birth function for 59.1366 +a posix thread doesn't need 59.1367 +to be handed the structure representing the animating thread. 59.1368 +That is because the operating system tracks which thread 59.1369 +is assigned to which core. Posix thread constructs work by executing 59.1370 +an instruction that suspends the code executing on 59.1371 +the core and switches 59.1372 +the core over to animating the OS kernel code. The OS kernel 59.1373 +then looks up the data structure that is assigned to 59.1374 +the core. 59.1375 + 59.1376 +That lookup is how the OS kernel gains the 59.1377 +pointer to the thread that was animating the application 59.1378 +code that called the posix construct. But the implementation 59.1379 +of proto-runtime illustrated in this paper doesn't 59.1380 +have such a hardware based suspend instruction available, 59.1381 +and so proto-runtime-based application code must explicitly pass around the pointer to the data 59.1382 +structure of the virtual processor performing the animation. 59.1383 + 59.1384 +Fig X shows the birth function of the threads created 59.1385 +by the seed birth function. It uses the Vthread equivalent 59.1386 +of mutex acquire and release to protect access to 59.1387 +a critical section. Notice that the signature 59.1388 +is the same as the signature of the seed birth function. 59.1389 +Also notice that the SlaveVP structure is handed to 59.1390 +each invocation of a Vthread construct. In the next 59.1391 +several sub sections we will track how this SlaveVP structure 59.1392 +is used. 59.1393 + 59.1394 +==thread birth function.. uses Vthread acquire and 59.1395 +release to protect a counter plus print of count value== 59.1396 + 59.1397 + 59.1398 +\subsection{Language Wrapper Library} 59.1399 + 59.1400 +Looking at the implementation of the Vthread calls 59.1401 +reveals code such as in Fig X. 59.1402 + 59.1403 +==wrapper lib code for mutex acquire== 59.1404 + 59.1405 +There's nothing much to it. It just creates a data 59.1406 +structure, fills it, then hands it to a proto-runtime 59.1407 +call. This is a starnd form for wrapper library 59.1408 +calls. The data structure is used to carry information 59.1409 +into the proto-runtime (the proto-runtime that was 59.1410 +started by the PR\_\_start command). The PR call is 59.1411 +the equivalent of the hardware instruction that suspends 59.1412 +application code and switches to the kernel. For the 59.1413 +implementation of PR illustrated in this paper, this 59.1414 +call is implemented with assembly instructions. 59.1415 + 59.1416 +This wrapper library code is placed on the machine 59.1417 +used during development of the application, and is 59.1418 +compiled into the application executable. However, 59.1419 +the proto-runtime call is a link to a dynamic library, 59.1420 +and is not part of the application executable. 59.1421 + 59.1422 +Notice that the PR\ primitive is given a pointer to 59.1423 +a function. This is called the handler function, and 59.1424 +is part of the language plugin. The proto-runtime 59.1425 +will actually perform the call to the handler function, but in a carefully controlled 59.1426 +way. It will provide the handler function with a carefully controlled environment 59.1427 +to use while it handles this wrapper-library call. 59.1428 +We will see in a moment how proto-runtime invokes the 59.1429 +handler function, and what such a handler function 59.1430 +looks like. 59.1431 + 59.1432 +First, here's the assembly that suspends the application code and 59.1433 +switches to the proto-runtime code, as seen in Fig X 59.1434 + 59.1435 +==assembly of suspend and switch== 59.1436 + 59.1437 +All it does is save the program counter and stack pointer 59.1438 +into the SlaveVP structure, then load in the program 59.1439 +counter and stack pointer of the proto-runtime code, 59.1440 +which was previously saved in different fields of that same SlaveVP structure. 59.1441 + 59.1442 +\subsubsection{proto-runtime code that is switched 59.1443 +to} 59.1444 + 59.1445 +The PR assembly code switches the core to executing 59.1446 +the (psuedo) code seen in Fig X. 59.1447 + 59.1448 +==animation master code, which calls plugin fns== 59.1449 + 59.1450 +All this does is invoke the handler function named 59.1451 +in the wrapper library, and hands it an environmen. 59.1452 +This is the hidden environment referred to in the tie-point 59.1453 +model. It must be accessed in an isolated, atomic, 59.1454 +fashion. The proto-runtime code seen here happens 59.1455 +to use a global lock for each language's environment. 59.1456 + However other implementations are possible. In order 59.1457 + to keep overhead low, it uses the Compare And Swap 59.1458 + instruction to acquire the lock, and an exponential random 59.1459 + backoff scheme when contention for the lock arises. 59.1460 + 59.1461 + The handler function is the hidden behavior that executes 59.1462 + on the hidden timeline that is mentioned in the tie-point 59.1463 + model. The suspend primitive is what begins a special 59.1464 + beat on the lifeline of the virtual processor that 59.1465 + executed the wrapper library call. It is this handler 59.1466 + code that then establishes the causal connections 59.1467 + between such special beats, and so ties them together. 59.1468 + The causal connection is via the changes make to the 59.1469 + language environment. 59.1470 + 59.1471 + So, in summary, the proto-runtime is the hidden timeline. 59.1472 + The suspend primitive is what starts a special beat 59.1473 + and starts the behavior on the hidden timeline. The 59.1474 + lock is what isolates and sequentializes 59.1475 + the behavior on the hidden timeline. The language 59.1476 + environment is the hidden state used to establish 59.1477 + causal connection between special beats. 59.1478 + 59.1479 + 59.1480 + 59.1481 +This is not the plugin code, this is the library that the application executable includes. It's equivalent to the pthread library. When you look at the source of the pthread library, it's just a wrapper that invokes the OS. It doesn't do anything itself. The language libraries are the same thing, just wrappers that invoke the proto-runtime primitives. Those suspend the VP and send a message to the proto-runtime. When the message arrives, it invokes the plugin to handle the task. 59.1482 + 59.1483 +Here's how the wrapper library connects a request to the request handler: via this function pointer, right here Fig X, given to the proto-runtime "suspend and send" primitive. The pointed-to function is part of the plugin. That runs inside the proto-runtime, and is what handles the message created in the wrapper library. 59.1484 + 59.1485 + 59.1486 +If we go and look at that handler function, Fig X, we see that it has a standard prototype, so it takes a standard set of arguments. One of those, here in Fig X, is a language environment. This is the special sauce, it is the thing that is shared among all the cores. This language environment is where tasks are placed that are not yet ready to execute, and where suspended virtual processors are placed that are not yet ready to resume. 59.1487 + 59.1488 +Here, Fig X, you can see there's a hash table. The language environment contains that hash table. The tasks get parked in this hash table. Each time a task completes, it looks in the hash table, finds all tasks waiting for its completion, and updates the status of those waiting tasks. If this was the last task being waited for, the waiter is taken out of the hash table and put into the queue of ready to execute tasks. 59.1489 + 59.1490 +This is the semantics of the language. This is how the semantics of the language defines what dependencies are, and how it defines when a task's dependencies have been satisfied. The implementation is just a data structure in the shared language environment. It is the proto-runtime that takes care of creating the tasks, creating the virtual processors, execute those, suspend them and resume them. The proto-runtime handles the mechanics of all that stuff. The language just figures out what are the constraints on making it ready. 59.1491 + 59.1492 +? 59.1493 + 59.1494 +Separately, the proto-runtime calls the Assigner function, which is also part of the plugin dynamic library. Each time a task completes or a virtual processor suspends, the wrapper library invokes a proto-runtime primitive. Among other things, that primitive informs the proto-runtime about the completion of that work, which tells the proto-runtime that hardware resources have just been freed up. 59.1495 + 59.1496 +The proto-runtime then invokes the Assigner function, passing it information about the hardware that was just freed. The assigner is implemented by the language and uses some language-specific way to choose which of the ready work-units to execute on that hardware (a work-unit is either a ready-to-execute task or a ready-to-resume virtual processors). This is how the language is given control over placement of work onto cores. 59.1497 + 59.1498 +=================== 59.1499 + 59.1500 + 59.1501 +\subsection{not sure} 59.1502 +A task is an atomic unit of work. It runs to completion, without suspending. That characteristic allows the proto-runtime to internally treat a task differently than a virtual processor. The fact that it never suspends means it doesn't need a stack, and needs less bookkeeping, which makes a task faster to create and faster to assign, for lower overhead. 59.1503 + 59.1504 +However, a task may optionally choose at some point to execute a language command that causes it to suspend. At the point it does that, the proto-runtime internally converts the task to a virtual processor. That allows the task to suspend and later resume, at the cost of gaining the normal virtual processor overhead. However, the virtual processor the task is converted to comes from a recycle pool and returns when the task completes. 59.1505 + 59.1506 +As an application programmer, you can create processes directly with an OS-like language built on top of the proto-runtime. But you use a programming language to create tasks or virtual processors. For example, VSs has a way to create tasks. VSs internally then uses a proto-runtime command to have the proto-runtime create a task for it. Then VSs decorates the task with its own meta-data. It uses that meta-data to track when a task should be executed. 59.1507 + 59.1508 +? 59.1509 + 59.1510 +The only thing you're allowed to do outside a language is create the environment in which you start a language. 59.1511 + 59.1512 +? 59.1513 + 59.1514 +The implementation of the language behavior is the plugin. The plugin has two parts: request handlers, which handle the messages that come when a VP suspends, and an assigner, which picks where particular VP resumes onto or a task runs. With VSs, the plugin provides the behavior of "submit task". 59.1515 +The request handler plus plugin together provide the two halves of what people normally call a scheduler. 59.1516 + 59.1517 +================= 59.1518 + 59.1519 +\subsection{more on tie-points} 59.1520 +Any event visible before in one is visible in both after. The guarantee is between before in one and after in both. 59.1521 + 59.1522 +From the program point of view, that acquire statement is one instant. That entire gap in physical time is seen as a single instant to the code. 59.1523 + 59.1524 +However, the tie point is just one instant in the timelines. After the point, one of the timelines could perform an event that interferes with an event from before the tie-point, and no guarantees are given about what the other timeline sees. However, if another tie-point is created between them, then they are both guaranteed to see that second, interfering event, after the second tie-point. 59.1525 + 59.1526 +Take the example of a mutex, M. The purpose of the only-one semantics of a mutex is to isolate read and write operations done by the owning thread from those done by other threads, which own before or after it. 59.1527 + 59.1528 +The mutex behavior is illustrated in Fig X. Timeline 1 writes to variable A at point 1, then releases the M at point 2. Timeline 2 acquires M, at the tied point 2 and reads A at point 3. For M to provide isolation, it must guarantee that the A write operation at point 1 is seen by the other timeline's read operation, at point 3. Likewise, it has to guarantees that nothing that happens in timeline 2 after the acquire of M, at point 2, will be seen by timeline 1 before its release, also at point 2. 59.1529 + 59.1530 +That ordering guarantee is what we think of when we imagine the behavior of a mutex acquire-release pair. All writes done by the releasing thread are seen as completed, by reads performed in the acquiring thread, and no writes in the acquiring thread are seen before the release by the releasing thread. That is required in order to have value for the semantics of only one thread owns the mutex at any point. The purpose of only-one is to isolate read and write operations done by the owning thread from those done by the threads that own before or after it. 59.1531 + 59.1532 + 59.1533 +The behavior is implemented in terms of a data structure that lives inside the controlling entity's environment. The controlling entity looks up the data structure for the mutex being requested. This data structure has a field that contains the name of the thread that current owns the mutex, plus a queue of threads waiting to acquire it. So, the controlling entity first looks at the field that holds the current owner, sees that it is occupied, and then puts the thread's name into the queue of waiting threads. 59.1534 + 59.1535 +At some point later, the waiting thread reaches the top of the queue. At the point the owning thread executes the release operation, that owning thread also suspends, the controlling entity sees that suspend and that the thread wants to perform the release behavior. It looks up the release behavior and performs it. This behavior looks up the mutex data structure in the controlling entity's environment, removes the releasing thread from the owner field, takes the top thread off the waiters, writes its name into the current owner, then marks both those threads as ready to resume their timelines. 59.1536 + 59.1537 +The proto-runtime is the controlling entity, which looks up the behaviors and performs them. It also manages the environment that holds the data structures used by the behaviors. 59.1538 + 59.1539 +=========== 59.1540 + 59.1541 +The purpose of the M is to guarantee that what gets written to A here in this timeline is seen over here, in this other timeline. 59.1542 + 59.1543 +So, to turn this simple mechanism into a synchronization construct, you add semantics on top, which determine the end of suspend in the two timelines. The timelines voluntarily place themselves into suspend, and it is up to the controlling entity to decide at what point to end that suspension. It is this choice of ending suspension that ties events in one timeline to events in another. The semantics of deciding that end of suspension is the semantics of the synchronization construct. 59.1544 + 59.1545 +For example, take mutual exclusion within Threads. One thread executes a construct that asks to acquire the mutex. At the point of executing, that thread suspends, so that timeline ceases advancing. At some point later, the controlling entity sees that suspend, and sees that the timeline is attempting the acquire mutex activity. It looks up the behavior for acquire mutex, which is then performed inside that controlling entity. 59.1546 + 59.1547 +============ 59.1548 + 59.1549 + 59.1550 +\subsection{More on eDSLs} 59.1551 +%====================================== 59.1552 + 59.1553 +%We expand on the hypothesis that an embedded style Domain Specfic Language (eDSL) provides high programmer productivity, with a low learning curve. We also show (\S ) that when an application is written in a well designed eDSL, porting it to new hardware becomes simpler, because often only the language needs to be ported. That is because the elements of the problem being solved that require large amounts of computation are often pulled into the language. Lastly (\S ), we hypothesize that switching from sequential programming to using an eDSL is low disruption because the base language remains the same, along with most of the development tools and practices. 59.1554 + 59.1555 +%In \S \ref{sec:DSLHypothesis} we show that the small number of users of an eDSL means that the eDSL must be very low effort to create, and also low effort to port to new hardware. At the same time, the eDSL must remain very high performance across hardware targets. 59.1556 + 59.1557 +%In \S we analyze where the effort of creating an eDSL is expended. It turns out that in the traditional approach, it is mainly expended in creating the runtime, and in performance tuning the major domain-specific constructs. We use this to support the case that speeding up runtime creation makes eDSLs more viable. 59.1558 + 59.1559 +%In \S we take a step back and examine what the industry-wide picture would be if the eDSL approach were adopted. A large number of eDSLs will come into existence, each with its own set of runtimes, one runtime for each hardware target. That causes a multiplicative effect: the number of runtimes will equal the number of eDSLs times the number of hardware targets. Unless the effort of implementing runtimes reduces, this multiplicative effect could dominate, which would retard the uptake of eDSLs. 59.1560 + 59.1561 + 59.1562 +% ============== 59.1563 + 59.1564 +%Further, in \S we show that when an application is written in a well designed eDSL, porting it to new hardware becomes simpler because often only the language needs to be ported. That is because the elements of the problem being solved that require large amounts of computation are often pulled into the language. Lastly, in \S we hypothesize that switching from sequential programming to using an eDSL is low disruption because the base language remains the same, along with most of the development tools and practices. Hence, we cover how the three issues currently making parallel programming unattractive are addressed by embedded-style DSLs. 59.1565 + 59.1566 +%We next show what the blocks to eDSLs are, and where the main effort in implementing an eDSL lies. Specifically, in \S \ref{sec:DSLHypothesis} we show that the small number of users of an eDSL means that the eDSL must be very low effort to create, and also low effort to port to new hardware. At the same time, the eDSL must remain very high performance across hardware targets. 59.1567 + 59.1568 +%In \S we analyze where the effort of creating an eDSL is expended. It turns out that in the traditional approach, it is expended in creating the translator for the custom DSL syntax, in creating the runtime, and in performance tuning the major domain-specific constructs. We propose that the MetaBorg[] or Rose[] translation approaches cover creating translators for custom syntax, and that tuning constructs is inescapable, leaving the question of runtime implementation time. 59.1569 + 59.1570 +%In \S we explore the effects of runtime implementation time by taking a step back and examine what the industry-wide picture would be if the eDSL approach were adopted. A large number of eDSLs will come into existence, each with its own set of runtimes, one runtime for each hardware target. That causes a multiplicative effect: the number of runtimes will equal the number of eDSLs times the number of hardware targets. Unless the effort of implementing runtimes reduces, this multiplicative effect could dominate, which would retard the uptake of eDSLs. Thus, showing that an approach that mitigates this multiplicative effect is valuable, and is the role that the proto-runtime plays. 59.1571 + 59.1572 + 59.1573 + 59.1574 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 59.1575 +\subsection{Details} 59.1576 +\label{subsec:Details} 59.1577 + 59.1578 + what responsibilities are encapsulated in which modules, and what the interfaces between them look like. 59.1579 + 59.1580 +modularization and its interface is what makes the proto-runtime reusable by all languages on given hardware, and the low-level tuning of the proto-runtime for specific hardware automatically benefits all the languages on that hardware. 59.1581 + 59.1582 +? 59.1583 + 59.1584 + 59.1585 + 59.1586 + overhead measurements 59.1587 + 59.1588 +implementation time measurements 59.1589 + 59.1590 + discuss why equivalent user-level M to N thread packages haven't been pursued, leaving no viable user-level libraries to compare against. 59.1591 + 59.1592 + give numbers that indicate that the proto-runtime approach is also competitive with Cilk, and OMPSs, on large multi-core servers. 59.1593 + 59.1594 + summary of development time of the various embedded languages created so far. Unfortunately, no control is available to compare against, but we provide estimates based on anecdotal evidence of the time taken to develop the versions compared against for overhead. In the 59.1595 +least, the same effort would have to be expended on 59.1596 +each and every language that we expended on performance 59.1597 +tuning our proto-runtime. 59.1598 + 59.1599 + We continue with a bigger picture discussion of the difference in design methods between traditional approaches and the proto-runtime implementations (\S ). We discuss OpenMP versus the equivalent proto-runtime version called VOMP (\S ). Then (\S ) we discuss Cilk 5.4 vs the proto-runtime VCilk. Next we discuss pthread vs Vthread (\S ), and OMPSs vs VSs (\S ). These discussions attempt to give the two design philosophies and paint a picture of the development process in the two competing approaches. The goal is to 59.1600 + 59.1601 +illustrate how the proto-runtime approach maintains many of the features, through its centralized services, while significantly reducing implementation time, through reuse of the services, elimination of concurrency concerns in design and debugging, and in the simplifications in design and implementation caused by the clean modularization of the proto-runtime approach, and the regularization of implementation from one language to another. 59.1602 + 59.1603 +Then, with the full understanding of the proto-runtime approach in hand, we discuss how it compares to related work (\S ). 59.1604 + 59.1605 +Finally, we highlight the main conclusions drawn from the work (\S ). 59.1606 + 59.1607 + 59.1608 + 59.1609 +? 59.1610 + 59.1611 + 59.1612 + 59.1613 + 59.1614 + The behavior module creates work and determines when work is free the execute, it tracks constraints on work imposed by language semantics, and constraints 59.1615 +due to data dependencies. 59.1616 + 59.1617 + a copy of the proto-runtime with language modules runs separately on each core and they communicate via shared variables in a shared language environment. The proto-runtime protects access to the shared language environment so that language modules can be written in sequential style. 59.1618 + 59.1619 +? 59.1620 + 59.1621 +The proto-runtime also implements "centralized" services that it makes available to all languages. Hardware specific functions include communicating between processors and protecting the internal state used by the language modules. 59.1622 + 59.1623 + 59.1624 + 59.1625 + this makes the proto-runtime be reused by all languages on given hardware, and the low-level tuning of the proto-runtime for specific hardware automatically benefits all the languages that run on that hardware. 59.1626 + 59.1627 + implementing language logic, 59.1628 + 59.1629 +show how the proto-runtime interface allows it to use sequential thinking. 59.1630 + 59.1631 +give similar detail on the implementation of the assigner, 59.1632 +we discuss how that has the potential to improve application performance by reducing communication between cores and reducing idle time of cores. 59.1633 + 59.1634 +support belief that the patterns we followed when modularizing are indeed fundamental and will remain valid for future languages and hardware. 59.1635 + 59.1636 + discuss some of the centralized services provided by the current proto-runtime implementation, as well as planned future ones. 59.1637 + 59.1638 +reusing language logic from one language implementation to another. 59.1639 + 59.1640 + 59.1641 +%%%%%%%%%%%%%%%%%%%%%%%% 59.1642 +%% 59.1643 +%%%%%%%%%%%%%%%%%%%%%%%% 59.1644 +\section{Measurements} 59.1645 +With the background on eDSLs and description of the proto-runtime approach behind us, we then provide overhead measurements in \S\ref{subsec:OverheadMeas} and implementation time measurements in \S\ref{subsec:ImplTimeMeas} 59.1646 + 59.1647 +\subsection{Overhead Measurements} \label{subsec:OverheadMeas} 59.1648 +For the following, we use a 4-core single socket 2.4Ghz laptop, and a 4 socket by 10 core each server. 59.1649 + 59.1650 +For runtime performance: 59.1651 + 59.1652 +-- Vthread vs pthread: laptop and server on exe vs task (and fibonacci?) 59.1653 + 59.1654 +-- VCilk vs Cilk: laptop and server on fibonacci (from Albert) 59.1655 + 59.1656 +-- VOMP vs OpenMP: laptop and server on exe vs task and fibonacci 59.1657 + 59.1658 +-- VSs vs OMPSs: laptop and server on fibonacci and jpeg 59.1659 + 59.1660 +\begin{tabular}{|c|c|c|c|c|c|c|}\hline 59.1661 +a & 2 & a & a & a & a & a \\\hline 59.1662 +a & 2 & a & a & a & a & a \\\hline 59.1663 +a & a & a & a & a & a & a \\\hline 59.1664 +a & a & a & a & a & a & a \\\hline 59.1665 +\end{tabular} 59.1666 +\caption{} 59.1667 +\label{tab} 59.1668 + 59.1669 +As seen, we didn't include application performance because we have not yet taken advantage of the opportunity to use language information to predict locality. That research is in progress and will be reported in future papers. 59.1670 + 59.1671 + 59.1672 +\subsubsection{Vthread Versus Highly Tuned Posix Threads} 59.1673 +\label{sec:VthreadVsPthread} 59.1674 +Measurements indicate that the proto-runtime approach has far lower overhead than even the current highly tuned Linux thread implementation, and discusses why equivalent user-level M to N thread packages haven't been pursued, leaving no viable user-level libraries to compare against. 59.1675 +\subsubsection{VCilk Versus Cilk 5.4} 59.1676 +In \S we give numbers that indicate that the proto-runtime approach is also competitive with Cilk 59.1677 +\subsubsection{VSs Versus StarSs (OMPSs)} 59.1678 +OMPSs 59.1679 +\subsubsection{VOMP Versus OpenMP} 59.1680 +VOMP 59.1681 + 59.1682 + 59.1683 +%%%%%%%%%%%%%%%%%%%%%%%% 59.1684 +%% 59.1685 +%%%%%%%%%%%%%%%%%%%%%%%% 59.1686 +\subsection{Development Time Measurements}\label{subsec:ImplTimeMeas} 59.1687 +Here we summarize the time to develop each of the epDSLs and each copy-cat language created so far. As a control, we estimate, based on anecdotal evidence, the time required to create the equivalent functionality, using the traditional approach. 59.1688 + 59.1689 +Table \ref{tabPersonHoursLang}, summarizes measurements 59.1690 +of the time we spent to design, code, and debug an initial version working for each of the languages we created. The results are shown in the same order we created them, with SSR the first. As we gained experience, design and coding became more efficient. These are hours spent at the keyboard or with pen and paper, and don't include think time during other activities in the day. 59.1691 + 59.1692 + 59.1693 +\begin{centering} 59.1694 +\begin{tabular}{|l|r|r|r|r|r|r|r|} 59.1695 + \cline{2-8} 59.1696 + \multicolumn{1}{r|}{} & SSR & Vthread & VCilk & HWSim & VOMP & VSs & Reo\\ 59.1697 + \cline{2-8} 59.1698 + \noalign{\vskip2pt} 59.1699 + \hline 59.1700 + Design & 19 & 6 & 3 & 52 & 18& 6 & 14\\ 59.1701 + Code & 13 & 3 & 3& 32 & 9& 12 & 18\\ 59.1702 + Test & 7 & 2 & 2& 12 & 8& 5 & 10\\ 59.1703 + L.O.C. & 470 & 290 & 310& 3000 & 690 & 780 & 920\\ 59.1704 + \hline 59.1705 +\end{tabular} 59.1706 +\caption 59.1707 +{Hours to design, code, and test each embedded language. L.O.C. is lines of (original) C code, excluding libraries and comments. 59.1708 +} 59.1709 +\end{centering} 59.1710 +\label{tabPersonHoursLang} 59.1711 + 59.1712 +%\subsubsection{Comparison of Design Approaches} 59.1713 +%We give the bigger picture of the difference in approach for each language, between the proto-runtime implementation and the distributed implementation. The goal is to illustrate how the proto-runtime centralized services, while significantly reducing implementation time, through reuse of the services, elimination of concurrency concerns in design and debugging, and in the simplifications in design and implementation caused by the clean modularization of the proto-runtime approach, and the regularization of implementation from one language to another. 59.1714 + 59.1715 + 59.1716 +%%%%%%%%%%%%%%%%%%%%%%%% 59.1717 +%% 59.1718 +%%%%%%%%%%%%%%%%%%%%%%%% 59.1719 +\section{Related Work} \label{sec:Related} 59.1720 + 59.1721 +We discuss how proto-runtime compares to other approaches to implementing the runtimes of domain specific languages. The criteria for comparison are: level of effort to implement the runtime, effort to port the runtime, runtime performance, and support for application performance. The main alternative implementation approaches are: posix threads, user-level threads, TBB, modifying libGomp, and using hardware primitives to make a custom runtime. 59.1722 + 59.1723 +We summarize the conclusions in Table \ref{tab:CriteriaVsApproach}. 59.1724 + 59.1725 + 59.1726 +\begin{center} 59.1727 +\caption{Table \ref{tab:CriteriaVsApproach} shows how well each approach scores in the measures important to implementors of runtimes for DSLs. On the left are the implementation approaches. At the top are the measures. In a cell is the score on the measure for 59.1728 +the approach. One plus is the lowest score, indicating the implementation approach is undesirable, 5 indicates the highest desirability. The reasons for the scores are discussed in the text. } \label{tab:CriteriaVsApproach} 59.1729 + 59.1730 +\begin{tabular}{|c|c|c|c|c|}\hline 59.1731 +Runtime Creation & \textbf{impl.}& \textbf{porting} & \textbf{runtime} & \textbf{application} \\ 59.1732 +\textbf{} & \textbf{ease} & \textbf{ease} & \textbf{perf.} & \textbf{perf.}\\\hline 59.1733 +\textbf{OS Threads} & ++ & ++ & + & + \\\hline 59.1734 +%\textbf{User Threads} & ++& ++ & ++ & + \\\hline 59.1735 +\textbf{TBB} & ++ & ++ & ++ & + \\\hline 59.1736 +\textbf{libGomp} & +++ & ++ & +++ & ++++ \\\hline 59.1737 +\textbf{HW primitives} & + & + & +++++ & +++++ \\\hline 59.1738 +\textbf{Proto-runtime} & +++++ & +++++ & ++++ & +++++\\\hline 59.1739 +\end{tabular} 59.1740 +\end{center} 59.1741 + 59.1742 + 59.1743 + 59.1744 +The first two methods have poor runtime and application 59.1745 +performance. They involve building the DSL runtime on top of OS threads\ or TBB, both of which have runtimes in their own right. So the DSL runtime runs on top of the lower-level runtime. This places control of work placement inside the lower-level runtime, blocking the DSL runtime, which hurts application-code performance, due to inability to use data locality. In addition, OS threads have operating system overhead and OS-imposed fairness requirements, which keeps runtime performance poor as seen in Section \ref{sec:VthreadVsPthread}. 59.1746 + 59.1747 +Both also force the DSL implementation to manage concurrency explicitly, using lower-level runtime constructs such as locks. TBB may have a slight advantage due to its task-scheduling commands, but only for task-based languages. Hence, implementation effort is poor for these approaches. 59.1748 + 59.1749 +For the same reason, porting is poor for these two 59.1750 +approaches. The DSL's runtime code needs to be rewritten and tuned for each hardware platform, or else some form of hardware-abstraction placed into the runtime. But putting in a hardware abstraction is essentially an alternative way of implementing half of the proto-runtime approach, but without the centralization, reuse, and modularization benefits. 59.1751 + 59.1752 +Moving on to libGomp. Some language researchers use libGomp (based on informal discussions) because of its very simple structure, which makes it relatively easy to modify, especially for simple languages. However, it provides no services such as debugging or performance tuning, and it has no modularization or reuse across languages benefits. As the price of the simplicity, performance suffers, as seen in the experiments []. Also, re-writes of the DSL runtime are required for each platform in order to tune it to hardware characteristics. However, because the runtime is directly modified, the language gains control over placement of work, enabling good application performance, if the extra 59.1753 +effort is expended to take advantage. 59.1754 + 59.1755 +Lastly, we consider the alternative of writing a custom runtime from scratch, using hardware primitives such as the Compare And Swap (CAS) instruction, or similar atomic read-modify-write instructions. This approach requires the highest degree of implementation effort, and the worst portability across hardware. However, if sufficient effort is expended on tuning, it can achieve the best runtime performance and equal the best performance of application code. So far, the gap has proven small between highly tuned language-specific custom runtime performance and that of our proto-runtime, but we only have the CILK implementation as a comparison point. 59.1756 + 59.1757 +Putting this all together, Table \ref{tab:CriteriaVsApproach} shows that the proto-runtime approach is the only one that scores high in all of the measures. It makes initial language implementation fast, as well as reduces porting effort, while keeping runtime performance high and enabling high application performance. 59.1758 + 59.1759 + 59.1760 + 59.1761 +%%%%%%%%%%%%%%%%%%%%%%%% 59.1762 +%% 59.1763 +%%%%%%%%%%%%%%%%%%%%%%%% 59.1764 +\section{Conclusions and Future Work} 59.1765 +The main takeaways from the paper are first, the potential for embedded style Domain Specific Languages (eDSLs) to address the issues that are holding-back parallel programming, and second the role that the proto-runtime approach can play in making eDSLs practical, by simplifying the runtime aspect of implementing a large number of eDSLs across the many hardware targets. 59.1766 +%The proto-runtime approach does this by modularizing the runtimes, providing reuse of centralized services, and reuse of the hardware-specific performance tuning, which is performed once per hardware, on the proto-runtime, then enjoyed by all the eDSLs. Hence, the proto-runtime approach provides a significant piece of the puzzle of providing eDSLs, to bring parallel programming into the mainstream. 59.1767 + 59.1768 + 59.1769 +%[[Hypothesis: Embedded-style DSLs -> high productivity + low learning curve + low disruption + low app-port AND quick time to create + low effort to lang-port + high perf across targets]] 59.1770 + 59.1771 + 59.1772 +Specifically, we have shown how the approach modularizes runtime code, in a way that appears applicable to any language or execution model. It isolates the hardware-specific portion from language behavior as well as from the language-driven placement of work onto resources, providing interfaces between them. 59.1773 + 59.1774 + The modularization reduces the effort of implementing a new language, especially for an embedded-style one where runtime creation is a significant portion of total effort. It causes the low level hardware portion to be reused by each language. And, the behavior implementation is simplified, by handling shared state inside the proto-runtime and exporting a sequential interface for the behavior module to use. The simplification reduces effort, as does reuse of the hardware-specific portion, reuse of behavior code from one language to another, reuse of assignment code, and familiarity with the modular structure by implementors. Overall effort reduction was supported by measurements of implementation effort. 59.1775 + 59.1776 +The proto-runtime approach makes it practical to maintain high overall runtime performance, with low effort for the language implementor. It is practical because high effort is put into performance-tuning the hardware-specific proto-runtime, which is then reused by each language. In this way the performance derived from the high tuning effort is inherited without extra effort by the language creators, thus amortizing the cost. 59.1777 + 59.1778 +Centralized services were implemented inside the proto-runtime portion, such as debugging facilities, automated verification, concurrency handling, hardware performance information gathering, and so on. We showed how they are reused by the languages. 59.1779 + 59.1780 +Although we didn't measure it, we indicated how application performance can be increased due to giving the language direct control over placement of work, to take advantage of data affinity or application-generated communication patterns. This ability is due to the assignment module, which provides the language implementor with control over which core work is assigned to, and the order of executing each work unit. 59.1781 + 59.1782 +Work on the proto-runtime approach is in its infancy, and much remains to be done, including: 59.1783 +\begin{itemize} 59.1784 +\item Creating related interfaces for use with distributed memory hardware, and interfaces for hierarchical runtimes, to improve performance on many-level hardware such as high-performance computers, and to tie together runtimes for different types of architecture, to cover heterogeneous architectures and machines. 59.1785 +\item Extending the proto-runtime interface to present hardware information that a work-assigner will need, but in a generic way that remains constant across many hardware configurations yet exposes all relevant information. 59.1786 +\item Exploring work assignment implementations that take advantage of language and application knowledge to improve placement of work to gain higher application performance. 59.1787 +\item Applying the proto-runtime approach to support a portability software stack, and supply OS services to applications via the proto-runtime, to further increase application-code portability. 59.1788 +\end{itemize} 59.1789 + 59.1790 + 59.1791 +\end{document} 59.1792 +============================================= 59.1793 +== 59.1794 +== 59.1795 +== 59.1796 +== 59.1797 +== 59.1798 +============================================= 59.1799 + 59.1800 +\section{The Problem} 59.1801 + 59.1802 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]] 59.1803 + 59.1804 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]] 59.1805 + 59.1806 +[[Bridge: effort to create = runtime + effort port = runtime + perf on new target = runtime]] 59.1807 + 59.1808 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]] 59.1809 + 59.1810 + 59.1811 +[[Claims: given big picture, runtime effort minimized -\textgreater modularize runtime, mod works across langs bec. fund patterns, mod sep lang logic from RT internals, mod makes internal reusable + lang inherit internal perf tune +inherit centralized serv, mod makes lang logic sequential, mod makes constructs reusable one lang to next, mod causes lang assigner to own HW]] 59.1812 + 59.1813 +While talking about the problems encountered by Domain Specific Languages (DSLs), we focus on implications for the runtime system, due to its central role in the claims. At the same time we will support the hypothesis that embedded-style DSLs are high-productivity for application programmers, have a low learning curve, and cause low disruption to current programming practices. While doing this we set the ground work for the next section, where we show that the main effort of implementing embedded-style DSLs is creating the runtime, and that when using the proto-runtime approach, embedded-style DSLs are low-effort to create and port and move the effort of porting for high performance out of the application and into the language. 59.1814 + 59.1815 +To give the needed depth, we'll first talk about a way to classify parallel languages according to the structure of their runtime (subsection \ref{subsec:ClassifyingLangs}). Then we'll talk about the sub-class of domain specific parallel languages, what sets them apart, and the implications for their runtime implementations (subsection \ref{subsec:DomSpecLangs}). That segues into the embedded style of language, and how the work of implementing them is mainly the work of implementing their runtime (subsection \ref{subsec:EmbeddedDSLs}). 59.1816 + 59.1817 +Once that reduction from parallel languages in general to embedded style domain specific ones in particular is done, we'll give more on what embedded style DSLs look like from an application programmer's view (subsection \ref{subsec:AppProgViewOfDSL}). We will include depth on a particular embedded-style language, showing sample code that uses the constructs, then delving into needs within the implementation of that language, and behavior of the constructs during a run (subsection []). 59.1818 + 59.1819 +The main implications for runtime systems, which were uncovered within the section, are summarized at the end (subsection []). 59.1820 + 59.1821 +\subsection{Classifying parallel languages by virtual processor based vs task based} 59.1822 +\label{subsec:ClassifyingLangs} 59.1823 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]] 59.1824 + 59.1825 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]] 59.1826 + 59.1827 +[[Bridge: effort to create = runtime + effort port = runtime + perf on new target = runtime]] 59.1828 + 59.1829 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]] 59.1830 + 59.1831 + 59.1832 +[[Claims: given big picture, runtime effort minimized -\textgreater modularize runtime, mod works across langs bec. fund patterns, mod sep lang logic from RT internals, mod makes internal reusable + lang inherit internal perf tune +inherit centralized serv, mod makes lang logic sequential, mod makes constructs reusable one lang to next, mod causes lang assigner to own HW]] 59.1833 + 59.1834 +One major axis for classifying parallel languages is whether they are virtual processor based or task based, which has implications for the structure of the runtime. 59.1835 + 59.1836 +A virtual processor is long-lived, and has a context that persists across suspend and resume, while a task has no preceding context to fit into and leaves no implied context when done. Posix threads is a standard example of a virtual processor based parallel language, as are UPC, Charm, TBB, and so forth. All of these create virtual processors (aka threads), which suspend when they invoke synchronizations and other parallel-language constructs then resume after the construct completes. Such virtual processors have their own private stack to save the information that is needed upon resume. 59.1837 + 59.1838 +In contrast, dataflow is a standard example of a task based language, as is CnC. For these languages, a task is passed all the information it needs at the point of creation, and is expected to run to completion. If a task needs to invoke a parallelism construct, that invocation normally ends the task, while information needed by following tasks is saved explicitly in shared variables, or passed to the runtime as a continuation that is then handed to the task created when the construct completes. 59.1839 + 59.1840 +Hybrids of the two also exist, such as OpenMP which implies thread creation, via the parallel-pragma, but also creates tasks via the for-pragma. As well, StarSs (OMPSs) mixes the two, with a main thread that creates meta-tasks that have to resolve their dependencies before being turned into executable tasks. Those tasks are also able to invoke barriers and other synchronization constructs, then resume. 59.1841 + 59.1842 +The runtime implementations of the two different types of execution model differ markedly. Virtual processor (VP) based runtimes have to create a stack for each VP created, and manage the interleaving of the CPU's hardware stack. They also require a mechanism to suspend and resume the VPs, and save them in internal structures while suspended. 59.1843 + 59.1844 +In contrast, task based runtimes need ultra-fast creation of tasks, and fast linkage from the end of one to the start of the next. They tend to keep the task-structures in a queue and discard them when complete. 59.1845 + 59.1846 +Hence, VP based runtimes revolve around storing suspended VPs inside structures that embody the constraints on when the VP can resume. But task based runtimes revolve around the conditions upon which to create new tasks, and the organization of the inputs to them. The runtimes for hybrid languages have characteristics of both. 59.1847 + 59.1848 + 59.1849 +\subsection{Domain specific parallel languages} 59.1850 +\label{subsec:DomSpecLangs} 59.1851 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]] 59.1852 + 59.1853 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]] 59.1854 + 59.1855 +[[Bridge: effort to create = runtime + effort port = runtime + perf on new target = runtime]] 59.1856 + 59.1857 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]] 59.1858 + 59.1859 + 59.1860 +[[Claims: given big picture, runtime effort minimized -\textgreater modularize runtime, mod works across langs bec. fund patterns, mod sep lang logic from RT internals, mod makes internal reusable + lang inherit internal perf tune +inherit centralized serv, mod makes lang logic sequential, mod makes constructs reusable one lang to next, mod causes lang assigner to own HW]] 59.1861 + 59.1862 +Now we'll talk about the sub-class of Domain Specific Languages (DSLs): what sets them apart from other parallel languages, how they potentially solve the issues with parallel programming, and the implications for their runtime implementations. 59.1863 + 59.1864 +DSLs can be any of the three basic language types (VP based, task-based or hybrid), but they are distinguished by having constructs that correspond to features of one narrow domain of applications. For example, we have implemented a DSL that is just for use in building hardware simulators [cite the HWSim wiki]. Its constructs embody the structure of simulators, and make building one fast and even simpler than when using a sequential language, as will be shown in Subsection []. The programmer doesn't think about concurrency, nor even about control flow, they simply define behavior of individual hardware elements and connect them to each other. 59.1865 + 59.1866 +It is this fit between language constructs and the mental model of the application that makes DSLs highly productive and easy to learn, at the same time, it is also what makes applications written in them more portable. Application patterns that have strong impact on parallel performance are captured as language constructs. The rest of the source code has less impact on parallel performance, so just porting the language is enough to get high performance on each hardware target. 59.1867 + 59.1868 +In practice, designing such a language is an art, and for some hardware targets, the language can become intrusive. For example, for porting to GPGPUs, their performance is driven by decomposition into many small, simple, kernels, which access memory in contiguous chunks. Fitting into this pattern forces rearrangement of the base sequential code, and even constrains choice of algorithm. Hence, a DSL that is portable to standard architectures as well as GPUs would place the GPU restrictions onto the code for all machines. However, much excellent work [polyhedral, others] is being done on automated tools to transform standard code to GPU form, which would lift the restrictions. Also, constructs such as the DKU pattern [] map well onto GPUs as well as standard hardware. 59.1869 + 59.1870 +\subsection{The embedded style of DSL} 59.1871 +\label{subsec:EmbeddedDSLs} 59.1872 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]] 59.1873 + 59.1874 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]] 59.1875 + 59.1876 +[[Bridge: effort to create = runtime + effort port = runtime + perf on new target = runtime]] 59.1877 + 59.1878 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]] 59.1879 + 59.1880 + 59.1881 +[[Claims: given big picture, runtime effort minimized -\textgreater modularize runtime, mod works across langs bec. fund patterns, mod sep lang logic from RT internals, mod makes internal reusable + lang inherit internal perf tune +inherit centralized serv, mod makes lang logic sequential, mod makes constructs reusable one lang to next, mod causes lang assigner to own HW]] 59.1882 + 59.1883 +We segue now into the embedded style of language, and show how the work of implementing them is mainly the work of implementing their runtime plus their complex domain constructs. We focus on embedded style domain specific languages because it is the least effort-to-create form of DSL, and making DSLs practical requires it to be low effort to create them and port them to various hardware targets. 59.1884 + 59.1885 + 59.1886 +An embedded-style language is one that uses the syntax of a base language, like C or Java, and adds constructs that are specific to the domain. An added construct may be expressed in custom syntax that is translated to into a library call, or else directly invoked by making a library call, as illustrated in Figure \ref{fig:EmbeddedEx}. Inside the library call, a primitive is used to escape the base language and enter the embedded language's runtime, which then performs the behavior of the construct. 59.1887 + 59.1888 + 59.1889 +\begin{figure}[h!tb] 59.1890 +{\noindent 59.1891 +{\footnotesize 59.1892 +{\normalsize Creating a new virtual processor (VP):} 59.1893 +\begin{verbatim} 59.1894 +newVP = SSR__create_VP( &top_VP_fn, paramsPtr, animatingVP ); 59.1895 +\end{verbatim} 59.1896 + 59.1897 +{\noindent {\normalsize sending a message between VPs:}} 59.1898 +\begin{verbatim} 59.1899 +SSR__send_from_to( messagePtr, sendingVP, receivingVP ); 59.1900 +\end{verbatim} 59.1901 + 59.1902 +{\noindent {\normalsize receiving the message (executed in a different VP):}} 59.1903 +\begin{verbatim} 59.1904 +messagePtr = SSR__receive_from_to( sendingVP, receivingVP ); 59.1905 +\end{verbatim} 59.1906 +} 59.1907 +} 59.1908 + 59.1909 +\caption 59.1910 +{Examples of invoking embedded-style constructs. 59.1911 +} 59.1912 +\label{fig:EmbeddedEx} 59.1913 +\end{figure} 59.1914 +An embedded-style language differs from a library in that it has a runtime system, and a way to switch from the behavior of the base language to the behavior inside the runtime. In contrast, libraries never leave the base language. Notice that this means, for example, that a posix threads library is not a library at all, but an embedded language. 59.1915 + 59.1916 +As a practical matter, embedded-style constructs normally have a thin wrapper that invokes the runtime. However, some DSLs perform significant effort inside the library before switching to the runtime, or else after returning from the runtime. These look more like traditional libraries, but still involve an escape from the base language and more importantly are designed to work in concert with the parallel aspects of the language. They concentrate key performance-critical aspects of the application inside the language, such as dividing work up, or, for example, implementing a solver for differential equations that accepts structures created by the divider. 59.1917 + 59.1918 +It is the appearance of constructs being library calls that brings the low-disruption benefit of embedded-style DSLs. The syntax is that of the base language, so the existing development tools and work flows remain intact when moving to an embedded style DSL. In addition, the fit between domain concepts and language constructs minimizes mental-model disruption when switching and makes the learning curve to adopt the DSL very low. 59.1919 + 59.1920 +\subsection{Application programmer's view of embedded-style DSLs} 59.1921 +\label{subsec:AppProgViewOfDSL} 59.1922 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]] 59.1923 + 59.1924 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]] 59.1925 + 59.1926 +[[Bridge: effort to create = runtime + effort port = runtime + perf on new target = runtime]] 59.1927 + 59.1928 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]] 59.1929 + 59.1930 + 59.1931 +[[Claims: given big picture, runtime effort minimized -\textgreater modularize runtime, mod works across langs bec. fund patterns, mod sep lang logic from RT internals, mod makes internal reusable + lang inherit internal perf tune +inherit centralized serv, mod makes lang logic sequential, mod makes constructs reusable one lang to next, mod causes lang assigner to own HW]] 59.1932 + 59.1933 +Well designed DSLs have very few constructs, yet capture the most performance-critical domain patterns, in a way that feels natural to the application programmer. This often means that data structures and usage patterns are part of the language. 59.1934 + 59.1935 +For example, a linear-equation-solving language would define a standard data structure for the coefficients of the equations, and supply a construct by which the language is asked to perform the work of solving them. This feels very much like a library, but the runtime system dynamically performs division of work according to the hardware, and implements communication between cores and a scheduler that load balances and tries to take advantage of data affinity and even computational accelerators. All of which puts performance in the hands of the runtime and is simple to use. 59.1936 + 59.1937 +An example of a DSL that we created using the proto-runtime approach is HWSim [], which is designed to be used for writing architectural simulators. 59.1938 + 59.1939 +When using HWSim, a simulator application is composed of just three things: netlist, behavior functions and timing functions. These are all sequential code that call HWSim constructs at boundaries, such as the end of behavior, and use HWSim supplied data structures. To use HWSim, one creates a netlist composed of elements and communication paths that connect them. A communication path connects an outport of the sending element to an inport of the receiving element. An action is then attached to the inport. The action is triggered when a communication arrives. The action has a behavior function, which changes the state of the element, and a timing function which calculates how much simulated time the behavior takes. 59.1940 + 59.1941 +The language itself consists of only a few standard data structures, such as \texttt{Netlist}, \texttt{Inport}, \texttt{Outport}, and a small number of constructs, such as \texttt{send\_comm} and \texttt{end\_behavior}. The advancement of simulated time is performed by a triggered action, and so is implied. The parallelism is also implied, by the only constraints on order of execution of actions being consistency. 59.1942 + 59.1943 +The only parallelism-related restriction is that a behavior function may only use data local to the element it is attached to. Parallel work is created within the system by outports that connect to multiple destination inports which means one output triggers multiple actions, and by behavior functions that generate multiple output communications each. 59.1944 + 59.1945 +Overall, simulator writers have fewer issues to deal with because time-related code has been brought inside the language, where it is reused across simulators, and because parallelism issues reduce to simply being restricted to data local to the attached element. Both these increase productivity of simulator writers, despite using a parallel language. The language has so few commands that it takes only a matter of days to become proficient (as demonstrated informally by new users of HWSim). Also, parallelism related constructs in the language are generic across hardware, eliminating the need to modify application code when porting to new hardware (if the language is used according to the recommended coding style). 59.1946 + 59.1947 +\subsection{Implementation of Embedded-style DSLs} 59.1948 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]] 59.1949 + 59.1950 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]] 59.1951 + 59.1952 +[[Bridge: effort to create = runtime + effort port = runtime + perf on new target = runtime]] 59.1953 + 59.1954 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]] 59.1955 + 59.1956 + 59.1957 +[[Claims: given big picture, runtime effort minimized -\textgreater modularize runtime, mod works across langs bec. fund patterns, mod sep lang logic from RT internals, mod makes internal reusable + lang inherit internal perf tune +inherit centralized serv, mod makes lang logic sequential, mod makes constructs reusable one lang to next, mod causes lang assigner to own HW]] 59.1958 + 59.1959 +When it comes to implementing an embedded-style of DSL, the bulk of the effort is in the runtime and the more complex domain specific constructs. 59.1960 + 59.1961 +Examples of constructs implemented for DSLs include Abstract Data Types (ADTs), like linked lists, hash tables, and priority queues. Also, full algorithms, like solvers for systems of equations, or even linear algebra operations on matrices. It will be seen in subsection[] that the proto-runtime approach causes the implementation for such constructs to be reused, with high performance, across all the hardware targets in a hardware class such as the class of shared-memory multi-core platforms. 59.1962 + 59.1963 +In addition, embedded style DSLs rely heavily on data types that are part of the language. These are often domain-specific such as \texttt{Netlist}, \texttt{Inport}, and \texttt{Outport} in HWSim, or \texttt{Protein} in a bio-informatics DSL, but can also be common such as \texttt{SparseMatrix} in domains like data mining and scientific applications. 59.1964 + 59.1965 + 59.1966 + During language design, common patterns that consume significant development time or computation are placed into the language. Also, any patterns that expose hardware configuration, such as the number and size of pieces of work should be pulled into the language to aid portability. 59.1967 + 59.1968 +If such design is successful then porting the application reduces to just porting the language. When the language has successfully captured the main computational patterns of the domain, then the application code encapsulates only a small portion of the performance, so it does not need to be tuned. Further, when patterns that expose hardware-motivated choices or hardware-specific commands are in the language, then the application code has nothing that needs to change when the hardware changes. 59.1969 + 59.1970 +For example, HWSim pulls hardware-specific patterns inside the language by handling all inter-core communications inside the language, and also by aggregating multiple elements together on the same core to tune work-unit size. 59.1971 + 59.1972 +The advantage of placing these into the language, instead of application code, is portability and productivity. 59.1973 + 59.1974 + 59.1975 +\subsection{Implementation Details of Embedded-style DSLs} 59.1976 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]] 59.1977 + 59.1978 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]] 59.1979 + 59.1980 +[[Bridge: effort to create = runtime + effort port = runtime + perf on new target = runtime]] 59.1981 + 59.1982 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]] 59.1983 + 59.1984 + 59.1985 +[[Claims: given big picture, runtime effort minimized -\textgreater modularize runtime, mod works across langs bec. fund patterns, mod sep lang logic from RT internals, mod makes internal reusable + lang inherit internal perf tune +inherit centralized serv, mod makes lang logic sequential, mod makes constructs reusable one lang to next, mod causes lang assigner to own HW]] 59.1986 + 59.1987 +? 59.1988 + 59.1989 +Figure [] shows\ the implementation of the wrapper library for HWSim's send\_and\_idle construct, which sends a communication on the specified outport, and then causes the sending element to go idle. Of note is the packaging of information for the runtime. It is placing into the HWSimSemReq data structure, and then the application work is ended by switching to the runtime. The switch is via the send\_and\_suspend call, which is a primitive implemented in assembly that jumps out of the base C language and into the runtime. 59.1990 + 59.1991 +The switch to the runtime can be done in multiple ways. Our proto-runtime uses assembly to manipulate the stack and registers. For posix threads language, when implemented in Linux, the hardware trap instruction is used to switch from application to the OS. The OS serves as the runtime that implements the thread behavior. 59.1992 + 59.1993 +The core is used by the construct implementation differently for VP based languages vs for task based languages. 59.1994 + 59.1995 +For VP based languages, once inside the runtime, a synchronization construct performs the behavior shown abstractly in Figure []. In essence, a synchronization construct is a variable length delay, which waits for activities outside the calling code to cause specific conditions to become true. These activities could be actions taken by other pieces of application code, such as releasing a lock, or they could be hardware related, such as waiting for a DMA transfer to complete. 59.1996 + 59.1997 +While one piece of application code (in a VP) is suspended, waiting, other pieces can use the core to perform their work, as long as the conditions for those other pieces are satisfied. Hence, the runtime's construct implementation checks if conditions are met, and if not stores the suspended piece (VP). If the construct can change conditions for others, it updates them. For example, the lock-release construct updates state for VPs waiting for the lock. Separately, for VPs whose conditions have been met, when a core becomes available, the runtime chooses which VP to assign to which core. 59.1998 + 59.1999 +These are the two behaviors a construct performs inside the runtime: managing conditions on which work is free, and managing assignment of free work onto cores. 59.2000 + 59.2001 +For task based languages, a task runs to completion then always switches to the runtime at the end. Hence, no suspend and resume exists. Once inside, the runtime's job is to track conditions on which tasks are ready to run, or which to create. For example, in dataflow, a task is created only once all conditions for starting it are met. Hence, the only language constructs are "instantiate a task-creator", "connect a task creator to others", and "end a task". During a run, all of the runtime behavior takes place inside the "end a task" construct, where the runtime sends outputs from the ending task to the inputs of connected task-creators. The "send" action modifies internal runtime state, which represents the order of inputs to a creator on all of its input ports. When all inputs are ready, it creates a new task, then when hardware is ready, assigns the task to a core. 59.2002 + 59.2003 + 59.2004 +One survey[] discusses DSLs for a variety of domains, and this list of DSLs was copied from their paper: 59.2005 +\begin{itemize} 59.2006 +\item In Software Engineering: Financial products [12, 22, 24], behavior control and coordination [9, 10], software architectures [54], and databases [39]. 59.2007 +\item Systems Software: Description and analysis of abstract syntax trees [77, 19, 51], video device driver specifications [76], cache coherence protocols [15], data structures in C [72], and operating system specialization [63]. 59.2008 +\item Multi-Media: Web computing [14, 35, 4, 33], image manipulation [73], 3D animation [29], and drawing [44]. 59.2009 +\item Telecommunications: String and tree languages for model checking [48], communication protocols [6], telecommunication switches [50], and signature computing [11]. 59.2010 +\item Miscellaneous: Simulation [2, 13], mobile agents [36], robot control [61], solving partial differential equations [26], and digital hardware design [41]. 59.2011 +\end{itemize} 59.2012 + 59.2013 +\subsection{Summary of Section} 59.2014 + [[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]] 59.2015 + 59.2016 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]] 59.2017 + 59.2018 +[[Bridge: effort to create = runtime + effort port = runtime + perf on new target = runtime]] 59.2019 + 59.2020 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]] 59.2021 + 59.2022 + 59.2023 +[[Claims: given big picture, runtime effort minimized -\textgreater modularize runtime, mod works across langs bec. fund patterns, mod sep lang logic from RT internals, mod makes internal reusable + lang inherit internal perf tune +inherit centralized serv, mod makes lang logic sequential, mod makes constructs reusable one lang to next, mod causes lang assigner to own HW]] 59.2024 + 59.2025 +This section illustrated the promise of DSLs for solving the issues with parallel programming. The HWSim example showed that well designed parallel DSLs can actually improve productivity, and have a low learning curve, as well as reduce the need for touching application code when moving to new target hardware. The section showed that the effort of implementing an embedded style DSL is mainly that of implementing its runtime and complex domain constructs, and that a well-designed DSL captures most of the performance-critical aspects of an application inside the DSL constructs. Hence, porting effort reduces to just performance-tuning the language (with caveats for some hardware). This effort is, in turn, reused by all the applications that use the DSL. 59.2026 + 59.2027 +The stumbling point of DSLs is the small number of users, after all, how many people write hardware simulators? Perhaps a few thousand people a year write or modify applications suitable for HWSim. That means the effort to implement HWSim has to be so low as to make it no more effort than writing a library, effectively a small percentage of a simulator project. 59.2028 + 59.2029 +The runtime is a major piece of the DSL implementation, so reducing the effort of implementing the runtime goes a long way to reducing the effort of implementing a new DSL. 59.2030 + 59.2031 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 59.2032 +\section{Description} 59.2033 +\label{sec:idea} 59.2034 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]] 59.2035 + 59.2036 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]] 59.2037 + 59.2038 +[[Bridge: effort to create = runtime + effort port = runtime + perf on new target = runtime]] 59.2039 + 59.2040 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]] 59.2041 + 59.2042 + 59.2043 +[[Claims: given big picture, runtime effort minimized -\textgreater modularize runtime, mod works across langs bec. fund patterns, mod sep lang logic from RT internals, mod makes internal reusable + lang inherit internal perf tune +inherit centralized serv, mod makes lang logic sequential, mod makes constructs reusable one lang to next, mod causes lang assigner to own HW]] 59.2044 + 59.2045 +? 59.2046 + 59.2047 + 59.2048 +Now that we have made the case that embedded style DSLs have potential to solve many parallel programming issues, and that a major obstacle to uptake of them is their implementation effort, we describe the proto-runtime concept and show how it addresses this obstacle to DSLs. As shown, embedded style DSL implementation effort and porting effort is mainly that of creating the runtime and implementing the more complex language constructs. We show here that the proto-runtime approach dramatically reduces the effort of creating a DSL runtime, through a number of features. 59.2049 + 59.2050 + 59.2051 +\begin{figure}[ht] 59.2052 + \centering 59.2053 + \includegraphics[width = 2in, height = 1.8in]{../figures/PR_three_pieces.pdf} 59.2054 + \caption{Shows how the proto-runtime approach modularizes the implementation of a runtime. The three pieces are the proto-runtime implementation, an implementation of the language construct behaviors, and an implementation of the portion of a scheduler that chooses which work is assigned to which processor. } 59.2055 + \label{fig:PR_three_pieces} 59.2056 +\end{figure} 59.2057 + 59.2058 + 59.2059 +The main feature is the proto-runtime's approach to modularizing the runtime code. As shown in Fig \ref{fig:PR_three_pieces}, it breaks the runtime into three pieces: a cross-language piece, which is the proto-runtime implementation, a piece that implements the language's constructs and plugs into the proto-runtime, and a piece that assigns work onto hardware and also plugs into the proto-runtime. 59.2060 + 59.2061 +The modularization appears to remain valid across parallel languages and execution models, and we present underlying patterns that support this observation. We analyze the basic structure of a synchronization construct, and point out how the proto-runtime modularization is consistent with it. 59.2062 + 59.2063 +\subsection{Creating an eDSL} 59.2064 + 59.2065 + 59.2066 +\begin{figure}[ht] 59.2067 + \centering 59.2068 + \includegraphics[width = 2in, height = 1.8in]{../figures/eDSL_two_pieces.pdf} 59.2069 + \caption{An embedded style DSL consists of two parts: a runtime and a wrapper library that invokes the runtime} 59.2070 + \label{fig:eDSL_two_pieces} 59.2071 +\end{figure} 59.2072 + 59.2073 +As shown in Fix \ref{fig:eDSL_two_pieces}, to create an embedded style DSL (eDSL), do two things: create the runtime and create a wrapper-library that invokes the runtime and also implements the more complex language constructs. 59.2074 + 59.2075 +As seen in Fig X, a library call that invokes a language construct is normally a thin wrapper that only communicates to the runtime. It places information to be sent to the runtime into a carrier, then invokes the runtime via a primitive. The primitive suspends the base language execution and switches the processor over to the runtime code. 59.2076 + 59.2077 +\subsection{The Proto-Runtime Modularization} 59.2078 + 59.2079 +\subsubsection{Dispatch pattern} 59.2080 +-- standardizes runtime code 59.2081 +-- makes familiar going from one lang to another 59.2082 +-- makes reuse realistic, as demonstrated by VSs taking SSR constructs 59.2083 + 59.2084 +-- show the enums, and the switch table 59.2085 + 59.2086 +-- point out how the handler receives critical info -- the semEnv, req struct and calling slave 59.2087 + 59.2088 +\subsubsection{The Request Handler} 59.2089 +-- cover what a request handler does.. connect it to the wrapper lib, and the info loaded into a request struct. 59.2090 + 59.2091 +-- give code of a request handler.. within on-going example of implementing pthreads, or possibly HWSim, or pick a new DSL 59.2092 + 59.2093 +\subsection{Exporting a performance-oriented machine view } 59.2094 +The proto-runtime interface exports a view of the machine that shows performance-critical aspects. Machines that share the same architectural approach have the same performance-critical aspects, and differ only in the values. 59.2095 + 59.2096 +For example, the interface models cache-coherent shared-memory architectures as a collection of memory pools connected by networks. The essential variations among processor-chips are the sizes of the pools, the connections between them, such as which cores share the same L2 cache, and the latency and bandwidth between them. 59.2097 + 59.2098 +Hence, a single plugin can be written that gathers this information from the proto-runtime and uses it when deciding which work to assign to which core. Such a plugin will then be efficient across all machines that share the same basic architecture. 59.2099 + 59.2100 +This saves significant effort by allowing the same plugin to be reused for all the machines in the category. 59.2101 + 59.2102 +\subsection{Services Provided by the Proto-runtime} 59.2103 + 59.2104 +-- Put services into the low-level piece.. plugins have those available, and inherit lang independent such as debugging, perf counters.. provides effort reduction because lang doesn't have to implement these services. 59.2105 + 59.2106 +-- -- examples of iherited lang services inside current proto-runtime: debugging and perf-tuning.. verification, playback have been started (?) 59.2107 + 59.2108 +-- -- examples of plugin services: creation of base VP, the switch primitives, the dispatch pattern (which reduces effort by cleanly separating code for each construct), handling consistency model (?), handling concurrency 59.2109 + 59.2110 +\subsection{eDSLs talking to each other} 59.2111 +-- show how VSs is example of three different DSLs, and H264 code is three different languages interacting (pthreads, OpenMP, StarSs) 59.2112 + 59.2113 +-- make case that proto-runtime is what makes this practical ! Their point of interaction is the common proto-runtime innards, which provides the interaction services.. they all use the same proto-runtime, and all have common proto-runtime objects, which is how the interaction becomes possible. 59.2114 + 59.2115 +\subsection{The Proto-runtime Approach Within the Big Picture} 59.2116 + 59.2117 +-- Give background on industry-wide, how have langs times machines.. 59.2118 +-- say that proto-runtime has synergistic advantages within this context. -- repeat that eDSLs talk to each other. 59.2119 +-- give subsubsection on MetaBorg for rewriting eDSL syntax into base lang syntax. 59.2120 +-- bring up the tools issue with custom syntax -- compiling is covered by metaborg re-writing.. can address debugging with eclipse.. should be possible in straight forward way that covers ALL eDSLs.. their custom syntax being stepped through in one window, and stepping through what they generate in separate window (by integrating generation step into eclipse).. even adding eclipse understanding of proto-runtime.. so tracks the sequence of scheduling units.. and shows the request handling in action in third window.. 59.2121 + 59.2122 +Preview idea that many players will contribute, and will get people that specialize in creating new eDSLs (such as one of authors).. 59.2123 +-- For them, code-reuse is reality, as supported by VSs example, 59.2124 +-- and the uniformity of the pattern becomes familiar, also speeding up development, as also supported by VSs, HWSim, VOMP, and DKU examples. 59.2125 +-- for those who only create a single eDSL, the pattern becomes a lowering of the learning curve, aiding adoption 59.2126 + 59.2127 +-- Restate and summarize the points below (covered above), showing how they combine to shrink the wide-spot where all the runtimes are. 59.2128 + 59.2129 +-- The low-level part implemented on each machine, exports a view of the machine that shows performance-critical aspects 59.2130 + 59.2131 +-- Collect machines into groups, based on performance critical aspects of hardware.. provides reduction in effort because only one plugin for entire group. 59.2132 + 59.2133 +-- Put services into the low-level piece.. plugins have those available, and inherit lang independent such as debugging.. provides effort reduction because lang doesn't have to implement these services. 59.2134 + 59.2135 + 59.2136 +\section{(outline and notes)} 59.2137 + 59.2138 +-- What a plugin looks like: 59.2139 + 59.2140 +-- -- pattern of parallel constructs.. ideas of Timeline, tie-point, animation, suspension, VP states, constraints, causality, work-units, meta-units, updates in constraint states attached to the meta-units 59.2141 + 59.2142 +-- -- a sych construct is something that creates a tie between two work-units. So, the logic of the construct simply establishes causality -- the ending of one work-unit causes the freedom to start animation of another. 59.2143 + 59.2144 +-- -- -- Examples: mutex is end of work-unit that frees lock causes freedom to start work-unit that gets the lock. They are causally tied. The semantics of the construct is the particular conditions existing inside the runtime (in this case ownership condition of a mutex), and what changes those conditions (in this case releasing lock removes one from owner, plus acquire-lock sets one as wanting the lock), and how freedom to be animated is affected by the changes in conditions (in this case, removal of ownership must precede gaining ownership) on what makes a work-unit free (in this case, being given ownership of the mutex), 59.2145 + 59.2146 +-- Hence, precisely, the parallelism model of the language defines constraints, which are implemented as state inside the runtime. Constructs provided do a number of things: signal bringing a set of constraints into existence (create a mutex), signal update to the state of those constraints (release mutex, state desire to acquire), and trigger the runtime to propagate those changes, which results in additional changes to states, including marking meta-units as free to be animated. cause creation of meta-units (explicitly as in VSs, or via creating entities that trigger creation as in dataflow, or via creating entities that consist of consecutive work-units as in pthreads). 59.2147 + 59.2148 + 59.2149 +-- Recipe for how to make the language plugin: time reduction is part due to simplifying the parallelism construct logic.. 59.2150 + 59.2151 + 59.2152 + 59.2153 + 59.2154 +\subsection{The Cross-language Patterns Behind the Proto-runtime} 59.2155 + 59.2156 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]] 59.2157 + 59.2158 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]] 59.2159 + 59.2160 +[[Bridge: effort to create = runtime + effort port = runtime + perf on new target = runtime]] 59.2161 + 59.2162 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]] 59.2163 + 59.2164 + 59.2165 +[[Claims: given big picture, runtime effort minimized -\textgreater modularize runtime, mod works across langs bec. fund patterns, mod sep lang logic from RT internals, mod makes internal reusable + lang inherit internal perf tune +inherit centralized serv, mod makes lang logic sequential, mod makes constructs reusable one lang to next, mod causes lang assigner to own HW]] 59.2166 + 59.2167 +An application switches to the runtime, which does scheduling work then switches back to application code. 59.2168 + 59.2169 + 59.2170 +\subsection{Some Definitions} 59.2171 + 59.2172 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]] 59.2173 + 59.2174 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]] 59.2175 + 59.2176 +[[Bridge: effort to create = runtime + effort port = runtime + perf on new target = runtime]] 59.2177 + 59.2178 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]] 59.2179 + 59.2180 + 59.2181 +[[Claims: given big picture, runtime effort minimized -\textgreater modularize runtime, mod works across langs bec. fund patterns, mod sep lang logic from RT internals, mod makes internal reusable + lang inherit internal perf tune +inherit centralized serv, mod makes lang logic sequential, mod makes constructs reusable one lang to next, mod causes lang assigner to own HW]] 59.2182 + 59.2183 +We adopt the concepts of work-unit, virtual processor (VP), animation, and tie-point as discussed in a previous paper []. A work-unit is the trace of instructions executed between two successive switches to the runtime, along with the data consumed and produced during that trace. A Virtual Processor is defined as being able to animate either the code of a work-unit or else another VP, and has state that it uses during animation, organized as a stack. Animation is definedd as causing time of a virtual processor to advance, which is equivalent to causing state changes according to instructions, while suspension halts animation, and consequently causes the end of a work-unit (a more complete definition of animation can be found in the dissertation of Halle[]). A tie-point connects the end of one work-unit to the beginning of one in a different VP, so a tie-point represents a causal relationship between two work-units, and establishes an ordering between those work-units, effectively tying the time-line of the VP animating one to the time-line of the VP animating the other work-unit. 59.2184 + 59.2185 +In addition, we introduce a definition of the word task, which is a single work-unit coupled to a virtual-processor that comes into existence to animate the work-unit and dissipates at completion of the work-unit. By definition of work-unit, a task cannot suspend, but rather runs to completion. If the language defines an entity that has a timeline that can be suspended by switching to the runtime, then such an entity is not a task. Pure Dataflow[] specifies tasks that fit our definition. 59.2186 + 59.2187 +\subsection{Handling Memory Consistency Models} 59.2188 + 59.2189 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]] 59.2190 + 59.2191 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]] 59.2192 + 59.2193 +[[Bridge: effort to create = runtime + effort port = runtime + perf on new target = runtime]] 59.2194 + 59.2195 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]] 59.2196 + 59.2197 + 59.2198 +[[Claims: given big picture, runtime effort minimized -\textgreater modularize runtime, mod works across langs bec. fund patterns, mod sep lang logic from RT internals, mod makes internal reusable + lang inherit internal perf tune +inherit centralized serv, mod makes lang logic sequential, mod makes constructs reusable one lang to next, mod causes lang assigner to own HW]] 59.2199 + 59.2200 +Weak memory models can cause undesired behavior when work-units on different cores communicate through shared variables. Specifically, the receiving work-unit can see memory operations complete in a different order than the code of the sending work-unit specifies. 59.2201 + 59.2202 +For example, consider a proto-runtime implemented on shared memory hardware that has a weak consistency model, along with a language that implements a traditional mutex lock. All memory operations performed in the VP that releases the lock should be seen as complete by the VP that next acquires the lock. 59.2203 + 59.2204 +It is up to the proto-runtime to enforce this, using hardware primitives. It has to ensure that all memory operations performed, by a task or VP, before switching to the runtime are completed before any dependent task or VP is switched into from the runtime. More precisely, the proto-runtime has to ensure that all memory operations performed by a work-unit are visible in program order to any tied work-units. In some cases the language plugin has to alert the proto-runtime of the causality between work-units. 59.2205 + 59.2206 + 59.2207 +The proto-runtime does not, however, protect application code that attempts to communicate between VPs or tasks directly, without using a parallelism construct to protect the communication. 59.2208 + 59.2209 + 59.2210 + 59.2211 +======= 59.2212 + 59.2213 + I plan to explain VMS as a universal pattern that exists in all runtimes: that is, that the application switches to runtime, which does a scheduling decision and then switches back. I'll explain it first with just master and slaves, leaving out the core\_loop. Explain it as a normal runtime that has had two key pieces removed and replaced with interfaces. The language supplies the missing pieces. Then, introduce the core\_loop stuff as a performance enhancement used when lock acquisition dominates (as it does on the 4 socket 40 core machine). 59.2214 + Next, give HWSim as an example of a real domain specific (it's working, ref manual attached), and focus on how the modularity allowed pulling constructs from other languages (singleton and atomic), and a breakdown of implementation time vs design time, and so on. Highlight how VMS's features for productivity and encapsulation solve the practical problems for domain-specific languages. 59.2215 + Finally, show that VMS performance is good enough, by going head-to-head with pthreads and OpenMP (doing a VMS OpenMP implementation now). And also StarSs if I have time. I'll run overhead-measuring on them, and also regular benchmarks. 59.2216 + 59.2217 +================= 59.2218 + 59.2219 +\subsection{The patterns} 59.2220 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]] 59.2221 + 59.2222 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]] 59.2223 + 59.2224 +[[Bridge: effort to create = runtime + effort port = runtime + perf on new target = runtime]] 59.2225 + 59.2226 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]] 59.2227 + 59.2228 + 59.2229 +[[Claims: given big picture, runtime effort minimized -\textgreater modularize runtime, mod works across langs bec. fund patterns, mod sep lang logic from RT internals, mod makes internal reusable + lang inherit internal perf tune +inherit centralized serv, mod makes lang logic sequential, mod makes constructs reusable one lang to next, mod causes lang assigner to own HW]] 59.2230 + 59.2231 + 59.2232 +Soln: modularize runtime, to reduce part have to mess with, hide part that has low-level details, reuse low-level tuning effort, and reuse lang-spec parts. 59.2233 + 59.2234 +Benefits: lang impl doesn't have to touch low-level details, inherit centralized services, can reuse code from other languages to add features. 59.2235 + 59.2236 +Performance must be high, or the labor savings don't matter. By isolating the low-level details inside the proto-runtime, they can be intensively tuned, then all the languages inherit the effort. 59.2237 + 59.2238 +Part of what makes this so easy is the dispatch pattern.. adding a construct reduces to adding into switch and writing handler.. borrow constructs by taking the handler from the other lang. 59.2239 + 59.2240 +By isolating the low-level details inside the proto-runtime, they can be intensively tuned, then all the languages inherit the effort. Compare that to current practices, where the runtime code is monolithic.. each language has to separately modify the runtime, understanding and dealing with the concurrency, and then on a new machine, each language has to re-tune the low-level details, worrying about the consistency model on that machine, how its particular fence and atomic instructions work, and so on. 59.2241 +We spent 2 months performance tuning the current version, but only 18 hours implementing VSs on top of it, and VSs inherited the benefit from all that effort. So did VOMP, and SSR, and VCilk, and so on.. each time we improved the proto-runtime, all the languages improved, with no effort on the part of the language creator. 59.2242 + 59.2243 + 59.2244 +\subsubsection{Views of synchronization constructs} 59.2245 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]] 59.2246 + 59.2247 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]] 59.2248 + 59.2249 +[[Bridge: effort to create = runtime + effort port = runtime + perf on new target = runtime]] 59.2250 + 59.2251 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]] 59.2252 + 59.2253 + 59.2254 +[[Claims: given big picture, runtime effort minimized -\textgreater modularize runtime, mod works across langs bec. fund patterns, mod sep lang logic from RT internals, mod makes internal reusable + lang inherit internal perf tune +inherit centralized serv, mod makes lang logic sequential, mod makes constructs reusable one lang to next, mod causes lang assigner to own HW]] 59.2255 + 59.2256 +One view of sync constructs is that they are variable-length calls. The 59.2257 +basic hardware does this by stalling the pipeline. 59.2258 + 59.2259 +Another view is that they mark the boundary of a communication made via shared read/write. A load or store of a single location has a precise boundary enforced by the hardware, but if a pipeline desires to load, modify, then write a single location it has to have additional hardware. It has to make the multiple primitive load/store operations appear as a single operation. 59.2260 + 59.2261 +Moving up to the application level, the same pattern exists: an operation the application wants to do may involve many loads and stores, but it wants the collection to appear as a single indivisible operation. So the application-level equivalent of a load or store involves multiple memory locations but is to be treated as a single indivisible operation. This requires the application-level equivalent of the hardware that made the read-modify-write into a single indivisible operation. That equivalent is what a synchronization construct is. The reason a sync construct takes a variable amount of time is that it waits until all other indivisible operations that might conflict have completed. 59.2262 + 59.2263 +Another way to think of the sync construct is that it enforces sharp communication boundaries. The multiple read and write operations are treated as a single communication with the shared-state. If any other part of the application sees only part of the communication, it sees something inconsistent and thus wrong. So the sync constructs ensure that communications are complete, so the parts of the application only see complete communications from other parts. 59.2264 + 59.2265 +\subsubsection{Universal Runtime Patterns} 59.2266 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]] 59.2267 + 59.2268 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]] 59.2269 + 59.2270 +[[Bridge: effort to create = runtime + effort port = runtime + perf on new target = runtime]] 59.2271 + 59.2272 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]] 59.2273 + 59.2274 + 59.2275 +[[Claims: given big picture, runtime effort minimized -\textgreater modularize runtime, mod works across langs bec. fund patterns, mod sep lang logic from RT internals, mod makes internal reusable + lang inherit internal perf tune +inherit centralized serv, mod makes lang logic sequential, mod makes constructs reusable one lang to next, mod causes lang assigner to own HW]] 59.2276 + 59.2277 +Unified pattern within parallel languages: create multiple timelines, then control relative progress of them, and control location each chunk of progress takes place. 59.2278 + 59.2279 +Another universal pattern: code runs, switches to runtime, some point later switches back to code, making application run be a collection of trace segments bounded by runtime calls. 59.2280 +The runtime tracks constraints (dependencies) among units, creates and destroys units, and assigns ready units to hardware. 59.2281 + 59.2282 +Units have a life-line, which is fundamental to parallel computation, as demonstrated in a paper by some of the authors []. 59.2283 + 59.2284 +Every unit has a meta-unit that represents it in the runtime. A unit is defined as the trace of application code that exists between two scheduling decisions. Looking at this in more detail, every runtime has some form of internal bookkeeping state for a unit, used to track constraints on it and make decisions about when and where to execute. This exists even if that state is just a pointer to a function that sits in a queue. We call this bookkeeping state for a unit the meta-unit. 59.2285 + 59.2286 +Each unit also has a life-line, which progresses so: creation of the meta-unit \pointer , state updates that affect constraints on the unit \pointer, the decision is made to animate the unit \pointer, movement of the meta-unit plus data to physical resources that do the animation \pointer , animation of the unit, which does the work \pointer, communication of state-update, that unit has completed, and hardware is free \pointer , constraint updates within runtime, possibly causing new meta-unit creations or freeing other meta-units to be chosen for animation. This repeats for each unit. Each step is part of the model. 59.2287 + 59.2288 +Note a few implications: first, many activities internal to the runtime are part of a unit's life-line, and take place when only the meta-unit exists, before or after the work of the actual unit; second, communication that is internal to the runtime is part of the unit life-line, such as state updates; third, creation may be implied, such as in pthreads, or triggered such as in dataflow, or be by explicit command such as in StarSs, and once created, a meta-unit may languish before the unit it represents is free to be animated. 59.2289 + 59.2290 +\subsubsection{Putting synchronization constructs together with universal runtime patterns} 59.2291 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]] 59.2292 + 59.2293 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]] 59.2294 + 59.2295 +[[Bridge: effort to create = runtime + effort port = runtime + perf on new target = runtime]] 59.2296 + 59.2297 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]] 59.2298 + 59.2299 + 59.2300 +[[Claims: given big picture, runtime effort minimized -\textgreater modularize runtime, mod works across langs bec. fund patterns, mod sep lang logic from RT internals, mod makes internal reusable + lang inherit internal perf tune +inherit centralized serv, mod makes lang logic sequential, mod makes constructs reusable one lang to next, mod causes lang assigner to own HW]] 59.2301 + 59.2302 +Putting these together, gives us that any parallelism construct that has a synchronization behavior causes the end of a work-unit, and a switch to the runtime. The code following the construct is a different work-unit that will begin after the constraint implied by the construct is satisfied. 59.2303 + 59.2304 +The runtime is made up of the infrastructure for the constraints and assignment, such as communicating bookkeeping state between cores, and protecting internal runtime updates of shared information. Plus, the logic of the constructs and logic of choosing an assignment of work to cores. 59.2305 + 59.2306 +For large machines, the infrastructure dominates the time to execute a parallelism construct, while for smaller machines, like single-socket, the logic of constructs and assignments has a chance to be significant. 59.2307 + 59.2308 +\begin{figure}[ht] 59.2309 + \centering 59.2310 + \includegraphics[width = 2in, height = 1.8in]{../figures/SCG_stylized_for_expl.pdf} 59.2311 + \caption{Something to help understanding} 59.2312 + \label{fig:SCG_expl} 59.2313 +\end{figure} 59.2314 + 59.2315 + 59.2316 + 59.2317 + 59.2318 +%%%%%%%%%%%%%%%%%%%%% 59.2319 +\section{The Details} 59.2320 +[[Hypothesis: Embedded-style DSLs -> high productivity + low learning curve + low disruption + low app-port AND quick time to create + low effort to lang-port + high perf across targets]] 59.2321 +[[Claims: modularize runtime, mod is fund patterns, mod sep lang logic from RT internals, mod makes internal reusable & lang inherit internal perf tune & inherit centralized serv, mod makes lang logic sequential, mod makes constructs reusable one lang to next, mod causes lang assigner to own HW]] 59.2322 + 59.2323 +The interfaces between lang logic and proto-runtime. 59.2324 + 59.2325 +Demonstrate: modular runtime, how reduces part have to mess with, hides part that has low-level details, reuses low-level tuning effort, and reuses lang-spec parts. 59.2326 + 59.2327 +Demonstrate Benefits: lang impl doesn't touch low-level details, inherits centralized services (debug support), reuses code from other languages to add features. 59.2328 + 59.2329 +\subsection{Reuse of Language Logic} 59.2330 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]] 59.2331 + 59.2332 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]] 59.2333 + 59.2334 +[[Bridge: effort to create = runtime + effort port = runtime + perf on new target = runtime]] 59.2335 + 59.2336 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]] 59.2337 + 59.2338 + 59.2339 +[[Claims: given big picture, runtime effort minimized -\textgreater modularize runtime, mod works across langs bec. fund patterns, mod sep lang logic from RT internals, mod makes internal reusable + lang inherit internal perf tune +inherit centralized serv, mod makes lang logic sequential, mod makes constructs reusable one lang to next, mod causes lang assigner to own HW]] 59.2340 + 59.2341 +Demonstrate reuse of language logic: 59.2342 +All the languages have copied singleton, atomic, critical section and transaction. In VOMP, took the task code from VSS, in VSS, took the send and receive code from SSR.. for DKU, took the code almost verbatim from earlier incarnation of these ideas, and welded it into SSR, and took VSs tasks and put into SSR. Thus, circle completes.. VSs took from SSR, now SSR takes from VSs.. pieces and parts are being borrowed all over the place and welded in where they're needed. 59.2343 + 59.2344 +Part of what makes this so easy is the dispatch pattern.. adding a construct reduces to adding into switch and writing handler.. borrow constructs by taking the handler from the other lang. 59.2345 + 59.2346 +Another part is that code for the constructs is isolated from concurrency details, which are inside the proto-runtime. All the dynamic system issues, and best way to impl locks, and need for fences, and so on is isolated from the construct logic. This isolation is also how porting effort is lowered (or in many cases eliminated), and is how runtime performance is kept high. 59.2347 + 59.2348 +? 59.2349 + 59.2350 +Performance must be high, or the labor savings don't matter. By isolating the low-level details inside the proto-runtime, they can be intensively tuned, then all the languages inherit the effort. Compare that to current practices, where the runtime code is monolithic.. each language has to separately modify the runtime, understanding and dealing with the concurrency, and then on a new machine, each language has to re-tune the low-level details, worrying about the consistency model on that machine, how its particular fence and atomic instructions work, and so on. 59.2351 +We spent 2 months performance tuning the current version, but only 18 hours implementing VSs on top of it, and VSs inherited the benefit from all that effort. So did VOMP, and SSR, and VCilk, and so on.. each time we improved the proto-runtime, all the languages improved, with no effort on the part of the language creator. 59.2352 + 59.2353 +? 59.2354 + 59.2355 +In addition to runtime performance, application level performance must be high. The runtime's performance only affects overhead, and so is only a factor for small work-unit (task) sizes. But data affinity affects performance for all work. 59.2356 + 59.2357 +The proto-runtime approach partially addresses this by giving the language the opportunity to directly control placement of work. This isn't possible when building on top of threads, because the scheduling is in a separate, lower-level, layer where assignment of work to core is made in isolation, blind to language constructs and 59.2358 +other application features. 59.2359 + 59.2360 + 59.2361 + 59.2362 + 59.2363 +%%%%%%%%%%%%%%%%%%%%% 59.2364 +\section{Measurements} 59.2365 + 59.2366 +\subsection{Implementation time} 59.2367 + 59.2368 + 59.2369 +\subsection{Runtime and Application Performance} 59.2370 + 59.2371 + 59.2372 +%%%%%%%%%%%%%%%%%%%%% 59.2373 +\section{Related Work} 59.2374 + 59.2375 + 59.2376 +%%%%%%%%%%%%%%%%%%%%% 59.2377 +\section{Conclusion and Future Work} 59.2378 +\label{sec:conclusion} 59.2379 + 59.2380 + 59.2381 + 59.2382 +\end{document} 59.2383 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 59.2384 +Here is an example of netlist creation: 59.2385 + 59.2386 +The circuit has two elements, each with one input port, one output port, and a single activity-type. The elements are cross-coupled, so output port of one connects to input port of the other. The input port has the activity-type attached as its trigger. The activity is empty, and just sends a NULL message on the output port. The activity's duration in simulated time and the resulting communication's flight duration in simulated time are both constants. 59.2387 + 59.2388 + Note that HWSimElem data type is generic. An elem is specialized by declaring inports and outports, and by connecting activity types to in-ports. Behavior is attached to an element by attaching activity types to in-ports of the element. 59.2389 + 59.2390 +First, here is the top-level function that creates and returns the netlist structure: 59.2391 + 59.2392 +To use HWSim, one creates a netlist composed of elements and communication paths connecting them. An element has a number of in-ports and outports, and a communication path connects an outport of the source element to an inport of the destination elements. The inport has an action attached, which in turn has a behavior function and a timing function, both of which are triggered by the arrival of a communication. The behavior function has local persistent state of the element available to use, and can generate out-going communications. The timing function calculates how much Guest (simulated) time the behavior spanned. In addition, communication paths have an attached function that calculates time from being sent until arrival of the communication. Both the behavior and timing function are application-programmer provided. The entire simulator application is composed of those three things: netlist, behavior functions and timing functions, and all are sequential code. 59.2393 + 59.2394 +The embedded DSL consists of standard data structures, such as netlist, inport, outport, that the application must use in the language-defined way, and a small number of language calls, such as send_comm and end_behavior. The advancement of simulated time is implied, and the parallelism is implied. The only parallelism-related restriction is that a behavior function may only use data local to the element it is attached to. If state in the hardware is shared, such as registers or memory, then other elements access that state by sending communications to the element that contains the state. Parallelism is created within the system by outports that connect to muliple destination inports, and by behavior functions that generate multiple output communications each. 59.2395 + 59.2396 + 59.2397 +\begin{small}\begin{verbatim} 59.2398 +HWSimNetlist * 59.2399 +createPingPongNetlist() 59.2400 + { HWSimNetlist *netlist; 59.2401 + HWSimElem **elems; 59.2402 + HWSimActivityType **activityTypes; 59.2403 + HWSimCommPath **commPaths; 59.2404 + int32 numElems, numActivityTypes, numCommPaths; 59.2405 +\end{verbatim}\end{small} 59.2406 + 59.2407 +The first thing to do is create the netlist structure, which holds three things: element structs, activity type structs, and communication path structs. It also has two collections of pointers to the traces collected during the run, but these are handled internally by HWSim. 59.2408 +\begin{small}\begin{verbatim} 59.2409 + netlist = malloc( sizeof(HWSimNetlist) ); 59.2410 + 59.2411 + numElems = 2; 59.2412 + elems = malloc( numElems * sizeof(HWSimElem *) ); 59.2413 + 59.2414 + numCommPaths = 2; 59.2415 + commPaths = malloc( numCommPaths * sizeof(HWSimCommPath *) ); 59.2416 + 59.2417 + numActivityTypes = 1; 59.2418 + activityTypes = malloc( numActivityTypes * sizeof(HWSimActivityType *) ); 59.2419 + 59.2420 + netlist->numElems = numElems; 59.2421 + netlist->elems = elems; 59.2422 + netlist->numCommPaths = numCommPaths; 59.2423 + netlist->commPaths = commPaths; 59.2424 + netlist->numActivityTypes = numActivityTypes; 59.2425 + netlist->activityTypes = activityTypes; 59.2426 +\end{verbatim}\end{small} 59.2427 + 59.2428 +Now, create the activity types. During the run, an activity instance is created each time a communication arrives on an in-port. The activity instance is a data structure that points to the activity type. The activity type holds the pointers to the behavior and timing functions. 59.2429 +\begin{small}\begin{verbatim} 59.2430 + //have to create activity types before create elements 59.2431 + //PING_PONG_ACTIVITY is just a #define for readability 59.2432 + netlist->activityTypes[PING_PONG_ACTIVITY] = createPingPongActivityType(); 59.2433 +\end{verbatim}\end{small} 59.2434 + 59.2435 +Next, create the elements, and pass the netlist structure to the creator. It will take pointers to activity types out of the netlist and place them into the in-ports of the elements. 59.2436 +\begin{small}\begin{verbatim} 59.2437 + elems[0] = createAPingPongElem( netlist ); //use activity types from netlist 59.2438 + elems[1] = createAPingPongElem( netlist ); 59.2439 +\end{verbatim}\end{small} 59.2440 + 59.2441 +Now, the reset in-port of one of the elements has to be set up to trigger an activity. Every element has a reset in-port, but normally they are set to NULL activity type. Here, we want only one of the two elements to have an activity triggered when the reset signal is sent to start the simulation. 59.2442 + 59.2443 +Note that during initialization, all the elements become active, each with its own timeline, but unless an activity is triggered in them they remain idle, with their timeline suspended and not making progress. Only ones that have an activity type attached to their reset in-port will begin to do something in simulated time when simulation starts. 59.2444 +\begin{small}\begin{verbatim} 59.2445 + //make reset trigger an action on one of the elements 59.2446 + elems[1]->inPorts[-1].triggeredActivityType = 59.2447 + netlist->activityTypes[PING_PONG_ACTIVITY]; 59.2448 +\end{verbatim}\end{small} 59.2449 + 59.2450 +Now, connect the elements together by creating commPath structures. A comm path connects the out-port of one element to the in-port of another. A given port may have many comm paths attached. However, an in-port has only one kind of activity type attached, and all incoming communications fire that same activity. There are multiple kinds of activity, including kinds that have no timing, and so can act as a dispatcher. These end themselves with a continuation activity, which is chosen according to the code in the behavior function. So, a commPath only connects an out port to an in port. 59.2451 + 59.2452 +This code sets fixed timing on the comm paths. It also uses a macro for setting the connections. The format is: sending elem-index, out-port, dest elem-index, in-port: 59.2453 +\begin{small}\begin{verbatim} 59.2454 + //elem 0, out-port 0 to elem 1, in-port 0 59.2455 + commPaths[0]= malloc(sizeof(HWSimCommPath)); 59.2456 + setCommPathValuesTo(commPaths[0],0,0,1,0); 59.2457 + commPaths[0]->hasFixedTiming = TRUE; 59.2458 + commPaths[0]->fixedFlightTime = 10; //all time is stated in (integer) units 59.2459 + 59.2460 + //elem 1, out-port 0 to elem 0, in-port 0 59.2461 + commPaths[1]= malloc(sizeof(HWSimCommPath)); 59.2462 + setCommPathValuesTo(commPaths[1], 1,0,0,0); 59.2463 + commPaths[1]->hasFixedTiming = TRUE; 59.2464 + commPaths[1]->fixedFlightTime = 10; //all time is stated in (integer) units 59.2465 +\end{verbatim}\end{small} 59.2466 + 59.2467 +done building netlist, return it 59.2468 +\begin{small}\begin{verbatim} 59.2469 + return netlist; 59.2470 + } 59.2471 +\end{verbatim}\end{small} 59.2472 + 59.2473 +The macro that sets the connections inside a comm path struct 59.2474 +\begin{small}\begin{verbatim} 59.2475 +#define setCommPathValuesTo( commPath, fromElIdx, outPort, toElIdx, inPort)\ 59.2476 +do{\ 59.2477 + commPath->idxOfFromElem = fromElIdx; \ 59.2478 + commPath->idxOfFromOutPort = outPort; \ 59.2479 + commPath->idxOfToElem = toElIdx; \ 59.2480 + commPath->idxOfToInPort = inPort; \ 59.2481 + }while(0); //macro magic for namespace 59.2482 +\end{verbatim}\end{small} 59.2483 + 59.2484 +Creating an element involves creating arrays for the in-ports and out-ports, then configuring the in-ports. The out-ports are automatically filled in during simulation start-up, by HWSim. The most interesting feature is that each in-port is assigned an activity type, which all arriving communications trigger. During the simulation, each incoming communication creates an activity instance, which points to this triggered activity type. The behavior and timing of the instance are calculated by the behavior and timing functions in the activity type. Notice that the activity type pointers are taken from the netlist, so they have to be created before creating the elements. 59.2485 +\begin{small}\begin{verbatim} 59.2486 +HWSimElem * 59.2487 +createAPingPongElem( HWSimNetlist *netlist ) 59.2488 + { HWSimElem *elem; 59.2489 + elem = malloc( sizeof(HWSimElem) ); 59.2490 + elem->numInPorts = 1; 59.2491 + elem->numOutPorts = 1; 59.2492 + elem->inPorts = HWSim_ext__make_inPortsArray( elem->numInPorts ); 59.2493 + elem->inPorts[-1].triggeredActivityType = IDLE_SPAN; //reset port 59.2494 + elem->inPorts[0].triggeredActivityType = netlist->activityTypes[PING_PONG_ACTIVITY]; 59.2495 + return elem; 59.2496 + } 59.2497 +\end{verbatim}\end{small} 59.2498 + 59.2499 +Creating an activity type involves setting the pointers to the behavior and timing functions, which are defined inside a separate directory where all the behavior and timing functions are defined. An activity may have behavior set to NULL, or timing set to NULL, and may have fixed timing. The structure has flags to state the combination. 59.2500 +\begin{small}\begin{verbatim} 59.2501 +HWSimActivityType * 59.2502 +createPingPongActivityType( ) 59.2503 + { HWSimActivityType *pingPongActivityType; 59.2504 + pingPongActivityType = malloc( sizeof(HWSimActivityType) ); 59.2505 + 59.2506 + pingPongActivityType->hasBehavior = TRUE; 59.2507 + pingPongActivityType->hasTiming = TRUE; 59.2508 + pingPongActivityType->timingIsFixed = TRUE; 59.2509 + pingPongActivityType->fixedTime = 10; 59.2510 + pingPongActivityType->behaviorFn = &pingPongElem_PingActivity_behavior; 59.2511 + return pingPongActivityType; 59.2512 + } 59.2513 +\end{verbatim} \end{small} 59.2514 + 59.2515 + 59.2516 +========= 59.2517 + 59.2518 +All behavior functions take a ptr to the activity instance they are executing the behavior of. The instance contains a pointer to the elem, and most behaviors will use the element's elemState field. It holds all the persistent state of the element, which remains between activities. 59.2519 + 59.2520 +Here is the behavior function from the ping-pong example: 59.2521 +\begin{small}\begin{verbatim} 59.2522 +void 59.2523 +pingPongElem_PingActivity_behavior( HWSimActivityInst *activityInst ) 59.2524 + { //NO_MSG is #define'd to NULL, and PORT0 to 0 59.2525 + HWSim__send_comm_on_port_and_idle( NO_MSG, PORT0, activityInst ); 59.2526 + } 59.2527 +\end{verbatim}\end{small} 59.2528 + 59.2529 +There are four ways a behavior can end: 59.2530 +\begin{description} 59.2531 +\item end, no continuation: 59.2532 +\begin{small}\begin{verbatim} HWSim__end_activity_then_idle( HWSimActivityInst *endingActivityInstance )\end{verbatim}\end{small} 59.2533 +\item end, with continuation: 59.2534 +\begin{small}\begin{verbatim} HWSim__end_activity_then_cont( HWSimActivityInst *endingActivityInstance, 59.2535 + HWSimActivityType *continuationActivityType)\end{verbatim}\end{small} 59.2536 +\item end by sending a communication, with no continuation: 59.2537 +\begin{small}\begin{verbatim} HWSim__send_comm_on_port_then_idle( void *msg, int32 outPort, 59.2538 + HWSimActivityInst *endingActivityInstance)\end{verbatim}\end{small} 59.2539 +\item end by sending a communication, with continuation: 59.2540 +\begin{small}\begin{verbatim} HWSim__send_comm_on_port_then_cont( void *msg, int32 outPort, 59.2541 + HWSimActivityInst *endingActivityInstance 59.2542 + HWSimActivityType *continuationActivityType)\end{verbatim}\end{small} 59.2543 + 59.2544 + 59.2545 +============= 59.2546 + 59.2547 + 59.2548 +\subsection{Activity Timing Functions} 59.2549 +All activity timing functions take a ptr to the activity instance they are calculating the timing of. The instance contains a pointer to the element the activity is in. The behavior function is free to communicate to the timing function by leaving special data inside the element state. The timing function might also simply depend on the current state of the element. 59.2550 + 59.2551 +Here's an example: 59.2552 +\begin{small}\begin{verbatim} 59.2553 +HWSimTimeSpan 59.2554 +sampleElem_sampleActivity_timing( HWSimActivityInst *activityInst ) 59.2555 + { 59.2556 + return doSomethingWithStateOfElem( sendingActivity->elem->elemState ); 59.2557 + } 59.2558 +\end{verbatim}\end{small} 59.2559 + 59.2560 +\subsection{Calculating the time-in-flight of a communication path} 59.2561 + 59.2562 +The timing function for a communication path is similar to that of an activity. Except, the timing might also depend on configuration data or state stored inside the comm path struct, so that is passed to the timing function as well. 59.2563 + 59.2564 +\begin{small}\begin{verbatim} 59.2565 +HWSimTimeSpan 59.2566 +commPath_TimeSpanCalc( HWSimCommPath *commPath, HWSimActivityInst *sendingActivity ) 59.2567 + { return doSomethingWithStateOfPathAndElem( commPath, sendingActivity->elem->elemState ); 59.2568 + } 59.2569 +\end{verbatim}\end{small} 59.2570 + 59.2571 + 59.2572 + 59.2573 +
60.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 60.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/latex/Paper_Design_2.txt Fri Sep 13 11:02:18 2013 -0700 60.3 @@ -0,0 +1,32 @@ 60.4 + 60.5 +====== 60.6 + 60.7 +Details of VMS interface, details of its impl on multi-core, details of differences on different machines. 60.8 + 60.9 +wrapper-lib calls VMS-supplied primitive that suspends the virtual-processor calling the lib, and sends a request to VMS. VMS calls lang-supplied plugin to handle requests -- this is the part of the scheduler that handles constraints -- it determines which virt-processors must remain suspended, and which are free to be re-animated. 60.10 + 60.11 +The language is implemented as either a collection of wrapper-lib calls embedded into the base language, or as custom syntax that uses uses the VMS-supplied primitive to suspend virtual processors and send requests to VMS. 60.12 + 60.13 + 60.14 +VMS is invisible to the application, only language constructs are visible. From the application-programmer point of view, the embedded version looks like a function call, albeit the data-struc of the virtual-processor animating the code has to be passed as a parameter to the wrapper-lib call. 60.15 + 60.16 +Hence, VMS is invisible to the application, only language constructs are visible. 60.17 + 60.18 +The wrapper-lib call is standard library code that is loaded along with the application executable. 60.19 + 60.20 +However, VMS primitives may be hardware-implemented, or loaded as OS modules, or dynamic or static libraries. Rhey are naturally custom instructions, but may be emulated by software. 60.21 + 60.22 +The interface between application-executable and language-runtime is the VMS-primitive that sends a request to VMS. The language-runtime receives the request under control of VMS, which calls a language-supplied request-handling function and passes the request as a parameter. This passive behavior of the request handler leaves control-flow inside VMS, which is part of hiding concurrency from the language-runtime implementation. 60.23 + 60.24 +The interface between the runtime and VMS is VMS's plugin API. The runtime is implemented as two functions, whose pointers are handed to VMS. VMS then controls the flow of execution. When a request is ready for the runtime, VMS cIalls the request-handler function, and when a spot on hardware is free for work, VMS calls the scheduler-assign function. Hence, the language implements its runtime as two isolated functions. By keeping control-flow inside VMS, the language-specific portion of the runtiem is simplified. 60.25 + 60.26 +This structure is also the reason VMS encourages reuse of scheduler code. The VMS API separates out control flow from scheduling, so scheduling code is isolated, with well-defined interfaces. Scheduling is then further sub-divided into modules: constraint-management (IE enforcing dependencies); and choosing physical location to place work. Each has its own well-defined interface, and they communicate to each other via VMS-managed shared state. 60.27 + 60.28 +The greatest application performance impact due to the scheduler is communication it causes. 60.29 + 60.30 +, management of the memory hierarchy, and the match between work-characteristics and hardware-characteristics (IE, assigning to accelerator vs CPU). Hence, significant work goes into implementing strategies and mechanisms for finding the best assignment-choices. Such implementations are only loosely coupled to language, through the shared state by which the request-handler informs the assigner of what work is ready to be animated. 60.31 + 60.32 +Hence, it is straight-forward to reuse the code that assigns work to physical locations. The only language-specific influence on the assigner is the shared constraint-state. 60.33 + 60.34 + 60.35 +
61.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 61.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/latex/bib_for_papers_jun_2012.bib Fri Sep 13 11:02:18 2013 -0700 61.3 @@ -0,0 +1,942 @@ 61.4 + 61.5 +@inbook{PerfToolPoem, 61.6 +title = {The Poems of John Godfrey Saxe, Complete edition}, 61.7 +chapter = {The Blind Men and the Elephant}, 61.8 +author = {John Godfrey Saxe}, 61.9 +publisher = {Boston: James R. Osgood and Company}, 61.10 +year = {1873}, 61.11 +pages = {77-78} 61.12 +} 61.13 +@article{PerfToolTau, 61.14 +author = {Shende, Sameer S. and Malony, Allen D.}, 61.15 +title = {The Tau Parallel Performance System}, 61.16 +volume = {20}, 61.17 +number = {2}, 61.18 +pages = {287-311}, 61.19 +year = {Summer 2006}, 61.20 +journal = {International Journal of High Performance Computing Applications} 61.21 +} 61.22 +@ARTICLE{PerfToolParadyn, 61.23 +author={Miller, B.P. and Callaghan, M.D. and Cargille, J.M. and Hollingsworth, J.K. and Irvin, R.B. and Karavanic, K.L. and Kunchithapadam, K. and Newhall, T.}, 61.24 +journal={Computer}, 61.25 +title={The Paradyn parallel performance measurement tool}, 61.26 +year={1995}, 61.27 +month={nov}, 61.28 +volume={28}, 61.29 +number={11}, 61.30 +pages={37 -46}, 61.31 +} 61.32 +@ARTICLE{PerfToolParagraph, 61.33 +author={Heath, M.T. and Etheridge, J.A.}, 61.34 +journal={Software, IEEE}, 61.35 +title={Visualizing the performance of parallel programs}, 61.36 +year={1991}, 61.37 +month={sept. }, 61.38 +volume={8}, 61.39 +number={5}, 61.40 +pages={29 -39}, 61.41 +} 61.42 +@article{PerfToolStarSs, 61.43 + author = {Steffen Brinkmann and 61.44 + Jos{\'e} Gracia and 61.45 + Christoph Niethammer and 61.46 + Rainer Keller}, 61.47 + title = {TEMANEJO - a debugger for task based parallel programming 61.48 + models}, 61.49 + journal = {CoRR}, 61.50 + volume = {abs/1112.4604}, 61.51 + year = {2011}, 61.52 +} 61.53 +@techrep{SyncConstr_impl_w_distr_coherence_HW_Utah_96, 61.54 + author = {Carter, J. B. and Kuo, C.-C. and Kuramkote, R.}, 61.55 + title = { A comparison of software and hardware synchronization mechanisms for distributed shared memory multiprocessors}, 61.56 + institution = {University of Utah, Salt Lake City, UT}, 61.57 + year = 1996, 61.58 + url = {http://www.cs.utah.edu/research/techreports/1996/pdf/UUCS-96-011.pdf}, 61.59 + number = {UUCS-96-011} 61.60 +} 61.61 +@Article{SWCoherence_Hill_SW_for_shared_coherence_w_HW_support_93, 61.62 + author = {Hill, Mark D. and Larus, James R. and Reinhardt, Steven K. and Wood, David A.}, 61.63 + title = {Cooperative shared memory: software and hardware for scalable multiprocessors}, 61.64 + journal = {ACM Trans. Comput. Syst.}, 61.65 + volume = 11, 61.66 + number = 4, 61.67 + year = 1993, 61.68 + pages = {300--318} 61.69 +} 61.70 +@InProceedings{SWCache_MIT_embedSW_manages_cache_w_HW_supp, 61.71 + author = {Chiou, Derek and Jain, Prabhat and Rudolph, Larry and Devadas, Srinivas}, 61.72 + title = {Application-specific memory management for embedded systems using software-controlled caches}, 61.73 + booktitle = {DAC}, 61.74 + year = 2000, 61.75 + pages = {416--419} 61.76 +} 61.77 +@InProceedings{SWCache_instr_trig_HW_supp_04, 61.78 + author = {Janapsatya, Andhi and Parameswaran, Sri and Ignjatovic, A.}, 61.79 + title = {Hardware/software managed scratchpad memory for embedded system}, 61.80 + booktitle = {Proceedings of the 2004 IEEE/ACM International conference on Computer-aided design}, 61.81 + series = {ICCAD '04}, 61.82 + year = 2004, 61.83 + pages = {370--377} 61.84 +} 61.85 +@InProceedings{SWCache_arch_supp_OS_policy_06, 61.86 + author = {Rafique, Nauman and Lim, Won-Taek and Thottethodi, Mithuna}, 61.87 + title = {Architectural support for operating system-driven CMP cache management}, 61.88 + booktitle = {Proceedings of the 15th international conference on Parallel architectures and compilation techniques}, 61.89 + series = {PACT '06}, 61.90 + year = 2006, 61.91 + pages = {2--12} 61.92 +} 61.93 +@InProceedings{SWCoherence_on_Distr_Mem_90, 61.94 + author = {Bennett, J.K. and Carter, J.B. and Zwaenepoel, W.}, 61.95 + booktitle = {Computer Architecture, 1990. Proceedings., 17th Annual International Symposium on}, 61.96 + title = {Adaptive software cache management for distributed shared memory architectures}, 61.97 + year = 1990, 61.98 + pages = {125 -134} 61.99 +} 61.100 +@InProceedings{Charm_runtime_opt_10, 61.101 + author = {Mei, Chao and Zheng, Gengbin and Gioachin, Filippo and Kal{\'e}, Laxmikant V.}, 61.102 + title = {Optimizing a parallel runtime system for multicore clusters: a case study}, 61.103 + booktitle = {The 2010 TeraGrid Conference}, 61.104 + year = 2010, 61.105 + pages = {12:1--12:8} 61.106 +} 61.107 +@InProceedings{TCC_Hammond_ISCA_04, 61.108 + author = {Hammond, Lance and al, et}, 61.109 + title = {Transactional Memory Coherence and Consistency}, 61.110 + series = {ISCA '04}, 61.111 + pages = {102--}, 61.112 + booktitle = {}, 61.113 + year = {} 61.114 +} 61.115 +@Misc{WorkTableHome, 61.116 + author = {Halle, Sean}, 61.117 + note = {http://musictwodotoh.com/worktable/content/refman.pdf}, 61.118 + title = {The WorkTable Language Reference Manual}, 61.119 + year = 2012 61.120 +} 61.121 +@Misc{HWSimHome, 61.122 + author = {Halle, Sean and Hausers, Stefan}, 61.123 + note = {http://musictwodotoh.com/hwsim/content/refman.pdf}, 61.124 + title = {The HWSim Language Reference Manual}, 61.125 + year = 2012 61.126 +} 61.127 +@Article{Lamport78, 61.128 + author = {Lamport, Leslie}, 61.129 + title = {Time, clocks, and the ordering of events in a distributed system}, 61.130 + journal = {Commun. ACM}, 61.131 + volume = 21, 61.132 + issue = 7, 61.133 + year = 1978, 61.134 + pages = {558--565} 61.135 +} 61.136 +@Article{Lamport87, 61.137 + author = {Lamport, Leslie}, 61.138 + title = {A fast mutual exclusion algorithm}, 61.139 + journal = {ACM Trans. Comput. Syst.}, 61.140 + volume = 5, 61.141 + issue = 1, 61.142 + year = 1987, 61.143 + pages = {1--11} 61.144 +} 61.145 +@InProceedings{Dijkstra67, 61.146 + author = {Dijkstra, Edsger W.}, 61.147 + title = {The structure of the "{THE}"-multiprogramming system}, 61.148 + booktitle = {Proceedings of the first ACM symposium on Operating System Principles}, 61.149 + series = {SOSP '67}, 61.150 + year = 1967, 61.151 + pages = {10.1--10.6} 61.152 +} 61.153 +@Article{Conway63, 61.154 + author = {Conway, Melvin E.}, 61.155 + title = {Design of a separable transition-diagram compiler}, 61.156 + journal = {Commun. ACM}, 61.157 + volume = 6, 61.158 + issue = 7, 61.159 + year = 1963, 61.160 + pages = {396--408} 61.161 +} 61.162 +@Book{ComponentModel00, 61.163 + author = {G Leavens and M Sitaraman (eds)}, 61.164 + title = {Foundations of Component-Based Systems}, 61.165 + publisher = {Cambridge University Press}, 61.166 + year = 2000 61.167 +} 61.168 +@Misc{Hewitt10, 61.169 + author = {Carl Hewitt}, 61.170 + title = {Actor Model of Computation}, 61.171 + year = 2010, 61.172 + note = {http://arxiv.org/abs/1008.1459} 61.173 +} 61.174 +@Article{Actors97, 61.175 + author = {Agha,G. and Mason,I. and Smith,S. and Talcott,C.}, 61.176 + title = {A foundation for actor computation}, 61.177 + journal = {Journal of Functional Programming}, 61.178 + volume = 7, 61.179 + number = 01, 61.180 + pages = {1-72}, 61.181 + year = 1997 61.182 +} 61.183 +@Article{SchedActivations, 61.184 + author = {Anderson, Thomas E. and Bershad, Brian N. and Lazowska, Edward D. and Levy, Henry M.}, 61.185 + title = {Scheduler activations: effective kernel support for the user-level management of parallelism}, 61.186 + journal = {ACM Trans. Comput. Syst.}, 61.187 + volume = 10, 61.188 + issue = 1, 61.189 + month = {February}, 61.190 + year = 1992, 61.191 + pages = {53--79} 61.192 +} 61.193 +@InProceedings{BOMinManticore, 61.194 + author = {Fluet, Matthew and Rainey, Mike and Reppy, John and Shaw, Adam and Xiao, Yingqi}, 61.195 + title = {Manticore: a heterogeneous parallel language}, 61.196 + booktitle = {Proceedings of the 2007 workshop on Declarative aspects of multicore programming}, 61.197 + series = {DAMP '07}, 61.198 + year = 2007, 61.199 + pages = {37--44}, 61.200 + numpages = 8 61.201 +} 61.202 +@TechReport{GainFromChaos_Halle_92, 61.203 + author = {Halle, K.S. and Chua, Leon O. and Anishchenko, V.S. and Safonova, M.A.}, 61.204 + title = {Signal Amplification via Chaos: Experimental Evidence}, 61.205 + institution = {EECS Department, University of California, Berkeley}, 61.206 + year = 1992, 61.207 + url = {http://www.eecs.berkeley.edu/Pubs/TechRpts/1992/2223.html}, 61.208 + number = {UCB/ERL M92/130} 61.209 +} 61.210 +@InProceedings{HotPar10_w_BLIS, 61.211 + author = {Sean Halle and Albert Cohen}, 61.212 + booktitle = {HOTPAR '10: USENIX Workshop on Hot Topics in Parallelism}, 61.213 + month = {June}, 61.214 + title = {Leveraging Semantics Attached to Function Calls to Isolate Applications from Hardware}, 61.215 + year = 2010 61.216 +} 61.217 +@InProceedings{HotPar11_w_Stack, 61.218 + author = {Sean Halle and Albert Cohen}, 61.219 + booktitle = {HOTPAR '11: USENIX Workshop on Hot Topics in Parallelism}, 61.220 + month = {May}, 61.221 + title = {}, 61.222 + year = 2011 61.223 +} 61.224 +@Article{VMS_LCPC_11, 61.225 + author = {Sean Halle and Albert Cohen}, 61.226 + title = {A Mutable Hardware Abstraction to Replace Threads}, 61.227 + journal = {24th International Workshop on Languages and Compilers for Parallel Languages (LCPC11)}, 61.228 + year = 2011 61.229 +} 61.230 +@Misc{StackTechRep_10, 61.231 + author = {Halle, Sean and Nadezhkin, Dmitry and Cohen, Albert}, 61.232 + note = {http://www.soe.ucsc.edu/share/technical-reports/2010/ucsc-soe-10-02.pdf}, 61.233 + title = {A Framework to Support Research on Portable High Performance Parallelism}, 61.234 + year = 2010 61.235 +} 61.236 +@Misc{CTBigStepSemTechRep_06, 61.237 + author = {Halle, Sean}, 61.238 + note = {http://www.soe.ucsc.edu/share/technical-reports/2006/ucsc-crl-06-11.pdf}, 61.239 + title = {The Big-Step Operational Semantics of CodeTime Circuits}, 61.240 + year = 2006 61.241 +} 61.242 +@Misc{MentalFrameworkTechRep_06, 61.243 + author = {Halle, Sean}, 61.244 + note = {http://www.soe.ucsc.edu/share/technical-reports/2006/ucsc-crl-06-12.pdf}, 61.245 + title = {A Mental Framework for use in Creating Hardware Independent Parallel Languages}, 61.246 + year = 2006 61.247 +} 61.248 +@Misc{DKUTechRep_09, 61.249 + author = {Halle, Sean and Cohen, Albert}, 61.250 + note = {http://www.soe.ucsc.edu/share/technical-reports/2009/ucsc-soe-09-06.pdf}, 61.251 + title = {DKU Pattern for Performance Portable Parallel Software}, 61.252 + year = 2009 61.253 +} 61.254 +@Misc{EQNLangTechRep, 61.255 + author = {Halle, Sean}, 61.256 + note = {http://www.soe.ucsc.edu/share/technical-reports/2009/ucsc-soe-09-16.pdf}, 61.257 + title = {An Extensible Parallel Language}, 61.258 + year = 2009 61.259 +} 61.260 +@Misc{CTOSTechRep, 61.261 + author = {Halle, Sean}, 61.262 + note = {http://www.soe.ucsc.edu/share/technical-reports/2009/ucsc-soe-09-15.pdf}, 61.263 + title = {A Hardware-Independent Parallel Operating System Abstraction LayerParallelism}, 61.264 + year = 2009 61.265 +} 61.266 +@Misc{SideEffectsTechRep, 61.267 + author = {Halle, Sean and Cohen, Albert}, 61.268 + note = {http://www.soe.ucsc.edu/share/technical-reports/2009/ucsc-soe-09-14.pdf}, 61.269 + title = {Parallel Language Extensions for Side Effects}, 61.270 + year = 2009 61.271 +} 61.272 +@Misc{BaCTiLTechRep, 61.273 + author = {Halle, Sean}, 61.274 + note = {http://www.soe.ucsc.edu/share/technical-reports/2006/ucsc-crl-06-08.pdf}, 61.275 + title = {BaCTiL: Base CodeTime Language}, 61.276 + year = 2006 61.277 +} 61.278 +@Misc{CTPlatformTechRep, 61.279 + author = {Halle, Sean}, 61.280 + note = {http://www.soe.ucsc.edu/share/technical-reports/2006/ucsc-crl-06-09.pdf}, 61.281 + title = {The Elements of the CodeTime Software Platform}, 61.282 + year = 2006 61.283 +} 61.284 +@Misc{CTRTTechRep, 61.285 + author = {Halle, Sean}, 61.286 + note = {http://www.soe.ucsc.edu/share/technical-reports/2006/ucsc-crl-06-10.pdf}, 61.287 + title = {A Scalable and Efficient Peer-to-Peer Run-Time System for a Hardware Independent Software Platform}, 61.288 + year = 2006 61.289 +} 61.290 +@Misc{CIPTechRep, 61.291 + author = {Halle, Sean}, 61.292 + note = {http://www.soe.ucsc.edu/share/technical-reports/2005/ucsc-crl-05-05.pdf}, 61.293 + title = {The Case for an Integrated Software Platform for HEC Illustrated Using the CodeTime Platform}, 61.294 + year = 2005 61.295 +} 61.296 +@Misc{Halle2008, 61.297 + author = {Sean Halle and Albert Cohen}, 61.298 + note = {http://omp.musictwodotoh.com}, 61.299 + title = {{DKU} infrastructure server} 61.300 +} 61.301 +@Misc{DKUSourceForge, 61.302 + author = {Sean Halle and Albert Cohen}, 61.303 + month = {November}, 61.304 + note = {http://dku.sourceforge.net}, 61.305 + title = {{DKU} website}, 61.306 + year = 2008 61.307 +} 61.308 +@Misc{BLISHome, 61.309 + author = {Sean Halle and Albert Cohen}, 61.310 + month = {November}, 61.311 + note = {http://blisplatform.sourceforge.net}, 61.312 + title = {{BLIS} website}, 61.313 + year = 2008 61.314 +} 61.315 +@Misc{VMSHome, 61.316 + author = {Sean Halle and Merten Sach and Ben Juurlink and Albert Cohen}, 61.317 + note = {http://virtualizedmasterslave.org}, 61.318 + title = {{VMS} Home Page}, 61.319 + year = 2010 61.320 +} 61.321 +@Misc{PStackHome, 61.322 + author = {Sean Halle}, 61.323 + note = {http://pstack.sourceforge.net}, 61.324 + title = {{PStack} Home Page}, 61.325 + year = 2012 61.326 +} 61.327 +@Misc{DeblockingCode, 61.328 + note = {http://dku.svn.sourceforge.net/viewvc/dku/branches/DKU\_C\_\_Deblocking\_\_orig/}, 61.329 + title = {{DKU-ized Deblocking Filter} code} 61.330 +} 61.331 +@Misc{SampleBLISCode, 61.332 + note = {http://dku.sourceforge.net/SampleCode.htm}, 61.333 + title = {{Sample BLIS Code}} 61.334 +} 61.335 +@Misc{OMPHome, 61.336 + note = {http://www.openmediaplatform.eu/}, 61.337 + title = {{Open Media Platform} homepage} 61.338 +} 61.339 +@Misc{MapReduceHome, 61.340 + author = {Google Corp.}, 61.341 + note = {http://labs.google.com/papers/mapreduce.html}, 61.342 + title = {{MapReduce} Home page} 61.343 +} 61.344 +@Misc{TBBHome, 61.345 + author = {Intel Corp.}, 61.346 + note = {http://www.threadingbuildingblocks.org}, 61.347 + title = {{TBB} Home page} 61.348 +} 61.349 +@Misc{HPFWikipedia, 61.350 + author = {Wikipedia}, 61.351 + note = {http://en.wikipedia.org/wiki/High_Performance_Fortran}, 61.352 + title = {{HPF} wikipedia page} 61.353 +} 61.354 +@Misc{OpenMPHome, 61.355 + author = {{OpenMP} organization}, 61.356 + note = {http://www.openmp.org}, 61.357 + title = {{OpenMP} Home page} 61.358 +} 61.359 +@Misc{MPIHome, 61.360 + author = {open-mpi organization}, 61.361 + note = {http://www.open-mpi.org}, 61.362 + title = {{Open MPI} Home page} 61.363 +} 61.364 +@Misc{OpenCLHome, 61.365 + author = {Kronos Group}, 61.366 + note = {http://www.khronos.org/opencl}, 61.367 + title = {{OpenCL} Home page} 61.368 +} 61.369 +@Misc{CILKHome, 61.370 + author = {Cilk group at MIT}, 61.371 + note = {http://supertech.csail.mit.edu/cilk/}, 61.372 + title = {{CILK} homepage} 61.373 +} 61.374 +@InProceedings{Fri98, 61.375 + author = {M. Frigo and C. E. Leiserson and K. H. Randall}, 61.376 + title = {The Implementation of the Cilk-5 Multithreaded Language}, 61.377 + booktitle = {PLDI '98: Proceedings of the 1998 ACM SIGPLAN conference on Programming language design and implementation}, 61.378 + pages = {212--223}, 61.379 + year = 1998, 61.380 + address = {Montreal, Quebec}, 61.381 + month = jun 61.382 +} 61.383 +@Misc{TitaniumHome, 61.384 + note = {http://titanium.cs.berkeley.edu}, 61.385 + title = {{Titanium} homepage} 61.386 +} 61.387 +@InProceedings{CnCInHotPar, 61.388 + author = {Knobe, Kathleen}, 61.389 + booktitle = {HOTPAR '09: USENIX Workshop on Hot Topics in Parallelism}, 61.390 + title = {Ease of Use with Concurrent Collections {(CnC)}}, 61.391 + year = 2009 61.392 +} 61.393 +@Misc{CnCHome, 61.394 + author = {Intel Corp.}, 61.395 + note = {http://software.intel.com/en-us/articles/intel-concurrent-collections-for-cc/}, 61.396 + title = {{CnC} homepage} 61.397 +} 61.398 +@Misc{SpiralHome, 61.399 + author = {Spiral Group at CMU}, 61.400 + note = {http://www.spiral.net}, 61.401 + title = {{Spiral} homepage} 61.402 +} 61.403 +@Misc{ScalaHome, 61.404 + author = {Scala organization}, 61.405 + note = {http://www.scala-lang.org/}, 61.406 + title = {{Scala} homepage} 61.407 +} 61.408 +@Misc{UPCHome, 61.409 + author = {UPC group at UC Berkeley}, 61.410 + note = {http://upc.lbl.gov/}, 61.411 + title = {{Unified Parallel C} homepage} 61.412 +} 61.413 +@Misc{SuifHome, 61.414 + note = {http://suif.stanford.edu}, 61.415 + title = {{Suif} Parallelizing compiler homepage} 61.416 +} 61.417 +@Article{SEJITS, 61.418 + author = {B. Catanzaro and S. Kamil and Y. Lee and K. Asanovic and J. Demmel and K. Keutzer and J. Shalf and K. Yelick and A. Fox}, 61.419 + title = {SEJITS: Getting Productivity AND Performance With Selective Embedded JIT Specialization}, 61.420 + journal = {First Workshop on Programmable Models for Emerging Architecture at the 18th International Conference on Parallel Architectures and Compilation Techniques }, 61.421 + year = 2009 61.422 +} 61.423 +@InProceedings{Arnaldo3D, 61.424 + author = {Azevedo, Arnaldo and Meenderinck, Cor and Juurlink, Ben and Terechko, Andrei and Hoogerbrugge, Jan and Alvarez, Mauricio and Ramirez, Alex}, 61.425 + title = {Parallel H.264 Decoding on an Embedded Multicore Processor}, 61.426 + booktitle = {HiPEAC '09: Proceedings of the 4th International Conference on High Performance Embedded Architectures and Compilers}, 61.427 + year = 2009, 61.428 + pages = {404--418} 61.429 +} 61.430 +@Article{NarayananGPUSched, 61.431 + author = {Narayanan Sundaram and Anand Raghunathan and Srimat T. Chakradhar}, 61.432 + title = {A framework for efficient and scalable execution of domain-specific templates on GPUs}, 61.433 + journal = {International Parallel and Distributed Processing Symposium {(IPDPS)}}, 61.434 + year = 2009, 61.435 + pages = {1-12} 61.436 +} 61.437 +@InProceedings{PolyForGPU, 61.438 + author = {Baskaran, Muthu Manikandan and Bondhugula, Uday and Krishnamoorthy, Sriram and Ramanujam, J. and Rountev, Atanas and Sadayappan, P.}, 61.439 + title = {A compiler framework for optimization of affine loop nests for gpgpus}, 61.440 + booktitle = {ICS '08: Proceedings of the 22nd annual international conference on Supercomputing}, 61.441 + year = 2008, 61.442 + pages = {225--234} 61.443 +} 61.444 +@InProceedings{Loulou08, 61.445 + author = {Pouchet, Louis-No\"{e}l and Bastoul, C\'{e}dric and Cohen, Albert and Cavazos, John}, 61.446 + title = {Iterative optimization in the polyhedral model: part ii, multidimensional time}, 61.447 + booktitle = {ACM SIGPLAN conference on Programming language design and implementation {(PLDI)} }, 61.448 + year = 2008, 61.449 + pages = {90--100} 61.450 +} 61.451 +@InProceedings{MergeInHotPar, 61.452 + author = {Michael D. Linderman and James Balfour and Teresa H. Meng and William J. Dally}, 61.453 + booktitle = {HOTPAR '09: USENIX Workshop on Hot Topics in Parallelism}, 61.454 + month = {March}, 61.455 + title = {Embracing Heterogeneity \- Parallel Programming for Changing Hardware}, 61.456 + year = 2009 61.457 +} 61.458 +@InProceedings{GaloisRef, 61.459 + author = {Kulkarni, Milind and Pingali, Keshav and Walter, Bruce and Ramanarayanan, Ganesh and Bala, Kavita and Chew, L. Paul}, 61.460 + title = {Optimistic parallelism requires abstractions}, 61.461 + booktitle = {PLDI '07: Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation}, 61.462 + year = 2007, 61.463 + pages = {211--222} 61.464 +} 61.465 +@Book{Allen2002, 61.466 + author = {Kennedy, Ken and Allen, John R.}, 61.467 + title = {Optimizing compilers for modern architectures: a dependence-based approach}, 61.468 + year = 2002, 61.469 + publisher = {Morgan Kaufmann Publishers Inc.} 61.470 +} 61.471 +@Misc{Stephens95, 61.472 + author = {R. Stephens}, 61.473 + title = {A Survey Of Stream Processing}, 61.474 + year = 1995 61.475 +} 61.476 +@InProceedings{Palatin06, 61.477 + author = {P Palatin and Y Lhuillier and O Temam}, 61.478 + title = {CAPSULE: Hardware-assisted parallel execution of componentbased programs}, 61.479 + booktitle = {In Proceedings of the 39th Annual International Symposium on Microarchitecture}, 61.480 + year = 2006, 61.481 + pages = {247--258} 61.482 +} 61.483 +@InProceedings{Sequioa06, 61.484 + author = {Fatahalian,, Kayvon and Horn,, Daniel Reiter and Knight,, Timothy J. and Leem,, Larkhoon and Houston,, Mike and Park,, Ji Young and Erez,, Mattan and Ren,, Manman and Aiken,, Alex and Dally,, William J. and Hanrahan,, Pat}, 61.485 + title = {Sequoia: programming the memory hierarchy}, 61.486 + booktitle = {SC '06: Proceedings of the 2006 ACM/IEEE conference on Supercomputing}, 61.487 + year = 2006, 61.488 + pages = 83 61.489 +} 61.490 +@Book{Cole89, 61.491 + author = {M Cole}, 61.492 + title = {Algorithmic skeletons: Structured management of parallel computation}, 61.493 + publisher = {Pitman}, 61.494 + year = 1989 61.495 +} 61.496 +@InProceedings{Ginhac98, 61.497 + author = {Dominique Ginhac and Jocelyn Serot and Jean Pierre Derutin}, 61.498 + title = {Fast prototyping of image processing applications using functional skeletons on a MIMD-DM architecture}, 61.499 + booktitle = {In IAPR Workshop on Machine Vision and Applications}, 61.500 + year = 1998, 61.501 + pages = {468--471} 61.502 +} 61.503 +@InProceedings{Serot08MetaParallel, 61.504 + author = {Serot, Jocelyn and Falcou, Joel}, 61.505 + title = {Functional Meta-programming for Parallel Skeletons}, 61.506 + booktitle = {ICCS '08: Proceedings of the 8th international conference on Computational Science, Part I}, 61.507 + year = 2008, 61.508 + pages = {154--163} 61.509 +} 61.510 +@InProceedings{Darlington93, 61.511 + author = {J. Darlington and A. J. Field and P. G. Harrison and P. H. J. Kelly and D. W. N. Sharp and Q. Wu}, 61.512 + title = {Parallel programming using skeleton functions}, 61.513 + booktitle = {}, 61.514 + year = 1993, 61.515 + pages = {146--160}, 61.516 + publisher = {Springer-Verlag} 61.517 +} 61.518 +@Article{Asanovic06BerkeleyView, 61.519 + title = {{The landscape of parallel computing research: A view from berkeley}}, 61.520 + author = {Asanovic, K. and Bodik, R. and Catanzaro, B.C. and Gebis, J.J. and Husbands, P. and Keutzer, K. and Patterson, D.A. and Plishker, W.L. and Shalf, J. and Williams, S.W. and others}, 61.521 + journal = {Electrical Engineering and Computer Sciences, University of California at Berkeley, Technical Report No. UCB/EECS-2006-183, December}, 61.522 + volume = 18, 61.523 + number = {2006-183}, 61.524 + pages = 19, 61.525 + year = 2006 61.526 +} 61.527 +@Misc{BerkeleyPattLang, 61.528 + note = {http://parlab.eecs.berkeley.edu/wiki/patterns}, 61.529 + title = {{Berkeley Pattern Language}} 61.530 +} 61.531 +@Book{Mattson04Patterns, 61.532 + title = {{Patterns for parallel programming}}, 61.533 + author = {Mattson, T. and Sanders, B. and Massingill, B.}, 61.534 + year = 2004, 61.535 + publisher = {Addison-Wesley Professional} 61.536 +} 61.537 +@Article{Skillicorn98, 61.538 + title = {{Models and languages for parallel computation}}, 61.539 + author = {Skillicorn, D.B. and Talia, D.}, 61.540 + journal = {ACM Computing Surveys (CSUR)}, 61.541 + volume = 30, 61.542 + number = 2, 61.543 + pages = {123--169}, 61.544 + year = 1998 61.545 +} 61.546 +@Conference{Blelloch93NESL, 61.547 + title = {{Implementation of a portable nested data-parallel language}}, 61.548 + author = {Blelloch, G.E. and Hardwick, J.C. and Chatterjee, S. and Sipelstein, J. and Zagha, M.}, 61.549 + booktitle = {Proceedings of the fourth ACM SIGPLAN symposium on Principles and practice of parallel programming}, 61.550 + pages = {102--111}, 61.551 + year = 1993, 61.552 + organization = {ACM New York, NY, USA} 61.553 +} 61.554 +@Article{McgrawSisal, 61.555 + title = {{SISAL: Streams and iteration in a single assignment language: Reference manual version 1.2}}, 61.556 + author = {McGraw, J. and Skedzielewski, SK and Allan, SJ and Oldehoeft, RR and Glauert, J. and Kirkham, C. and Noyce, B. and Thomas, R.}, 61.557 + journal = {Manual M-146, Rev}, 61.558 + volume = 1 61.559 +} 61.560 +@Article{Gelernter85Linda, 61.561 + title = {{Generative communication in Linda}}, 61.562 + author = {Gelernter, D.}, 61.563 + journal = {ACM Transactions on Programming Languages and Systems (TOPLAS)}, 61.564 + volume = 7, 61.565 + number = 1, 61.566 + pages = {80--112}, 61.567 + year = 1985 61.568 +} 61.569 +@Article{Lin94ZPL, 61.570 + title = {{ZPL: An array sublanguage}}, 61.571 + author = {Lin, C. and Snyder, L.}, 61.572 + journal = {Lecture Notes in Computer Science}, 61.573 + volume = 768, 61.574 + pages = {96--114}, 61.575 + year = 1994 61.576 +} 61.577 +@Article{baecker97, 61.578 + author = {Ron Baecker and Chris DiGiano and Aaron Marcus}, 61.579 + title = {Software visualization for debugging}, 61.580 + journal = {Communications of the ACM}, 61.581 + volume = 40, 61.582 + number = 4, 61.583 + year = 1997, 61.584 + issn = {0001-0782}, 61.585 + pages = {44--54}, 61.586 + publisher = {ACM Press} 61.587 +} 61.588 +@Article{ball96, 61.589 + author = {T. A. Ball and S. G. Eick}, 61.590 + title = {Software Visualization in the Large}, 61.591 + journal = {IEEE Computer}, 61.592 + volume = 29, 61.593 + number = 4, 61.594 + year = 1996, 61.595 + month = {apr}, 61.596 + pages = {33--43} 61.597 +} 61.598 +@Book{berry89, 61.599 + title = {{The chemical abstract machine}}, 61.600 + author = {Berry, G. and Boudol, G.}, 61.601 + year = 1989, 61.602 + publisher = {ACM Press} 61.603 +} 61.604 +@Article{blumofe95, 61.605 + author = {Robert D. Blumofe and Christopher F. Joerg and Bradley C. Kuszmaul and Charles E. Leiserson and Keith H. Randall and Yuli Zhou}, 61.606 + title = {Cilk: an efficient multithreaded runtime system}, 61.607 + journal = {SIGPLAN Not.}, 61.608 + volume = 30, 61.609 + number = 8, 61.610 + year = 1995, 61.611 + pages = {207--216} 61.612 +} 61.613 +@Article{burch90, 61.614 + title = {{Symbolic model checking: 10^{20} states and beyond}}, 61.615 + author = {Burch, JR and Clarke, EM and McMillan, KL and Dill, DL and Hwang, LJ}, 61.616 + journal = {Logic in Computer Science, 1990. LICS'90, Proceedings}, 61.617 + pages = {428--439}, 61.618 + year = 1990 61.619 +} 61.620 +@Article{chamberlain98, 61.621 + author = {B. Chamberlain and S. Choi and E. Lewis and C. Lin and L. Snyder and W. Weathersby}, 61.622 + title = {ZPL's WYSIWYG Performance Model}, 61.623 + journal = {hips}, 61.624 + volume = 00, 61.625 + year = 1998, 61.626 + isbn = {0-8186-8412-7}, 61.627 + pages = 50 61.628 +} 61.629 +@Article{church41, 61.630 + author = {A. Church}, 61.631 + title = {The Calculi of Lambda-Conversion}, 61.632 + journal = {Annals of Mathematics Studies}, 61.633 + number = 6, 61.634 + year = 1941, 61.635 + publisher = {Princeton University} 61.636 +} 61.637 +@Misc{CodeTimeSite, 61.638 + author = {Sean Halle}, 61.639 + key = {CodeTime}, 61.640 + title = {Homepage for The CodeTime Parallel Software Platform}, 61.641 + note = {{\ttfamily http://codetime.sourceforge.net}} 61.642 +} 61.643 +@Misc{CodeTimePlatform, 61.644 + author = {Sean Halle}, 61.645 + key = {CodeTime}, 61.646 + title = {The CodeTime Parallel Software Platform}, 61.647 + note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_Platform.pdf}} 61.648 +} 61.649 +@Misc{CodeTimeVS, 61.650 + author = {Sean Halle}, 61.651 + key = {CodeTime}, 61.652 + title = {The Specification of the CodeTime Platform's Virtual Server}, 61.653 + note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_Virtual\_Server.pdf}} 61.654 +} 61.655 +@Misc{CodeTimeOS, 61.656 + author = {Sean Halle}, 61.657 + key = {CodeTime}, 61.658 + title = {A Hardware Independent OS}, 61.659 + note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_OS.pdf}} 61.660 +} 61.661 +@Misc{CodeTimeSem, 61.662 + author = {Sean Halle}, 61.663 + key = {CodeTime}, 61.664 + title = {The Big-Step Operational Semantics of the CodeTime Computational Model}, 61.665 + note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_Semantics.pdf}} 61.666 +} 61.667 +@Misc{CodeTimeTh, 61.668 + author = {Sean Halle}, 61.669 + key = {CodeTime}, 61.670 + title = {A Mental Framework for Use in Creating Hardware-Independent Parallel Languages}, 61.671 + note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTiime\_Theoretical\_Framework.pdf}} 61.672 +} 61.673 +@Misc{CodeTimeTh1, 61.674 + author = {Sean Halle}, 61.675 + key = {CodeTime}, 61.676 + title = {The CodeTime Parallel Software Platform}, 61.677 + note = {{\ttfamily http://codetime.sourceforge.net}} 61.678 +} 61.679 +@Misc{CodeTimeTh2, 61.680 + author = {Sean Halle}, 61.681 + key = {CodeTime}, 61.682 + title = {The CodeTime Parallel Software Platform}, 61.683 + note = {{\ttfamily http://codetime.sourceforge.net}} 61.684 +} 61.685 +@Misc{CodeTimeRT, 61.686 + author = {Sean Halle}, 61.687 + key = {CodeTime}, 61.688 + title = {The CodeTime Parallel Software Platform}, 61.689 + note = {{\ttfamily http://codetime.sourceforge.net}} 61.690 +} 61.691 +@Misc{CodeTimeWebSite, 61.692 + author = {Sean Halle}, 61.693 + key = {CodeTime}, 61.694 + title = {The CodeTime Parallel Software Platform}, 61.695 + note = {{\ttfamily http://codetime.sourceforge.net}} 61.696 +} 61.697 +@Misc{CodeTimeBaCTiL, 61.698 + author = {Sean Halle}, 61.699 + key = {CodeTime}, 61.700 + title = {The Base CodeTime Language}, 61.701 + note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_BaCTiL.pdf}} 61.702 +} 61.703 +@Misc{CodeTimeCert, 61.704 + author = {Sean Halle}, 61.705 + key = {CodeTime}, 61.706 + title = {The CodeTime Certification Strategy}, 61.707 + note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_Certification.pdf}} 61.708 +} 61.709 +@InProceedings{ducournau94, 61.710 + author = {R. Ducournau and M. Habib and M. Huchard and M. L. Mugnier}, 61.711 + title = {Proposal for a monotonic multiple inheritance linearization}, 61.712 + booktitle = {OOPSLA '94: Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications}, 61.713 + year = 1994, 61.714 + pages = {164--175}, 61.715 + publisher = {ACM Press} 61.716 +} 61.717 +@Article{emerson91, 61.718 + title = {{Tree automata, mu-calculus and determinacy}}, 61.719 + author = {Emerson, EA and Jutla, CS}, 61.720 + journal = {Proceedings of the 32nd Symposium on Foundations of Computer Science}, 61.721 + pages = {368--377}, 61.722 + year = 1991 61.723 +} 61.724 +@Article{fortune78, 61.725 + title = {{Parallelism in random access machines}}, 61.726 + author = {Fortune, S. and Wyllie, J.}, 61.727 + journal = {STOC '78: Proceedings of the tenth annual ACM symposium on Theory of computing}, 61.728 + pages = {114--118}, 61.729 + year = 1978, 61.730 + publisher = {ACM Press New York, NY, USA} 61.731 +} 61.732 +@Book{goldberg83, 61.733 + title = {{Smalltalk-80: the language and its implementation}}, 61.734 + author = {Goldberg, A. and Robson, D.}, 61.735 + year = 1983, 61.736 + publisher = {Addison-Wesley} 61.737 +} 61.738 +@InProceedings{goldschlager78, 61.739 + author = {Leslie M. Goldschlager}, 61.740 + title = {A unified approach to models of synchronous parallel machines}, 61.741 + booktitle = {STOC '78: Proceedings of the tenth annual ACM symposium on Theory of computing}, 61.742 + year = 1978, 61.743 + pages = {89--94}, 61.744 + location = {San Diego, California, United States}, 61.745 + doi = {http://doi.acm.org/10.1145/800133.804336}, 61.746 + publisher = {ACM Press} 61.747 +} 61.748 +@Book{gosling96, 61.749 + author = {J. Gosling and B. Joy and G. Steele and G. Bracha}, 61.750 + title = {The Java Language Specification}, 61.751 + publisher = {Addison-Wesley}, 61.752 + year = 1996 61.753 +} 61.754 +@Article{hasselbring00, 61.755 + author = {Wilhelm Hasselbring}, 61.756 + title = {Programming languages and systems for prototyping concurrent applications}, 61.757 + journal = {ACM Comput. Surv.}, 61.758 + volume = 32, 61.759 + number = 1, 61.760 + year = 2000, 61.761 + issn = {0360-0300}, 61.762 + pages = {43--79}, 61.763 + doi = {http://doi.acm.org/10.1145/349194.349199}, 61.764 + publisher = {ACM Press}, 61.765 + address = {New York, NY, USA} 61.766 +} 61.767 +@Article{hoare78, 61.768 + author = {C. A. R. Hoare}, 61.769 + title = {Communicating Sequential Processes}, 61.770 + journal = {Communications of the ACM}, 61.771 + year = 1978, 61.772 + volume = 21, 61.773 + number = 8, 61.774 + pages = {666-677} 61.775 +} 61.776 +@Article{huth, 61.777 + title = {{A Unifying Framework for Model Checking Labeled Kripke Structures, Modal Transition Systems, and Interval Transition Systems}}, 61.778 + author = {Huth, M.}, 61.779 + journal = {Proceedings of the 19th International Conference on the Foundations of Software Technology \& Theoretical Computer Science, Lecture Notes in Computer Science}, 61.780 + pages = {369--380}, 61.781 + publisher = {Springer-Verlag} 61.782 +} 61.783 +@Article{johnston04, 61.784 + author = {Wesley M. Johnston and J. R. Paul Hanna and Richard J. Millar}, 61.785 + title = {Advances in dataflow programming languages}, 61.786 + journal = {ACM Comput. Surv.}, 61.787 + volume = 36, 61.788 + number = 1, 61.789 + year = 2004, 61.790 + issn = {0360-0300}, 61.791 + pages = {1--34}, 61.792 + doi = {http://doi.acm.org/10.1145/1013208.1013209}, 61.793 + publisher = {ACM Press}, 61.794 + address = {New York, NY, USA} 61.795 +} 61.796 +@Book{koelbel93, 61.797 + author = {C. H. Koelbel and D. Loveman and R. Schreiber and G. Steele Jr}, 61.798 + title = {High Performance Fortran Handbook}, 61.799 + year = 1993, 61.800 + publisher = {MIT Press} 61.801 +} 61.802 +@Article{kozen83, 61.803 + title = {{Results on the Propositional mu-Calculus}}, 61.804 + author = {Kozen, D.}, 61.805 + journal = {TCS}, 61.806 + volume = 27, 61.807 + pages = {333--354}, 61.808 + year = 1983 61.809 +} 61.810 +@Article{kripke63, 61.811 + title = {{Semantical analysis of modal logic}}, 61.812 + author = {Kripke, S.}, 61.813 + journal = {Zeitschrift fur Mathematische Logik und Grundlagen der Mathematik}, 61.814 + volume = 9, 61.815 + pages = {67--96}, 61.816 + year = 1963 61.817 +} 61.818 +@Book{mcGraw85, 61.819 + author = {J McGraw and S. Skedzielewski and S. Allan and R Odefoeft}, 61.820 + title = {SISAL: Streams and Iteration in a Single-Assignment Language: Reference Manual Version 1.2}, 61.821 + note = {Manual M-146 Rev. 1}, 61.822 + publisher = {Lawrence Livermore National Laboratory}, 61.823 + year = 1985 61.824 +} 61.825 +@Book{milner80, 61.826 + title = {{A Calculus of Communicating Systems, volume 92 of Lecture Notes in Computer Science}}, 61.827 + author = {Milner, R.}, 61.828 + year = 1980, 61.829 + publisher = {Springer-Verlag} 61.830 +} 61.831 +@Article{milner92, 61.832 + title = {{A calculus of mobile processes, parts I and II}}, 61.833 + author = {Milner, R. and Parrow, J. and Walker, D.}, 61.834 + journal = {Information and Computation}, 61.835 + volume = 100, 61.836 + number = 1, 61.837 + pages = {1--40 and 41--77}, 61.838 + year = 1992, 61.839 + publisher = {Academic Press} 61.840 +} 61.841 +@Book{milner99, 61.842 + author = {Robin Milner}, 61.843 + title = {Communicating and Mobile Systems: The pi-Calculus}, 61.844 + publisher = {Cambridge University Press}, 61.845 + year = 1999 61.846 +} 61.847 +@Book{MPIForum94, 61.848 + author = {M. P. I. Forum}, 61.849 + title = {MPI: A Message-Passing Interface Standard}, 61.850 + year = 1994 61.851 +} 61.852 +@Article{petri62, 61.853 + title = {{Fundamentals of a theory of asynchronous information flow}}, 61.854 + author = {Petri, C.A.}, 61.855 + journal = {Proc. IFIP Congress}, 61.856 + volume = 62, 61.857 + pages = {386--390}, 61.858 + year = 1962 61.859 +} 61.860 +@Book{pierce02, 61.861 + title = {Types and Programming Languages}, 61.862 + author = {Pierce, B. C.}, 61.863 + year = 2002, 61.864 + publisher = {MIT Press} 61.865 +} 61.866 +@Article{price, 61.867 + author = {B. A. Price and R. M. Baecker and L. S. Small}, 61.868 + title = {A Principled Taxonomy of Software Visualization}, 61.869 + journal = {Journal of Visual Languages and Computing}, 61.870 + volume = 4, 61.871 + number = 3, 61.872 + pages = {211--266} 61.873 +} 61.874 +@Misc{pythonWebSite, 61.875 + key = {Python}, 61.876 + title = {The Python Software Foundation Mission Statement}, 61.877 + note = {{\ttfamily http://www.python.org/psf/mission.html}} 61.878 +} 61.879 +@Unpublished{reed03, 61.880 + editor = {Daniel A. Reed}, 61.881 + title = {Workshop on The Roadmap for the Revitalization of High-End Computing}, 61.882 + day = {16--18}, 61.883 + month = {jun}, 61.884 + year = 2003, 61.885 + note = {Available at {\ttfamily http://www.cra.org/reports/supercomputing.web.pdf}} 61.886 +} 61.887 +@Article{reeves84, 61.888 + author = {A. P. Reeves}, 61.889 + title = {Parallel Pascal -- An Extended Pascal for Parallel Computers}, 61.890 + journal = {Journal of Parallel and Distributed Computing}, 61.891 + volume = 1, 61.892 + number = {}, 61.893 + year = 1984, 61.894 + month = {aug}, 61.895 + pages = {64--80} 61.896 +} 61.897 +@Article{skillicorn98, 61.898 + author = {David B. Skillicorn and Domenico Talia}, 61.899 + title = {Models and languages for parallel computation}, 61.900 + journal = {ACM Comput. Surv.}, 61.901 + volume = 30, 61.902 + number = 2, 61.903 + year = 1998, 61.904 + issn = {0360-0300}, 61.905 + pages = {123--169}, 61.906 + doi = {http://doi.acm.org/10.1145/280277.280278}, 61.907 + publisher = {ACM Press}, 61.908 + address = {New York, NY, USA} 61.909 +} 61.910 +@Article{stefik86, 61.911 + title = {Object Oriented Programming: Themes and Variations}, 61.912 + author = {Stefik, M. and Bobrow, D. G.}, 61.913 + journal = {The AI Magazine}, 61.914 + volume = 6, 61.915 + number = 4, 61.916 + year = 1986 61.917 +} 61.918 +@Book{stirling92, 61.919 + title = {{Modal and Temporal Logics}}, 61.920 + author = {Stirling, C.}, 61.921 + year = 1992, 61.922 + publisher = {University of Edinburgh, Department of Computer Science} 61.923 +} 61.924 +@Misc{TitaniumWebSite, 61.925 + author = {Paul Hilfinger and et. al.}, 61.926 + title = {The Titanium Project Home Page}, 61.927 + note = {{\ttfamily http://www.cs.berkeley.edu/projects/titanium}} 61.928 +} 61.929 +@Misc{turing38, 61.930 + author = {A. Turing}, 61.931 + note = {http://www.turingarchive.org/intro/, and http://www.turing.org.uk/sources/biblio4.html, and http://web.comlab.ox.ac.uk/oucl/research/areas/ieg/e-library/sources/tp2-ie.pdf}, 61.932 + year = 1938 61.933 +} 61.934 +@Book{vonNeumann45, 61.935 + title = {First Draft of a Report on the EDVAC}, 61.936 + author = {J. von Neumann}, 61.937 + year = 1945, 61.938 + publisher = {United States Army Ordnance Department} 61.939 +} 61.940 +@Book{winskel93, 61.941 + title = {{The Formal Semantics of Programming Languages}}, 61.942 + author = {Winskel, G.}, 61.943 + year = 1993, 61.944 + publisher = {MIT Press} 61.945 +}
62.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 62.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/latex/sigplanconf.cls Fri Sep 13 11:02:18 2013 -0700 62.3 @@ -0,0 +1,1273 @@ 62.4 +%----------------------------------------------------------------------------- 62.5 +% 62.6 +% LaTeX Class/Style File 62.7 +% 62.8 +% Name: sigplanconf.cls 62.9 +% 62.10 +% Purpose: A LaTeX 2e class file for SIGPLAN conference proceedings. 62.11 +% This class file supercedes acm_proc_article-sp, 62.12 +% sig-alternate, and sigplan-proc. 62.13 +% 62.14 +% Author: Paul C. Anagnostopoulos 62.15 +% Windfall Software 62.16 +% 978 371-2316 62.17 +% paul [atsign] windfall.com 62.18 +% 62.19 +% Created: 12 September 2004 62.20 +% 62.21 +% Revisions: See end of file. 62.22 +% 62.23 +% This work is licensed under the Creative Commons Attribution License. 62.24 +% To view a copy of this license, visit 62.25 +% http://creativecommons.org/licenses/by/3.0/ 62.26 +% or send a letter to Creative Commons, 171 2nd Street, Suite 300, 62.27 +% San Francisco, California, 94105, U.S.A. 62.28 +% 62.29 +%----------------------------------------------------------------------------- 62.30 + 62.31 + 62.32 +\NeedsTeXFormat{LaTeX2e}[1995/12/01] 62.33 +\ProvidesClass{sigplanconf}[2011/11/08 v2.5 ACM SIGPLAN Proceedings] 62.34 + 62.35 +% The following few pages contain LaTeX programming extensions adapted 62.36 +% from the ZzTeX macro package. 62.37 + 62.38 +% Token Hackery 62.39 +% ----- ------- 62.40 + 62.41 + 62.42 +\def \@expandaftertwice {\expandafter\expandafter\expandafter} 62.43 +\def \@expandafterthrice {\expandafter\expandafter\expandafter\expandafter 62.44 + \expandafter\expandafter\expandafter} 62.45 + 62.46 +% This macro discards the next token. 62.47 + 62.48 +\def \@discardtok #1{}% token 62.49 + 62.50 +% This macro removes the `pt' following a dimension. 62.51 + 62.52 +{\catcode `\p = 12 \catcode `\t = 12 62.53 + 62.54 +\gdef \@remover #1pt{#1} 62.55 + 62.56 +} % \catcode 62.57 + 62.58 +% This macro extracts the contents of a macro and returns it as plain text. 62.59 +% Usage: \expandafter\@defof \meaning\macro\@mark 62.60 + 62.61 +\def \@defof #1:->#2\@mark{#2} 62.62 + 62.63 +% Control Sequence Names 62.64 +% ------- -------- ----- 62.65 + 62.66 + 62.67 +\def \@name #1{% {\tokens} 62.68 + \csname \expandafter\@discardtok \string#1\endcsname} 62.69 + 62.70 +\def \@withname #1#2{% {\command}{\tokens} 62.71 + \expandafter#1\csname \expandafter\@discardtok \string#2\endcsname} 62.72 + 62.73 +% Flags (Booleans) 62.74 +% ----- ---------- 62.75 + 62.76 +% The boolean literals \@true and \@false are appropriate for use with 62.77 +% the \if command, which tests the codes of the next two characters. 62.78 + 62.79 +\def \@true {TT} 62.80 +\def \@false {FL} 62.81 + 62.82 +\def \@setflag #1=#2{\edef #1{#2}}% \flag = boolean 62.83 + 62.84 +% IF and Predicates 62.85 +% -- --- ---------- 62.86 + 62.87 +% A "predicate" is a macro that returns \@true or \@false as its value. 62.88 +% Such values are suitable for use with the \if conditional. For example: 62.89 +% 62.90 +% \if \@oddp{\x} <then-clause> \else <else-clause> \fi 62.91 + 62.92 +% A predicate can be used with \@setflag as follows: 62.93 +% 62.94 +% \@setflag \flag = {<predicate>} 62.95 + 62.96 +% Here are the predicates for TeX's repertoire of conditional 62.97 +% commands. These might be more appropriately interspersed with 62.98 +% other definitions in this module, but what the heck. 62.99 +% Some additional "obvious" predicates are defined. 62.100 + 62.101 +\def \@eqlp #1#2{\ifnum #1 = #2\@true \else \@false \fi} 62.102 +\def \@neqlp #1#2{\ifnum #1 = #2\@false \else \@true \fi} 62.103 +\def \@lssp #1#2{\ifnum #1 < #2\@true \else \@false \fi} 62.104 +\def \@gtrp #1#2{\ifnum #1 > #2\@true \else \@false \fi} 62.105 +\def \@zerop #1{\ifnum #1 = 0\@true \else \@false \fi} 62.106 +\def \@onep #1{\ifnum #1 = 1\@true \else \@false \fi} 62.107 +\def \@posp #1{\ifnum #1 > 0\@true \else \@false \fi} 62.108 +\def \@negp #1{\ifnum #1 < 0\@true \else \@false \fi} 62.109 +\def \@oddp #1{\ifodd #1\@true \else \@false \fi} 62.110 +\def \@evenp #1{\ifodd #1\@false \else \@true \fi} 62.111 +\def \@rangep #1#2#3{\if \@orp{\@lssp{#1}{#2}}{\@gtrp{#1}{#3}}\@false \else 62.112 + \@true \fi} 62.113 +\def \@tensp #1{\@rangep{#1}{10}{19}} 62.114 + 62.115 +\def \@dimeqlp #1#2{\ifdim #1 = #2\@true \else \@false \fi} 62.116 +\def \@dimneqlp #1#2{\ifdim #1 = #2\@false \else \@true \fi} 62.117 +\def \@dimlssp #1#2{\ifdim #1 < #2\@true \else \@false \fi} 62.118 +\def \@dimgtrp #1#2{\ifdim #1 > #2\@true \else \@false \fi} 62.119 +\def \@dimzerop #1{\ifdim #1 = 0pt\@true \else \@false \fi} 62.120 +\def \@dimposp #1{\ifdim #1 > 0pt\@true \else \@false \fi} 62.121 +\def \@dimnegp #1{\ifdim #1 < 0pt\@true \else \@false \fi} 62.122 + 62.123 +\def \@vmodep {\ifvmode \@true \else \@false \fi} 62.124 +\def \@hmodep {\ifhmode \@true \else \@false \fi} 62.125 +\def \@mathmodep {\ifmmode \@true \else \@false \fi} 62.126 +\def \@textmodep {\ifmmode \@false \else \@true \fi} 62.127 +\def \@innermodep {\ifinner \@true \else \@false \fi} 62.128 + 62.129 +\long\def \@codeeqlp #1#2{\if #1#2\@true \else \@false \fi} 62.130 + 62.131 +\long\def \@cateqlp #1#2{\ifcat #1#2\@true \else \@false \fi} 62.132 + 62.133 +\long\def \@tokeqlp #1#2{\ifx #1#2\@true \else \@false \fi} 62.134 +\long\def \@xtokeqlp #1#2{\expandafter\ifx #1#2\@true \else \@false \fi} 62.135 + 62.136 +\long\def \@definedp #1{% 62.137 + \expandafter\ifx \csname \expandafter\@discardtok \string#1\endcsname 62.138 + \relax \@false \else \@true \fi} 62.139 + 62.140 +\long\def \@undefinedp #1{% 62.141 + \expandafter\ifx \csname \expandafter\@discardtok \string#1\endcsname 62.142 + \relax \@true \else \@false \fi} 62.143 + 62.144 +\def \@emptydefp #1{\ifx #1\@empty \@true \else \@false \fi}% {\name} 62.145 + 62.146 +\let \@emptylistp = \@emptydefp 62.147 + 62.148 +\long\def \@emptyargp #1{% {#n} 62.149 + \@empargp #1\@empargq\@mark} 62.150 +\long\def \@empargp #1#2\@mark{% 62.151 + \ifx #1\@empargq \@true \else \@false \fi} 62.152 +\def \@empargq {\@empargq} 62.153 + 62.154 +\def \@emptytoksp #1{% {\tokenreg} 62.155 + \expandafter\@emptoksp \the#1\@mark} 62.156 + 62.157 +\long\def \@emptoksp #1\@mark{\@emptyargp{#1}} 62.158 + 62.159 +\def \@voidboxp #1{\ifvoid #1\@true \else \@false \fi} 62.160 +\def \@hboxp #1{\ifhbox #1\@true \else \@false \fi} 62.161 +\def \@vboxp #1{\ifvbox #1\@true \else \@false \fi} 62.162 + 62.163 +\def \@eofp #1{\ifeof #1\@true \else \@false \fi} 62.164 + 62.165 + 62.166 +% Flags can also be used as predicates, as in: 62.167 +% 62.168 +% \if \flaga <then-clause> \else <else-clause> \fi 62.169 + 62.170 + 62.171 +% Now here we have predicates for the common logical operators. 62.172 + 62.173 +\def \@notp #1{\if #1\@false \else \@true \fi} 62.174 + 62.175 +\def \@andp #1#2{\if #1% 62.176 + \if #2\@true \else \@false \fi 62.177 + \else 62.178 + \@false 62.179 + \fi} 62.180 + 62.181 +\def \@orp #1#2{\if #1% 62.182 + \@true 62.183 + \else 62.184 + \if #2\@true \else \@false \fi 62.185 + \fi} 62.186 + 62.187 +\def \@xorp #1#2{\if #1% 62.188 + \if #2\@false \else \@true \fi 62.189 + \else 62.190 + \if #2\@true \else \@false \fi 62.191 + \fi} 62.192 + 62.193 +% Arithmetic 62.194 +% ---------- 62.195 + 62.196 +\def \@increment #1{\advance #1 by 1\relax}% {\count} 62.197 + 62.198 +\def \@decrement #1{\advance #1 by -1\relax}% {\count} 62.199 + 62.200 +% Options 62.201 +% ------- 62.202 + 62.203 + 62.204 +\@setflag \@authoryear = \@false 62.205 +\@setflag \@blockstyle = \@false 62.206 +\@setflag \@copyrightwanted = \@true 62.207 +\@setflag \@explicitsize = \@false 62.208 +\@setflag \@mathtime = \@false 62.209 +\@setflag \@natbib = \@true 62.210 +\@setflag \@ninepoint = \@true 62.211 +\newcount{\@numheaddepth} \@numheaddepth = 3 62.212 +\@setflag \@onecolumn = \@false 62.213 +\@setflag \@preprint = \@false 62.214 +\@setflag \@reprint = \@false 62.215 +\@setflag \@tenpoint = \@false 62.216 +\@setflag \@times = \@false 62.217 + 62.218 +% Note that all the dangerous article class options are trapped. 62.219 + 62.220 +\DeclareOption{9pt}{\@setflag \@ninepoint = \@true 62.221 + \@setflag \@explicitsize = \@true} 62.222 + 62.223 +\DeclareOption{10pt}{\PassOptionsToClass{10pt}{article}% 62.224 + \@setflag \@ninepoint = \@false 62.225 + \@setflag \@tenpoint = \@true 62.226 + \@setflag \@explicitsize = \@true} 62.227 + 62.228 +\DeclareOption{11pt}{\PassOptionsToClass{11pt}{article}% 62.229 + \@setflag \@ninepoint = \@false 62.230 + \@setflag \@explicitsize = \@true} 62.231 + 62.232 +\DeclareOption{12pt}{\@unsupportedoption{12pt}} 62.233 + 62.234 +\DeclareOption{a4paper}{\@unsupportedoption{a4paper}} 62.235 + 62.236 +\DeclareOption{a5paper}{\@unsupportedoption{a5paper}} 62.237 + 62.238 +\DeclareOption{authoryear}{\@setflag \@authoryear = \@true} 62.239 + 62.240 +\DeclareOption{b5paper}{\@unsupportedoption{b5paper}} 62.241 + 62.242 +\DeclareOption{blockstyle}{\@setflag \@blockstyle = \@true} 62.243 + 62.244 +\DeclareOption{cm}{\@setflag \@times = \@false} 62.245 + 62.246 +\DeclareOption{computermodern}{\@setflag \@times = \@false} 62.247 + 62.248 +\DeclareOption{executivepaper}{\@unsupportedoption{executivepaper}} 62.249 + 62.250 +\DeclareOption{indentedstyle}{\@setflag \@blockstyle = \@false} 62.251 + 62.252 +\DeclareOption{landscape}{\@unsupportedoption{landscape}} 62.253 + 62.254 +\DeclareOption{legalpaper}{\@unsupportedoption{legalpaper}} 62.255 + 62.256 +\DeclareOption{letterpaper}{\@unsupportedoption{letterpaper}} 62.257 + 62.258 +\DeclareOption{mathtime}{\@setflag \@mathtime = \@true} 62.259 + 62.260 +\DeclareOption{natbib}{\@setflag \@natbib = \@true} 62.261 + 62.262 +\DeclareOption{nonatbib}{\@setflag \@natbib = \@false} 62.263 + 62.264 +\DeclareOption{nocopyrightspace}{\@setflag \@copyrightwanted = \@false} 62.265 + 62.266 +\DeclareOption{notitlepage}{\@unsupportedoption{notitlepage}} 62.267 + 62.268 +\DeclareOption{numberedpars}{\@numheaddepth = 4} 62.269 + 62.270 +\DeclareOption{numbers}{\@setflag \@authoryear = \@false} 62.271 + 62.272 +%%%\DeclareOption{onecolumn}{\@setflag \@onecolumn = \@true} 62.273 + 62.274 +\DeclareOption{preprint}{\@setflag \@preprint = \@true} 62.275 + 62.276 +\DeclareOption{reprint}{\@setflag \@reprint = \@true} 62.277 + 62.278 +\DeclareOption{times}{\@setflag \@times = \@true} 62.279 + 62.280 +\DeclareOption{titlepage}{\@unsupportedoption{titlepage}} 62.281 + 62.282 +\DeclareOption{twocolumn}{\@setflag \@onecolumn = \@false} 62.283 + 62.284 +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} 62.285 + 62.286 +\ExecuteOptions{9pt,indentedstyle,times} 62.287 +\@setflag \@explicitsize = \@false 62.288 +\ProcessOptions 62.289 + 62.290 +\if \@onecolumn 62.291 + \if \@notp{\@explicitsize}% 62.292 + \@setflag \@ninepoint = \@false 62.293 + \PassOptionsToClass{11pt}{article}% 62.294 + \fi 62.295 + \PassOptionsToClass{twoside,onecolumn}{article} 62.296 +\else 62.297 + \PassOptionsToClass{twoside,twocolumn}{article} 62.298 +\fi 62.299 +\LoadClass{article} 62.300 + 62.301 +\def \@unsupportedoption #1{% 62.302 + \ClassError{proc}{The standard '#1' option is not supported.}} 62.303 + 62.304 +% This can be used with the 'reprint' option to get the final folios. 62.305 + 62.306 +\def \setpagenumber #1{% 62.307 + \setcounter{page}{#1}} 62.308 + 62.309 +\AtEndDocument{\label{sigplanconf@finalpage}} 62.310 + 62.311 +% Utilities 62.312 +% --------- 62.313 + 62.314 + 62.315 +\newcommand{\setvspace}[2]{% 62.316 + #1 = #2 62.317 + \advance #1 by -1\parskip} 62.318 + 62.319 +% Document Parameters 62.320 +% -------- ---------- 62.321 + 62.322 + 62.323 +% Page: 62.324 + 62.325 +\setlength{\hoffset}{-1in} 62.326 +\setlength{\voffset}{-1in} 62.327 + 62.328 +\setlength{\topmargin}{1in} 62.329 +\setlength{\headheight}{0pt} 62.330 +\setlength{\headsep}{0pt} 62.331 + 62.332 +\if \@onecolumn 62.333 + \setlength{\evensidemargin}{.75in} 62.334 + \setlength{\oddsidemargin}{.75in} 62.335 +\else 62.336 + \setlength{\evensidemargin}{.75in} 62.337 + \setlength{\oddsidemargin}{.75in} 62.338 +\fi 62.339 + 62.340 +% Text area: 62.341 + 62.342 +\newdimen{\standardtextwidth} 62.343 +\setlength{\standardtextwidth}{42pc} 62.344 + 62.345 +\if \@onecolumn 62.346 + \setlength{\textwidth}{40.5pc} 62.347 +\else 62.348 + \setlength{\textwidth}{\standardtextwidth} 62.349 +\fi 62.350 + 62.351 +\setlength{\topskip}{8pt} 62.352 +\setlength{\columnsep}{2pc} 62.353 +\setlength{\textheight}{54.5pc} 62.354 + 62.355 +% Running foot: 62.356 + 62.357 +\setlength{\footskip}{30pt} 62.358 + 62.359 +% Paragraphs: 62.360 + 62.361 +\if \@blockstyle 62.362 + \setlength{\parskip}{5pt plus .1pt minus .5pt} 62.363 + \setlength{\parindent}{0pt} 62.364 +\else 62.365 + \setlength{\parskip}{0pt} 62.366 + \setlength{\parindent}{12pt} 62.367 +\fi 62.368 + 62.369 +\setlength{\lineskip}{.5pt} 62.370 +\setlength{\lineskiplimit}{\lineskip} 62.371 + 62.372 +\frenchspacing 62.373 +\pretolerance = 400 62.374 +\tolerance = \pretolerance 62.375 +\setlength{\emergencystretch}{5pt} 62.376 +\clubpenalty = 10000 62.377 +\widowpenalty = 10000 62.378 +\setlength{\hfuzz}{.5pt} 62.379 + 62.380 +% Standard vertical spaces: 62.381 + 62.382 +\newskip{\standardvspace} 62.383 +\setvspace{\standardvspace}{5pt plus 1pt minus .5pt} 62.384 + 62.385 +% Margin paragraphs: 62.386 + 62.387 +\setlength{\marginparwidth}{36pt} 62.388 +\setlength{\marginparsep}{2pt} 62.389 +\setlength{\marginparpush}{8pt} 62.390 + 62.391 + 62.392 +\setlength{\skip\footins}{8pt plus 3pt minus 1pt} 62.393 +\setlength{\footnotesep}{9pt} 62.394 + 62.395 +\renewcommand{\footnoterule}{% 62.396 + \hrule width .5\columnwidth height .33pt depth 0pt} 62.397 + 62.398 +\renewcommand{\@makefntext}[1]{% 62.399 + \noindent \@makefnmark \hspace{1pt}#1} 62.400 + 62.401 +% Floats: 62.402 + 62.403 +\setcounter{topnumber}{4} 62.404 +\setcounter{bottomnumber}{1} 62.405 +\setcounter{totalnumber}{4} 62.406 + 62.407 +\renewcommand{\fps@figure}{tp} 62.408 +\renewcommand{\fps@table}{tp} 62.409 +\renewcommand{\topfraction}{0.90} 62.410 +\renewcommand{\bottomfraction}{0.30} 62.411 +\renewcommand{\textfraction}{0.10} 62.412 +\renewcommand{\floatpagefraction}{0.75} 62.413 + 62.414 +\setcounter{dbltopnumber}{4} 62.415 + 62.416 +\renewcommand{\dbltopfraction}{\topfraction} 62.417 +\renewcommand{\dblfloatpagefraction}{\floatpagefraction} 62.418 + 62.419 +\setlength{\floatsep}{18pt plus 4pt minus 2pt} 62.420 +\setlength{\textfloatsep}{18pt plus 4pt minus 3pt} 62.421 +\setlength{\intextsep}{10pt plus 4pt minus 3pt} 62.422 + 62.423 +\setlength{\dblfloatsep}{18pt plus 4pt minus 2pt} 62.424 +\setlength{\dbltextfloatsep}{20pt plus 4pt minus 3pt} 62.425 + 62.426 +% Miscellaneous: 62.427 + 62.428 +\errorcontextlines = 5 62.429 + 62.430 +% Fonts 62.431 +% ----- 62.432 + 62.433 + 62.434 +\if \@times 62.435 + \renewcommand{\rmdefault}{ptm}% 62.436 + \if \@mathtime 62.437 + \usepackage[mtbold,noTS1]{mathtime}% 62.438 + \else 62.439 +%%% \usepackage{mathptm}% 62.440 + \fi 62.441 +\else 62.442 + \relax 62.443 +\fi 62.444 + 62.445 +\if \@ninepoint 62.446 + 62.447 +\renewcommand{\normalsize}{% 62.448 + \@setfontsize{\normalsize}{9pt}{10pt}% 62.449 + \setlength{\abovedisplayskip}{5pt plus 1pt minus .5pt}% 62.450 + \setlength{\belowdisplayskip}{\abovedisplayskip}% 62.451 + \setlength{\abovedisplayshortskip}{3pt plus 1pt minus 2pt}% 62.452 + \setlength{\belowdisplayshortskip}{\abovedisplayshortskip}} 62.453 + 62.454 +\renewcommand{\tiny}{\@setfontsize{\tiny}{5pt}{6pt}} 62.455 + 62.456 +\renewcommand{\scriptsize}{\@setfontsize{\scriptsize}{7pt}{8pt}} 62.457 + 62.458 +\renewcommand{\small}{% 62.459 + \@setfontsize{\small}{8pt}{9pt}% 62.460 + \setlength{\abovedisplayskip}{4pt plus 1pt minus 1pt}% 62.461 + \setlength{\belowdisplayskip}{\abovedisplayskip}% 62.462 + \setlength{\abovedisplayshortskip}{2pt plus 1pt}% 62.463 + \setlength{\belowdisplayshortskip}{\abovedisplayshortskip}} 62.464 + 62.465 +\renewcommand{\footnotesize}{% 62.466 + \@setfontsize{\footnotesize}{8pt}{9pt}% 62.467 + \setlength{\abovedisplayskip}{4pt plus 1pt minus .5pt}% 62.468 + \setlength{\belowdisplayskip}{\abovedisplayskip}% 62.469 + \setlength{\abovedisplayshortskip}{2pt plus 1pt}% 62.470 + \setlength{\belowdisplayshortskip}{\abovedisplayshortskip}} 62.471 + 62.472 +\renewcommand{\large}{\@setfontsize{\large}{11pt}{13pt}} 62.473 + 62.474 +\renewcommand{\Large}{\@setfontsize{\Large}{14pt}{18pt}} 62.475 + 62.476 +\renewcommand{\LARGE}{\@setfontsize{\LARGE}{18pt}{20pt}} 62.477 + 62.478 +\renewcommand{\huge}{\@setfontsize{\huge}{20pt}{25pt}} 62.479 + 62.480 +\renewcommand{\Huge}{\@setfontsize{\Huge}{25pt}{30pt}} 62.481 + 62.482 +\else\if \@tenpoint 62.483 + 62.484 +\relax 62.485 + 62.486 +\else 62.487 + 62.488 +\relax 62.489 + 62.490 +\fi\fi 62.491 + 62.492 +% Abstract 62.493 +% -------- 62.494 + 62.495 + 62.496 +\renewenvironment{abstract}{% 62.497 + \section*{Abstract}% 62.498 + \normalsize}{% 62.499 + } 62.500 + 62.501 +% Bibliography 62.502 +% ------------ 62.503 + 62.504 + 62.505 +\renewenvironment{thebibliography}[1] 62.506 + {\section*{\refname 62.507 + \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}}% 62.508 + \list{\@biblabel{\@arabic\c@enumiv}}% 62.509 + {\settowidth\labelwidth{\@biblabel{#1}}% 62.510 + \leftmargin\labelwidth 62.511 + \advance\leftmargin\labelsep 62.512 + \@openbib@code 62.513 + \usecounter{enumiv}% 62.514 + \let\p@enumiv\@empty 62.515 + \renewcommand\theenumiv{\@arabic\c@enumiv}}% 62.516 + \bibfont 62.517 + \clubpenalty4000 62.518 + \@clubpenalty \clubpenalty 62.519 + \widowpenalty4000% 62.520 + \sfcode`\.\@m} 62.521 + {\def\@noitemerr 62.522 + {\@latex@warning{Empty `thebibliography' environment}}% 62.523 + \endlist} 62.524 + 62.525 +\if \@natbib 62.526 + 62.527 +\if \@authoryear 62.528 + \typeout{Using natbib package with 'authoryear' citation style.} 62.529 + \usepackage[authoryear,square]{natbib} 62.530 + \bibpunct{[}{]}{;}{a}{}{,} % Change citation separator to semicolon, 62.531 + % eliminate comma between author and year. 62.532 + \let \cite = \citep 62.533 +\else 62.534 + \typeout{Using natbib package with 'numbers' citation style.} 62.535 + \usepackage[numbers,sort&compress,square]{natbib} 62.536 +\fi 62.537 +\setlength{\bibsep}{3pt plus .5pt minus .25pt} 62.538 + 62.539 +\fi 62.540 + 62.541 +\def \bibfont {\small} 62.542 + 62.543 +% Categories 62.544 +% ---------- 62.545 + 62.546 + 62.547 +\@setflag \@firstcategory = \@true 62.548 + 62.549 +\newcommand{\category}[3]{% 62.550 + \if \@firstcategory 62.551 + \paragraph*{Categories and Subject Descriptors}% 62.552 + \@setflag \@firstcategory = \@false 62.553 + \else 62.554 + \unskip ;\hspace{.75em}% 62.555 + \fi 62.556 + \@ifnextchar [{\@category{#1}{#2}{#3}}{\@category{#1}{#2}{#3}[]}} 62.557 + 62.558 +\def \@category #1#2#3[#4]{% 62.559 + {\let \and = \relax 62.560 + #1 [\textit{#2}]% 62.561 + \if \@emptyargp{#4}% 62.562 + \if \@notp{\@emptyargp{#3}}: #3\fi 62.563 + \else 62.564 + :\space 62.565 + \if \@notp{\@emptyargp{#3}}#3---\fi 62.566 + \textrm{#4}% 62.567 + \fi}} 62.568 + 62.569 +% Copyright Notice 62.570 +% --------- ------ 62.571 + 62.572 + 62.573 +\def \ftype@copyrightbox {8} 62.574 +\def \@toappear {} 62.575 +\def \@permission {} 62.576 +\def \@reprintprice {} 62.577 + 62.578 +\def \@copyrightspace {% 62.579 + \@float{copyrightbox}[b]% 62.580 + \vbox to 1in{% 62.581 + \vfill 62.582 + \parbox[b]{20pc}{% 62.583 + \scriptsize 62.584 + \if \@preprint 62.585 + [Copyright notice will appear here 62.586 + once 'preprint' option is removed.]\par 62.587 + \else 62.588 + \@toappear 62.589 + \fi 62.590 + \if \@reprint 62.591 + \noindent Reprinted from \@conferencename, 62.592 + \@proceedings, 62.593 + \@conferenceinfo, 62.594 + pp.~\number\thepage--\pageref{sigplanconf@finalpage}.\par 62.595 + \fi}}% 62.596 + \end@float} 62.597 + 62.598 +\long\def \toappear #1{% 62.599 + \def \@toappear {#1}} 62.600 + 62.601 +\toappear{% 62.602 + \noindent \@permission \par 62.603 + \vspace{2pt} 62.604 + \noindent \textsl{\@conferencename}\quad \@conferenceinfo \par 62.605 + \noindent Copyright \copyright\ \@copyrightyear\ ACM \@copyrightdata 62.606 + \dots \@reprintprice\par} 62.607 + 62.608 +\newcommand{\permission}[1]{% 62.609 + \gdef \@permission {#1}} 62.610 + 62.611 +\permission{% 62.612 + Permission to make digital or hard copies of all or 62.613 + part of this work for personal or classroom use is granted without 62.614 + fee provided that copies are not made or distributed for profit or 62.615 + commercial advantage and that copies bear this notice and the full 62.616 + citation on the first page. To copy otherwise, to republish, to 62.617 + post on servers or to redistribute to lists, requires prior specific 62.618 + permission and/or a fee.} 62.619 + 62.620 +% Here we have some alternate permission statements and copyright lines: 62.621 + 62.622 +\newcommand{\ACMCanadapermission}{% 62.623 + \permission{% 62.624 + Copyright \@copyrightyear\ Association for Computing Machinery. 62.625 + ACM acknowledges that 62.626 + this contribution was authored or co-authored by an affiliate of the 62.627 + National Research Council of Canada (NRC). 62.628 + As such, the Crown in Right of 62.629 + Canada retains an equal interest in the copyright, however granting 62.630 + nonexclusive, royalty-free right to publish or reproduce this article, 62.631 + or to allow others to do so, provided that clear attribution 62.632 + is also given to the authors and the NRC.}} 62.633 + 62.634 +\newcommand{\ACMUSpermission}{% 62.635 + \permission{% 62.636 + Copyright \@copyrightyear\ Association for 62.637 + Computing Machinery. ACM acknowledges that 62.638 + this contribution was authored or co-authored 62.639 + by a contractor or affiliate 62.640 + of the U.S. Government. As such, the Government retains a nonexclusive, 62.641 + royalty-free right to publish or reproduce this article, 62.642 + or to allow others to do so, for Government purposes only.}} 62.643 + 62.644 +\newcommand{\authorpermission}{% 62.645 + \permission{% 62.646 + Copyright is held by the author/owner(s).} 62.647 + \toappear{% 62.648 + \noindent \@permission \par 62.649 + \vspace{2pt} 62.650 + \noindent \textsl{\@conferencename}\quad \@conferenceinfo \par 62.651 + ACM \@copyrightdata.}} 62.652 + 62.653 +\newcommand{\Sunpermission}{% 62.654 + \permission{% 62.655 + Copyright is held by Sun Microsystems, Inc.}% 62.656 + \toappear{% 62.657 + \noindent \@permission \par 62.658 + \vspace{2pt} 62.659 + \noindent \textsl{\@conferencename}\quad \@conferenceinfo \par 62.660 + ACM \@copyrightdata.}} 62.661 + 62.662 +\newcommand{\USpublicpermission}{% 62.663 + \permission{% 62.664 + This paper is authored by an employee(s) of the United States 62.665 + Government and is in the public domain.}% 62.666 + \toappear{% 62.667 + \noindent \@permission \par 62.668 + \vspace{2pt} 62.669 + \noindent \textsl{\@conferencename}\quad \@conferenceinfo \par 62.670 + ACM \@copyrightdata.}} 62.671 + 62.672 +\newcommand{\reprintprice}[1]{% 62.673 + \gdef \@reprintprice {#1}} 62.674 + 62.675 +\reprintprice{\$10.00} 62.676 + 62.677 +\newcommand{\authorversion}[4]{% 62.678 + \permission{% 62.679 + Copyright \copyright\ ACM, #1. This is the author's version of the work. 62.680 + It is posted here by permission of ACM for your personal use. 62.681 + Not for redistribution. The definitive version was published in 62.682 + #2, #3, http://doi.acm.org/10.1145/#4.}} 62.683 + 62.684 +% Enunciations 62.685 +% ------------ 62.686 + 62.687 + 62.688 +\def \@begintheorem #1#2{% {name}{number} 62.689 + \trivlist 62.690 + \item[\hskip \labelsep \textsc{#1 #2.}]% 62.691 + \itshape\selectfont 62.692 + \ignorespaces} 62.693 + 62.694 +\def \@opargbegintheorem #1#2#3{% {name}{number}{title} 62.695 + \trivlist 62.696 + \item[% 62.697 + \hskip\labelsep \textsc{#1\ #2}% 62.698 + \if \@notp{\@emptyargp{#3}}\nut (#3).\fi]% 62.699 + \itshape\selectfont 62.700 + \ignorespaces} 62.701 + 62.702 +% Figures 62.703 +% ------- 62.704 + 62.705 + 62.706 +\@setflag \@caprule = \@true 62.707 + 62.708 +\long\def \@makecaption #1#2{% 62.709 + \addvspace{4pt} 62.710 + \if \@caprule 62.711 + \hrule width \hsize height .33pt 62.712 + \vspace{4pt} 62.713 + \fi 62.714 + \setbox \@tempboxa = \hbox{\@setfigurenumber{#1.}\nut #2}% 62.715 + \if \@dimgtrp{\wd\@tempboxa}{\hsize}% 62.716 + \noindent \@setfigurenumber{#1.}\nut #2\par 62.717 + \else 62.718 + \centerline{\box\@tempboxa}% 62.719 + \fi} 62.720 + 62.721 +\newcommand{\nocaptionrule}{% 62.722 + \@setflag \@caprule = \@false} 62.723 + 62.724 +\def \@setfigurenumber #1{% 62.725 + {\rmfamily \bfseries \selectfont #1}} 62.726 + 62.727 +% Hierarchy 62.728 +% --------- 62.729 + 62.730 + 62.731 +\setcounter{secnumdepth}{\@numheaddepth} 62.732 + 62.733 +\newskip{\@sectionaboveskip} 62.734 +\setvspace{\@sectionaboveskip}{10pt plus 3pt minus 2pt} 62.735 + 62.736 +\newskip{\@sectionbelowskip} 62.737 +\if \@blockstyle 62.738 + \setlength{\@sectionbelowskip}{0.1pt}% 62.739 +\else 62.740 + \setlength{\@sectionbelowskip}{4pt}% 62.741 +\fi 62.742 + 62.743 +\renewcommand{\section}{% 62.744 + \@startsection 62.745 + {section}% 62.746 + {1}% 62.747 + {0pt}% 62.748 + {-\@sectionaboveskip}% 62.749 + {\@sectionbelowskip}% 62.750 + {\large \bfseries \raggedright}} 62.751 + 62.752 +\newskip{\@subsectionaboveskip} 62.753 +\setvspace{\@subsectionaboveskip}{8pt plus 2pt minus 2pt} 62.754 + 62.755 +\newskip{\@subsectionbelowskip} 62.756 +\if \@blockstyle 62.757 + \setlength{\@subsectionbelowskip}{0.1pt}% 62.758 +\else 62.759 + \setlength{\@subsectionbelowskip}{4pt}% 62.760 +\fi 62.761 + 62.762 +\renewcommand{\subsection}{% 62.763 + \@startsection% 62.764 + {subsection}% 62.765 + {2}% 62.766 + {0pt}% 62.767 + {-\@subsectionaboveskip}% 62.768 + {\@subsectionbelowskip}% 62.769 + {\normalsize \bfseries \raggedright}} 62.770 + 62.771 +\renewcommand{\subsubsection}{% 62.772 + \@startsection% 62.773 + {subsubsection}% 62.774 + {3}% 62.775 + {0pt}% 62.776 + {-\@subsectionaboveskip} 62.777 + {\@subsectionbelowskip}% 62.778 + {\normalsize \bfseries \raggedright}} 62.779 + 62.780 +\newskip{\@paragraphaboveskip} 62.781 +\setvspace{\@paragraphaboveskip}{6pt plus 2pt minus 2pt} 62.782 + 62.783 +\renewcommand{\paragraph}{% 62.784 + \@startsection% 62.785 + {paragraph}% 62.786 + {4}% 62.787 + {0pt}% 62.788 + {\@paragraphaboveskip} 62.789 + {-1em}% 62.790 + {\normalsize \bfseries \if \@times \itshape \fi}} 62.791 + 62.792 +\renewcommand{\subparagraph}{% 62.793 + \@startsection% 62.794 + {subparagraph}% 62.795 + {4}% 62.796 + {0pt}% 62.797 + {\@paragraphaboveskip} 62.798 + {-1em}% 62.799 + {\normalsize \itshape}} 62.800 + 62.801 +% Standard headings: 62.802 + 62.803 +\newcommand{\acks}{\section*{Acknowledgments}} 62.804 + 62.805 +\newcommand{\keywords}{\paragraph*{Keywords}} 62.806 + 62.807 +\newcommand{\terms}{\paragraph*{General Terms}} 62.808 + 62.809 +% Identification 62.810 +% -------------- 62.811 + 62.812 + 62.813 +\def \@conferencename {} 62.814 +\def \@conferenceinfo {} 62.815 +\def \@copyrightyear {} 62.816 +\def \@copyrightdata {[to be supplied]} 62.817 +\def \@proceedings {[Unknown Proceedings]} 62.818 + 62.819 + 62.820 +\newcommand{\conferenceinfo}[2]{% 62.821 + \gdef \@conferencename {#1}% 62.822 + \gdef \@conferenceinfo {#2}} 62.823 + 62.824 +\newcommand{\copyrightyear}[1]{% 62.825 + \gdef \@copyrightyear {#1}} 62.826 + 62.827 +\let \CopyrightYear = \copyrightyear 62.828 + 62.829 +\newcommand{\copyrightdata}[1]{% 62.830 + \gdef \@copyrightdata {#1}} 62.831 + 62.832 +\let \crdata = \copyrightdata 62.833 + 62.834 +\newcommand{\proceedings}[1]{% 62.835 + \gdef \@proceedings {#1}} 62.836 + 62.837 +% Lists 62.838 +% ----- 62.839 + 62.840 + 62.841 +\setlength{\leftmargini}{13pt} 62.842 +\setlength\leftmarginii{13pt} 62.843 +\setlength\leftmarginiii{13pt} 62.844 +\setlength\leftmarginiv{13pt} 62.845 +\setlength{\labelsep}{3.5pt} 62.846 + 62.847 +\setlength{\topsep}{\standardvspace} 62.848 +\if \@blockstyle 62.849 + \setlength{\itemsep}{1pt} 62.850 + \setlength{\parsep}{3pt} 62.851 +\else 62.852 + \setlength{\itemsep}{1pt} 62.853 + \setlength{\parsep}{3pt} 62.854 +\fi 62.855 + 62.856 +\renewcommand{\labelitemi}{{\small \centeroncapheight{\textbullet}}} 62.857 +\renewcommand{\labelitemii}{\centeroncapheight{\rule{2.5pt}{2.5pt}}} 62.858 +\renewcommand{\labelitemiii}{$-$} 62.859 +\renewcommand{\labelitemiv}{{\Large \textperiodcentered}} 62.860 + 62.861 +\renewcommand{\@listi}{% 62.862 + \leftmargin = \leftmargini 62.863 + \listparindent = 0pt} 62.864 +%%% \itemsep = 1pt 62.865 +%%% \parsep = 3pt} 62.866 +%%% \listparindent = \parindent} 62.867 + 62.868 +\let \@listI = \@listi 62.869 + 62.870 +\renewcommand{\@listii}{% 62.871 + \leftmargin = \leftmarginii 62.872 + \topsep = 1pt 62.873 + \labelwidth = \leftmarginii 62.874 + \advance \labelwidth by -\labelsep 62.875 + \listparindent = \parindent} 62.876 + 62.877 +\renewcommand{\@listiii}{% 62.878 + \leftmargin = \leftmarginiii 62.879 + \labelwidth = \leftmarginiii 62.880 + \advance \labelwidth by -\labelsep 62.881 + \listparindent = \parindent} 62.882 + 62.883 +\renewcommand{\@listiv}{% 62.884 + \leftmargin = \leftmarginiv 62.885 + \labelwidth = \leftmarginiv 62.886 + \advance \labelwidth by -\labelsep 62.887 + \listparindent = \parindent} 62.888 + 62.889 +% Mathematics 62.890 +% ----------- 62.891 + 62.892 + 62.893 +\def \theequation {\arabic{equation}} 62.894 + 62.895 +% Miscellaneous 62.896 +% ------------- 62.897 + 62.898 + 62.899 +\newcommand{\balancecolumns}{% 62.900 + \vfill\eject 62.901 + \global\@colht = \textheight 62.902 + \global\ht\@cclv = \textheight} 62.903 + 62.904 +\newcommand{\nut}{\hspace{.5em}} 62.905 + 62.906 +\newcommand{\softraggedright}{% 62.907 + \let \\ = \@centercr 62.908 + \leftskip = 0pt 62.909 + \rightskip = 0pt plus 10pt} 62.910 + 62.911 +% Program Code 62.912 +% ------- ---- 62.913 + 62.914 + 62.915 +\newcommand{\mono}[1]{% 62.916 + {\@tempdima = \fontdimen2\font 62.917 + \texttt{\spaceskip = 1.1\@tempdima #1}}} 62.918 + 62.919 +% Running Heads and Feet 62.920 +% ------- ----- --- ---- 62.921 + 62.922 + 62.923 +\def \@preprintfooter {} 62.924 + 62.925 +\newcommand{\preprintfooter}[1]{% 62.926 + \gdef \@preprintfooter {#1}} 62.927 + 62.928 +\if \@preprint 62.929 + 62.930 +\def \ps@plain {% 62.931 + \let \@mkboth = \@gobbletwo 62.932 + \let \@evenhead = \@empty 62.933 + \def \@evenfoot {\scriptsize 62.934 + \rlap{\textit{\@preprintfooter}}\hfil 62.935 + \thepage \hfil 62.936 + \llap{\textit{\@formatyear}}}% 62.937 + \let \@oddhead = \@empty 62.938 + \let \@oddfoot = \@evenfoot} 62.939 + 62.940 +\else\if \@reprint 62.941 + 62.942 +\def \ps@plain {% 62.943 + \let \@mkboth = \@gobbletwo 62.944 + \let \@evenhead = \@empty 62.945 + \def \@evenfoot {\scriptsize \hfil \thepage \hfil}% 62.946 + \let \@oddhead = \@empty 62.947 + \let \@oddfoot = \@evenfoot} 62.948 + 62.949 +\else 62.950 + 62.951 +\let \ps@plain = \ps@empty 62.952 +\let \ps@headings = \ps@empty 62.953 +\let \ps@myheadings = \ps@empty 62.954 + 62.955 +\fi\fi 62.956 + 62.957 +\def \@formatyear {% 62.958 + \number\year/\number\month/\number\day} 62.959 + 62.960 +% Special Characters 62.961 +% ------- ---------- 62.962 + 62.963 + 62.964 +\DeclareRobustCommand{\euro}{% 62.965 + \protect{\rlap{=}}{\sf \kern .1em C}} 62.966 + 62.967 +% Title Page 62.968 +% ----- ---- 62.969 + 62.970 + 62.971 +\@setflag \@addauthorsdone = \@false 62.972 + 62.973 +\def \@titletext {\@latex@error{No title was provided}{}} 62.974 +\def \@subtitletext {} 62.975 + 62.976 +\newcount{\@authorcount} 62.977 + 62.978 +\newcount{\@titlenotecount} 62.979 +\newtoks{\@titlenotetext} 62.980 + 62.981 +\def \@titlebanner {} 62.982 + 62.983 +\renewcommand{\title}[1]{% 62.984 + \gdef \@titletext {#1}} 62.985 + 62.986 +\newcommand{\subtitle}[1]{% 62.987 + \gdef \@subtitletext {#1}} 62.988 + 62.989 +\newcommand{\authorinfo}[3]{% {names}{affiliation}{email/URL} 62.990 + \global\@increment \@authorcount 62.991 + \@withname\gdef {\@authorname\romannumeral\@authorcount}{#1}% 62.992 + \@withname\gdef {\@authoraffil\romannumeral\@authorcount}{#2}% 62.993 + \@withname\gdef {\@authoremail\romannumeral\@authorcount}{#3}} 62.994 + 62.995 +\renewcommand{\author}[1]{% 62.996 + \@latex@error{The \string\author\space command is obsolete; 62.997 + use \string\authorinfo}{}} 62.998 + 62.999 +\newcommand{\titlebanner}[1]{% 62.1000 + \gdef \@titlebanner {#1}} 62.1001 + 62.1002 +\renewcommand{\maketitle}{% 62.1003 + \pagestyle{plain}% 62.1004 + \if \@onecolumn 62.1005 + {\hsize = \standardtextwidth 62.1006 + \@maketitle}% 62.1007 + \else 62.1008 + \twocolumn[\@maketitle]% 62.1009 + \fi 62.1010 + \@placetitlenotes 62.1011 + \if \@copyrightwanted \@copyrightspace \fi} 62.1012 + 62.1013 +\def \@maketitle {% 62.1014 + \begin{center} 62.1015 + \@settitlebanner 62.1016 + \let \thanks = \titlenote 62.1017 + {\leftskip = 0pt plus 0.25\linewidth 62.1018 + \rightskip = 0pt plus 0.25 \linewidth 62.1019 + \parfillskip = 0pt 62.1020 + \spaceskip = .7em 62.1021 + \noindent \LARGE \bfseries \@titletext \par} 62.1022 + \vskip 6pt 62.1023 + \noindent \Large \@subtitletext \par 62.1024 + \vskip 12pt 62.1025 + \ifcase \@authorcount 62.1026 + \@latex@error{No authors were specified for this paper}{}\or 62.1027 + \@titleauthors{i}{}{}\or 62.1028 + \@titleauthors{i}{ii}{}\or 62.1029 + \@titleauthors{i}{ii}{iii}\or 62.1030 + \@titleauthors{i}{ii}{iii}\@titleauthors{iv}{}{}\or 62.1031 + \@titleauthors{i}{ii}{iii}\@titleauthors{iv}{v}{}\or 62.1032 + \@titleauthors{i}{ii}{iii}\@titleauthors{iv}{v}{vi}\or 62.1033 + \@titleauthors{i}{ii}{iii}\@titleauthors{iv}{v}{vi}% 62.1034 + \@titleauthors{vii}{}{}\or 62.1035 + \@titleauthors{i}{ii}{iii}\@titleauthors{iv}{v}{vi}% 62.1036 + \@titleauthors{vii}{viii}{}\or 62.1037 + \@titleauthors{i}{ii}{iii}\@titleauthors{iv}{v}{vi}% 62.1038 + \@titleauthors{vii}{viii}{ix}\or 62.1039 + \@titleauthors{i}{ii}{iii}\@titleauthors{iv}{v}{vi}% 62.1040 + \@titleauthors{vii}{viii}{ix}\@titleauthors{x}{}{}\or 62.1041 + \@titleauthors{i}{ii}{iii}\@titleauthors{iv}{v}{vi}% 62.1042 + \@titleauthors{vii}{viii}{ix}\@titleauthors{x}{xi}{}\or 62.1043 + \@titleauthors{i}{ii}{iii}\@titleauthors{iv}{v}{vi}% 62.1044 + \@titleauthors{vii}{viii}{ix}\@titleauthors{x}{xi}{xii}% 62.1045 + \else 62.1046 + \@latex@error{Cannot handle more than 12 authors}{}% 62.1047 + \fi 62.1048 + \vspace{1.75pc} 62.1049 + \end{center}} 62.1050 + 62.1051 +\def \@settitlebanner {% 62.1052 + \if \@andp{\@preprint}{\@notp{\@emptydefp{\@titlebanner}}}% 62.1053 + \vbox to 0pt{% 62.1054 + \vskip -32pt 62.1055 + \noindent \textbf{\@titlebanner}\par 62.1056 + \vss}% 62.1057 + \nointerlineskip 62.1058 + \fi} 62.1059 + 62.1060 +\def \@titleauthors #1#2#3{% 62.1061 + \if \@andp{\@emptyargp{#2}}{\@emptyargp{#3}}% 62.1062 + \noindent \@setauthor{40pc}{#1}{\@false}\par 62.1063 + \else\if \@emptyargp{#3}% 62.1064 + \noindent \@setauthor{17pc}{#1}{\@false}\hspace{3pc}% 62.1065 + \@setauthor{17pc}{#2}{\@false}\par 62.1066 + \else 62.1067 + \noindent \@setauthor{12.5pc}{#1}{\@false}\hspace{2pc}% 62.1068 + \@setauthor{12.5pc}{#2}{\@false}\hspace{2pc}% 62.1069 + \@setauthor{12.5pc}{#3}{\@true}\par 62.1070 + \relax 62.1071 + \fi\fi 62.1072 + \vspace{20pt}} 62.1073 + 62.1074 +\def \@setauthor #1#2#3{% {width}{text}{unused} 62.1075 + \vtop{% 62.1076 + \def \and {% 62.1077 + \hspace{16pt}} 62.1078 + \hsize = #1 62.1079 + \normalfont 62.1080 + \centering 62.1081 + \large \@name{\@authorname#2}\par 62.1082 + \vspace{5pt} 62.1083 + \normalsize \@name{\@authoraffil#2}\par 62.1084 + \vspace{2pt} 62.1085 + \textsf{\@name{\@authoremail#2}}\par}} 62.1086 + 62.1087 +\def \@maybetitlenote #1{% 62.1088 + \if \@andp{#1}{\@gtrp{\@authorcount}{3}}% 62.1089 + \titlenote{See page~\pageref{@addauthors} for additional authors.}% 62.1090 + \fi} 62.1091 + 62.1092 +\newtoks{\@fnmark} 62.1093 + 62.1094 +\newcommand{\titlenote}[1]{% 62.1095 + \global\@increment \@titlenotecount 62.1096 + \ifcase \@titlenotecount \relax \or 62.1097 + \@fnmark = {\ast}\or 62.1098 + \@fnmark = {\dagger}\or 62.1099 + \@fnmark = {\ddagger}\or 62.1100 + \@fnmark = {\S}\or 62.1101 + \@fnmark = {\P}\or 62.1102 + \@fnmark = {\ast\ast}% 62.1103 + \fi 62.1104 + \,$^{\the\@fnmark}$% 62.1105 + \edef \reserved@a {\noexpand\@appendtotext{% 62.1106 + \noexpand\@titlefootnote{\the\@fnmark}}}% 62.1107 + \reserved@a{#1}} 62.1108 + 62.1109 +\def \@appendtotext #1#2{% 62.1110 + \global\@titlenotetext = \expandafter{\the\@titlenotetext #1{#2}}} 62.1111 + 62.1112 +\newcount{\@authori} 62.1113 + 62.1114 +\iffalse 62.1115 +\def \additionalauthors {% 62.1116 + \if \@gtrp{\@authorcount}{3}% 62.1117 + \section{Additional Authors}% 62.1118 + \label{@addauthors}% 62.1119 + \noindent 62.1120 + \@authori = 4 62.1121 + {\let \\ = ,% 62.1122 + \loop 62.1123 + \textbf{\@name{\@authorname\romannumeral\@authori}}, 62.1124 + \@name{\@authoraffil\romannumeral\@authori}, 62.1125 + email: \@name{\@authoremail\romannumeral\@authori}.% 62.1126 + \@increment \@authori 62.1127 + \if \@notp{\@gtrp{\@authori}{\@authorcount}} \repeat}% 62.1128 + \par 62.1129 + \fi 62.1130 + \global\@setflag \@addauthorsdone = \@true} 62.1131 +\fi 62.1132 + 62.1133 +\let \addauthorsection = \additionalauthors 62.1134 + 62.1135 +\def \@placetitlenotes { 62.1136 + \the\@titlenotetext} 62.1137 + 62.1138 +% Utilities 62.1139 +% --------- 62.1140 + 62.1141 + 62.1142 +\newcommand{\centeroncapheight}[1]{% 62.1143 + {\setbox\@tempboxa = \hbox{#1}% 62.1144 + \@measurecapheight{\@tempdima}% % Calculate ht(CAP) - ht(text) 62.1145 + \advance \@tempdima by -\ht\@tempboxa % ------------------ 62.1146 + \divide \@tempdima by 2 % 2 62.1147 + \raise \@tempdima \box\@tempboxa}} 62.1148 + 62.1149 +\newbox{\@measbox} 62.1150 + 62.1151 +\def \@measurecapheight #1{% {\dimen} 62.1152 + \setbox\@measbox = \hbox{ABCDEFGHIJKLMNOPQRSTUVWXYZ}% 62.1153 + #1 = \ht\@measbox} 62.1154 + 62.1155 +\long\def \@titlefootnote #1#2{% 62.1156 + \insert\footins{% 62.1157 + \reset@font\footnotesize 62.1158 + \interlinepenalty\interfootnotelinepenalty 62.1159 + \splittopskip\footnotesep 62.1160 + \splitmaxdepth \dp\strutbox \floatingpenalty \@MM 62.1161 + \hsize\columnwidth \@parboxrestore 62.1162 +%%% \protected@edef\@currentlabel{% 62.1163 +%%% \csname p@footnote\endcsname\@thefnmark}% 62.1164 + \color@begingroup 62.1165 + \def \@makefnmark {$^{#1}$}% 62.1166 + \@makefntext{% 62.1167 + \rule\z@\footnotesep\ignorespaces#2\@finalstrut\strutbox}% 62.1168 + \color@endgroup}} 62.1169 + 62.1170 +% LaTeX Modifications 62.1171 +% ----- ------------- 62.1172 + 62.1173 +\def \@seccntformat #1{% 62.1174 + \@name{\the#1}% 62.1175 + \@expandaftertwice\@seccntformata \csname the#1\endcsname.\@mark 62.1176 + \quad} 62.1177 + 62.1178 +\def \@seccntformata #1.#2\@mark{% 62.1179 + \if \@emptyargp{#2}.\fi} 62.1180 + 62.1181 +% Revision History 62.1182 +% -------- ------- 62.1183 + 62.1184 + 62.1185 +% Date Person Ver. Change 62.1186 +% ---- ------ ---- ------ 62.1187 + 62.1188 +% 2004.09.12 PCA 0.1--5 Preliminary development. 62.1189 + 62.1190 +% 2004.11.18 PCA 0.5 Start beta testing. 62.1191 + 62.1192 +% 2004.11.19 PCA 0.6 Obsolete \author and replace with 62.1193 +% \authorinfo. 62.1194 +% Add 'nocopyrightspace' option. 62.1195 +% Compress article opener spacing. 62.1196 +% Add 'mathtime' option. 62.1197 +% Increase text height by 6 points. 62.1198 + 62.1199 +% 2004.11.28 PCA 0.7 Add 'cm/computermodern' options. 62.1200 +% Change default to Times text. 62.1201 + 62.1202 +% 2004.12.14 PCA 0.8 Remove use of mathptm.sty; it cannot 62.1203 +% coexist with latexsym or amssymb. 62.1204 + 62.1205 +% 2005.01.20 PCA 0.9 Rename class file to sigplanconf.cls. 62.1206 + 62.1207 +% 2005.03.05 PCA 0.91 Change default copyright data. 62.1208 + 62.1209 +% 2005.03.06 PCA 0.92 Add at-signs to some macro names. 62.1210 + 62.1211 +% 2005.03.07 PCA 0.93 The 'onecolumn' option defaults to '11pt', 62.1212 +% and it uses the full type width. 62.1213 + 62.1214 +% 2005.03.15 PCA 0.94 Add at-signs to more macro names. 62.1215 +% Allow margin paragraphs during review. 62.1216 + 62.1217 +% 2005.03.22 PCA 0.95 Implement \euro. 62.1218 +% Remove proof and newdef environments. 62.1219 + 62.1220 +% 2005.05.06 PCA 1.0 Eliminate 'onecolumn' option. 62.1221 +% Change footer to small italic and eliminate 62.1222 +% left portion if no \preprintfooter. 62.1223 +% Eliminate copyright notice if preprint. 62.1224 +% Clean up and shrink copyright box. 62.1225 + 62.1226 +% 2005.05.30 PCA 1.1 Add alternate permission statements. 62.1227 + 62.1228 +% 2005.06.29 PCA 1.1 Publish final first edition of guide. 62.1229 + 62.1230 +% 2005.07.14 PCA 1.2 Add \subparagraph. 62.1231 +% Use block paragraphs in lists, and adjust 62.1232 +% spacing between items and paragraphs. 62.1233 + 62.1234 +% 2006.06.22 PCA 1.3 Add 'reprint' option and associated 62.1235 +% commands. 62.1236 + 62.1237 +% 2006.08.24 PCA 1.4 Fix bug in \maketitle case command. 62.1238 + 62.1239 +% 2007.03.13 PCA 1.5 The title banner only displays with the 62.1240 +% 'preprint' option. 62.1241 + 62.1242 +% 2007.06.06 PCA 1.6 Use \bibfont in \thebibliography. 62.1243 +% Add 'natbib' option to load and configure 62.1244 +% the natbib package. 62.1245 + 62.1246 +% 2007.11.20 PCA 1.7 Balance line lengths in centered article 62.1247 +% title (thanks to Norman Ramsey). 62.1248 + 62.1249 +% 2009.01.26 PCA 1.8 Change natbib \bibpunct values. 62.1250 + 62.1251 +% 2009.03.24 PCA 1.9 Change natbib to use the 'numbers' option. 62.1252 +% Change templates to use 'natbib' option. 62.1253 + 62.1254 +% 2009.09.01 PCA 2.0 Add \reprintprice command (suggested by 62.1255 +% Stephen Chong). 62.1256 + 62.1257 +% 2009.09.08 PCA 2.1 Make 'natbib' the default; add 'nonatbib'. 62.1258 +% SB Add 'authoryear' and 'numbers' (default) to 62.1259 +% control citation style when using natbib. 62.1260 +% Add \bibpunct to change punctuation for 62.1261 +% 'authoryear' style. 62.1262 + 62.1263 +% 2009.09.21 PCA 2.2 Add \softraggedright to the thebibliography 62.1264 +% environment. Also add to template so it will 62.1265 +% happen with natbib. 62.1266 + 62.1267 +% 2009.09.30 PCA 2.3 Remove \softraggedright from thebibliography. 62.1268 +% Just include in the template. 62.1269 + 62.1270 +% 2010.05.24 PCA 2.4 Obfuscate author's email address. 62.1271 + 62.1272 +% 2011.11.08 PCA 2.5 Add copyright notice to this file. 62.1273 +% Remove 'sort' option from natbib when using 62.1274 +% 'authoryear' style. 62.1275 +% Add the \authorversion command. 62.1276 +
63.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 63.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/latex/url.sty Fri Sep 13 11:02:18 2013 -0700 63.3 @@ -0,0 +1,325 @@ 63.4 +% url.sty ver 1.4 02-Mar-1999 Donald Arseneau asnd@triumf.ca 63.5 +% Copyright 1996-1999 Donald Arseneau, Vancouver, Canada. 63.6 +% This program can be used, distributed, and modified under the terms 63.7 +% of the LaTeX Project Public License. 63.8 +% 63.9 +% A form of \verb that allows linebreaks at certain characters or 63.10 +% combinations of characters, accepts reconfiguration, and can usually 63.11 +% be used in the argument to another command. It is intended for email 63.12 +% addresses, hypertext links, directories/paths, etc., which normally 63.13 +% have no spaces. The font may be selected using the \urlstyle command, 63.14 +% and new url-like commands can be defined using \urldef. 63.15 +% 63.16 +% Usage: Conditions: 63.17 +% \url{ } If the argument contains any "%", "#", or "^^", or ends with 63.18 +% "\", it can't be used in the argument to another command. 63.19 +% The argument must not contain unbalanced braces. 63.20 +% \url| | ...where "|" is any character not used in the argument and not 63.21 +% "{" or a space. The same restrictions as above except that the 63.22 +% argument may contain unbalanced braces. 63.23 +% \xyz for "\xyz" a defined-url; this can be used anywhere, no matter 63.24 +% what characters it contains. 63.25 +% 63.26 +% See further instructions after "\endinput" 63.27 +% 63.28 +\def\Url@ttdo{% style assignments for tt fonts or T1 encoding 63.29 +\def\UrlBreaks{\do\.\do\@\do\\\do\/\do\!\do\_\do\|\do\%\do\;\do\>\do\]% 63.30 + \do\)\do\,\do\?\do\'\do\+\do\=}% 63.31 +\def\UrlBigBreaks{\do\:\do@url@hyp}% 63.32 +\def\UrlNoBreaks{\do\(\do\[\do\{\do\<}% (unnecessary) 63.33 +\def\UrlSpecials{\do\ {\ }}% 63.34 +\def\UrlOrds{\do\*\do\-\do\~}% any ordinary characters that aren't usually 63.35 +} 63.36 +\def\Url@do{% style assignments for OT1 fonts except tt 63.37 +\def\UrlBreaks{\do\.\do\@\do\/\do\!\do\%\do\;\do\]\do\)\do\,\do\?\do\+\do\=}% 63.38 +\def\UrlBigBreaks{\do\:\do@url@hyp}% 63.39 +\def\UrlNoBreaks{\do\(\do\[\do\{}% prevents breaks after *next* character 63.40 +\def\UrlSpecials{\do\<{\langle}\do\>{\mathbin{\rangle}}\do\_{\_% 63.41 + \penalty\@m}\do\|{\mid}\do\{{\lbrace}\do\}{\mathbin{\rbrace}}\do 63.42 + \\{\mathbin{\backslash}}\do\~{\raise.6ex\hbox{\m@th$\scriptstyle\sim$}}\do 63.43 + \ {\ }}% 63.44 +\def\UrlOrds{\do\'\do\"\do\-}% 63.45 +} 63.46 +\def\url@ttstyle{% 63.47 +\@ifundefined{selectfont}{\def\UrlFont{\tt}}{\def\UrlFont{\ttfamily}}\Url@ttdo 63.48 +} 63.49 +\def\url@rmstyle{% 63.50 +\@ifundefined{selectfont}{\def\UrlFont{\rm}}{\def\UrlFont{\rmfamily}}\Url@do 63.51 +} 63.52 +\def\url@sfstyle{% 63.53 +\@ifundefined{selectfont}{\def\UrlFont{\sf}}{\def\UrlFont{\sffamily}}\Url@do 63.54 +} 63.55 +\def\url@samestyle{\ifdim\fontdimen\thr@@\font=\z@ \url@ttstyle \else 63.56 + \url@rmstyle \fi \def\UrlFont{}} 63.57 + 63.58 +\@ifundefined{strip@prefix}{\def\strip@prefix#1>{}}{} 63.59 +\@ifundefined{verbatim@nolig@list}{\def\verbatim@nolig@list{\do\`}}{} 63.60 + 63.61 +\def\Url{% 63.62 + \begingroup \let\url@moving\relax\relax \endgroup 63.63 + \ifmmode\@nomatherr$\fi 63.64 + \UrlFont $\fam\z@ \textfont\z@\font 63.65 + \let\do\@makeother \dospecials % verbatim catcodes 63.66 + \catcode`{\@ne \catcode`}\tw@ \catcode`\ 10 % except braces and spaces 63.67 + \medmuskip0mu \thickmuskip\medmuskip \thinmuskip\medmuskip 63.68 + \@tempcnta\fam\multiply\@tempcnta\@cclvi 63.69 + \let\do\set@mathcode \UrlOrds % ordinary characters that were special 63.70 + \advance\@tempcnta 8192 \UrlBreaks % bin 63.71 + \advance\@tempcnta 4096 \UrlBigBreaks % rel 63.72 + \advance\@tempcnta 4096 \UrlNoBreaks % open 63.73 + \let\do\set@mathact \UrlSpecials % active 63.74 + \let\do\set@mathnolig \verbatim@nolig@list % prevent ligatures 63.75 + \@ifnextchar\bgroup\Url@z\Url@y} 63.76 + 63.77 +\def\Url@y#1{\catcode`{11 \catcode`}11 63.78 + \def\@tempa##1#1{\Url@z{##1}}\@tempa} 63.79 +\def\Url@z#1{\def\@tempa{#1}\expandafter\expandafter\expandafter\Url@Hook 63.80 + \expandafter\strip@prefix\meaning\@tempa\UrlRight\m@th$\endgroup} 63.81 +\def\Url@Hook{\UrlLeft} 63.82 +\let\UrlRight\@empty 63.83 +\let\UrlLeft\@empty 63.84 + 63.85 +\def\set@mathcode#1{\count@`#1\advance\count@\@tempcnta\mathcode`#1\count@} 63.86 +\def\set@mathact#1#2{\mathcode`#132768 \lccode`\~`#1\lowercase{\def~{#2}}} 63.87 +\def\set@mathnolig#1{\ifnum\mathcode`#1<32768 63.88 + \lccode`\~`#1\lowercase{\edef~{\mathchar\number\mathcode`#1_{\/}}}% 63.89 + \mathcode`#132768 \fi} 63.90 + 63.91 +\def\urldef#1#2{\begingroup \setbox\z@\hbox\bgroup 63.92 + \def\Url@z{\Url@def{#1}{#2}}#2} 63.93 +\expandafter\ifx\csname DeclareRobustCommand\endcsname\relax 63.94 + \def\Url@def#1#2#3{\m@th$\endgroup\egroup\endgroup 63.95 + \def#1{#2{#3}}} 63.96 +\else 63.97 + \def\Url@def#1#2#3{\m@th$\endgroup\egroup\endgroup 63.98 + \DeclareRobustCommand{#1}{#2{#3}}} 63.99 +\fi 63.100 + 63.101 +\def\urlstyle#1{\csname url@#1style\endcsname} 63.102 + 63.103 +% Sample (and default) configuration: 63.104 +% 63.105 +\newcommand\url{\begingroup \Url} 63.106 +% 63.107 +% picTeX defines \path, so declare it optionally: 63.108 +\@ifundefined{path}{\newcommand\path{\begingroup \urlstyle{tt}\Url}}{} 63.109 +% 63.110 +% too many styles define \email like \address, so I will not define it. 63.111 +% \newcommand\email{\begingroup \urlstyle{rm}\Url} 63.112 + 63.113 +% Process LaTeX \package options 63.114 +% 63.115 +\urlstyle{tt} 63.116 +\let\Url@sppen\@M 63.117 +\def\do@url@hyp{}% by default, no breaks after hyphens 63.118 + 63.119 +\@ifundefined{ProvidesPackage}{}{ 63.120 + \ProvidesPackage{url}[1999/03/02 \space ver 1.4 \space 63.121 + Verb mode for urls, email addresses, and file names] 63.122 + \DeclareOption{hyphens}{\def\do@url@hyp{\do\-}}% allow breaks after hyphens 63.123 + \DeclareOption{obeyspaces}{\let\Url@Hook\relax}% a flag for later 63.124 + \DeclareOption{spaces}{\let\Url@sppen\relpenalty} 63.125 + \DeclareOption{T1}{\let\Url@do\Url@ttdo} 63.126 + \ProcessOptions 63.127 +\ifx\Url@Hook\relax % [obeyspaces] was declared 63.128 + \def\Url@Hook#1\UrlRight\m@th{\edef\@tempa{\noexpand\UrlLeft 63.129 + \Url@retain#1\Url@nosp\, }\@tempa\UrlRight\m@th} 63.130 + \def\Url@retain#1 {#1\penalty\Url@sppen\ \Url@retain} 63.131 + \def\Url@nosp\,#1\Url@retain{} 63.132 +\fi 63.133 +} 63.134 + 63.135 +\edef\url@moving{\csname Url Error\endcsname} 63.136 +\expandafter\edef\url@moving 63.137 + {\csname url used in a moving argument.\endcsname} 63.138 +\expandafter\expandafter\expandafter \let \url@moving\undefined 63.139 + 63.140 +\endinput 63.141 +% 63.142 +% url.sty ver 1.4 02-Mar-1999 Donald Arseneau asnd@reg.triumf.ca 63.143 +% 63.144 +% This package defines "\url", a form of "\verb" that allows linebreaks, 63.145 +% and can often be used in the argument to another command. It can be 63.146 +% configured to print in different formats, and is particularly useful for 63.147 +% hypertext links, email addresses, directories/paths, etc. The font may 63.148 +% be selected using the "\urlstyle" command and pre-defined text can be 63.149 +% stored with the "\urldef" command. New url-like commands can be defined, 63.150 +% and a "\path" command is provided this way. 63.151 +% 63.152 +% Usage: Conditions: 63.153 +% \url{ } If the argument contains any "%", "#", or "^^", or ends with 63.154 +% "\", it can't be used in the argument to another command. 63.155 +% The argument must not contain unbalanced braces. 63.156 +% \url| | ...where "|" is any character not used in the argument and not 63.157 +% "{" or a space. The same restrictions as above except that the 63.158 +% argument may contain unbalanced braces. 63.159 +% \xyz for "\xyz" a defined-url; this can be used anywhere, no matter 63.160 +% what characters it contains. 63.161 +% 63.162 +% The "\url" command is fragile, and its argument is likely to be very 63.163 +% fragile, but a defined-url is robust. 63.164 +% 63.165 +% Package Option: obeyspaces 63.166 +% Ordinarily, all spaces are ignored in the url-text. The "[obeyspaces]" 63.167 +% option allows spaces, but may introduce spurious spaces when a url 63.168 +% containing "\" characters is given in the argument to another command. 63.169 +% So if you need to obey spaces you can say "\usepackage[obeyspaces]{url}", 63.170 +% and if you need both spaces and backslashes, use a `defined-url' for 63.171 +% anything with "\". 63.172 +% 63.173 +% Package Option: hyphens 63.174 +% Ordinarily, breaks are not allowed after "-" characters because this 63.175 +% leads to confusion. (Is the "-" part of the address or just a hyphen?) 63.176 +% The package option "[hyphens]" allows breaks after explicit hyphen 63.177 +% characters. The "\url" command will *never ever* hyphenate words. 63.178 +% 63.179 +% Package Option: spaces 63.180 +% Likewise, breaks are not usually allowed after spaces under the 63.181 +% "[obeyspaces]" option, but giving the options "[obeyspaces,spaces]" 63.182 +% will allow breaks at those spaces. 63.183 +% 63.184 +% Package Option: T1 63.185 +% This signifies that you will be using T1-encoded fonts which contain 63.186 +% some characters missing from most older (OT1) encoded TeX fonts. This 63.187 +% changes the default definition for "\urlstyle{rm}". 63.188 +% 63.189 +% Defining a defined-url: 63.190 +% Take for example the email address "myself%node@gateway.net" which could 63.191 +% not be given (using "\url" or "\verb") in a caption or parbox due to the 63.192 +% percent sign. This address can be predefined with 63.193 +% \urldef{\myself}\url{myself%node@gateway.net} or 63.194 +% \urldef{\myself}\url|myself%node@gateway.net| 63.195 +% and then you may use "\myself" instead of "\url{myself%node@gateway.net}" 63.196 +% in an argument, and even in a moving argument like a caption because a 63.197 +% defined-url is robust. 63.198 +% 63.199 +% Style: 63.200 +% You can switch the style of printing using "\urlstyle{tt}", where "tt" 63.201 +% can be any defined style. The pre-defined styles are "tt", "rm", "sf", 63.202 +% and "same" which all allow the same linebreaks but different fonts -- 63.203 +% the first three select a specific font and the "same" style uses the 63.204 +% current text font. You can define your own styles with different fonts 63.205 +% and/or line-breaking by following the explanations below. The "\url" 63.206 +% command follows whatever the currently-set style dictates. 63.207 +% 63.208 +% Alternate commands: 63.209 +% It may be desireable to have different things treated differently, each 63.210 +% in a predefined style; e.g., if you want directory paths to always be 63.211 +% in tt and email addresses to be rm, then you would define new url-like 63.212 +% commands as follows: 63.213 +% 63.214 +% \newcommand\email{\begingroup \urlstyle{rm}\Url} 63.215 +% \newcommand\directory{\begingroup \urlstyle{tt}\Url} 63.216 +% 63.217 +% You must follow this format closely, and NOTE that the final command is 63.218 +% "\Url", not "\url". In fact, the "\directory" example is exactly the 63.219 +% "\path" definition which is pre-defined in the package. If you look 63.220 +% above, you will see that "\url" is defined with 63.221 +% \newcommand\url{\begingroup \Url} 63.222 +% I.e., using whatever url-style has been selected. 63.223 +% 63.224 +% You can make a defined-url for these other styles, using the usual 63.225 +% "\urldef" command as in this example: 63.226 +% 63.227 +% \urldef{\myself}{\email}{myself%node.domain@gateway.net} 63.228 +% 63.229 +% which makes "\myself" act like "\email{myself%node.domain@gateway.net}", 63.230 +% if the "\email" command is defined as above. The "\myself" command 63.231 +% would then be robust. 63.232 +% 63.233 +% Defining styles: 63.234 +% Before describing how to customize the printing style, it is best to 63.235 +% mention something about the unusual implementation of "\url". Although 63.236 +% the material is textual in nature, and the font specification required 63.237 +% is a text-font command, the text is actually typeset in *math* mode. 63.238 +% This allows the context-sensitive linebreaking, but also accounts for 63.239 +% the default behavior of ignoring spaces. Now on to defining styles. 63.240 +% 63.241 +% To change the font or the list of characters that allow linebreaks, you 63.242 +% could redefine the commands "\UrlFont", "\UrlBreaks", "\UrlSpecials" etc. 63.243 +% directly in the document, but it is better to define a new `url-style' 63.244 +% (following the example of "\url@ttstyle" and "\url@rmstyle") which defines 63.245 +% all of "\UrlBigbreaks", "\UrlNoBreaks", "\UrlBreaks", "\UrlSpecials", and 63.246 +% "\UrlFont". 63.247 +% 63.248 +% Changing font: 63.249 +% The "\UrlFont" command selects the font. The definition of "\UrlFont" 63.250 +% done by the pre-defined styles varies to cope with a variety of LaTeX 63.251 +% font selection schemes, but it could be as simple as "\def\UrlFont{\tt}". 63.252 +% Depending on the font selected, some characters may need to be defined 63.253 +% in the "\UrlSpecials" list because many fonts don't contain all the 63.254 +% standard input characters. 63.255 +% 63.256 +% Changing linebreaks: 63.257 +% The list of characters that allow line-breaks is given by "\UrlBreaks" 63.258 +% and "\UrlBigBreaks", which have the format "\do\c" for character "c". 63.259 +% The differences are that `BigBreaks' have a lower penalty and have 63.260 +% different breakpoints when in sequence (as in "http://"): `BigBreaks' 63.261 +% are treated as mathrels while `Breaks' are mathbins (see The TeXbook, 63.262 +% p.170). In particular, a series of `BigBreak' characters will break at 63.263 +% the end and only at the end; a series of `Break' characters will break 63.264 +% after the first and after every following *pair*; there will be no 63.265 +% break after a `Break' character if a `BigBreak' follows. In the case 63.266 +% of "http://" it doesn't matter whether ":" is a `Break' or `BigBreak' -- 63.267 +% the breaks are the same in either case; but for DECnet nodes with "::" 63.268 +% it is important to prevent breaks *between* the colons, and that is why 63.269 +% colons are `BigBreaks'. 63.270 +% 63.271 +% It is possible for characters to prevent breaks after the next following 63.272 +% character (I use this for parentheses). Specify these in "\UrlNoBreaks". 63.273 +% 63.274 +% You can do arbitrarily complex things with characters by making them 63.275 +% active in math mode (mathcode hex-8000) and specifying the definition(s) 63.276 +% in "\UrlSpecials". This is used in the rm and sf styles for OT1 font 63.277 +% encoding to handle several characters that are not present in those 63.278 +% computer-modern style fonts. See the definition of "\Url@do", which 63.279 +% is used by both "\url@rmstyle" and "\url@sfstyle"; it handles missing 63.280 +% characters via "\UrlSpecials". The nominal format for setting each 63.281 +% special character "c" is: "\do\c{<definition>}", but you can include 63.282 +% other definitions too. 63.283 +% 63.284 +% 63.285 +% If all this sounds confusing ... well, it is! But I hope you won't need 63.286 +% to redefine breakpoints -- the default assignments seem to work well for 63.287 +% a wide variety of applications. If you do need to make changes, you can 63.288 +% test for breakpoints using regular math mode and the characters "+=(a". 63.289 +% 63.290 +% Yet more flexibility: 63.291 +% You can also customize the verbatim text by defining "\UrlRight" and/or 63.292 +% "\UrlLeft", e.g., for ISO formatting of urls surrounded by "< >", define 63.293 +% 63.294 +% \renewcommand\url{\begingroup \def\UrlLeft{<url: }\def\UrlRight{>}% 63.295 +% \urlstyle{tt}\Url} 63.296 +% 63.297 +% The meanings of "\UrlLeft" and "\UrlRight" are *not* reproduced verbatim. 63.298 +% This lets you use formatting commands there, but you must be careful not 63.299 +% to use TeX's special characters ("\^_%~#$&{}" etc.) improperly. 63.300 +% You can also define "\UrlLeft" to reprocess the verbatim text, but the 63.301 +% format of the definition is special: 63.302 +% 63.303 +% \def\UrlLeft#1\UrlRight{ ... do things with #1 ... } 63.304 +% 63.305 +% Yes, that is "#1" followed by "\UrlRight" then the definition. For 63.306 +% example, to put a hyperTeX hypertext link in the DVI file: 63.307 +% 63.308 +% \def\UrlLeft#1\UrlRight{\special{html:<a href="#1">}#1\special{html:</a>}} 63.309 +% 63.310 +% Using this technique, url.sty can provide a convenient interface for 63.311 +% performing various operations on verbatim text. You don't even need 63.312 +% to print out the argument! For greatest efficiency in such obscure 63.313 +% applications, you can define a null url-style where all the lists like 63.314 +% "\UrlBreaks" are empty. 63.315 +% 63.316 +% Revision History: 63.317 +% ver 1.1 6-Feb-1996: 63.318 +% Fix hyphens that wouldn't break and ligatures that weren't suppressed. 63.319 +% ver 1.2 19-Oct-1996: 63.320 +% Package option for T1 encoding; Hooks: "\UrlLeft" and "\UrlRight". 63.321 +% ver 1.3 21-Jul-1997: 63.322 +% Prohibit spaces as delimiter characters; change ascii tilde in OT1. 63.323 +% ver 1.4 02-Mar-1999 63.324 +% LaTeX license; moving-argument-error 63.325 +% The End 63.326 + 63.327 +Test file integrity: ASCII 32-57, 58-126: !"#$%&'()*+,-./0123456789 63.328 +:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
64.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 64.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/latex/usetex-v1-anon.cls Fri Sep 13 11:02:18 2013 -0700 64.3 @@ -0,0 +1,363 @@ 64.4 +\NeedsTeXFormat{LaTeX2e} 64.5 +\ProvidesClass{usetex-v1-anon}[2002/10/31 v1.2 usetex Usenix article class] 64.6 + 64.7 +% usetex-v1.cls - to be used with LaTeX2e for Usenix articles 64.8 +% 64.9 +% To use this style file, do this: 64.10 +% 64.11 +% \documentclass{usetex-v1} 64.12 +% 64.13 +% The following definitions are modifications of standard article.cls 64.14 +% definitions, arranged to do a better job of matching the Usenix 64.15 +% guidelines. and make for convenient Usenix paper writing 64.16 +% 64.17 +% Choose the appropriate option: 64.18 +% 64.19 +% 1. workingdraft: 64.20 +% 64.21 +% For initial submission and shepherding. Features prominent 64.22 +% date, notice of draft status, page numbers, and annotation 64.23 +% facilities. 64.24 +% 64.25 +% 2. proof: 64.26 +% 64.27 +% A galley proof identical to the final copy except for page 64.28 +% numbering and proof date on the bottom. Annotations are 64.29 +% removed. 64.30 +% 64.31 +% 3. webversion: 64.32 +% 64.33 +% A web-publishable version, uses \docstatus{} to indicate 64.34 +% publication information (where and when paper was published), 64.35 +% and page numbers. 64.36 +% 64.37 +% 4. finalversion: 64.38 +% 64.39 +% The final camera-ready-copy (CRC) version of the paper. 64.40 +% Published in conference proceedings. This doesn't include 64.41 +% page numbers, annotations, or draft status (Usenix adds 64.42 +% headers, footers, and page numbers onto the CRC). 64.43 +% 64.44 +% If several are used, the last one in this list wins 64.45 +% 64.46 + 64.47 +% 64.48 +% In addition, the option "endnotes" permits the use of the 64.49 +% otherwise-disabled, Usenix-deprecated footnote{} command in 64.50 +% documents. In this case, be sure to include a 64.51 +% \makeendnotes command at the end of your document or 64.52 +% the endnotes will not actually appear. 64.53 +% 64.54 + 64.55 +\newif\if@draftcopy \newif\ifworkingdraft 64.56 +\DeclareOption{workingdraft}{\workingdrafttrue\@draftcopytrue} 64.57 +\newif\ifproof \DeclareOption{proof}{\prooftrue\@draftcopytrue} 64.58 +\newif\ifwebversion 64.59 +\DeclareOption{webversion}{\prooftrue\webversiontrue\@draftcopytrue} 64.60 +\DeclareOption{finalversion}{} 64.61 +\newif\ifhasendnotes 64.62 +\DeclareOption{endnotes}{\hasendnotestrue} 64.63 + 64.64 +% pass all other options to the article class 64.65 +\DeclareOption*{% 64.66 + \PassOptionsToClass{\CurrentOption}{article}% 64.67 +} 64.68 + 64.69 +% actually process the options 64.70 +\ProcessOptions 64.71 + 64.72 +% usetex is based on article 64.73 +\LoadClass[twocolumn]{article} 64.74 + 64.75 +% Footnotes are not currently allowed, but 64.76 +% endnotes (while a bad idea) are. 64.77 +\ifhasendnotes 64.78 + \RequirePackage{endnotes} 64.79 +\fi 64.80 + 64.81 +% save any provided document status information 64.82 +\def\@docstatus{} 64.83 +\def\docstatus#1{\gdef\@docstatus{#1}} 64.84 + 64.85 +\ifworkingdraft 64.86 + 64.87 + % formatting helper for draft notes 64.88 + \newcommand{\@noteleader[1]}{% 64.89 + {\marginpar{\framebox{\scriptsize\textbf{#1}}}}% 64.90 + \bfseries\itshape 64.91 + } 64.92 + 64.93 + % put a small anonymous editing note in the draft copy 64.94 + \newcommand{\edannote}[1]{{\@noteleader[note] (#1)}} 64.95 + 64.96 + % put a small attributed editing note in the draft copy 64.97 + \newcommand{\edatnote}[2]{{\@noteleader[#1] #2}} 64.98 + 64.99 + % put an attributed editing note paragraph in the draft copy 64.100 + \newenvironment{ednote}[1] 64.101 + {\newcommand{\who}{#1}\@noteleader[\who]} 64.102 + 64.103 + % mark a spot where work has been left off for later 64.104 + \newcommand{\HERE}{% 64.105 + {\mbox{}\marginpar{\framebox{\textbf{here}}}}{\bf\ldots}} 64.106 + 64.107 +\else 64.108 + 64.109 + % dummy versions of editing commands to produce warnings 64.110 + 64.111 + \newcommand{\edannote}[1]{\@latex@warning 64.112 + {Leftover edannote command in final version ignored}} 64.113 + 64.114 + \newcommand{\edatnote}[1]{\@latex@warning 64.115 + {Leftover edatnote command in final version ignored}} 64.116 + 64.117 + \newsavebox{\@discard} 64.118 + \newenvironment{ednote}[1]{\@latex@warning 64.119 + {Leftover ednote environment in final version ignored}% 64.120 + \begin{lrbox}{\@discard}}{\end{lrbox}} 64.121 + 64.122 + \newcommand{\HERE}{\@latex@warning 64.123 + {Leftover HERE command in final version ignored}} 64.124 + 64.125 +\fi 64.126 + 64.127 +% set up the footers appropriately 64.128 +\def\@setfoot{% 64.129 + \ifwebversion 64.130 + % webversions get whatever status the author says 64.131 + \gdef\@evenfoot{\@docstatus \hfil \thepage}% 64.132 + \else 64.133 + % all other drafts get the standard draft footer 64.134 + \gdef\@evenfoot{\textbf{Draft:} \@draftdate\hfil \textbf{Page:} \thepage}% 64.135 + \fi 64.136 + \gdef\@oddfoot{\@evenfoot}% 64.137 +} 64.138 + 64.139 +% 64.140 +% Usenix wants no page numbers for submitted papers, so that 64.141 +% they can number them themselves. Drafts should have 64.142 +% numbered pages, so they can be edited. 64.143 +% 64.144 +\if@draftcopy 64.145 + % Compute a date and time for the draft for use 64.146 + % either in \@setfoot (proof) or in \maketitle (workingdraft) 64.147 + % 64.148 + % Time code adapted from custom-bib/makebst.tex 64.149 + % Copyright 1993-1999 Patrick W Daly 64.150 + % Max-Planck-Institut f\"ur Aeronomie 64.151 + % E-mail: daly@linmp.mpg.de 64.152 + \newcount\hour 64.153 + \hour=\time 64.154 + \divide\hour by 60 64.155 + \newcount\minute 64.156 + \minute=\hour 64.157 + \multiply\minute by 60 64.158 + \advance\minute by -\time 64.159 + \multiply\minute by -1 64.160 + \newcommand{\@draftdate} 64.161 + {{\the\year/\/\two@digits{\the\month}/\/\two@digits{\the\day}% 64.162 + ~\two@digits{\the\hour}:\two@digits{\the\minute}}} 64.163 + \pagestyle{plain} 64.164 + \@setfoot 64.165 +\else 64.166 + \pagestyle{empty} 64.167 +\fi 64.168 + 64.169 +% Times-Roman font is nice if you can get it (requires NFSS, 64.170 +% which is in latex2e). 64.171 +\usepackage{times} 64.172 + 64.173 +% endnote support, as described at 64.174 +% http://www.lyx.org/help/footnotes.php 64.175 +\ifhasendnotes 64.176 + \typeout 64.177 + {Warning: endnotes support is deprecated (see documentation for details)} 64.178 + \let\footnote=\endnote 64.179 + \def\enoteformat{\rightskip\z@ \leftskip\z@ 64.180 + \parindent=0pt\parskip=\baselineskip 64.181 + \@theenmark. } 64.182 + \newcommand{\makeendnotes}{ 64.183 + \begingroup 64.184 + \def\enotesize{\normalsize} 64.185 + \theendnotes 64.186 + \endgroup 64.187 + } 64.188 +\else 64.189 + \long\gdef\footnote{\@latex@error 64.190 + {Deprecated footnote command (see documentation for details)}} 64.191 + \long\gdef\endnote{\@latex@error 64.192 + {Deprecated endnote command (see documentation for details)}} 64.193 +\fi 64.194 + 64.195 +% 64.196 +% Usenix margins 64.197 +% Gives active areas of 6.45" x 9.0" 64.198 +% 64.199 +\setlength{\textheight}{9.0in} 64.200 +\setlength{\columnsep}{0.25in} 64.201 +\setlength{\textwidth}{6.45in} 64.202 +%\setlength{\footskip}{0.0in} 64.203 +%\setlength{\footheight}{0.0in} 64.204 +\setlength{\topmargin}{0.0in} 64.205 +\setlength{\headheight}{0.0in} 64.206 +\setlength{\headsep}{0.0in} 64.207 +\setlength{\evensidemargin}{0.0in} 64.208 +\setlength{\oddsidemargin}{0.0in} 64.209 +\setlength{\marginparsep}{1.5em} 64.210 +\setlength{\marginparwidth}{0.35in} 64.211 + 64.212 +% The standard maketitle insists on 64.213 +% messing with the style of the first page. 64.214 +% Thus, we will wrap maketitle with code to put 64.215 +% things right again. 64.216 +\let \save@maketitle=\maketitle 64.217 +\def\maketitle{ 64.218 + \save@maketitle 64.219 + \if@draftcopy 64.220 + \@specialpagefalse 64.221 + \else 64.222 + \thispagestyle{empty} 64.223 + \fi 64.224 +} 64.225 + 64.226 +% 64.227 +% Usenix titles are in 14-point bold type, with no date, and with no 64.228 +% change in the empty page headers. The author section is 64.229 +% 12 point roman and italic: see below. 64.230 +% 64.231 +\def\@maketitle{% 64.232 + \newpage 64.233 + \null 64.234 +% \vskip 3ex% 64.235 + \begin{center}% 64.236 +% \let \footnote \thanks 64.237 + {\Large \bf \@title \par}% % use 14 pt bold 64.238 +% \vskip 2ex% 64.239 + {\large 64.240 +% \lineskip .5ex% 64.241 +% \begin{tabular}[t]{c}% 64.242 +% \@author 64.243 +% \end{tabular}\par 64.244 + }% 64.245 + \ifworkingdraft 64.246 + \vskip 0.5ex 64.247 + \textbf{Draft of \@draftdate} 64.248 + \vskip 0.5ex 64.249 + \fi 64.250 + \ifwebversion 64.251 + \vskip 0.5ex 64.252 + \textit{Authors and affiliation elided for review.} 64.253 + \vskip 0.5ex 64.254 + \fi 64.255 + \end{center}% 64.256 + \par 64.257 +% \vskip 2ex 64.258 +} 64.259 + 64.260 +% 64.261 +% The author section 64.262 +% should have names in Roman, address in 64.263 +% italic, e-mail/http in typewriter. 64.264 +% This is enforced by use of these macros 64.265 +% 64.266 +\def\authname#1{{#1}\\} 64.267 +\def\authaddr#1{\itshape{#1}\\} 64.268 +\def\authurl#1{{\normalsize #1}\\} 64.269 + 64.270 +% 64.271 +% The abstract is preceded by a 12-pt bold centered heading 64.272 +% 64.273 +\def\abstract{\begin{center}% 64.274 + {\large\bf \abstractname\vspace{-.5ex}\vspace{\z@}}% 64.275 + \end{center}} 64.276 +\def\endabstract{} 64.277 + 64.278 +% 64.279 +% Main section titles are 12-pt bold. Lower divisions can 64.280 +% be same size or smaller: we choose same. 64.281 +% Main section leading is tight. Subsection leading is even 64.282 +% slightly tighter. All lower divisions are formatted like subsections. 64.283 +% 64.284 +\newcommand\@sectionfont{\reset@font\large\bf} 64.285 +\newlength\@sectionaboveskip 64.286 +\setlength\@sectionaboveskip{-0.7\baselineskip 64.287 + plus -0.1\baselineskip 64.288 + minus -0.1\baselineskip} 64.289 +\newlength\@sectionbelowskip 64.290 +\setlength\@sectionbelowskip{0.3\baselineskip 64.291 + plus 0.1\baselineskip} 64.292 +\newlength\@subsectionaboveskip 64.293 +\setlength\@subsectionaboveskip{-0.5\baselineskip 64.294 + plus -0.1\baselineskip} 64.295 +\renewcommand\section{\@startsection {section}{1}{\z@}% 64.296 + {\@sectionaboveskip}{\@sectionbelowskip}{\@sectionfont}} 64.297 +\newcommand\@gensubsection[2]{\@startsection {#1}{#2}{\z@}% 64.298 + {\@subsectionaboveskip}{\@sectionbelowskip}{\@sectionfont}} 64.299 +\renewcommand\subsection{\@gensubsection{subsection}{2}} 64.300 +\renewcommand\subsubsection{\@gensubsection{subsubsection}{3}} 64.301 +%\renewcommand\paragraph{\@gensubsection{paragraph}{4}} 64.302 +%\renewcommand\subparagraph{\@gensubsection{subparagaph}{5}} 64.303 +\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% 64.304 + {1.25ex \@plus 0.2ex \@minus 0.2ex}% 64.305 + {-1.0em}% 64.306 + {\normalfont\normalsize\bfseries}} 64.307 +\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% 64.308 + {1.25ex \@plus 0.2ex \@minus 0.2ex}% 64.309 + {-1.0em}% 64.310 + {\normalfont\normalsize\bfseries}} 64.311 + 64.312 +% List items need to be tightened up. 64.313 +% There must be a better way than copying 64.314 +% the definitions to modify the list environment... 64.315 +\def\@itemspacings{\listparindent=\parindent 64.316 + \parsep=0pt\topsep=0.3\baselineskip\partopsep=0pt\itemsep=0pt} 64.317 +% now make envs use itemspacings 64.318 +\def\itemize{% 64.319 + \ifnum \@itemdepth >\thr@@\@toodeep\else 64.320 + \advance\@itemdepth\@ne 64.321 + \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% 64.322 + \expandafter 64.323 + \list 64.324 + \csname\@itemitem\endcsname 64.325 + {\@itemspacings\def\makelabel##1{\hss\llap{##1}}}% 64.326 + \fi} 64.327 +\def\enumerate{% 64.328 + \ifnum \@enumdepth >\thr@@\@toodeep\else 64.329 + \advance\@enumdepth\@ne 64.330 + \edef\@enumctr{enum\romannumeral\the\@enumdepth}% 64.331 + \expandafter 64.332 + \list 64.333 + \csname label\@enumctr\endcsname 64.334 + {\@itemspacings\usecounter\@enumctr\def\makelabel##1{\hss\llap{##1}}}% 64.335 + \fi} 64.336 +\def\description{% 64.337 + \list{}{\labelwidth\z@ \itemindent-\leftmargin 64.338 + \@itemspacings\let\makelabel\descriptionlabel}} 64.339 + 64.340 +% Bibliography items need to be tightened up. 64.341 +% Again, there must be a better way than copying 64.342 +% the definitions to modify the list environment... 64.343 +\def\thebibliography#1% 64.344 + {\section*{\refname}% 64.345 + \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}% 64.346 + \list{\@biblabel{\@arabic\c@enumiv}}% 64.347 + {\settowidth\labelwidth{\@biblabel{#1}}% 64.348 + \leftmargin\labelwidth 64.349 + \advance\leftmargin\labelsep 64.350 + \@openbib@code 64.351 + \usecounter{enumiv}% 64.352 + \let\p@enumiv\@empty 64.353 + \renewcommand\theenumiv{\@arabic\c@enumiv}% 64.354 + \parsep=0pt}% pack entries 64.355 + \sloppy 64.356 + \hbadness=8000% mostly don't whine about bibliography fmt 64.357 + \clubpenalty=4000% 64.358 + \@clubpenalty=\clubpenalty 64.359 + \widowpenalty=4000% 64.360 + \sfcode`\.\@m} 64.361 + 64.362 +% Floating bodies need to be tightened up. 64.363 +\setlength\textfloatsep{14pt plus 2pt} 64.364 +\setlength\dbltextfloatsep{\textfloatsep} 64.365 +\setlength\intextsep{0.8\textfloatsep} 64.366 +\setlength\abovecaptionskip{8pt minus 2pt}
65.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 65.2 +++ b/0__Papers/PRT/PRT__Tutorial_explanation_teaching/latex/usetex-v1.cls Fri Sep 13 11:02:18 2013 -0700 65.3 @@ -0,0 +1,357 @@ 65.4 +\NeedsTeXFormat{LaTeX2e} 65.5 +\ProvidesClass{usetex-v1}[2002/10/31 v1.2 usetex Usenix article class] 65.6 + 65.7 +% usetex-v1.cls - to be used with LaTeX2e for Usenix articles 65.8 +% 65.9 +% To use this style file, do this: 65.10 +% 65.11 +% \documentclass{usetex-v1} 65.12 +% 65.13 +% The following definitions are modifications of standard article.cls 65.14 +% definitions, arranged to do a better job of matching the Usenix 65.15 +% guidelines. and make for convenient Usenix paper writing 65.16 +% 65.17 +% Choose the appropriate option: 65.18 +% 65.19 +% 1. workingdraft: 65.20 +% 65.21 +% For initial submission and shepherding. Features prominent 65.22 +% date, notice of draft status, page numbers, and annotation 65.23 +% facilities. 65.24 +% 65.25 +% 2. proof: 65.26 +% 65.27 +% A galley proof identical to the final copy except for page 65.28 +% numbering and proof date on the bottom. Annotations are 65.29 +% removed. 65.30 +% 65.31 +% 3. webversion: 65.32 +% 65.33 +% A web-publishable version, uses \docstatus{} to indicate 65.34 +% publication information (where and when paper was published), 65.35 +% and page numbers. 65.36 +% 65.37 +% 4. finalversion: 65.38 +% 65.39 +% The final camera-ready-copy (CRC) version of the paper. 65.40 +% Published in conference proceedings. This doesn't include 65.41 +% page numbers, annotations, or draft status (Usenix adds 65.42 +% headers, footers, and page numbers onto the CRC). 65.43 +% 65.44 +% If several are used, the last one in this list wins 65.45 +% 65.46 + 65.47 +% 65.48 +% In addition, the option "endnotes" permits the use of the 65.49 +% otherwise-disabled, Usenix-deprecated footnote{} command in 65.50 +% documents. In this case, be sure to include a 65.51 +% \makeendnotes command at the end of your document or 65.52 +% the endnotes will not actually appear. 65.53 +% 65.54 + 65.55 +\newif\if@draftcopy \newif\ifworkingdraft 65.56 +\DeclareOption{workingdraft}{\workingdrafttrue\@draftcopytrue} 65.57 +\newif\ifproof \DeclareOption{proof}{\prooftrue\@draftcopytrue} 65.58 +\newif\ifwebversion 65.59 +\DeclareOption{webversion}{\prooftrue\webversiontrue\@draftcopytrue} 65.60 +\DeclareOption{finalversion}{} 65.61 +\newif\ifhasendnotes 65.62 +\DeclareOption{endnotes}{\hasendnotestrue} 65.63 + 65.64 +% pass all other options to the article class 65.65 +\DeclareOption*{% 65.66 + \PassOptionsToClass{\CurrentOption}{article}% 65.67 +} 65.68 + 65.69 +% actually process the options 65.70 +\ProcessOptions 65.71 + 65.72 +% usetex is based on article 65.73 +\LoadClass[twocolumn]{article} 65.74 + 65.75 +% Footnotes are not currently allowed, but 65.76 +% endnotes (while a bad idea) are. 65.77 +\ifhasendnotes 65.78 + \RequirePackage{endnotes} 65.79 +\fi 65.80 + 65.81 +% save any provided document status information 65.82 +\def\@docstatus{} 65.83 +\def\docstatus#1{\gdef\@docstatus{#1}} 65.84 + 65.85 +\ifworkingdraft 65.86 + 65.87 + % formatting helper for draft notes 65.88 + \newcommand{\@noteleader[1]}{% 65.89 + {\marginpar{\framebox{\scriptsize\textbf{#1}}}}% 65.90 + \bfseries\itshape 65.91 + } 65.92 + 65.93 + % put a small anonymous editing note in the draft copy 65.94 + \newcommand{\edannote}[1]{{\@noteleader[note] (#1)}} 65.95 + 65.96 + % put a small attributed editing note in the draft copy 65.97 + \newcommand{\edatnote}[2]{{\@noteleader[#1] #2}} 65.98 + 65.99 + % put an attributed editing note paragraph in the draft copy 65.100 + \newenvironment{ednote}[1] 65.101 + {\newcommand{\who}{#1}\@noteleader[\who]} 65.102 + 65.103 + % mark a spot where work has been left off for later 65.104 + \newcommand{\HERE}{% 65.105 + {\mbox{}\marginpar{\framebox{\textbf{here}}}}{\bf\ldots}} 65.106 + 65.107 +\else 65.108 + 65.109 + % dummy versions of editing commands to produce warnings 65.110 + 65.111 + \newcommand{\edannote}[1]{\@latex@warning 65.112 + {Leftover edannote command in final version ignored}} 65.113 + 65.114 + \newcommand{\edatnote}[1]{\@latex@warning 65.115 + {Leftover edatnote command in final version ignored}} 65.116 + 65.117 + \newsavebox{\@discard} 65.118 + \newenvironment{ednote}[1]{\@latex@warning 65.119 + {Leftover ednote environment in final version ignored}% 65.120 + \begin{lrbox}{\@discard}}{\end{lrbox}} 65.121 + 65.122 + \newcommand{\HERE}{\@latex@warning 65.123 + {Leftover HERE command in final version ignored}} 65.124 + 65.125 +\fi 65.126 + 65.127 +% set up the footers appropriately 65.128 +\def\@setfoot{% 65.129 + \ifwebversion 65.130 + % webversions get whatever status the author says 65.131 + \gdef\@evenfoot{\@docstatus \hfil \thepage}% 65.132 + \else 65.133 + % all other drafts get the standard draft footer 65.134 + \gdef\@evenfoot{\textbf{Draft:} \@draftdate\hfil \textbf{Page:} \thepage}% 65.135 + \fi 65.136 + \gdef\@oddfoot{\@evenfoot}% 65.137 +} 65.138 + 65.139 +% 65.140 +% Usenix wants no page numbers for submitted papers, so that 65.141 +% they can number them themselves. Drafts should have 65.142 +% numbered pages, so they can be edited. 65.143 +% 65.144 +\if@draftcopy 65.145 + % Compute a date and time for the draft for use 65.146 + % either in \@setfoot (proof) or in \maketitle (workingdraft) 65.147 + % 65.148 + % Time code adapted from custom-bib/makebst.tex 65.149 + % Copyright 1993-1999 Patrick W Daly 65.150 + % Max-Planck-Institut f\"ur Aeronomie 65.151 + % E-mail: daly@linmp.mpg.de 65.152 + \newcount\hour 65.153 + \hour=\time 65.154 + \divide\hour by 60 65.155 + \newcount\minute 65.156 + \minute=\hour 65.157 + \multiply\minute by 60 65.158 + \advance\minute by -\time 65.159 + \multiply\minute by -1 65.160 + \newcommand{\@draftdate} 65.161 + {{\the\year/\/\two@digits{\the\month}/\/\two@digits{\the\day}% 65.162 + ~\two@digits{\the\hour}:\two@digits{\the\minute}}} 65.163 + \pagestyle{plain} 65.164 + \@setfoot 65.165 +\else 65.166 + \pagestyle{empty} 65.167 +\fi 65.168 + 65.169 +% Times-Roman font is nice if you can get it (requires NFSS, 65.170 +% which is in latex2e). 65.171 +\usepackage{times} 65.172 + 65.173 +% endnote support, as described at 65.174 +% http://www.lyx.org/help/footnotes.php 65.175 +\ifhasendnotes 65.176 + \typeout 65.177 + {Warning: endnotes support is deprecated (see documentation for details)} 65.178 + \let\footnote=\endnote 65.179 + \def\enoteformat{\rightskip\z@ \leftskip\z@ 65.180 + \parindent=0pt\parskip=\baselineskip 65.181 + \@theenmark. } 65.182 + \newcommand{\makeendnotes}{ 65.183 + \begingroup 65.184 + \def\enotesize{\normalsize} 65.185 + \theendnotes 65.186 + \endgroup 65.187 + } 65.188 +\else 65.189 + \long\gdef\footnote{\@latex@error 65.190 + {Deprecated footnote command (see documentation for details)}} 65.191 + \long\gdef\endnote{\@latex@error 65.192 + {Deprecated endnote command (see documentation for details)}} 65.193 +\fi 65.194 + 65.195 +% 65.196 +% Usenix margins 65.197 +% Gives active areas of 6.45" x 9.0" 65.198 +% 65.199 +\setlength{\textheight}{9.0in} 65.200 +\setlength{\columnsep}{0.25in} 65.201 +\setlength{\textwidth}{6.45in} 65.202 +%\setlength{\footskip}{0.0in} 65.203 +%\setlength{\footheight}{0.0in} 65.204 +\setlength{\topmargin}{0.0in} 65.205 +\setlength{\headheight}{0.0in} 65.206 +\setlength{\headsep}{0.0in} 65.207 +\setlength{\evensidemargin}{0.0in} 65.208 +\setlength{\oddsidemargin}{0.0in} 65.209 +\setlength{\marginparsep}{1.5em} 65.210 +\setlength{\marginparwidth}{0.35in} 65.211 + 65.212 +% The standard maketitle insists on 65.213 +% messing with the style of the first page. 65.214 +% Thus, we will wrap maketitle with code to put 65.215 +% things right again. 65.216 +\let \save@maketitle=\maketitle 65.217 +\def\maketitle{ 65.218 + \save@maketitle 65.219 + \if@draftcopy 65.220 + \@specialpagefalse 65.221 + \else 65.222 + \thispagestyle{empty} 65.223 + \fi 65.224 +} 65.225 + 65.226 +% 65.227 +% Usenix titles are in 14-point bold type, with no date, and with no 65.228 +% change in the empty page headers. The author section is 65.229 +% 12 point roman and italic: see below. 65.230 +% 65.231 +\def\@maketitle{% 65.232 + \newpage 65.233 + \null 65.234 + \vskip 3ex% 65.235 + \begin{center}% 65.236 + \let \footnote \thanks 65.237 + {\Large \bf \@title \par}% % use 14 pt bold 65.238 + \vskip 2ex% 65.239 + {\large 65.240 + \lineskip .5ex% 65.241 + \begin{tabular}[t]{c}% 65.242 + \@author 65.243 + \end{tabular}\par}% 65.244 + \ifworkingdraft 65.245 + \vskip 3ex \textbf{Draft of \@draftdate} \vskip 3ex 65.246 + \fi 65.247 + \ifwebversion 65.248 + \vskip 3ex \textbf{\@docstatus} \vskip 3ex 65.249 + \fi 65.250 + \end{center}% 65.251 + \par 65.252 + \vskip 2ex} 65.253 + 65.254 +% 65.255 +% The author section 65.256 +% should have names in Roman, address in 65.257 +% italic, e-mail/http in typewriter. 65.258 +% This is enforced by use of these macros 65.259 +% 65.260 +\def\authname#1{{#1}\\} 65.261 +\def\authaddr#1{\itshape{#1}\\} 65.262 +\def\authurl#1{{\normalsize #1}\\} 65.263 + 65.264 +% 65.265 +% The abstract is preceded by a 12-pt bold centered heading 65.266 +% 65.267 +\def\abstract{\begin{center}% 65.268 + {\large\bf \abstractname\vspace{-.5ex}\vspace{\z@}}% 65.269 + \end{center}} 65.270 +\def\endabstract{} 65.271 + 65.272 +% 65.273 +% Main section titles are 12-pt bold. Lower divisions can 65.274 +% be same size or smaller: we choose same. 65.275 +% Main section leading is tight. Subsection leading is even 65.276 +% slightly tighter. All lower divisions are formatted like subsections. 65.277 +% 65.278 +\newcommand\@sectionfont{\reset@font\large\bf} 65.279 +\newlength\@sectionaboveskip 65.280 +\setlength\@sectionaboveskip{-0.7\baselineskip 65.281 + plus -0.1\baselineskip 65.282 + minus -0.1\baselineskip} 65.283 +\newlength\@sectionbelowskip 65.284 +\setlength\@sectionbelowskip{0.3\baselineskip 65.285 + plus 0.1\baselineskip} 65.286 +\newlength\@subsectionaboveskip 65.287 +\setlength\@subsectionaboveskip{-0.5\baselineskip 65.288 + plus -0.1\baselineskip} 65.289 +\renewcommand\section{\@startsection {section}{1}{\z@}% 65.290 + {\@sectionaboveskip}{\@sectionbelowskip}{\@sectionfont}} 65.291 +\newcommand\@gensubsection[2]{\@startsection {#1}{#2}{\z@}% 65.292 + {\@subsectionaboveskip}{\@sectionbelowskip}{\@sectionfont}} 65.293 +\renewcommand\subsection{\@gensubsection{subsection}{2}} 65.294 +\renewcommand\subsubsection{\@gensubsection{subsubsection}{3}} 65.295 +%\renewcommand\paragraph{\@gensubsection{paragraph}{4}} 65.296 +%\renewcommand\subparagraph{\@gensubsection{subparagaph}{5}} 65.297 +\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% 65.298 + {1.25ex \@plus 0.2ex \@minus 0.2ex}% 65.299 + {-1.0em}% 65.300 + {\normalfont\normalsize\bfseries}} 65.301 +\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% 65.302 + {1.25ex \@plus 0.2ex \@minus 0.2ex}% 65.303 + {-1.0em}% 65.304 + {\normalfont\normalsize\bfseries}} 65.305 + 65.306 +% List items need to be tightened up. 65.307 +% There must be a better way than copying 65.308 +% the definitions to modify the list environment... 65.309 +\def\@itemspacings{\listparindent=\parindent 65.310 + \parsep=0pt\topsep=0.3\baselineskip\partopsep=0pt\itemsep=0pt} 65.311 +% now make envs use itemspacings 65.312 +\def\itemize{% 65.313 + \ifnum \@itemdepth >\thr@@\@toodeep\else 65.314 + \advance\@itemdepth\@ne 65.315 + \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% 65.316 + \expandafter 65.317 + \list 65.318 + \csname\@itemitem\endcsname 65.319 + {\@itemspacings\def\makelabel##1{\hss\llap{##1}}}% 65.320 + \fi} 65.321 +\def\enumerate{% 65.322 + \ifnum \@enumdepth >\thr@@\@toodeep\else 65.323 + \advance\@enumdepth\@ne 65.324 + \edef\@enumctr{enum\romannumeral\the\@enumdepth}% 65.325 + \expandafter 65.326 + \list 65.327 + \csname label\@enumctr\endcsname 65.328 + {\@itemspacings\usecounter\@enumctr\def\makelabel##1{\hss\llap{##1}}}% 65.329 + \fi} 65.330 +\def\description{% 65.331 + \list{}{\labelwidth\z@ \itemindent-\leftmargin 65.332 + \@itemspacings\let\makelabel\descriptionlabel}} 65.333 + 65.334 +% Bibliography items need to be tightened up. 65.335 +% Again, there must be a better way than copying 65.336 +% the definitions to modify the list environment... 65.337 +\def\thebibliography#1% 65.338 + {\section*{\refname}% 65.339 + \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}% 65.340 + \list{\@biblabel{\@arabic\c@enumiv}}% 65.341 + {\settowidth\labelwidth{\@biblabel{#1}}% 65.342 + \leftmargin\labelwidth 65.343 + \advance\leftmargin\labelsep 65.344 + \@openbib@code 65.345 + \usecounter{enumiv}% 65.346 + \let\p@enumiv\@empty 65.347 + \renewcommand\theenumiv{\@arabic\c@enumiv}% 65.348 + \parsep=0pt}% pack entries 65.349 + \sloppy 65.350 + \hbadness=8000% mostly don't whine about bibliography fmt 65.351 + \clubpenalty=4000% 65.352 + \@clubpenalty=\clubpenalty 65.353 + \widowpenalty=4000% 65.354 + \sfcode`\.\@m} 65.355 + 65.356 +% Floating bodies need to be tightened up. 65.357 +\setlength\textfloatsep{14pt plus 2pt} 65.358 +\setlength\dbltextfloatsep{\textfloatsep} 65.359 +\setlength\intextsep{0.8\textfloatsep} 65.360 +\setlength\abovecaptionskip{8pt minus 2pt}
66.1 Binary file 0__Papers/PRT/PRT__formal_def/figures/PR__timeline_dual.pdf has changed
67.1 --- a/0__Papers/PRT/PRT__formal_def/figures/PR__timeline_dual.svg Sat Aug 03 19:24:22 2013 -0700 67.2 +++ b/0__Papers/PRT/PRT__formal_def/figures/PR__timeline_dual.svg Fri Sep 13 11:02:18 2013 -0700 67.3 @@ -89,62 +89,52 @@ 67.4 d="m 196.98465,281.37498 c 69.82336,0 69.82336,0 69.82336,0" 67.5 style="fill:#800000;stroke:#800000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 67.6 inkscape:connector-curvature="0" /> 67.7 - <g 67.8 - transform="translate(-32,-120)" 67.9 - id="g7355" 67.10 - style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"> 67.11 - <path 67.12 - style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 67.13 - d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279" 67.14 - id="path7357" 67.15 - inkscape:connector-curvature="0" /> 67.16 - <text 67.17 - sodipodi:linespacing="100%" 67.18 - id="text7359" 67.19 - y="376.52615" 67.20 - x="298.7023" 67.21 - style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 67.22 - xml:space="preserve"><tspan 67.23 - y="376.52615" 67.24 - x="298.7023" 67.25 - id="tspan7361" 67.26 - sodipodi:role="line" 67.27 - style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan 67.28 - y="385.74353" 67.29 - x="298.7023" 67.30 - sodipodi:role="line" 67.31 - id="tspan7363" 67.32 - style="font-size:9px;text-align:center;text-anchor:middle">(Point 2.S)</tspan></text> 67.33 - </g> 67.34 - <g 67.35 - transform="translate(-60,-120)" 67.36 - id="g7365" 67.37 - style="stroke-width:1.8;stroke-miterlimit:4;stroke-dasharray:none"> 67.38 - <path 67.39 - style="fill:none;stroke:#000000;stroke-width:1.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" 67.40 - d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 67.41 - id="path7367" 67.42 - inkscape:connector-curvature="0" /> 67.43 - <text 67.44 - sodipodi:linespacing="100%" 67.45 - id="text7369" 67.46 - y="376.52615" 67.47 - x="378.7023" 67.48 - style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 67.49 - xml:space="preserve"><tspan 67.50 - y="376.52615" 67.51 - x="380.20621" 67.52 - id="tspan7371" 67.53 - sodipodi:role="line" 67.54 - style="font-size:9px;text-align:center;text-anchor:middle"><tspan 67.55 - style="font-size:10px" 67.56 - id="tspan8087">Resume </tspan></tspan><tspan 67.57 - y="385.74353" 67.58 - x="378.7023" 67.59 - sodipodi:role="line" 67.60 - id="tspan7373" 67.61 - style="font-size:9px;text-align:center;text-anchor:middle">(Point 2.R)</tspan></text> 67.62 - </g> 67.63 + <path 67.64 + inkscape:connector-curvature="0" 67.65 + id="path7357" 67.66 + d="m 266.82881,272.82004 c 0,19.38279 0,19.38279 0,19.38279" 67.67 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 67.68 + <text 67.69 + xml:space="preserve" 67.70 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 67.71 + x="266.7023" 67.72 + y="298.52615" 67.73 + id="text7359" 67.74 + sodipodi:linespacing="100%"><tspan 67.75 + style="font-size:10px;text-align:center;text-anchor:middle" 67.76 + sodipodi:role="line" 67.77 + id="tspan7361" 67.78 + x="266.7023" 67.79 + y="298.52615">Suspend</tspan><tspan 67.80 + style="font-size:9px;text-align:center;text-anchor:middle" 67.81 + id="tspan7363" 67.82 + sodipodi:role="line" 67.83 + x="266.7023" 67.84 + y="307.74353">(Point 2.S)</tspan></text> 67.85 + <path 67.86 + inkscape:connector-curvature="0" 67.87 + id="path7367" 67.88 + d="m 318.82881,272.77746 c 0,19.15152 0,19.15152 0,19.15152" 67.89 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 67.90 + <text 67.91 + xml:space="preserve" 67.92 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 67.93 + x="318.7023" 67.94 + y="298.52615" 67.95 + id="text7369" 67.96 + sodipodi:linespacing="100%"><tspan 67.97 + style="font-size:9px;text-align:center;text-anchor:middle" 67.98 + sodipodi:role="line" 67.99 + id="tspan7371" 67.100 + x="320.20621" 67.101 + y="298.52615"><tspan 67.102 + id="tspan8087" 67.103 + style="font-size:10px">Resume </tspan></tspan><tspan 67.104 + style="font-size:9px;text-align:center;text-anchor:middle" 67.105 + id="tspan7373" 67.106 + sodipodi:role="line" 67.107 + x="318.7023" 67.108 + y="307.74353">(Point 2.R)</tspan></text> 67.109 <text 67.110 sodipodi:linespacing="100%" 67.111 id="text7375" 67.112 @@ -180,11 +170,11 @@ 67.113 <path 67.114 inkscape:connector-curvature="0" 67.115 style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 67.116 - d="m 195.92204,221.37498 c 33.06652,0 33.06652,0 33.06652,0" 67.117 + d="m 195.92204,239.37498 c 33.06652,0 33.06652,0 33.06652,0" 67.118 id="path8095" /> 67.119 <g 67.120 id="g8097" 67.121 - transform="translate(-70,-180)" 67.122 + transform="translate(-70,-162)" 67.123 style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"> 67.124 <path 67.125 inkscape:connector-curvature="0" 67.126 @@ -211,13 +201,13 @@ 67.127 </g> 67.128 <g 67.129 id="g8107" 67.130 - transform="translate(-60,-180)" 67.131 - style="stroke-width:1.8;stroke-miterlimit:4;stroke-dasharray:none"> 67.132 + transform="translate(-60,-162)" 67.133 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"> 67.134 <path 67.135 inkscape:connector-curvature="0" 67.136 id="path8109" 67.137 d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 67.138 - style="fill:none;stroke:#000000;stroke-width:1.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" /> 67.139 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 67.140 <text 67.141 xml:space="preserve" 67.142 style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 67.143 @@ -242,205 +232,23 @@ 67.144 xml:space="preserve" 67.145 style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 67.146 x="352.7023" 67.147 - y="225.27441" 67.148 + y="243.27441" 67.149 id="text8119" 67.150 sodipodi:linespacing="100%"><tspan 67.151 id="tspan8121" 67.152 sodipodi:role="line" 67.153 x="352.7023" 67.154 - y="225.27441">Timeline A</tspan></text> 67.155 + y="243.27441">Timeline A</tspan></text> 67.156 <path 67.157 id="path8123" 67.158 - d="m 320.08408,221.37498 c 27.45405,0 27.45405,0 27.45405,0" 67.159 - style="fill:none;stroke:#422fac;stroke-width:1.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none" 67.160 + d="m 320.08408,239.37498 c 27.45405,0 27.45405,0 27.45405,0" 67.161 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 67.162 inkscape:connector-curvature="0" /> 67.163 <path 67.164 - style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999998, 2.99999998;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 67.165 - d="m 292.57011,280.15667 c 1.60737,-35.06333 -0.1867,-13.69014 2.41106,-33.11537 1.74808,-13.07166 19.28851,-14.93437 19.28851,-14.93437" 67.166 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999998, 2.99999998;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 67.167 + d="m 292.57011,280.15667 c 1.60737,-29.22166 -0.1867,-11.40932 2.41106,-27.59824 1.74808,-10.89388 19.28851,-12.44626 19.28851,-12.44626" 67.168 id="path8125" 67.169 inkscape:connector-curvature="0" 67.170 sodipodi:nodetypes="csc" /> 67.171 - <path 67.172 - sodipodi:nodetypes="csc" 67.173 - inkscape:connector-curvature="0" 67.174 - id="path5550" 67.175 - d="m 239.09804,401.95213 c 23.67157,4.34238 9.24233,-0.50438 22.35648,6.51358 8.8248,4.72253 10.08233,52.10878 10.08233,52.10878" 67.176 - style="fill:none;stroke:#000000;stroke-width:0.99999982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000004, 3.00000004;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 67.177 - <path 67.178 - inkscape:connector-curvature="0" 67.179 - style="fill:#800000;stroke:#800000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 67.180 - d="m 196.98465,461.37498 c 69.82336,0 69.82336,0 69.82336,0" 67.181 - id="path5552" /> 67.182 - <g 67.183 - style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 67.184 - id="g5554" 67.185 - transform="translate(-32,60)"> 67.186 - <path 67.187 - inkscape:connector-curvature="0" 67.188 - id="path5556" 67.189 - d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279" 67.190 - style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 67.191 - <text 67.192 - xml:space="preserve" 67.193 - style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 67.194 - x="298.7023" 67.195 - y="376.52615" 67.196 - id="text5558" 67.197 - sodipodi:linespacing="100%"><tspan 67.198 - style="font-size:10px;text-align:center;text-anchor:middle" 67.199 - sodipodi:role="line" 67.200 - id="tspan5560" 67.201 - x="298.7023" 67.202 - y="376.52615">Suspend</tspan><tspan 67.203 - style="font-size:9px;text-align:center;text-anchor:middle" 67.204 - id="tspan5562" 67.205 - sodipodi:role="line" 67.206 - x="298.7023" 67.207 - y="385.74353">(Point 2.S)</tspan></text> 67.208 - </g> 67.209 - <g 67.210 - style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 67.211 - id="g5564" 67.212 - transform="translate(-60,60)"> 67.213 - <path 67.214 - inkscape:connector-curvature="0" 67.215 - id="path5566" 67.216 - d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 67.217 - style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 67.218 - <text 67.219 - xml:space="preserve" 67.220 - style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 67.221 - x="378.7023" 67.222 - y="376.52615" 67.223 - id="text5568" 67.224 - sodipodi:linespacing="100%"><tspan 67.225 - style="font-size:9px;text-align:center;text-anchor:middle" 67.226 - sodipodi:role="line" 67.227 - id="tspan5570" 67.228 - x="380.20621" 67.229 - y="376.52615"><tspan 67.230 - id="tspan5572" 67.231 - style="font-size:10px">Resume </tspan></tspan><tspan 67.232 - style="font-size:9px;text-align:center;text-anchor:middle" 67.233 - id="tspan5574" 67.234 - sodipodi:role="line" 67.235 - x="378.7023" 67.236 - y="385.74353">(Point 2.R)</tspan></text> 67.237 - </g> 67.238 - <text 67.239 - xml:space="preserve" 67.240 - style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 67.241 - x="352.7023" 67.242 - y="465.27441" 67.243 - id="text5576" 67.244 - sodipodi:linespacing="100%"><tspan 67.245 - id="tspan5578" 67.246 - sodipodi:role="line" 67.247 - x="352.7023" 67.248 - y="465.27441">Timeline B</tspan></text> 67.249 - <path 67.250 - id="path5580" 67.251 - d="m 320.08408,461.37498 c 27.45405,0 27.45405,0 27.45405,0" 67.252 - style="fill:none;stroke:#800000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 67.253 - inkscape:connector-curvature="0" /> 67.254 - <path 67.255 - inkscape:connector-curvature="0" 67.256 - style="fill:#000000;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 67.257 - d="m 195.41471,497.37498 c 151.68424,0 151.68424,0 151.68424,0" 67.258 - id="path5582" /> 67.259 - <text 67.260 - sodipodi:linespacing="100%" 67.261 - id="text5584" 67.262 - y="500.02267" 67.263 - x="352.7023" 67.264 - style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 67.265 - xml:space="preserve"><tspan 67.266 - y="500.02267" 67.267 - x="352.7023" 67.268 - sodipodi:role="line" 67.269 - id="tspan5586">Physical time</tspan></text> 67.270 - <path 67.271 - id="path5588" 67.272 - d="m 195.92204,401.37498 c 33.06652,0 33.06652,0 33.06652,0" 67.273 - style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 67.274 - inkscape:connector-curvature="0" /> 67.275 - <g 67.276 - style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 67.277 - transform="translate(-70,0)" 67.278 - id="g5590"> 67.279 - <path 67.280 - style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 67.281 - d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279" 67.282 - id="path5592" 67.283 - inkscape:connector-curvature="0" /> 67.284 - <text 67.285 - sodipodi:linespacing="100%" 67.286 - id="text5594" 67.287 - y="376.52615" 67.288 - x="298.7023" 67.289 - style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 67.290 - xml:space="preserve"><tspan 67.291 - y="376.52615" 67.292 - x="298.7023" 67.293 - id="tspan5596" 67.294 - sodipodi:role="line" 67.295 - style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan 67.296 - y="385.74353" 67.297 - x="298.7023" 67.298 - sodipodi:role="line" 67.299 - id="tspan5598" 67.300 - style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.S)</tspan></text> 67.301 - </g> 67.302 - <g 67.303 - style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 67.304 - transform="translate(-60,0)" 67.305 - id="g5600"> 67.306 - <path 67.307 - style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 67.308 - d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 67.309 - id="path5602" 67.310 - inkscape:connector-curvature="0" /> 67.311 - <text 67.312 - sodipodi:linespacing="100%" 67.313 - id="text5604" 67.314 - y="376.52615" 67.315 - x="378.7023" 67.316 - style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 67.317 - xml:space="preserve"><tspan 67.318 - y="376.52615" 67.319 - x="380.20621" 67.320 - id="tspan5606" 67.321 - sodipodi:role="line" 67.322 - style="font-size:9px;text-align:center;text-anchor:middle"><tspan 67.323 - style="font-size:10px" 67.324 - id="tspan5608">Resume </tspan></tspan><tspan 67.325 - y="385.74353" 67.326 - x="378.7023" 67.327 - sodipodi:role="line" 67.328 - id="tspan5610" 67.329 - style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.R)</tspan></text> 67.330 - </g> 67.331 - <text 67.332 - sodipodi:linespacing="100%" 67.333 - id="text5612" 67.334 - y="405.27441" 67.335 - x="352.7023" 67.336 - style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 67.337 - xml:space="preserve"><tspan 67.338 - y="405.27441" 67.339 - x="352.7023" 67.340 - sodipodi:role="line" 67.341 - id="tspan5614">Timeline A</tspan></text> 67.342 - <path 67.343 - inkscape:connector-curvature="0" 67.344 - style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 67.345 - d="m 320.08408,401.37498 c 27.45405,0 27.45405,0 27.45405,0" 67.346 - id="path5616" /> 67.347 - <path 67.348 - sodipodi:nodetypes="csc" 67.349 - inkscape:connector-curvature="0" 67.350 - id="path5618" 67.351 - d="m 292.57011,460.15667 c 1.60737,-35.06333 -0.1867,-13.69014 2.41106,-33.11537 1.74808,-13.07166 19.28851,-14.93437 19.28851,-14.93437" 67.352 - style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999998, 2.99999998;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 67.353 </g> 67.354 </svg>
68.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 68.2 +++ b/0__Papers/PRT/PRT__formal_def/figures/PR__timeline_dual_three_versions.svg Fri Sep 13 11:02:18 2013 -0700 68.3 @@ -0,0 +1,754 @@ 68.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 68.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 68.6 + 68.7 +<svg 68.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 68.9 + xmlns:cc="http://creativecommons.org/ns#" 68.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 68.11 + xmlns:svg="http://www.w3.org/2000/svg" 68.12 + xmlns="http://www.w3.org/2000/svg" 68.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 68.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 68.15 + width="744.09448819" 68.16 + height="1052.3622047" 68.17 + id="svg2" 68.18 + sodipodi:version="0.32" 68.19 + inkscape:version="0.48.2 r9819" 68.20 + sodipodi:docname="PR__timeline_dual.svg" 68.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 68.22 + version="1.1"> 68.23 + <defs 68.24 + id="defs4"> 68.25 + <marker 68.26 + inkscape:stockid="Arrow2Send" 68.27 + orient="auto" 68.28 + refY="0.0" 68.29 + refX="0.0" 68.30 + id="Arrow2Send" 68.31 + style="overflow:visible;"> 68.32 + <path 68.33 + id="path4262" 68.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 68.35 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 68.36 + transform="scale(0.3) rotate(180) translate(-2.3,0)" /> 68.37 + </marker> 68.38 + <marker 68.39 + inkscape:stockid="Arrow1Mend" 68.40 + orient="auto" 68.41 + refY="0.0" 68.42 + refX="0.0" 68.43 + id="Arrow1Mend" 68.44 + style="overflow:visible;"> 68.45 + <path 68.46 + id="path4238" 68.47 + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " 68.48 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;" 68.49 + transform="scale(0.4) rotate(180) translate(10,0)" /> 68.50 + </marker> 68.51 + <marker 68.52 + inkscape:stockid="Arrow2Mend" 68.53 + orient="auto" 68.54 + refY="0.0" 68.55 + refX="0.0" 68.56 + id="Arrow2Mend" 68.57 + style="overflow:visible;"> 68.58 + <path 68.59 + id="path4008" 68.60 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 68.61 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 68.62 + transform="scale(0.6) rotate(180) translate(0,0)" /> 68.63 + </marker> 68.64 + <inkscape:perspective 68.65 + sodipodi:type="inkscape:persp3d" 68.66 + inkscape:vp_x="0 : 526.18109 : 1" 68.67 + inkscape:vp_y="0 : 1000 : 0" 68.68 + inkscape:vp_z="744.09448 : 526.18109 : 1" 68.69 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 68.70 + id="perspective10" /> 68.71 + <inkscape:perspective 68.72 + id="perspective11923" 68.73 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 68.74 + inkscape:vp_z="1 : 0.5 : 1" 68.75 + inkscape:vp_y="0 : 1000 : 0" 68.76 + inkscape:vp_x="0 : 0.5 : 1" 68.77 + sodipodi:type="inkscape:persp3d" /> 68.78 + </defs> 68.79 + <sodipodi:namedview 68.80 + id="base" 68.81 + pagecolor="#ffffff" 68.82 + bordercolor="#666666" 68.83 + borderopacity="1.0" 68.84 + gridtolerance="10000" 68.85 + guidetolerance="10" 68.86 + objecttolerance="10" 68.87 + inkscape:pageopacity="0.0" 68.88 + inkscape:pageshadow="2" 68.89 + inkscape:zoom="1.3364318" 68.90 + inkscape:cx="214.9176" 68.91 + inkscape:cy="612.44308" 68.92 + inkscape:document-units="px" 68.93 + inkscape:current-layer="layer1" 68.94 + showgrid="false" 68.95 + inkscape:window-width="1317" 68.96 + inkscape:window-height="878" 68.97 + inkscape:window-x="7" 68.98 + inkscape:window-y="1" 68.99 + inkscape:window-maximized="0" /> 68.100 + <metadata 68.101 + id="metadata7"> 68.102 + <rdf:RDF> 68.103 + <cc:Work 68.104 + rdf:about=""> 68.105 + <dc:format>image/svg+xml</dc:format> 68.106 + <dc:type 68.107 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 68.108 + <dc:title></dc:title> 68.109 + </cc:Work> 68.110 + </rdf:RDF> 68.111 + </metadata> 68.112 + <g 68.113 + inkscape:label="Layer 1" 68.114 + inkscape:groupmode="layer" 68.115 + id="layer1"> 68.116 + <path 68.117 + id="path7353" 68.118 + d="m 196.98465,281.37498 c 69.82336,0 69.82336,0 69.82336,0" 68.119 + style="fill:#800000;stroke:#800000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 68.120 + inkscape:connector-curvature="0" /> 68.121 + <g 68.122 + transform="translate(-32,-120)" 68.123 + id="g7355" 68.124 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"> 68.125 + <path 68.126 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 68.127 + d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279" 68.128 + id="path7357" 68.129 + inkscape:connector-curvature="0" /> 68.130 + <text 68.131 + sodipodi:linespacing="100%" 68.132 + id="text7359" 68.133 + y="376.52615" 68.134 + x="298.7023" 68.135 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 68.136 + xml:space="preserve"><tspan 68.137 + y="376.52615" 68.138 + x="298.7023" 68.139 + id="tspan7361" 68.140 + sodipodi:role="line" 68.141 + style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan 68.142 + y="385.74353" 68.143 + x="298.7023" 68.144 + sodipodi:role="line" 68.145 + id="tspan7363" 68.146 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 2.S)</tspan></text> 68.147 + </g> 68.148 + <g 68.149 + transform="translate(-60,-120)" 68.150 + id="g7365" 68.151 + style="stroke-width:1.8;stroke-miterlimit:4;stroke-dasharray:none"> 68.152 + <path 68.153 + style="fill:none;stroke:#000000;stroke-width:1.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" 68.154 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 68.155 + id="path7367" 68.156 + inkscape:connector-curvature="0" /> 68.157 + <text 68.158 + sodipodi:linespacing="100%" 68.159 + id="text7369" 68.160 + y="376.52615" 68.161 + x="378.7023" 68.162 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 68.163 + xml:space="preserve"><tspan 68.164 + y="376.52615" 68.165 + x="380.20621" 68.166 + id="tspan7371" 68.167 + sodipodi:role="line" 68.168 + style="font-size:9px;text-align:center;text-anchor:middle"><tspan 68.169 + style="font-size:10px" 68.170 + id="tspan8087">Resume </tspan></tspan><tspan 68.171 + y="385.74353" 68.172 + x="378.7023" 68.173 + sodipodi:role="line" 68.174 + id="tspan7373" 68.175 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 2.R)</tspan></text> 68.176 + </g> 68.177 + <text 68.178 + sodipodi:linespacing="100%" 68.179 + id="text7375" 68.180 + y="285.27441" 68.181 + x="352.7023" 68.182 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 68.183 + xml:space="preserve"><tspan 68.184 + y="285.27441" 68.185 + x="352.7023" 68.186 + sodipodi:role="line" 68.187 + id="tspan7379">Timeline B</tspan></text> 68.188 + <path 68.189 + inkscape:connector-curvature="0" 68.190 + style="fill:none;stroke:#800000;stroke-width:1.80000000000000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none" 68.191 + d="m 320.08408,281.37498 c 27.45405,0 27.45405,0 27.45405,0" 68.192 + id="path7387" /> 68.193 + <path 68.194 + id="path8089" 68.195 + d="m 195.41471,317.37498 c 151.68424,0 151.68424,0 151.68424,0" 68.196 + style="fill:#000000;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 68.197 + inkscape:connector-curvature="0" /> 68.198 + <text 68.199 + xml:space="preserve" 68.200 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 68.201 + x="352.7023" 68.202 + y="320.02267" 68.203 + id="text8091" 68.204 + sodipodi:linespacing="100%"><tspan 68.205 + id="tspan8093" 68.206 + sodipodi:role="line" 68.207 + x="352.7023" 68.208 + y="320.02267">Physical time</tspan></text> 68.209 + <path 68.210 + inkscape:connector-curvature="0" 68.211 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 68.212 + d="m 195.92204,221.37498 c 33.06652,0 33.06652,0 33.06652,0" 68.213 + id="path8095" /> 68.214 + <g 68.215 + id="g8097" 68.216 + transform="translate(-70,-180)" 68.217 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"> 68.218 + <path 68.219 + inkscape:connector-curvature="0" 68.220 + id="path8099" 68.221 + d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279" 68.222 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 68.223 + <text 68.224 + xml:space="preserve" 68.225 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 68.226 + x="298.7023" 68.227 + y="376.52615" 68.228 + id="text8101" 68.229 + sodipodi:linespacing="100%"><tspan 68.230 + style="font-size:10px;text-align:center;text-anchor:middle" 68.231 + sodipodi:role="line" 68.232 + id="tspan8103" 68.233 + x="298.7023" 68.234 + y="376.52615">Suspend</tspan><tspan 68.235 + style="font-size:9px;text-align:center;text-anchor:middle" 68.236 + id="tspan8105" 68.237 + sodipodi:role="line" 68.238 + x="298.7023" 68.239 + y="385.74353">(Point 1.S)</tspan></text> 68.240 + </g> 68.241 + <g 68.242 + id="g8107" 68.243 + transform="translate(-60,-180)" 68.244 + style="stroke-width:1.8;stroke-miterlimit:4;stroke-dasharray:none"> 68.245 + <path 68.246 + inkscape:connector-curvature="0" 68.247 + id="path8109" 68.248 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 68.249 + style="fill:none;stroke:#000000;stroke-width:1.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" /> 68.250 + <text 68.251 + xml:space="preserve" 68.252 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 68.253 + x="378.7023" 68.254 + y="376.52615" 68.255 + id="text8111" 68.256 + sodipodi:linespacing="100%"><tspan 68.257 + style="font-size:9px;text-align:center;text-anchor:middle" 68.258 + sodipodi:role="line" 68.259 + id="tspan8113" 68.260 + x="380.20621" 68.261 + y="376.52615"><tspan 68.262 + id="tspan8115" 68.263 + style="font-size:10px">Resume </tspan></tspan><tspan 68.264 + style="font-size:9px;text-align:center;text-anchor:middle" 68.265 + id="tspan8117" 68.266 + sodipodi:role="line" 68.267 + x="378.7023" 68.268 + y="385.74353">(Point 1.R)</tspan></text> 68.269 + </g> 68.270 + <text 68.271 + xml:space="preserve" 68.272 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 68.273 + x="352.7023" 68.274 + y="225.27441" 68.275 + id="text8119" 68.276 + sodipodi:linespacing="100%"><tspan 68.277 + id="tspan8121" 68.278 + sodipodi:role="line" 68.279 + x="352.7023" 68.280 + y="225.27441">Timeline A</tspan></text> 68.281 + <path 68.282 + id="path8123" 68.283 + d="m 320.08408,221.37498 c 27.45405,0 27.45405,0 27.45405,0" 68.284 + style="fill:none;stroke:#422fac;stroke-width:1.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none" 68.285 + inkscape:connector-curvature="0" /> 68.286 + <path 68.287 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999998, 2.99999998;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 68.288 + d="m 292.57011,280.15667 c 1.60737,-35.06333 -0.1867,-13.69014 2.41106,-33.11537 1.74808,-13.07166 19.28851,-14.93437 19.28851,-14.93437" 68.289 + id="path8125" 68.290 + inkscape:connector-curvature="0" 68.291 + sodipodi:nodetypes="csc" /> 68.292 + <path 68.293 + inkscape:connector-curvature="0" 68.294 + style="fill:#800000;stroke:#800000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 68.295 + d="m 195.48813,523.37498 c 69.82336,0 69.82336,0 69.82336,0" 68.296 + id="path5552" /> 68.297 + <path 68.298 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 68.299 + d="m 266.82881,514.82004 c 0,19.38279 0,19.38279 0,19.38279" 68.300 + id="path5556" 68.301 + inkscape:connector-curvature="0" /> 68.302 + <text 68.303 + sodipodi:linespacing="100%" 68.304 + id="text5558" 68.305 + y="540.52612" 68.306 + x="264.7023" 68.307 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 68.308 + xml:space="preserve"><tspan 68.309 + y="540.52612" 68.310 + x="264.7023" 68.311 + id="tspan5560" 68.312 + sodipodi:role="line" 68.313 + style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan 68.314 + y="549.74353" 68.315 + x="264.7023" 68.316 + sodipodi:role="line" 68.317 + id="tspan5562" 68.318 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 2.S)</tspan></text> 68.319 + <path 68.320 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 68.321 + d="m 318.82881,514.77746 c 0,19.15152 0,19.15152 0,19.15152" 68.322 + id="path5566" 68.323 + inkscape:connector-curvature="0" /> 68.324 + <text 68.325 + sodipodi:linespacing="100%" 68.326 + id="text5568" 68.327 + y="540.52612" 68.328 + x="320.7023" 68.329 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 68.330 + xml:space="preserve"><tspan 68.331 + y="540.52612" 68.332 + x="322.20621" 68.333 + id="tspan5570" 68.334 + sodipodi:role="line" 68.335 + style="font-size:9px;text-align:center;text-anchor:middle"><tspan 68.336 + style="font-size:10px" 68.337 + id="tspan5572">Resume </tspan></tspan><tspan 68.338 + y="549.74353" 68.339 + x="320.7023" 68.340 + sodipodi:role="line" 68.341 + id="tspan5574" 68.342 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 2.R)</tspan></text> 68.343 + <text 68.344 + xml:space="preserve" 68.345 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 68.346 + x="354.7023" 68.347 + y="527.27441" 68.348 + id="text5576" 68.349 + sodipodi:linespacing="100%"><tspan 68.350 + id="tspan5578" 68.351 + sodipodi:role="line" 68.352 + x="354.7023" 68.353 + y="527.27441">Timeline B</tspan></text> 68.354 + <path 68.355 + id="path5580" 68.356 + d="m 320.08409,523.37498 c 28.16395,0 28.16395,0 28.16395,0" 68.357 + style="fill:none;stroke:#800000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 68.358 + inkscape:connector-curvature="0" /> 68.359 + <path 68.360 + inkscape:connector-curvature="0" 68.361 + style="fill:#000000;stroke:#000000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 68.362 + d="m 195.41472,559.37498 c 153.16627,0 153.16627,0 153.16627,0" 68.363 + id="path5582" /> 68.364 + <text 68.365 + sodipodi:linespacing="100%" 68.366 + id="text5584" 68.367 + y="562.02271" 68.368 + x="354.05777" 68.369 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 68.370 + xml:space="preserve"><tspan 68.371 + y="562.02271" 68.372 + x="354.05777" 68.373 + sodipodi:role="line" 68.374 + id="tspan5586">Physical time</tspan></text> 68.375 + <path 68.376 + id="path5588" 68.377 + d="m 195.17378,437.37498 c 33.06652,0 33.06652,0 33.06652,0" 68.378 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 68.379 + inkscape:connector-curvature="0" /> 68.380 + <g 68.381 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 68.382 + transform="translate(-70,36)" 68.383 + id="g5590"> 68.384 + <path 68.385 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 68.386 + d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279" 68.387 + id="path5592" 68.388 + inkscape:connector-curvature="0" /> 68.389 + <text 68.390 + sodipodi:linespacing="100%" 68.391 + id="text5594" 68.392 + y="376.52615" 68.393 + x="298.7023" 68.394 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 68.395 + xml:space="preserve"><tspan 68.396 + y="376.52615" 68.397 + x="298.7023" 68.398 + id="tspan5596" 68.399 + sodipodi:role="line" 68.400 + style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan 68.401 + y="385.74353" 68.402 + x="298.7023" 68.403 + sodipodi:role="line" 68.404 + id="tspan5598" 68.405 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.S)</tspan></text> 68.406 + </g> 68.407 + <g 68.408 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 68.409 + transform="translate(-60,36)" 68.410 + id="g5600"> 68.411 + <path 68.412 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 68.413 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 68.414 + id="path5602" 68.415 + inkscape:connector-curvature="0" /> 68.416 + <text 68.417 + sodipodi:linespacing="100%" 68.418 + id="text5604" 68.419 + y="376.52615" 68.420 + x="378.7023" 68.421 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 68.422 + xml:space="preserve"><tspan 68.423 + y="376.52615" 68.424 + x="380.20621" 68.425 + id="tspan5606" 68.426 + sodipodi:role="line" 68.427 + style="font-size:9px;text-align:center;text-anchor:middle"><tspan 68.428 + style="font-size:10px" 68.429 + id="tspan5608">Resume </tspan></tspan><tspan 68.430 + y="385.74353" 68.431 + x="378.7023" 68.432 + sodipodi:role="line" 68.433 + id="tspan5610" 68.434 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.R)</tspan></text> 68.435 + </g> 68.436 + <text 68.437 + sodipodi:linespacing="100%" 68.438 + id="text5612" 68.439 + y="441.27441" 68.440 + x="354.7023" 68.441 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 68.442 + xml:space="preserve"><tspan 68.443 + y="441.27441" 68.444 + x="354.7023" 68.445 + sodipodi:role="line" 68.446 + id="tspan5614">Timeline A</tspan></text> 68.447 + <path 68.448 + inkscape:connector-curvature="0" 68.449 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 68.450 + d="m 320.08409,437.37498 c 28.16395,0 28.16395,0 28.16395,0" 68.451 + id="path5616" /> 68.452 + <path 68.453 + inkscape:connector-curvature="0" 68.454 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.60000016, 3.60000016;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 68.455 + d="m 196.11806,483.37498 c 152.64336,0 152.64336,0 152.64336,0" 68.456 + id="path3063" /> 68.457 + <path 68.458 + style="fill:none;stroke:#000000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.60000001, 3.60000001;stroke-dashoffset:0;marker-end:url(#Arrow2Send)" 68.459 + d="m 228.82881,449.32353 c 0,29.78359 0,29.78359 0,29.78359" 68.460 + id="path3086" 68.461 + inkscape:connector-curvature="0" /> 68.462 + <path 68.463 + inkscape:connector-curvature="0" 68.464 + id="path5044" 68.465 + d="m 266.82881,516.24027 c 0,-29.74405 0,-29.74405 0,-29.74405" 68.466 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.60000002, 3.60000002;stroke-dashoffset:0;marker-end:url(#Arrow2Send)" /> 68.467 + <path 68.468 + style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 68.469 + d="m 293.31837,481.43892 c 3.87039,-15.03735 4.2342,-21.56492 7.28321,-26.28454 5.73916,-8.88373 15.91289,-10.38025 15.91289,-10.38025" 68.470 + id="path5048" 68.471 + inkscape:connector-curvature="0" 68.472 + sodipodi:nodetypes="csc" /> 68.473 + <path 68.474 + sodipodi:nodetypes="csc" 68.475 + inkscape:connector-curvature="0" 68.476 + id="path5608" 68.477 + d="m 301.54925,484.53107 c 2.49703,15.03735 2.73174,21.56492 4.69884,26.28454 3.70269,8.88373 10.26639,10.38025 10.26639,10.38025" 68.478 + style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" /> 68.479 + <path 68.480 + id="path5610" 68.481 + d="m 196.98465,751.37498 c 69.82336,0 69.82336,0 69.82336,0" 68.482 + style="fill:#800000;stroke:#800000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 68.483 + inkscape:connector-curvature="0" /> 68.484 + <path 68.485 + inkscape:connector-curvature="0" 68.486 + id="path5612" 68.487 + d="m 266.82881,742.82004 c 0,19.38279 0,19.38279 0,19.38279" 68.488 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 68.489 + <text 68.490 + xml:space="preserve" 68.491 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 68.492 + x="264.7023" 68.493 + y="768.52612" 68.494 + id="text5614" 68.495 + sodipodi:linespacing="100%"><tspan 68.496 + style="font-size:10px;text-align:center;text-anchor:middle" 68.497 + sodipodi:role="line" 68.498 + id="tspan5616" 68.499 + x="264.7023" 68.500 + y="768.52612">Suspend</tspan><tspan 68.501 + style="font-size:9px;text-align:center;text-anchor:middle" 68.502 + id="tspan5618" 68.503 + sodipodi:role="line" 68.504 + x="264.7023" 68.505 + y="777.74353">(Point 2.S)</tspan></text> 68.506 + <path 68.507 + inkscape:connector-curvature="0" 68.508 + id="path5620" 68.509 + d="m 318.82881,742.77746 c 0,19.15152 0,19.15152 0,19.15152" 68.510 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 68.511 + <text 68.512 + xml:space="preserve" 68.513 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 68.514 + x="320.7023" 68.515 + y="768.52612" 68.516 + id="text5622" 68.517 + sodipodi:linespacing="100%"><tspan 68.518 + style="font-size:9px;text-align:center;text-anchor:middle" 68.519 + sodipodi:role="line" 68.520 + id="tspan5624" 68.521 + x="322.20621" 68.522 + y="768.52612"><tspan 68.523 + id="tspan5626" 68.524 + style="font-size:10px">Resume </tspan></tspan><tspan 68.525 + style="font-size:9px;text-align:center;text-anchor:middle" 68.526 + id="tspan5628" 68.527 + sodipodi:role="line" 68.528 + x="320.7023" 68.529 + y="777.74353">(Point 2.R)</tspan></text> 68.530 + <text 68.531 + sodipodi:linespacing="100%" 68.532 + id="text5630" 68.533 + y="755.27441" 68.534 + x="352.7023" 68.535 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 68.536 + xml:space="preserve"><tspan 68.537 + y="755.27441" 68.538 + x="352.7023" 68.539 + sodipodi:role="line" 68.540 + id="tspan5632">Timeline B</tspan></text> 68.541 + <path 68.542 + inkscape:connector-curvature="0" 68.543 + style="fill:none;stroke:#800000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 68.544 + d="m 320.08408,751.37498 c 27.45405,0 27.45405,0 27.45405,0" 68.545 + id="path5634" /> 68.546 + <path 68.547 + id="path5636" 68.548 + d="m 195.41471,787.37498 c 151.68424,0 151.68424,0 151.68424,0" 68.549 + style="fill:#000000;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 68.550 + inkscape:connector-curvature="0" /> 68.551 + <text 68.552 + xml:space="preserve" 68.553 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 68.554 + x="352.7023" 68.555 + y="790.02271" 68.556 + id="text5638" 68.557 + sodipodi:linespacing="100%"><tspan 68.558 + id="tspan5640" 68.559 + sodipodi:role="line" 68.560 + x="352.7023" 68.561 + y="790.02271">Physical time</tspan></text> 68.562 + <path 68.563 + inkscape:connector-curvature="0" 68.564 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 68.565 + d="m 195.92204,665.37498 c 33.06652,0 33.06652,0 33.06652,0" 68.566 + id="path5642" /> 68.567 + <g 68.568 + id="g5644" 68.569 + transform="translate(-70,264)" 68.570 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"> 68.571 + <path 68.572 + inkscape:connector-curvature="0" 68.573 + id="path5646" 68.574 + d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279" 68.575 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 68.576 + <text 68.577 + xml:space="preserve" 68.578 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 68.579 + x="298.7023" 68.580 + y="376.52615" 68.581 + id="text5648" 68.582 + sodipodi:linespacing="100%"><tspan 68.583 + style="font-size:10px;text-align:center;text-anchor:middle" 68.584 + sodipodi:role="line" 68.585 + id="tspan5650" 68.586 + x="298.7023" 68.587 + y="376.52615">Suspend</tspan><tspan 68.588 + style="font-size:9px;text-align:center;text-anchor:middle" 68.589 + id="tspan5652" 68.590 + sodipodi:role="line" 68.591 + x="298.7023" 68.592 + y="385.74353">(Point 1.S)</tspan></text> 68.593 + </g> 68.594 + <g 68.595 + id="g5654" 68.596 + transform="translate(-60,264)" 68.597 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"> 68.598 + <path 68.599 + inkscape:connector-curvature="0" 68.600 + id="path5656" 68.601 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 68.602 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 68.603 + <text 68.604 + xml:space="preserve" 68.605 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 68.606 + x="378.7023" 68.607 + y="376.52615" 68.608 + id="text5658" 68.609 + sodipodi:linespacing="100%"><tspan 68.610 + style="font-size:9px;text-align:center;text-anchor:middle" 68.611 + sodipodi:role="line" 68.612 + id="tspan5660" 68.613 + x="380.20621" 68.614 + y="376.52615"><tspan 68.615 + id="tspan5662" 68.616 + style="font-size:10px">Resume </tspan></tspan><tspan 68.617 + style="font-size:9px;text-align:center;text-anchor:middle" 68.618 + id="tspan5664" 68.619 + sodipodi:role="line" 68.620 + x="378.7023" 68.621 + y="385.74353">(Point 1.R)</tspan></text> 68.622 + </g> 68.623 + <text 68.624 + xml:space="preserve" 68.625 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 68.626 + x="352.7023" 68.627 + y="669.27441" 68.628 + id="text5666" 68.629 + sodipodi:linespacing="100%"><tspan 68.630 + id="tspan5668" 68.631 + sodipodi:role="line" 68.632 + x="352.7023" 68.633 + y="669.27441">Timeline A</tspan></text> 68.634 + <path 68.635 + id="path5670" 68.636 + d="m 320.08408,665.37498 c 27.45405,0 27.45405,0 27.45405,0" 68.637 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 68.638 + inkscape:connector-curvature="0" /> 68.639 + <path 68.640 + id="path5672" 68.641 + d="m 227.92204,711.37498 c 15.62732,0 15.62732,0 15.62732,0" 68.642 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.60000014, 3.60000014;stroke-dashoffset:0;marker-end:none" 68.643 + inkscape:connector-curvature="0" /> 68.644 + <path 68.645 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 68.646 + d="m 228.82881,701.32352 c 0,19.38279 0,19.38279 0,19.38279" 68.647 + id="path5674" 68.648 + inkscape:connector-curvature="0" /> 68.649 + <path 68.650 + inkscape:connector-curvature="0" 68.651 + id="path5676" 68.652 + d="m 242.82881,701.32352 c 0,19.38279 0,19.38279 0,19.38279" 68.653 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 68.654 + <path 68.655 + inkscape:connector-curvature="0" 68.656 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.6000001, 3.6000001;stroke-dashoffset:0;marker-end:none" 68.657 + d="m 265.92203,711.37498 c 28.40046,0 28.40046,0 28.40046,0" 68.658 + id="path5678" /> 68.659 + <path 68.660 + inkscape:connector-curvature="0" 68.661 + id="path5680" 68.662 + d="m 266.82881,701.32352 c 0,19.38279 0,19.38279 0,19.38279" 68.663 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 68.664 + <path 68.665 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 68.666 + d="m 294.82881,701.32352 c 0,19.38279 0,19.38279 0,19.38279" 68.667 + id="path5682" 68.668 + inkscape:connector-curvature="0" /> 68.669 + <path 68.670 + inkscape:connector-curvature="0" 68.671 + id="path5684" 68.672 + d="m 228.82881,677.32352 c 0,19.38279 0,19.38279 0,19.38279" 68.673 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.6, 3.6;stroke-dashoffset:0;marker-end:url(#Arrow2Send)" /> 68.674 + <path 68.675 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.6, 3.6;stroke-dashoffset:0;marker-end:url(#Arrow2Send)" 68.676 + d="m 266.82881,744.24025 c 0,-19.38279 0,-19.38279 0,-19.38279" 68.677 + id="path5686" 68.678 + inkscape:connector-curvature="0" /> 68.679 + <path 68.680 + sodipodi:nodetypes="csc" 68.681 + inkscape:connector-curvature="0" 68.682 + id="path5688" 68.683 + d="m 273.86358,709.43892 c 7.11652,-15.03735 7.78546,-21.56492 13.39171,-26.28454 10.55265,-8.88373 29.25918,-10.38025 29.25918,-10.38025" 68.684 + style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" /> 68.685 + <path 68.686 + style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 68.687 + d="m 284.33924,712.53107 c 5.3686,15.03735 5.87324,21.56492 10.10251,26.28454 7.96078,8.88373 22.07272,10.38025 22.07272,10.38025" 68.688 + id="path5690" 68.689 + inkscape:connector-curvature="0" 68.690 + sodipodi:nodetypes="csc" /> 68.691 + <text 68.692 + xml:space="preserve" 68.693 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 68.694 + x="354.7023" 68.695 + y="481.27441" 68.696 + id="text5880" 68.697 + sodipodi:linespacing="100%"><tspan 68.698 + id="tspan5882" 68.699 + sodipodi:role="line" 68.700 + x="354.7023" 68.701 + y="481.27441" 68.702 + style="fill:#ff0000">Hidden</tspan><tspan 68.703 + sodipodi:role="line" 68.704 + x="354.7023" 68.705 + y="491.27441" 68.706 + id="tspan5884" 68.707 + style="fill:#ff0000">Timeline</tspan></text> 68.708 + <text 68.709 + xml:space="preserve" 68.710 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 68.711 + x="248.7023" 68.712 + y="502.52612" 68.713 + id="text5886" 68.714 + sodipodi:linespacing="100%"><tspan 68.715 + style="font-size:10px;text-align:center;text-anchor:middle" 68.716 + id="tspan5890" 68.717 + sodipodi:role="line" 68.718 + x="248.7023" 68.719 + y="502.52612">comm</tspan></text> 68.720 + <text 68.721 + sodipodi:linespacing="100%" 68.722 + id="text5894" 68.723 + y="466.52612" 68.724 + x="244.7023" 68.725 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 68.726 + xml:space="preserve"><tspan 68.727 + y="466.52612" 68.728 + x="244.7023" 68.729 + sodipodi:role="line" 68.730 + id="tspan5896" 68.731 + style="font-size:10px;text-align:center;text-anchor:middle">comm</tspan></text> 68.732 + <text 68.733 + xml:space="preserve" 68.734 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 68.735 + x="314.7023" 68.736 + y="464.52612" 68.737 + id="text5898" 68.738 + sodipodi:linespacing="100%"><tspan 68.739 + style="font-size:10px;text-align:center;text-anchor:middle" 68.740 + id="tspan5900" 68.741 + sodipodi:role="line" 68.742 + x="314.7023" 68.743 + y="464.52612">control</tspan></text> 68.744 + <text 68.745 + sodipodi:linespacing="100%" 68.746 + id="text5902" 68.747 + y="506.52612" 68.748 + x="320.7023" 68.749 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 68.750 + xml:space="preserve"><tspan 68.751 + y="506.52612" 68.752 + x="320.7023" 68.753 + sodipodi:role="line" 68.754 + id="tspan5904" 68.755 + style="font-size:10px;text-align:center;text-anchor:middle">control</tspan></text> 68.756 + </g> 68.757 +</svg>
69.1 Binary file 0__Papers/PRT/PRT__formal_def/figures/PR__timeline_dual_w_hidden.pdf has changed
70.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 70.2 +++ b/0__Papers/PRT/PRT__formal_def/figures/PR__timeline_dual_w_hidden.svg Fri Sep 13 11:02:18 2013 -0700 70.3 @@ -0,0 +1,366 @@ 70.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 70.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 70.6 + 70.7 +<svg 70.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 70.9 + xmlns:cc="http://creativecommons.org/ns#" 70.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 70.11 + xmlns:svg="http://www.w3.org/2000/svg" 70.12 + xmlns="http://www.w3.org/2000/svg" 70.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 70.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 70.15 + width="744.09448819" 70.16 + height="1052.3622047" 70.17 + id="svg2" 70.18 + sodipodi:version="0.32" 70.19 + inkscape:version="0.48.2 r9819" 70.20 + sodipodi:docname="PR__timeline_dual_w_hidden.svg" 70.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 70.22 + version="1.1"> 70.23 + <defs 70.24 + id="defs4"> 70.25 + <marker 70.26 + inkscape:stockid="Arrow2Send" 70.27 + orient="auto" 70.28 + refY="0.0" 70.29 + refX="0.0" 70.30 + id="Arrow2Send" 70.31 + style="overflow:visible;"> 70.32 + <path 70.33 + id="path4262" 70.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 70.35 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 70.36 + transform="scale(0.3) rotate(180) translate(-2.3,0)" /> 70.37 + </marker> 70.38 + <marker 70.39 + inkscape:stockid="Arrow1Mend" 70.40 + orient="auto" 70.41 + refY="0.0" 70.42 + refX="0.0" 70.43 + id="Arrow1Mend" 70.44 + style="overflow:visible;"> 70.45 + <path 70.46 + id="path4238" 70.47 + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " 70.48 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;" 70.49 + transform="scale(0.4) rotate(180) translate(10,0)" /> 70.50 + </marker> 70.51 + <marker 70.52 + inkscape:stockid="Arrow2Mend" 70.53 + orient="auto" 70.54 + refY="0.0" 70.55 + refX="0.0" 70.56 + id="Arrow2Mend" 70.57 + style="overflow:visible;"> 70.58 + <path 70.59 + id="path4008" 70.60 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 70.61 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 70.62 + transform="scale(0.6) rotate(180) translate(0,0)" /> 70.63 + </marker> 70.64 + <inkscape:perspective 70.65 + sodipodi:type="inkscape:persp3d" 70.66 + inkscape:vp_x="0 : 526.18109 : 1" 70.67 + inkscape:vp_y="0 : 1000 : 0" 70.68 + inkscape:vp_z="744.09448 : 526.18109 : 1" 70.69 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 70.70 + id="perspective10" /> 70.71 + <inkscape:perspective 70.72 + id="perspective11923" 70.73 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 70.74 + inkscape:vp_z="1 : 0.5 : 1" 70.75 + inkscape:vp_y="0 : 1000 : 0" 70.76 + inkscape:vp_x="0 : 0.5 : 1" 70.77 + sodipodi:type="inkscape:persp3d" /> 70.78 + </defs> 70.79 + <sodipodi:namedview 70.80 + id="base" 70.81 + pagecolor="#ffffff" 70.82 + bordercolor="#666666" 70.83 + borderopacity="1.0" 70.84 + gridtolerance="10000" 70.85 + guidetolerance="10" 70.86 + objecttolerance="10" 70.87 + inkscape:pageopacity="0.0" 70.88 + inkscape:pageshadow="2" 70.89 + inkscape:zoom="1.3364318" 70.90 + inkscape:cx="214.9176" 70.91 + inkscape:cy="603.68563" 70.92 + inkscape:document-units="px" 70.93 + inkscape:current-layer="layer1" 70.94 + showgrid="false" 70.95 + inkscape:window-width="1317" 70.96 + inkscape:window-height="878" 70.97 + inkscape:window-x="7" 70.98 + inkscape:window-y="1" 70.99 + inkscape:window-maximized="0" /> 70.100 + <metadata 70.101 + id="metadata7"> 70.102 + <rdf:RDF> 70.103 + <cc:Work 70.104 + rdf:about=""> 70.105 + <dc:format>image/svg+xml</dc:format> 70.106 + <dc:type 70.107 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 70.108 + <dc:title></dc:title> 70.109 + </cc:Work> 70.110 + </rdf:RDF> 70.111 + </metadata> 70.112 + <g 70.113 + inkscape:label="Layer 1" 70.114 + inkscape:groupmode="layer" 70.115 + id="layer1"> 70.116 + <path 70.117 + inkscape:connector-curvature="0" 70.118 + style="fill:#800000;stroke:#800000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 70.119 + d="m 195.48813,523.37498 c 69.82336,0 69.82336,0 69.82336,0" 70.120 + id="path5552" /> 70.121 + <path 70.122 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 70.123 + d="m 266.82881,514.82004 c 0,19.38279 0,19.38279 0,19.38279" 70.124 + id="path5556" 70.125 + inkscape:connector-curvature="0" /> 70.126 + <text 70.127 + sodipodi:linespacing="100%" 70.128 + id="text5558" 70.129 + y="540.52612" 70.130 + x="264.7023" 70.131 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 70.132 + xml:space="preserve"><tspan 70.133 + y="540.52612" 70.134 + x="264.7023" 70.135 + id="tspan5560" 70.136 + sodipodi:role="line" 70.137 + style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan 70.138 + y="549.74353" 70.139 + x="264.7023" 70.140 + sodipodi:role="line" 70.141 + id="tspan5562" 70.142 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 2.S)</tspan></text> 70.143 + <path 70.144 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 70.145 + d="m 318.82881,514.77746 c 0,19.15152 0,19.15152 0,19.15152" 70.146 + id="path5566" 70.147 + inkscape:connector-curvature="0" /> 70.148 + <text 70.149 + sodipodi:linespacing="100%" 70.150 + id="text5568" 70.151 + y="540.52612" 70.152 + x="320.7023" 70.153 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 70.154 + xml:space="preserve"><tspan 70.155 + y="540.52612" 70.156 + x="322.20621" 70.157 + id="tspan5570" 70.158 + sodipodi:role="line" 70.159 + style="font-size:9px;text-align:center;text-anchor:middle"><tspan 70.160 + style="font-size:10px" 70.161 + id="tspan5572">Resume </tspan></tspan><tspan 70.162 + y="549.74353" 70.163 + x="320.7023" 70.164 + sodipodi:role="line" 70.165 + id="tspan5574" 70.166 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 2.R)</tspan></text> 70.167 + <text 70.168 + xml:space="preserve" 70.169 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 70.170 + x="354.7023" 70.171 + y="527.27441" 70.172 + id="text5576" 70.173 + sodipodi:linespacing="100%"><tspan 70.174 + id="tspan5578" 70.175 + sodipodi:role="line" 70.176 + x="354.7023" 70.177 + y="527.27441">Timeline B</tspan></text> 70.178 + <path 70.179 + id="path5580" 70.180 + d="m 320.08409,523.37498 c 28.16395,0 28.16395,0 28.16395,0" 70.181 + style="fill:none;stroke:#800000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 70.182 + inkscape:connector-curvature="0" /> 70.183 + <path 70.184 + inkscape:connector-curvature="0" 70.185 + style="fill:#000000;stroke:#000000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 70.186 + d="m 195.41472,559.37498 c 153.16627,0 153.16627,0 153.16627,0" 70.187 + id="path5582" /> 70.188 + <text 70.189 + sodipodi:linespacing="100%" 70.190 + id="text5584" 70.191 + y="562.02271" 70.192 + x="354.05777" 70.193 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 70.194 + xml:space="preserve"><tspan 70.195 + y="562.02271" 70.196 + x="354.05777" 70.197 + sodipodi:role="line" 70.198 + id="tspan5586">Physical time</tspan></text> 70.199 + <path 70.200 + id="path5588" 70.201 + d="m 195.17378,437.37498 c 33.06652,0 33.06652,0 33.06652,0" 70.202 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 70.203 + inkscape:connector-curvature="0" /> 70.204 + <g 70.205 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 70.206 + transform="translate(-70,36)" 70.207 + id="g5590"> 70.208 + <path 70.209 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 70.210 + d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279" 70.211 + id="path5592" 70.212 + inkscape:connector-curvature="0" /> 70.213 + <text 70.214 + sodipodi:linespacing="100%" 70.215 + id="text5594" 70.216 + y="376.52615" 70.217 + x="298.7023" 70.218 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 70.219 + xml:space="preserve"><tspan 70.220 + y="376.52615" 70.221 + x="298.7023" 70.222 + id="tspan5596" 70.223 + sodipodi:role="line" 70.224 + style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan 70.225 + y="385.74353" 70.226 + x="298.7023" 70.227 + sodipodi:role="line" 70.228 + id="tspan5598" 70.229 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.S)</tspan></text> 70.230 + </g> 70.231 + <g 70.232 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 70.233 + transform="translate(-60,36)" 70.234 + id="g5600"> 70.235 + <path 70.236 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 70.237 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 70.238 + id="path5602" 70.239 + inkscape:connector-curvature="0" /> 70.240 + <text 70.241 + sodipodi:linespacing="100%" 70.242 + id="text5604" 70.243 + y="376.52615" 70.244 + x="378.7023" 70.245 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 70.246 + xml:space="preserve"><tspan 70.247 + y="376.52615" 70.248 + x="380.20621" 70.249 + id="tspan5606" 70.250 + sodipodi:role="line" 70.251 + style="font-size:9px;text-align:center;text-anchor:middle"><tspan 70.252 + style="font-size:10px" 70.253 + id="tspan5608">Resume </tspan></tspan><tspan 70.254 + y="385.74353" 70.255 + x="378.7023" 70.256 + sodipodi:role="line" 70.257 + id="tspan5610" 70.258 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.R)</tspan></text> 70.259 + </g> 70.260 + <text 70.261 + sodipodi:linespacing="100%" 70.262 + id="text5612" 70.263 + y="441.27441" 70.264 + x="354.7023" 70.265 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 70.266 + xml:space="preserve"><tspan 70.267 + y="441.27441" 70.268 + x="354.7023" 70.269 + sodipodi:role="line" 70.270 + id="tspan5614">Timeline A</tspan></text> 70.271 + <path 70.272 + inkscape:connector-curvature="0" 70.273 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 70.274 + d="m 320.08409,437.37498 c 28.16395,0 28.16395,0 28.16395,0" 70.275 + id="path5616" /> 70.276 + <path 70.277 + inkscape:connector-curvature="0" 70.278 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.60000016, 3.60000016;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 70.279 + d="m 196.11806,483.37498 c 152.64336,0 152.64336,0 152.64336,0" 70.280 + id="path3063" /> 70.281 + <path 70.282 + style="fill:none;stroke:#000000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.60000001, 3.60000001;stroke-dashoffset:0;marker-end:url(#Arrow2Send)" 70.283 + d="m 228.82881,449.32353 c 0,29.78359 0,29.78359 0,29.78359" 70.284 + id="path3086" 70.285 + inkscape:connector-curvature="0" /> 70.286 + <path 70.287 + inkscape:connector-curvature="0" 70.288 + id="path5044" 70.289 + d="m 266.82881,516.24027 c 0,-29.74405 0,-29.74405 0,-29.74405" 70.290 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.60000002, 3.60000002;stroke-dashoffset:0;marker-end:url(#Arrow2Send)" /> 70.291 + <path 70.292 + style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 70.293 + d="m 293.31837,481.43892 c 3.87039,-15.03735 4.2342,-21.56492 7.28321,-26.28454 5.73916,-8.88373 15.91289,-10.38025 15.91289,-10.38025" 70.294 + id="path5048" 70.295 + inkscape:connector-curvature="0" 70.296 + sodipodi:nodetypes="csc" /> 70.297 + <path 70.298 + sodipodi:nodetypes="csc" 70.299 + inkscape:connector-curvature="0" 70.300 + id="path5608" 70.301 + d="m 301.54925,484.53107 c 2.49703,15.03735 2.73174,21.56492 4.69884,26.28454 3.70269,8.88373 10.26639,10.38025 10.26639,10.38025" 70.302 + style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" /> 70.303 + <text 70.304 + xml:space="preserve" 70.305 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 70.306 + x="354.7023" 70.307 + y="481.27441" 70.308 + id="text5880" 70.309 + sodipodi:linespacing="100%"><tspan 70.310 + id="tspan5882" 70.311 + sodipodi:role="line" 70.312 + x="354.7023" 70.313 + y="481.27441" 70.314 + style="fill:#ff0000">Hidden</tspan><tspan 70.315 + sodipodi:role="line" 70.316 + x="354.7023" 70.317 + y="491.27441" 70.318 + id="tspan5884" 70.319 + style="fill:#ff0000">Timeline</tspan></text> 70.320 + <text 70.321 + xml:space="preserve" 70.322 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 70.323 + x="248.7023" 70.324 + y="502.52612" 70.325 + id="text5886" 70.326 + sodipodi:linespacing="100%"><tspan 70.327 + style="font-size:10px;text-align:center;text-anchor:middle" 70.328 + id="tspan5890" 70.329 + sodipodi:role="line" 70.330 + x="248.7023" 70.331 + y="502.52612">comm</tspan></text> 70.332 + <text 70.333 + sodipodi:linespacing="100%" 70.334 + id="text5894" 70.335 + y="466.52612" 70.336 + x="244.7023" 70.337 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 70.338 + xml:space="preserve"><tspan 70.339 + y="466.52612" 70.340 + x="244.7023" 70.341 + sodipodi:role="line" 70.342 + id="tspan5896" 70.343 + style="font-size:10px;text-align:center;text-anchor:middle">comm</tspan></text> 70.344 + <text 70.345 + xml:space="preserve" 70.346 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 70.347 + x="314.7023" 70.348 + y="464.52612" 70.349 + id="text5898" 70.350 + sodipodi:linespacing="100%"><tspan 70.351 + style="font-size:10px;text-align:center;text-anchor:middle" 70.352 + id="tspan5900" 70.353 + sodipodi:role="line" 70.354 + x="314.7023" 70.355 + y="464.52612">control</tspan></text> 70.356 + <text 70.357 + sodipodi:linespacing="100%" 70.358 + id="text5902" 70.359 + y="506.52612" 70.360 + x="320.7023" 70.361 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 70.362 + xml:space="preserve"><tspan 70.363 + y="506.52612" 70.364 + x="320.7023" 70.365 + sodipodi:role="line" 70.366 + id="tspan5904" 70.367 + style="font-size:10px;text-align:center;text-anchor:middle">control</tspan></text> 70.368 + </g> 70.369 +</svg>
71.1 Binary file 0__Papers/PRT/PRT__formal_def/latex/PRT__full_w_Henning_derived_formal_def.pdf has changed
72.1 --- a/0__Papers/PRT/PRT__formal_def/latex/PRT__full_w_Henning_derived_formal_def.tex Sat Aug 03 19:24:22 2013 -0700 72.2 +++ b/0__Papers/PRT/PRT__formal_def/latex/PRT__full_w_Henning_derived_formal_def.tex Fri Sep 13 11:02:18 2013 -0700 72.3 @@ -49,7 +49,10 @@ 72.4 \preprintfooter{short description of paper} % 'preprint' option specified. 72.5 72.6 72.7 -\title{A Proto-Runtime Approach to Domain Specific Languages} 72.8 +\title{ The Proto-Runtime Abstraction for Construction 72.9 +of Parallel Language Runtime Systems\\ or\\ The Proto-Runtime 72.10 +Abstraction Applied to the Implementation of Runtime 72.11 +Systems for Parallel Domain Specific Languages} 72.12 72.13 72.14 \authorinfo{Sean Halle} 72.15 @@ -68,17 +71,22 @@ 72.16 72.17 \begin{abstract} 72.18 72.19 + 72.20 + 72.21 +Domain Specific Languages that are embedded into a base language have promise to provide productivity, performant-portability and wide adoption for parallel programming. However such languages have too few users to support the large effort required to create them and port them across hardware platforms, resulting in low adoption of the method. 72.22 +As one step to ameliorate this, we apply the proto-runtime approach, which reduces the effort to create and port the runtime systems of parallel languages. It modularizes the creation of runtime systems and the parallelism constructs they implement, by providing an interface 72.23 +that separates the language construct and scheduling logic away from the low-level runtime details, including concurrency, memory consistency, and runtime-performance aspects. 72.24 +As a result, new parallel constructs are written using sequential reasoning, multiple languages can be mixed within 72.25 +the same program, and reusable services such as performance 72.26 +tuning and debugging 72.27 +support are available. In addition, scheduling of work onto hardware is under language and application control, without interference from an underlying thread package scheduler. This enables higher quality scheduling decisions for higher application performance. 72.28 +We present measurements of the time taken to develop runtimes for new languages, as well as time to re-implement for existing ones, which average a few days each. In addition, we measure performance of implementations 72.29 +based on proto-runtime, going head-to-head with the standard distributions of Cilk, StarSs (OMPSs), and posix threads, showing that the proto-runtime matches or outperforms on large servers in all cases. 72.30 + 72.31 ? 72.32 -replace lang-specific with interface, centralize services, minimize effort to create, give language control over hardware assignment.. side benefits: multi-lang, perf-tuning, debugging 72.33 - 72.34 -? 72.35 - 72.36 -Domain Specific Languages that are embedded into a base language have promise to provide productivity, performant-portability and wide adoption for parallel programming. However such languages have too few users to support the large effort required to create them and port them across hardware platforms, resulting in low adoption of the method. 72.37 -To solve this, we introduce a proto-runtime approach, which reduces the effort to create and port domain specific languages. It modularizes the creation of runtime systems and the parallelism constructs they implement, by separating the language-construct and scheduling logic away from the low-level runtime details, including concurrency, memory consistency, and runtime-performance aspects. 72.38 -As a result, new parallel constructs are written using sequential reasoning, and multiple languages can be mixed within 72.39 -the same program. In addition, scheduling of work onto hardware is under language and application control, without interference from an underlying thread package scheduler. This enables higher quality scheduling decisions for higher application performance. 72.40 -We present measurements of the time taken to develop runtimes for new languages, as well as time to re-implement existing ones, which average a few days each. In addition, we measure performance of proto-runtime based implementations going head-to-head with the standard distributions of Cilk, StarSs (OMPSs), and posix threads, showing that the proto-runtime matches or outperforms on large servers in all cases. 72.41 -\end{abstract} 72.42 + 72.43 + 72.44 +replace lang-specific with interface, centralize services, minimize effort to create, give language control over hardware assignment.. side benefits: multi-lang, perf-tuning, debugging\end{abstract} 72.45 72.46 72.47 72.48 @@ -90,15 +98,22 @@ 72.49 72.50 [Note to reviewers: this paper's style and structure follow the official PPoPP guide to writing style, which is linked to the PPoPP website. We are taking on faith that the approach has been communicated effectively to reviewers and that we won't be penalized for following it's recommended structure and approach.] 72.51 72.52 -Programming in the past has been overwhelmingly sequential, with the applications being run on sequential hardware. But the laws of physics have forced the hardware to become parallel, which will force nearly all future programming to become parallel programming. However, the transition from sequential to parallel programming has been slow due to the difficulty of the traditional parallel programming methods. 72.53 - 72.54 -The difficulties with parallel programming fall into three main categories: 1) difficult mental model, 2) extra effort to rewrite the code for each hardware target to get acceptable performance and 3) disruption to existing practices, including steep learning curve, changes to the tools used, and changes in design practices. 72.55 - 72.56 -Many believe that these can be overcome with the use of embedded style Domain-Specific Languages (eDSLs) []. eDSL language 72.57 +The degree of parallelism in hardware steadily increases, but programming has not kept pace, instead relying 72.58 +upon band-aid measures to make use of relatively coarse 72.59 +grained multi-cores. Pressure continues to mount to 72.60 +integrate parallelism into every aspect of programming. 72.61 +However, the transition has been slow due to difficulties 72.62 +with the traditional parallel programming methods. 72.63 + 72.64 +The main difficulties with those parallel programming methods are: 1) difficult mental model, which reduces productivity, 2) additional effort to rewrite the code for each hardware target to get acceptable performance and 3) disruption to existing practices, including steep learning curve, changes to the tools used, and changes in work practices. 72.65 + 72.66 +New languages and tools are being investigated to mitigate 72.67 +these problems. Many believe that one promising approach 72.68 +is embedded-style parallel Domain-Specific Languages (epDSLs) []. epDSL language 72.69 constructs match the mental model of the domain, while 72.70 they internally imply parallelism. For example, a simulation 72.71 -eDSL called HWSim[] has only 10 constructs, which match 72.72 -the actions taken during a simulation 72.73 +epDSL called HWSim[] has only 10 constructs, which match 72.74 +the actions taken during simulation 72.75 of interacting objects. They are mixed into sequential C code and take 72.76 only a couple of hours to learn. Yet they encapsulate subtle 72.77 and complex dependencies that relate simulated time 72.78 @@ -108,63 +123,83 @@ 72.79 72.80 72.81 72.82 - Despite this, such languages have been slow to adopt, we believe due to the cost to create them and to port them across hardware targets. The small number of users of each language, which is specific to a narrow domain, makes this cost impractical. 72.83 - 72.84 -We propose that a method that makes Domain Specific Languages (DSLs) low cost to produce as well as to port across hardware targets will allow them to fulfill their promise, and we introduce what we call a proto-runtime to help towards this goal. 72.85 - 72.86 -The proto-runtime approach is a normal, full, runtime, but with two key pieces replaced by an interface. One piece replaced is the logic of language constructs, and the other is logic for choosing which core to assign work onto. The remaining proto-runtime piece handles the low-level hardware details of the runtime. 72.87 - 72.88 -The decomposition into a proto-runtime, plus plugged-in language behaviors, modularizes the construction of runtimes. The proto-runtime is one module, which embodies runtime internals, which are hardware oriented and independent of language. The plugged-in portions form the two other modules, which are language specific. The interface between them occurs at a natural boundary, which separates the hardware oriented portion of a runtime from the language oriented portion. 72.89 + Despite this, the adoption of such languages has been slow, we believe due to the cost to create them and to port them across hardware targets. The small number of users of each language, which is specific to a narrow domain, makes this cost impractical. 72.90 + 72.91 +We propose that a method that makes epDSLs lower cost to produce as well as to port across hardware targets will allow them to fulfill their promise. We discuss 72.92 +the proto-runtime approach and show 72.93 +how to apply it to help towards this goal. 72.94 + 72.95 +In this approach, a language's runtime system is built 72.96 +as a plugin that is plugged into to a proto-runtime instance that was separately installed on the given hardware. Together, the plugin 72.97 +plus proto-runtime instance form the runtime system 72.98 +of the language. The proto-runtime instance itself acts as the infrastructure of a runtime system, and 72.99 +encapsulates most of the hardware-specific details, 72.100 +while providing a number of services for use by the 72.101 +plugged in language module. 72.102 + 72.103 +A proto-runtime instance is essentially a full runtime, but with two key pieces replaced by an interface. One piece replaced is the logic of language constructs, and the other is logic for choosing which core to assign work onto. The proto-runtime instance then supplies 72.104 +the rest of the runtime system. 72.105 + 72.106 +The decomposition, into a proto-runtime plus plugged-in language behaviors, modularizes the construction of runtimes. The proto-runtime is one module, which embodies runtime internals, which are hardware oriented and independent of language. The plugged-in portions form the two other modules, which are language specific. The interface between them occurs at a natural boundary, which separates the hardware oriented portion of a runtime from the language oriented portion. 72.107 72.108 We claim the following benefits of the proto-runtime approach, each of which is supported in the indicated section of the paper: 72.109 72.110 \begin{itemize} 72.111 72.112 -\item The proto-runtime approach should reliably apply to future languages and hardware. because the patterns underlying it appear to be fundamental and so should hold for future languages and architectures (\S\ref{subsec:TiePoints}, 72.113 -\S\ref{subsec:Example}). 72.114 - 72.115 \item The proto-runtime approach modularizes the runtime (\S\ref{sec:Proposal}). 72.116 72.117 %\item The modularization is consistent with patterns that appear to be fundamental to parallel computation and runtimes (\S\ ). 72.118 72.119 -\item The modularization cleanly separates runtime internals from the language-specific logic (\S\ref{sec:Proposal}, 72.120 +\item The modularization cleanly separates hardware 72.121 +related runtime internals from the language-specific logic (\S\ref{sec:Proposal}, 72.122 \S\ref{subsec:Example}). 72.123 72.124 \item The modularization gives the language control 72.125 over timing and placement of executing work (\S\ref{sec:Proposal}). 72.126 72.127 + 72.128 +\item 72.129 + 72.130 +The modularization selectively exposes hardware aspects relevant to placement of work. If the language takes advantage of this, it can result in reduced communication between cores and increased application performance (\S\ ). 72.131 + 72.132 +\begin{itemize} 72.133 + 72.134 +\item Similar control over hardware is not possible when the language is built on top of a package like Posix threads or TBB, which has its own work-to-hardware assignment (\S\ref{sec:Related}). 72.135 + 72.136 +\end{itemize} 72.137 + 72.138 + 72.139 \item The modularization results in reduced time to implement a new language's behavior, and in reduced time to port a language to new hardware (\S\ref{sec:Proposal}, 72.140 \S\ref{subsec:ImplTimeMeas}). 72.141 72.142 \begin{itemize} 72.143 72.144 72.145 -\item Part of the time reduction is due to the proto-runtime providing a centralized location for services for all languages to use, so the language doesn't have to provide them separately. Such services include debugging facilities, automated verification, concurrency handling, hardware performance information gathering, and so on (\S\ ). 72.146 - 72.147 -\item Part of the time reduction is due to encapsulation of hardware aspects inside the hardware-oriented module (\S \ref{sec:intro}). 72.148 - 72.149 -\item Part of the time reduction is due to reuse of the performance-tuning effort for runtime internals (\S ). 72.150 - 72.151 -\item Part of the time reduction is due to using sequential thinking when implementing the language logic, enabled by the proto-runtime protecting shared internal runtime state and exporting an interface that presents a sequential model (\S\ref{subsec:Example}). 72.152 +\item Part of the time reduction is due to the proto-runtime providing common services for all languages to (re)use. Such services include debugging facilities, automated verification, concurrency handling, dynamic performance measurements for use in assignment and auto-tuning, and so on (\S\ ). 72.153 + 72.154 +\item Part is due to hiding the low 72.155 +level hardware aspects inside the proto-runtime module, 72.156 +independent from language (\S \ref{sec:intro}). 72.157 + 72.158 +\item Part is due to reuse of the effort of performance-tuning the runtime internals (\S ). 72.159 + 72.160 +\item Part is due to using sequential thinking when implementing the language logic, enabled by the proto-runtime protecting shared internal runtime state and exporting an interface that presents a sequential model (\S\ref{subsec:Example}). 72.161 72.162 72.163 \end{itemize} 72.164 72.165 -\item 72.166 - 72.167 -The modularization also selectively exposes hardware aspects relevant to placement of work, giving the language control over placement of work onto the hardware. If the language takes advantage of this, it can result in reduced communication between cores and increased application performance (\S\ ). 72.168 - 72.169 -\begin{itemize} 72.170 - 72.171 -\item Similar control over hardware is not possible when the language is built on top of a package like Posix threads or TBB, which has its own work-to-hardware assignment (\S\ref{sec:Related}). 72.172 +\item Modularization with similar benefits does not appear possible when using a package such as Posix threads or TBB, unless the package itself is modified and then used according to the proto-runtime pattern (\S\ref{sec:Related}). 72.173 + 72.174 + 72.175 +\item The proto-runtime approach appears to future-proof language 72.176 +runtime 72.177 +construction, because the patterns underlying proto-runtime appear to be fundamental (\S\ref{subsec:TiePoints}, 72.178 +\S\ref{subsec:Example}), and so should hold for future architectures. Plugins are reused on those, although performance related updates to the 72.179 +plugins may be desired. 72.180 72.181 \end{itemize} 72.182 72.183 -\item Modularization with similar benefits does not appear possible when using a package such as Posix threads or TBB, unless the package itself is modified and then used according to the proto-runtime pattern (\S\ref{sec:Related}). 72.184 - 72.185 -\end{itemize} 72.186 - 72.187 -The paper is organized as follows: We first expand on the value of embedded style DSLs (eDSL), and where the effort goes when creating one (\S\ref{subsec:eDSLEffort}). We focus on the role that runtime implementation effort plays in the adoption of eDSLs, which motivates the value of the savings provided by the proto-runtime approach. We then move on to the details of the proto-runtime approach (\S\ref{sec:Proposal}), and tie them to how a runtime is modularized (\S\ref{subsec:Modules}), covering how each claimed benefit is provided. 72.188 +The paper is organized as follows: We first expand on the value of embedded style parallel DSLs (epDSLs), and where the effort goes when creating one (\S\ref{subsec:eDSLEffort}). We focus on the role that runtime implementation effort plays in the adoption of epDSLs, which motivates the value of the savings provided by the proto-runtime approach. We then move on to the details of the proto-runtime approach (\S\ref{sec:Proposal}), and tie them to how a runtime is modularized (\S\ref{subsec:Modules}), covering how each claimed benefit is provided. 72.189 We then show overhead measurements (\S\ref{subsec:OverheadMeas}) and implementation time measurements (\S\ref{subsec:ImplTimeMeas} ), which indicate that the proto-runtime approach is performance competitive while significantly reducing implementation and porting effort. 72.190 With that understanding in hand, we then discuss how the approach compares to related work (\S\ref{sec:Related}), and finally, we highlight the main conclusions drawn from the research (\S\ref{sec:Conclusion}). 72.191 72.192 @@ -174,7 +209,7 @@ 72.193 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 72.194 % 72.195 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 72.196 -\section{Background: The eDSL Hypothesis} 72.197 +\section{Background: The epDSL Hypothesis} 72.198 72.199 %[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]] 72.200 72.201 @@ -186,10 +221,10 @@ 72.202 72.203 Domain Specific Languages have been around for a while [], and recently have been suggested as a good approach for parallel programming[][stanford PPL]. 72.204 72.205 -In essence, a DSL, or just Domain Language, captures patterns that are common in a particular domain of expertise, such as user interfaces, simulations of physical phenomena, bio-informatics, cosmology, and so on. Each domain has a particular set of mental models, common types of computation, and common kinds of data structures. A DSL captures these common elements in custom syntax. 72.206 +In essence, a DSL, or just Domain Language, captures patterns that are common in a particular domain of expertise, such as user interfaces, simulations of physical systems, bio-informatics, and so on. Each domain has a particular set of mental models, common types of computation, and common kinds of data structures. A DSL captures these common elements in custom syntax. 72.207 72.208 72.209 -The custom syntax can capture parallelism information while simultaneously being natural to think about. In practice, multiple aspects of domains provide opportunities for parallelism. For example, the custom data structures seen by the coder can be internally implemented with distributed algorithms; common operations in the domain can be internally implemented with parallel algorithms; and, the domain constructs often imply dependencies. All of these are gained without the programmer being aware of this implied parallelism. 72.210 +The custom syntax can capture parallelism information while simultaneously being natural to think about. In practice, multiple aspects of domains provide opportunities for parallelism. For example, the custom data structures seen by the coder can be internally implemented with distributed algorithms; common operations in the domain can be internally implemented with parallel algorithms; and, the domain constructs often imply dependencies. All of these are gained without the programmer being aware of this implied parallelism; they just follow simple language usage rules. 72.211 72.212 72.213 72.214 @@ -198,62 +233,68 @@ 72.215 A style of domain language, which we feel has good adoption potential, is the so-called \textit{embedded} style of DSL (eDSL) [] [metaborg][stanford ppl]. In this variation, a program is written in a mix of a base sequential language plus domain language constructs. The syntax of the two is intermixed. A preprocessing step then translates the domain syntax into the base syntax, and includes calls to the domain language's runtime. 72.216 72.217 72.218 -For example, use C (or Java) as the base language for an application, and mix-in custom syntax for constructs from a user-interface eDSL. To test the code, the developer modifies the build process to first perform the translation step, then pass the resulting source through the normal C (or Java) compiler. The resulting executable contains calls to a dynamic (or shared) runtime library that becomes linked, at run time, to an implementation that has been tuned to the hardware it is running on. 72.219 +For example, use C (or Java) as the base language for an application, then mix-in custom syntax from a user-interface eDSL. To test the code, the developer modifies the build process to first perform the translation step, then pass the resulting source through the normal compiler. The resulting executable contains calls to a runtime library that becomes linked, at run time, to an implementation that has been tuned to the hardware. 72.220 72.221 As with HWSim, the number of such embedded 72.222 constructs tends to be low, easy to learn, and significantly 72.223 reduce the complexity of the code written. All while 72.224 implicitly specifying parallelism. 72.225 72.226 -Additionally, eDSLs have more than just a syntactic advantage over libraries. The language has a toolchain that provides build-time optimization and can take advantage of relationships among distinct constructs within the code. The relationship information allows derivation of communication patterns that inform the choice of placement of work, which is critical to performance on parallel hardware. 72.227 +Additionally, parallel versions, or epDSLs have more than just a syntactic advantage over libraries. The language has a toolchain that provides build-time optimization and can take advantage of relationships among distinct constructs within the code. The relationship information allows derivation of communication patterns that inform the choice of placement of work, which is critical to performance on parallel hardware. 72.228 \subsection{Low learning curve, high productivity, and portability} 72.229 -eDSLs are generally quick to learn because the domain experts are already familiar with the concepts expressed by the custom syntax, and the number of constructs 72.230 -tends to be low for an embedded DSL. This is especially valuable for those who are \textit{not} expert programmers. Embedded style DSLs further reduce learning curve because they require no new development tools nor development procedures. Together, these address the goal of a low learning curve for switching to parallel software development. 72.231 - 72.232 -Productivity has been shown to be enhanced by a well designed DSL, with studies commonly measuring 72.233 -10x reduction in development time []. Factors 72.234 -include simplifying the application code, modularizing it, and encapsulating performance aspects inside the language. Simplifying reduces the amount of code and the amount of mental effort. Modularizing separates concerns within the code and isolates aspects, which improves productivity. Encapsulating performance inside the DSL constructs removes them from the application programmer's concerns, which also improves productivity. 72.235 + eDSLs tend to have low learning curve because domain experts are already familiar with the concepts behind the language constructs, and there are relatively few constructs 72.236 +for an embedded DSL. This is especially valuable for those who are \textit{not} expert programmers. Embedded style DSLs further reduce learning curve because they require no new development tools nor development procedures. Together, these address the goal of a low learning curve for switching to parallel software development. 72.237 + 72.238 +Productivity has been shown to be enhanced by a well designed DSL, with studies measuring 72.239 +10x reduction in development time [][][]. Factors 72.240 +behind this include simplifying the application code, modularizing it, and encapsulating performance aspects inside the language. Simplifying reduces the amount of code and the amount of mental effort. Modularizing separates concerns within the code and isolates aspects, which improves productivity. Encapsulating performance inside the DSL constructs removes them from the application programmer's concerns, which also improves productivity. 72.241 72.242 Perhaps the most important productivity enhancement comes from hiding parallelism aspects inside the DSL constructs. The language takes advantage of the domain patterns to present a familiar mental model, and then attaches synchronization, work-division, and communication implications to those constructs, without the programmer having to be aware of them. Combining the simplicity, modularization, performance encapsulation, and parallelism hiding, with congruence with the mental model of the domain, together work towards the goal of high productivity. 72.243 72.244 -Portability is aided by the encapsulation of performance aspects inside the DSL constructs. This means that the elements of the problem that require large amounts of computation are often pulled into the language, which isolates the application code from hardware performance concerns. Only the language implementation must adapt to new hardware in order to get high performance. Although such isolation cannot always be fully achieved, Domain Languages hold promise for making significant strides towards it. 72.245 +Portability is aided by the encapsulation of performance aspects inside the DSL constructs. The aspects that require large amounts of computation are often pulled into the language, so only the language implementation must adapt to new hardware. Although fully achieving such isolation isn't always possible, epDSLs hold promise for making significant strides towards it. 72.246 72.247 \subsection{Low disruption and easy adoption} 72.248 72.249 -Using an eDSL tends to have low disruption because the base language remains the same, along with most of the development tools and practices. 72.250 - Constructs from the eDSL can be mixed into existing sequential code, incrementally replacing the high computation sections, while continuing with the same development practices. 72.251 +Using an epDSL tends to have low disruption because the base language remains the same, along with most of the development tools and practices. 72.252 + Constructs from the epDSL can be mixed into existing sequential code, incrementally replacing the high computation sections, while continuing with the same development practices. 72.253 72.254 \subsection{ Few users means the effort of eDSLs must be low} \label{subsec:eDSLEffort} 72.255 72.256 -What appears to be holding eDSLs back from addressing the challenges of parallel programming would be mainly the time, expertise, and cost needed to develop an eDSL. Because the number of users is small, the economic model of the past doesn't apply. For sequential languages, the potential user-base is in the millions, but for a parallel Domain Language, the user base may be only a few hundred developers who will use the language. 72.257 - 72.258 -As such, the effort to create a usable eDSL needs to be reduced to the point that it is viable for that size of user base. 72.259 - 72.260 -The effort to be reduced falls into three categories: 72.261 +What appears to be holding epDSLs back from widespread 72.262 +adoption is mainly the time, expertise, and cost to develop an epDSL. The effort to create a usable epDSL needs to be reduced to the point that it is viable for a user base of only a few hundred. 72.263 + 72.264 +The effort falls into three categories: 72.265 72.266 \begin{enumerate} 72.267 -\item effort to explore language design and create the eDSL syntax 72.268 -\item effort to create the runtime that produces the eDSL behavior 72.269 -\item effort to performance tune the eDSL on particular hardware 72.270 +\item effort to explore language design and create the epDSL syntax 72.271 +\item effort to create the runtime that produces the epDSL behavior 72.272 +\item effort to performance tune the epDSL on particular hardware 72.273 \end{itemize} 72.274 72.275 72.276 -\subsection{Critical areas of effort in the big picture} 72.277 - 72.278 -Across the industry as a whole, when eDSLs become successful, there will be hundreds of Domain Languages, and likewise hundreds of different hardware platforms that each language must run efficiently on. That multiplicative effect must be reduced in order to make the eDSL approach economically viable. 72.279 +\subsection{The big picture} 72.280 + 72.281 +Across the industry as a whole, when epDSLs become successful, there may be thousands of epDSLs, that 72.282 +each must be mapped onto hundreds of different hardware platforms. That multiplicative effect must be reduced in order to make the epDSL approach economically viable. 72.283 72.284 The first category of eDSL effort is creating the front-end translation of custom syntax into the base language. This is a one-time effort that does not repeat when new hardware is added. 72.285 72.286 -The effort that has to be expended on each platform is the runtime implementation, which includes hardware-specific low-level tuning, and the tuning of the domain construct implementation. 72.287 - 72.288 -Luckily, hardware platforms cluster into groups with similar performance-related features. This opens the door to an approach that can present a common abstraction for all platforms in a cluster. Examples of clusters include: 72.289 +The effort that has to be expended on each platform is the runtime implementation and toolchain optimizations. 72.290 +Runtime implementation includes hardware-specific low-level tuning and modification of mapping of work onto cores. 72.291 + 72.292 +This is where leveraging the proto-runtime approach 72.293 +pays off. Hardware platforms cluster into groups with similar performance-related features. Proto-runtime 72.294 +presents a common abstraction for all hardware 72.295 +platforms, but a portion of the interface supplies performance related 72.296 +information specific to the hardware. This portion is specialized for each 72.297 +cluster. Examples of clusters include: 72.298 72.299 \begin{itemize} 72.300 -\item shared coherent memory multi-core single-chip machine 72.301 -\item shared coherent memory multi-core multi-chip machine 72.302 -\item independent address space coprocessor (GPU) 72.303 -\item a network of nodes of the above categories 72.304 -\item a machine with a hierarchy of sub-networks 72.305 +\item single chip shared coherent memory 72.306 +\item multi-chip shared coherent memory (NUMA) 72.307 +\item coprocessor with independent address space (GPGPU) 72.308 +\item a network among nodes of the above categories 72.309 +(Distributed) \item a hierarchy of sub-networks 72.310 \end{itemize} 72.311 72.312 72.313 @@ -262,9 +303,12 @@ 72.314 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 72.315 \section{Our Proposal} \label{sec:Proposal} 72.316 72.317 -We propose addressing the runtime effort by defining a modularization of runtimes, as seen in Fig X. The low-level hardware details are collected into one module, which presents a common interface. The language supplies 72.318 -the top two modules, which plug in via the interface. The hardware specific module presents the same interface 72.319 -for all platforms sharing similar performance related features. This module only has to be implement once for a given platform, then reused by the languages. 72.320 +We propose addressing the runtime effort portion of creating 72.321 +an epDSL by defining a modularization of runtimes, as seen in Fig. \ref{fig:PR_three_pieces}. The low-level hardware details are collected into one module, which presents a common interface, called the \textit{proto-runtime 72.322 +instance}. The language supplies 72.323 +the top two modules, which plug in via the interface. The hardware specific module (proto-runtime instance) presents the same interface 72.324 +for all platforms, with a specialization for each category 72.325 +of platform sharing similar performance related features. The proto-runtime module only has to be implement once for a given platform, and is then reused by all the languages. 72.326 72.327 \begin{figure}[ht] 72.328 \centering 72.329 @@ -274,16 +318,16 @@ 72.330 \end{figure} 72.331 72.332 72.333 -Thus, a given language doesn't have to re-implement its runtime for every platform. Instead, it has a much lower effort requirement, of implementing for each category. 72.334 - 72.335 -The language effort is further reduced because the language doesn't consider the low-level details of making the runtime itself run fast. It only has to consider the level of hardware feature that is exposed by the interface. This is a higher level of abstraction, which simplifies the task for the language implementer. 72.336 - 72.337 -One additional benefit is giving control to the language, to choose when and where it wishes work to execute. 72.338 -This feature simplifies implementation of languages 72.339 -that have features related to scheduling behavior. 72.340 +Because of the modularization, a language has a much lower effort requirement, of implementing just for each category. 72.341 + 72.342 +The higher level of abstraction simplifies the task for the language implementer. 72.343 +The language doesn't consider the low-level details of making the runtime itself run fast. It only has to consider the level of hardware feature that is exposed by the interface. 72.344 + 72.345 +One additional benefit is that the assignment module 72.346 +gives control to the language, to choose when and where it wishes work to execute. 72.347 +This simplifies implementation of language features related to scheduling behavior. 72.348 It also enables the language implementor to use sophisticated 72.349 -methods for choosing placement of virtual processors 72.350 -(threads) and tasks, which can significantly impact 72.351 +methods for choosing placement of work, which can significantly impact 72.352 application performance. 72.353 72.354 In this paper, we present work that applies to coherent 72.355 @@ -292,10 +336,10 @@ 72.356 72.357 \subsection{Breakdown of the modules} \label{subsec:Modules} 72.358 72.359 -The language is broken into two parts, as seen in Fig 72.360 -X. One is a thin wrapper library that 72.361 -invokes the runtime and the other is a set of modules that are part of the runtime. 72.362 - 72.363 +The language is broken into two parts, as seen in Fig. 72.364 +\ref{fig:langBreakdown}. One is a thin wrapper library that 72.365 +invokes the runtime and the other is a set of modules that are part of that invoked runtime. These are called 72.366 +the \textit{language plugin} or just plugin. 72.367 72.368 72.369 \begin{figure}[ht] 72.370 @@ -308,26 +352,19 @@ 72.371 \label{fig:langBreakdown} 72.372 \end{figure} 72.373 72.374 -The runtime itself consists of three modules connected via 72.375 -an interface, as was seen back in Fig X. One encapsulates the low-level hardware details, and presents an interface to the language modules. We call 72.376 -this the \textit{proto-runtime}. 72.377 -It's job is to enforce the interface that the language modules see. 72.378 - 72.379 - 72.380 -The language has two modules, both of which are collected in what we call the \textit{language plugin}. One module encodes the behavior of language 72.381 -constructs, the other module provides logic for choosing which work to execute on 72.382 -which hardware resource. 72.383 - 72.384 -A non-changing application executable is able to invoke hardware specific plugin code, which changes between machines, because the plugin collects the two language modules into a dynamic library. The library is implemented, compiled, distributed and installed separately from applications. The application executable contains only symbols of plugin functions, and during the run those are dynamically linked to machine-specific implementations. 72.385 - 72.386 - 72.387 -In order to provide such modularization, we rely upon a model for specifying synchronization constructs that we call the tie-point model. The low-level nature of a tie-point places them below the level of constructs such as a mutex. Instead, a mutex is specified in terms 72.388 + 72.389 + 72.390 +Thus, a non-changing application executable is able to invoke hardware specific plugin code, which changes between machines. The plugin collects the two language modules into a dynamic library. The library is implemented, compiled, distributed and installed separately from applications. The application executable contains only symbols of plugin functions, and during the run those are dynamically linked to machine-specific implementations. 72.391 + 72.392 + 72.393 +In order to provide such modularization, we rely upon a model for specifying synchronization constructs that we call the tie-point model. The low-level nature of a tie-point places them below the level of constructs, 72.394 +even a simple mutex. Instead, a mutex is specified in terms 72.395 of the primitives in the tie-point model. In turn, 72.396 -the proto-runtime 72.397 - implements the primitives of the tie-point model. 72.398 +the tie-point primitives are implemented 72.399 +by proto-runtime. 72.400 72.401 This places all parallel constructs on the same level in the software stack, be they complex like the AND-OR parallelism of Prolog, or the wild-card matching 72.402 -channels in coordination languages, or ultra-simple acquire and release mutex constructs. All are implemented in terms of the same tie-point primitives provided by the proto-runtime. 72.403 +channels in coordination languages, or ultra-simple acquire and release mutex constructs. All are implemented in terms of the same tie-point primitives provided by the proto-runtime instance. 72.404 72.405 We have reached a point in the paper, now, where the order of explanation can take one of two paths: either 72.406 start with the abstract model of tie-points and explain how this affects the modularization of the runtime, or start with implementation details and work upwards towards the abstract model of tie-points. We have chosen to start with the abstract tie-point model, but the reader is invited to skip to the section after it, which starts with code examples and ties code details to the abstract tie-point model. 72.407 @@ -338,14 +375,14 @@ 72.408 72.409 72.410 \subsection{timelines} 72.411 -A tie-point relates timelines, so we talk a bit, first, about timelines. A timeline is the primitive in parallelism. If you look at any parallel language, it involves a number of independent timelines. It then controls which timelines are actively progressing relative to the others. 72.412 +A tie-point relates timelines, so we talk a bit, first, about timelines. A timeline is the common element in parallelism. If you look at any parallel language, it involves a number of independent timelines. It then controls which timelines are actively progressing relative to the others. 72.413 72.414 For example, take a thread library, which we consider 72.415 a parallel language. It provides a command to create a thread, where that thread represents an independent timeline. The library also provides the mutex acquire and release commands, which control which of those timelines advance relative to each other. When an acquire executes, it can cause the thread to block, which means the associated timeline suspends; it stops 72.416 making forward progress. The release in a different thread clears the block, which resumes the timeline. That linkage between suspend and resume of different timelines is the control the language exerts over which timelines are actively progressing. 72.417 72.418 To build up to tie-points, we look at the nature of points on 72.419 -a single timeline, by reviewing mutex behavior in detail. We see the timeline shown in Fig \ref{fig:singleTimeline}. Thread A, which is timeline A, tries to acquire the mutex, M, 72.420 +a single timeline, by reviewing mutex behavior in detail. See the timeline shown in Fig \ref{fig:singleTimeline}. Thread A, which is timeline A, tries to acquire the mutex, M, 72.421 by executing the acquire command. Timeline A stops, at point 1.S, then something external to it happens, and the timeline starts again at point 1.R. The gap between is not seen by the code executed within the thread. Rather, from the code-execution viewpoint, the acquire command is a single command, and hence the gap between 1.S and 1.R collapses to a single point on the timeline. 72.422 72.423 72.424 @@ -359,36 +396,74 @@ 72.425 \end{figure} 72.426 72.427 72.428 -Now, a tie-point is seen as the linkage between such collapsed points on 72.429 -two timelines. In Fig \ref{fig:dualTimeline}, timeline A is still there, suspends still at 1.S and resumes at 1.R. However, now there is a second timeline, timeline B. It executes the release command at point 2.S, which suspends timeline B, performs the behavior of the release command 72.430 -inside the gap, then resumes timeline B at 2.R. The behavior of the release 72.431 -command causes the end of suspend in the first timeline. That causality ties the two collapsed points in the two timelines together. 72.432 - 72.433 + Fig. \ref{fig:dualTimeline} shows two timelines: timeline A executing acquire and timeline B executing release. The release still suspends its timeline, but 72.434 +it quickly resumes again because it is not blocked. 72.435 +The release causes timeline A to also resume. The fact 72.436 +of the release on one timeline has caused the end of the acquire on the other. This makes 72.437 +the two collapsed points become what we term \textit{tied together} into a \textit{tie-point}. 72.438 72.439 \begin{figure}[ht] 72.440 \centering 72.441 - \includegraphics[width = 2.8in, height = 1.35in] 72.442 + \includegraphics[width = 2.8in, height = 1.2in] 72.443 {../figures/PR__timeline_dual.pdf} 72.444 - \caption{Two timelines with a causal relationship. 72.445 -Activity that takes place during the gap in timeline 72.446 -B causes resume of timeline A. This ties point 2 on 72.447 -timeline B to point 1 on timeline A.} 72.448 + \caption{Two timelines with tied together ``collapsed'' 72.449 +points. 72.450 +Point 1 on timeline A forms a tie-point with point 72.451 +2 on timeline B. 72.452 +It is hidden activity that takes place inside the gaps that 72.453 +establishes a causal relationship that ties them together.} 72.454 \label{fig:dualTimeline} 72.455 \end{figure} 72.456 72.457 - 72.458 - 72.459 -We call this connection between the collapsed suspensions a tie-point. What it provides is a guarantee about visibility of events between the tied timelines. The 72.460 -guarantee makes both agree on the order of events,\textit{ 72.461 -relative to the mutual tied point}. 72.462 -The guarantees are what defines a tie-point. 72.463 - 72.464 -Fig \ref{fig:tie-pointGuarantees} shows the ordering guarantees in terms of visibility of operations between 72.465 -the timelines. If these visibility constraints are 72.466 -satisfied, then the timelines share a tie-point. Note that the ordering 72.467 - guarantees are equivalent to the constraints on visibility of operations. Operations that execute in 72.468 -the first timeline before the tie-point must be visible 72.469 -in the second after the tie point, and vice versa. Likewise, operations that execute in one timeline after the tie-point must not be visible in the other timeline before the tie-point. 72.470 +Fig. \ref{fig:dualTimelineWHidden} adds detail about 72.471 +how the release goes about causing the end of the block 72.472 +on the acquire. It reveals 72.473 +a hidden timeline, which is what performs the behavior of the 72.474 +acquire and release constructs. As seen, acquire starts 72.475 +with a suspend, which is accompanied by a communication 72.476 +sent to the hidden timeline. The hidden timeline then 72.477 +checks whether the mutex is free, sees that it isn't 72.478 +and leaves timeline A suspended. Later, timeline 72.479 +B performs release, which suspends it and sends a communication 72.480 +to the same hidden timeline. That then sees that timeline 72.481 +A is waiting for the release and performs a special 72.482 +control action that resumes timeline A, followed by 72.483 +doing the control action again to resume timeline B. 72.484 + It is inside the hidden timeline that the acquire 72.485 +gets linked to the release, tying the constructs together. 72.486 + 72.487 + 72.488 +\begin{figure}[ht] 72.489 + \centering 72.490 + \includegraphics[width = 2.8in, height = 1.9in] 72.491 + {../figures/PR__timeline_dual_w_hidden.pdf} 72.492 + \caption{Two timelines with tied together ``collapsed'' 72.493 +points showing the detail of a hidden timeline that 72.494 +performs the behavior that ties the points together. 72.495 +Vertical dashed lines represent communication sent 72.496 +as part of the suspend action, and the curvy arrows 72.497 +represent special control that causes resume of the 72.498 +target timelines. During the gaps in timelines A and 72.499 +B, activity takes place in the hidden timeline, which 72.500 +calculates that the timelines should be resumed, then 72.501 +exercises control to make resume happen.} 72.502 + \label{fig:dualTimelineWHidden} 72.503 +\end{figure} 72.504 + 72.505 + 72.506 + 72.507 +We show in \S\ref{sec:FormalTiePoint} that the pattern 72.508 +of communications to and from the hidden timeline establishes 72.509 +an ordering relationship between events before and 72.510 +after the tied points. That implies a relation on 72.511 +the visibility of events. 72.512 + 72.513 +Fig \ref{fig:tie-pointGuarantees} shows the ordering relationship and the implied visibility of operations between 72.514 +the timelines. Operations that execute in 72.515 +the first timeline before the tie-point are visible 72.516 +in the second after the tie point, and vice versa. Likewise, operations that execute in one timeline after the tie-point are not visible in the other timeline before the tie-point. Such an ordering satisfies 72.517 +the requirements 72.518 +of a synchronization construct. 72.519 72.520 72.521 72.522 @@ -397,31 +472,31 @@ 72.523 \includegraphics[width = 2.8in, height = 1.25in] 72.524 {../figures/PR__timeline_tie_point_ordering.pdf} 72.525 \caption{The 72.526 -guarantees that a tie-point enforces. Shows which 72.527 - operations performed on one timeline are visible to the other 72.528 -timeline. These visibilities must be true for a tie-point. 72.529 -Note that all events are divided into two groups, those 72.530 -before the tied points versus those after the tied 72.531 -points. Both timelines see the same before group and 72.532 -the same after group. } 72.533 +visibility guarantees that result from a tie-point. Shows which 72.534 + operations, such as writes, performed on one timeline can be seen by the other 72.535 +timeline. These visibilities are equivalent to establishing 72.536 +an order between events before the tied points versus those after the tied 72.537 +points. Both timelines agree on what events are before 72.538 +versus after the tied point. } 72.539 \label{fig:tie-pointGuarantees} 72.540 \end{figure} 72.541 72.542 72.543 -\subsection{Formal definition of tie-point} 72.544 +\subsection{Formal definition of tie-point} \label{sec:FormalTiePoint} 72.545 In a moment we will show how any and all synchronization constructs 72.546 can be defined in terms of tie-points. Before getting 72.547 -there, we provide a formal definition of tie-point, 72.548 -which we will then use to show that a tie point 72.549 -can satisfy the conditions of any synchronization 72.550 +there, we must choose an, unavoidably arguable, definition of synchronization 72.551 +construct. We then provide a formal definition of tie-point 72.552 +and use it to show that a tie point 72.553 +satisfies the conditions of any 72.554 +such synchronization 72.555 construct. 72.556 - 72.557 + 72.558 Our formalism defines timelines, communication between 72.559 timelines, and suspend and resume of a timeline. It then shows a particular pattern, which is the characteristic pattern that defines a tie-point. We then show that when that characteristic pattern exists, then relations exist between timelines that have certain properties. 72.560 We conclude by showing a few classical definitions 72.561 of synchronization and show that those definitions 72.562 -are upheld when a relation with the derived properties 72.563 -exists among the timelines. Hence, those classical definitions can be satisfied via creation of a tie-point. 72.564 +are upheld when the tie-point pattern is present. Hence, those classical definitions can be satisfied via creation of a tie-point. 72.565 72.566 \subsubsection{} 72.567 72.568 @@ -438,7 +513,7 @@ 72.569 from any timeline that code executes in). 72.570 72.571 \item[event:] 72.572 -\(E =\{c_{0,t},c_{1,t}, ..\} \cup \{s_{\alpha ,t}\} \cup \{r_{\beta , t}\} 72.573 +\(E =\{c_{0,t},c_{1,t}, ..\} \cup \{s_{n,\alpha ,t}\} \cup \{r_{n,\beta , t}\} 72.574 \cup \{z_{\gamma ,t} \} \). There are four kinds of event 72.575 that can happen on a timeline, namely $c$, a step of computation, 72.576 which modifies the memory local to the timeline; $s$, a 72.577 @@ -452,23 +527,26 @@ 72.578 $z\_s_{\gamma ,t}$ while resume is denoted $z\_r_{\gamma 72.579 ,t}$ where $s$ 72.580 and $r$ are literal while $\gamma$ denotes the position 72.581 -on the timeline and $t$ is the timeline the suspend 72.582 -happens on. 72.583 +on the timeline and $t$ is the timeline that executes 72.584 +the synchronization construct. 72.585 \item[communication:] 72.586 \(C = \{s,r\}, s < r\). A communication is a set of 72.587 one send event from one timeline plus one or more receive events 72.588 from different timelines, with the send 72.589 -event ordered before the receive event(s), denoted $s_{n,t}\mapsto 72.590 -r_{n,t}$ where $n$ distinguishes the communication 72.591 -set and $t$ denotes the timeline the event is on. A communication 72.592 +event ordered before the receive event(s), denoted $s_{n,\alpha, t}\mapsto 72.593 +r_{n,\beta,t}$ where $n$ distinguishes the communication 72.594 +set, $\alpha$ and $\beta$ are the ordering upon the 72.595 +timeline and $t$ denotes the timeline the event is on. A communication 72.596 orders events on one timeline relative to events on another. 72.597 -However, the ordering is only between two points, in 72.598 +However, the ordering is only between two points. In 72.599 particular for two sends from timeline 1 to timeline 72.600 -2, if \(s_{1,1} < s_{2.1}\) on timeline 1, then on 72.601 -timeline 2, both \(r_{1,2} < r_{2,2}\) and \(r_{2,2} < r_{1,2}\) are valid. However, $s_{1,1} \mapsto r_{1,2}$ 72.602 -followed by $s_{2,2} \mapsto r_{2,1}$ where $r_{1,2} 72.603 -< s_{2,2}$ 72.604 - implies that $s_{1,1} < r_{2,1}$ always. 72.605 +2, if \(s_{1,\_,1} < s_{2,\_,1}\) on timeline 1, then on 72.606 +timeline 2, both \(r_{1,\_,2} < r_{2,\_,2}\) and \(r_{2,\_,2} < r_{1,\_,2}\) are valid, where ``$\_$'' in the position 72.607 +of the ordering integer represents a wild 72.608 +card. However, $s_{1,\_,1} \mapsto r_{1,\_,2}$ 72.609 +followed by $s_{2,\_,2} \mapsto r_{2,\_,1}$ where $r_{1,\_,2} 72.610 +< s_{2,\_,2}$ 72.611 + implies that $s_{1,\_,1} < r_{2,\_,1}$ always. 72.612 72.613 \item[hidden timeline:] We define a special kind of "hidden" timeline that is not 72.614 seen by application code. It has an additional 72.615 @@ -480,12 +558,13 @@ 72.616 event is on. Additionally, a suspend event on an application 72.617 visible timeline implies a send from that timeline 72.618 to a hidden timeline. Hence $z\_s_{\gamma,t} \Rightarrow 72.619 -s_{\gamma,h}$ 72.620 +s_{n,\gamma,t} \mapsto r_{n,\_,h}$ 72.621 72.622 \item[tie-point:] Now, we define a tie-point as a set of two or more 72.623 synchronization points from different timelines which 72.624 are related by a particular pattern of communications. 72.625 -As a result of the pattern, the set satisfies particular criteria. The pattern is that communications from the suspend synchronization events must converge on a common hidden timeline and that timeline must then emit a subsequent resume event for each of the suspended timelines. 72.626 +As a result of the pattern, the set satisfies particular criteria. The pattern is that communications from the suspend synchronization events must converge on a common hidden timeline and that timeline must then emit a subsequent resume event for each of the suspended timelines, 72.627 +as shown back in Fig. \ref{fig:dualTimelineWHidden}. 72.628 72.629 \end{description} 72.630 72.631 @@ -518,7 +597,7 @@ 72.632 to be a synchronization construct. It is only in the 72.633 hardware that a synchronization construct is assembled 72.634 from pieces. We further claim that the hardware implements 72.635 -according to the pattern described in our formal definition. 72.636 +according to the tie-point pattern described in our formal definition. 72.637 72.638 What we consider to be a tie-point is any point that 72.639 has this pattern, independent of the semantics added. 72.640 @@ -579,6 +658,56 @@ 72.641 sync constructs.. but they can't be used in a distributed 72.642 memory system to make distributed memory things. 72.643 72.644 +Unless use communication to implement shared memory 72.645 +on top of distributed memory.. things like that.. It's 72.646 +a question of what's fair game in the comparison -- 72.647 +proto-runtime the behavior is in the hidden timeline, 72.648 +which is "inside" the construct, in a sense.. but using sync constructs to implement others, you lose 72.649 +that "inside" notion.. it just becomes application 72.650 +code that uses sync constructs.. with the app code 72.651 +running in an application timeline.. so.. need to 72.652 +get at that notion of animator, which has the "hidden" 72.653 +timeline, versus function call.. 72.654 + 72.655 +What about this.. it's a matter of constructing from 72.656 +equally powerful versus from less powerful.. mmmm want 72.657 +that notion of animator in there.. and want to get 72.658 +at when an arrangement qualifies as having "switched 72.659 +over to the animator" -- does implementing mutex from 72.660 +just memory ops qualify as switching over to the animator 72.661 +just by entering the code that implements the mutex? 72.662 +Say, place that code in-line in the application code 72.663 +everywhere it's used.. 72.664 + 72.665 +Hmmmm.. could use the relation model to show that the 72.666 +pure memory based implementation contains a tie-point, 72.667 +which is how the more-primitive operations are able 72.668 +to construct the more powerful mutex. That might 72.669 +be a more fruitful, easier to gain acceptance, approach.. 72.670 +show that things that have no time-related semantics, 72.671 +only simple one-way communication, are able to construct 72.672 +the time-related semantics.. and it is the presence 72.673 +of the tie-point convergence pattern that does it. 72.674 + 72.675 +In fact, might take the Dijkstra original mutex from 72.676 +must memory implementation and show the tie-point pattern 72.677 +within it.. then also show the tie-point pattern within lock-free implementations.. the point being that all 72.678 +you have to show is the presence of the tie-point pattern, 72.679 +in order to prove synchronization properties.. where 72.680 +"synchronization properties" is the existence of the ordering relation.. which is equivalent to agreement of before vs after.. which is equivalent to the visibility 72.681 +relation, which is what a programmer cares about.. 72.682 +the visibility is what a programmer requires in a "mutual 72.683 +exclusion". 72.684 + 72.685 +This visibility guarantees is how it can be guaranteed that 72.686 +those that are still "before" the mutex cannot influence 72.687 +the one "after" the mutex, which is inside the critical section. And also require vice versa, 72.688 +that the one "after" the mutex, inside the critical 72.689 +section, cannot take actions 72.690 +that influence any "before" it.. similarly at the 72.691 +end of the critical section, need the same isolation. 72.692 + 72.693 + 72.694 Let's see.. the relation model said that something 72.695 with synchronization constraints can be created from 72.696 just communication plus hidden timeline.. as long 72.697 @@ -624,17 +753,18 @@ 72.698 72.699 The other part of the story is: the proto-runtime cannot 72.700 be used by itself. It requires addition before it 72.701 -can be used. That is, have to add the M->M, to arrive 72.702 -at the TxM->M, then can use the TxM->M.. but can't 72.703 -use just the Tx by itself -- that's non-sensical. 72.704 -So, provides a (M->M, f) that is used to get the TxM->M, 72.705 -but can't use the f inside an application.. it doesn't 72.706 +can be used. That is, have to add the $M\mapsto M$, to arrive 72.707 +at the $T\times M\mapsto M$, then can use the $T\times 72.708 +M\mapsto M$.. but can't 72.709 +use just the $T\times$ by itself -- that's non-sensical. 72.710 +So, provides a $(M\mapsto M, f)$ that is used to get the $T\times M\mapsto M$, 72.711 +but can't use the $f$ inside an application.. it doesn't 72.712 do anything other than add the Tx.. so it doesn't 72.713 accomplish any steps of computation, nor does it provide 72.714 -Tx to any application code.. the (M->M, f) is outside 72.715 +$T\times$ to any application code.. the $(M\mapsto M, f)$ is outside 72.716 of any language -- that's what CREATES a language. 72.717 72.718 -*****Can't define (M->M, f) as part of its own language, 72.719 +*****Can't define $(M\mapsto M, f)$ as part of its own language, 72.720 because it doesn't do anything. No computation is 72.721 performed by it. **** (so, what's the definition of 72.722 computation, then?) 72.723 @@ -680,7 +810,7 @@ 72.724 A sync construct is a full tie-point. 72.725 72.726 72.727 -======================================================== 72.728 +================================================ 72.729 72.730 72.731 \subsubsection{Lifeline, Timeline, and Projection} 72.732 @@ -1179,7 +1309,7 @@ 72.733 Handlers. Gaps in the timelines are caused by suspension, 72.734 which is effected by primitives within the proto-runtime 72.735 code module.} 72.736 - \label{fig:langBreakdown} 72.737 + \label{fig:physTimeSeq} 72.738 \end{figure*} 72.739 72.740 72.741 @@ -1545,7 +1675,7 @@ 72.742 72.743 72.744 \subsubsection{Vthread Versus Highly Tuned Posix Threads} 72.745 - 72.746 +\label{sec:VthreadVsPthread} 72.747 Measurements indicate that the proto-runtime approach has far lower overhead than even the current highly tuned Linux thread implementation, and discusses why equivalent user-level M to N thread packages haven't been pursued, leaving no viable user-level libraries to compare against. 72.748 \subsubsection{VCilk Versus Cilk 5.4} 72.749 In \S we give numbers that indicate that the proto-runtime approach is also competitive with Cilk 72.750 @@ -1559,22 +1689,23 @@ 72.751 %% 72.752 %%%%%%%%%%%%%%%%%%%%%%%% 72.753 \subsection{Development Time Measurements}\label{subsec:ImplTimeMeas} 72.754 -Here we summarize the time to develop each of the eDSLs and copy-cat languages created so far. As a control, we estimate how long the equivalent functionality required, using the traditional approach, based on anecdotal evidence. 72.755 - 72.756 -Summarized in Table \ref{tabPersonHoursLang}, we measured the time we spent to design, code, and get an initial version working for each of the languages we created. The results are shown in the same order we created them, with SSR the first. As we gained experience, design and coding became more efficient. Not shown is the 7 hours required to take the send-receive code from SSR and adapt it to work with tasks in VSs. In addition, 11 hours was spent importing the DKU constructs into VSs. These are hours spent at the keyboard or with pen and paper, and don't include think time during other activities in the day. 72.757 +Here we summarize the time to develop each of the epDSLs and each copy-cat language created so far. As a control, we estimate, based on anecdotal evidence, the time required to create the equivalent functionality, using the traditional approach. 72.758 + 72.759 +Table \ref{tabPersonHoursLang}, summarizes measurements 72.760 +of the time we spent to design, code, and debug an initial version working for each of the languages we created. The results are shown in the same order we created them, with SSR the first. As we gained experience, design and coding became more efficient. These are hours spent at the keyboard or with pen and paper, and don't include think time during other activities in the day. 72.761 72.762 72.763 \begin{centering} 72.764 -\begin{tabular}{|l|r|r|r|r|r|r|} 72.765 - \cline{2-7} 72.766 - \multicolumn{1}{r|}{} & SSR & Vthread & VCilk & HWSim & VOMP & VSs\\ 72.767 - \cline{2-7} 72.768 +\begin{tabular}{|l|r|r|r|r|r|r|r|} 72.769 + \cline{2-8} 72.770 + \multicolumn{1}{r|}{} & SSR & Vthread & VCilk & HWSim & VOMP & VSs & Reo\\ 72.771 + \cline{2-8} 72.772 \noalign{\vskip2pt} 72.773 \hline 72.774 - Design & 19 & 6 & 3 & 52 & 18& 6\\ 72.775 - Code & 13 & 3 & 3& 32 & 9& 12\\ 72.776 - Test & 7 & 2 & 2& 12 & 8& 5\\ 72.777 - L.O.C. & 470 & 290 & 310& 3000 & 690 & 780\\ 72.778 + Design & 19 & 6 & 3 & 52 & 18& 6 & 14\\ 72.779 + Code & 13 & 3 & 3& 32 & 9& 12 & 18\\ 72.780 + Test & 7 & 2 & 2& 12 & 8& 5 & 10\\ 72.781 + L.O.C. & 470 & 290 & 310& 3000 & 690 & 780 & 920\\ 72.782 \hline 72.783 \end{tabular} 72.784 \caption 72.785 @@ -1583,8 +1714,8 @@ 72.786 \end{centering} 72.787 \label{tabPersonHoursLang} 72.788 72.789 -\subsubsection{Comparison of Design Approaches} 72.790 -We give the bigger picture of the difference in design methods between traditional approaches and the proto-runtime implementations, discussing OpenMP versus VOMP, Cilk 5.4 vs VCilk, pthread vs Vthread, and OMPSs vs VSs. These discussions attempt to give the two design philosophies and paint a picture of the development process in the two competing approaches. The goal is to illustrate how the proto-runtime approach maintains many of the language features, through its centralized services, while significantly reducing implementation time, through reuse of the services, elimination of concurrency concerns in design and debugging, and in the simplifications in design and implementation caused by the clean modularization of the proto-runtime approach, and the regularization of implementation from one language to another. 72.791 +%\subsubsection{Comparison of Design Approaches} 72.792 +%We give the bigger picture of the difference in approach for each language, between the proto-runtime implementation and the distributed implementation. The goal is to illustrate how the proto-runtime centralized services, while significantly reducing implementation time, through reuse of the services, elimination of concurrency concerns in design and debugging, and in the simplifications in design and implementation caused by the clean modularization of the proto-runtime approach, and the regularization of implementation from one language to another. 72.793 72.794 72.795 %%%%%%%%%%%%%%%%%%%%%%%% 72.796 @@ -1592,37 +1723,43 @@ 72.797 %%%%%%%%%%%%%%%%%%%%%%%% 72.798 \section{Related Work} \label{sec:Related} 72.799 72.800 -With the full understanding of the proto-runtime approach in hand, we discuss how it compares to other approaches for implementing the runtimes of domain specific languages. The criteria are: level of effort to implement the runtime, effort to port the runtime, runtime performance, and support for application performance. The main alternative implementation approaches are: posix threads, user-level threads, TBB, modifying libGomp, and using hardware primitives to make a custom runtime. 72.801 - 72.802 -We first talk about each of these approaches, then summarize the conclusions in Table \ref{tab:CriteriaVsApproach}. 72.803 - 72.804 -The first three methods involve building the DSL runtime on top of OS threads, user threads, or TBB, all of which are languages in their own right. So the DSL runtime runs on top of the runtime for that lower-level language. This places control of work placement inside the lower-level runtime, blocking the DSL runtime, which hurts application-code performance, due to inability to use data locality. In addition, OS threads have operating system overhead and OS-imposed fairness requirements, which keeps runtime performance poor. 72.805 - 72.806 -All three also force the DSL implementation to manage concurrency explicitly, using language primitives such as locks. TBB may have a slight advantage due to its task-scheduling commands, but only for task-based languages. Hence, implementation effort is poor for these approaches. 72.807 - 72.808 -For the same reason, for these three, the runtime code needs to be rewritten and tuned for each hardware platform for each language, or else some form of hardware-abstraction placed into the runtime. But putting in a hardware abstraction is essentially an alternative way of implementing half of the proto-runtime approach, but without the centralization, reuse, and modularization benefits. 72.809 - 72.810 -Many language researchers use libGomp (based on informal discussions) because of its very simple structure, which makes it relatively easy to modify, especially for simple languages. However, it provides no services such as debugging or performance tuning, and it has no modularization or reuse across languages benefits. As the price of the simplicity, performance suffers, as seen in the experiments []. Also, re-writes of the DSL runtime are required for each platform in order to tune it to hardware characteristics. However, because the runtime is directly modified, the language gains control over placement of work, enabling good application performance. 72.811 - 72.812 -Lastly, we consider the alternative of writing a custom runtime from scratch, using hardware primitives such as the Compare And Swap (CAS) instruction, or similar atomic read-modify-write instructions. This approach requires the highest degree of implementation effort, and the worst portability across hardware. However, if sufficient effort is expended on tuning, it can achieve the best runtime performance and equal the best performance of application code. So far, the gap has proven small between highly tuned language-specific custom runtime performance and that of our proto-runtime, but we only have the CILK implementation as a comparison point. 72.813 - 72.814 -Putting this all together, Table \ref{tab:CriteriaVsApproach} shows that the proto-runtime approach is the only one that scores high in all the mesures. It makes initial language implementation fast, as well as reduces porting effort, while keeping runtime performance high and enabling high application performance. 72.815 +We discuss how proto-runtime compares to other approaches to implementing the runtimes of domain specific languages. The criteria for comparison are: level of effort to implement the runtime, effort to port the runtime, runtime performance, and support for application performance. The main alternative implementation approaches are: posix threads, user-level threads, TBB, modifying libGomp, and using hardware primitives to make a custom runtime. 72.816 + 72.817 +We summarize the conclusions in Table \ref{tab:CriteriaVsApproach}. 72.818 + 72.819 72.820 \begin{center} 72.821 +\caption{Table \ref{tab:CriteriaVsApproach} shows how well each approach scores in the measures important to implementors of runtimes for DSLs. On the left are the implementation approaches. At the top are the measures. In a cell is the score on the measure for 72.822 +the approach. One plus is the lowest score, indicating the implementation approach is undesirable, 5 indicates the highest desirability. The reasons for the scores are discussed in the text. } \label{tab:CriteriaVsApproach} 72.823 + 72.824 \begin{tabular}{|c|c|c|c|c|}\hline 72.825 Runtime Creation & \textbf{impl.}& \textbf{porting} & \textbf{runtime} & \textbf{application} \\ 72.826 \textbf{} & \textbf{ease} & \textbf{ease} & \textbf{perf.} & \textbf{perf.}\\\hline 72.827 \textbf{OS Threads} & ++ & ++ & + & + \\\hline 72.828 -\textbf{User Threads} & ++& ++ & ++ & + \\\hline 72.829 +%\textbf{User Threads} & ++& ++ & ++ & + \\\hline 72.830 \textbf{TBB} & ++ & ++ & ++ & + \\\hline 72.831 \textbf{libGomp} & +++ & ++ & +++ & ++++ \\\hline 72.832 \textbf{HW primitives} & + & + & +++++ & +++++ \\\hline 72.833 \textbf{Proto-runtime} & +++++ & +++++ & ++++ & +++++\\\hline 72.834 \end{tabular} 72.835 \end{center} 72.836 -\caption{The table shows how well each approach scores in each measure important to the implementor of a runtime for a DSL. On the left are the approaches that can be used to write the runtime. At the top are the measures an implementor may care about. For all measures, one plus is the lowest score, indicating the implementation approach is undesirable, 5 indicates the highest desirability. The scores are based on reasons discussed in the text. } 72.837 -\label{tab:CriteriaVsApproach} 72.838 - 72.839 + 72.840 + 72.841 + 72.842 +The first two methods have poor runtime and application 72.843 +performance. They involve building the DSL runtime on top of OS threads\ or TBB, both of which have runtimes in their own right. So the DSL runtime runs on top of the lower-level runtime. This places control of work placement inside the lower-level runtime, blocking the DSL runtime, which hurts application-code performance, due to inability to use data locality. In addition, OS threads have operating system overhead and OS-imposed fairness requirements, which keeps runtime performance poor as seen in Section \ref{sec:VthreadVsPthread}. 72.844 + 72.845 +Both also force the DSL implementation to manage concurrency explicitly, using lower-level runtime constructs such as locks. TBB may have a slight advantage due to its task-scheduling commands, but only for task-based languages. Hence, implementation effort is poor for these approaches. 72.846 + 72.847 +For the same reason, porting is poor for these two 72.848 +approaches. The DSL's runtime code needs to be rewritten and tuned for each hardware platform, or else some form of hardware-abstraction placed into the runtime. But putting in a hardware abstraction is essentially an alternative way of implementing half of the proto-runtime approach, but without the centralization, reuse, and modularization benefits. 72.849 + 72.850 +Moving on to libGomp. Some language researchers use libGomp (based on informal discussions) because of its very simple structure, which makes it relatively easy to modify, especially for simple languages. However, it provides no services such as debugging or performance tuning, and it has no modularization or reuse across languages benefits. As the price of the simplicity, performance suffers, as seen in the experiments []. Also, re-writes of the DSL runtime are required for each platform in order to tune it to hardware characteristics. However, because the runtime is directly modified, the language gains control over placement of work, enabling good application performance, if the extra 72.851 +effort is expended to take advantage. 72.852 + 72.853 +Lastly, we consider the alternative of writing a custom runtime from scratch, using hardware primitives such as the Compare And Swap (CAS) instruction, or similar atomic read-modify-write instructions. This approach requires the highest degree of implementation effort, and the worst portability across hardware. However, if sufficient effort is expended on tuning, it can achieve the best runtime performance and equal the best performance of application code. So far, the gap has proven small between highly tuned language-specific custom runtime performance and that of our proto-runtime, but we only have the CILK implementation as a comparison point. 72.854 + 72.855 +Putting this all together, Table \ref{tab:CriteriaVsApproach} shows that the proto-runtime approach is the only one that scores high in all of the measures. It makes initial language implementation fast, as well as reduces porting effort, while keeping runtime performance high and enabling high application performance. 72.856 72.857 72.858 72.859 @@ -1656,6 +1793,7 @@ 72.860 \end{itemize} 72.861 72.862 72.863 +\end{document} 72.864 ============================================= 72.865 == 72.866 ==
73.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 73.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/PR__system_level_activity.svg Fri Sep 13 11:02:18 2013 -0700 73.3 @@ -0,0 +1,2923 @@ 73.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 73.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 73.6 + 73.7 +<svg 73.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 73.9 + xmlns:cc="http://creativecommons.org/ns#" 73.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 73.11 + xmlns:svg="http://www.w3.org/2000/svg" 73.12 + xmlns="http://www.w3.org/2000/svg" 73.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 73.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 73.15 + width="744.09448819" 73.16 + height="1052.3622047" 73.17 + id="svg2" 73.18 + sodipodi:version="0.32" 73.19 + inkscape:version="0.48.2 r9819" 73.20 + sodipodi:docname="PR__system_level_activity.svg" 73.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 73.22 + version="1.1"> 73.23 + <defs 73.24 + id="defs4"> 73.25 + <marker 73.26 + inkscape:stockid="Arrow2Mend" 73.27 + orient="auto" 73.28 + refY="0.0" 73.29 + refX="0.0" 73.30 + id="Arrow2Mend" 73.31 + style="overflow:visible;"> 73.32 + <path 73.33 + id="path4008" 73.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 73.35 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 73.36 + transform="scale(0.6) rotate(180) translate(0,0)" /> 73.37 + </marker> 73.38 + <inkscape:perspective 73.39 + sodipodi:type="inkscape:persp3d" 73.40 + inkscape:vp_x="0 : 526.18109 : 1" 73.41 + inkscape:vp_y="0 : 1000 : 0" 73.42 + inkscape:vp_z="744.09448 : 526.18109 : 1" 73.43 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 73.44 + id="perspective10" /> 73.45 + <inkscape:perspective 73.46 + id="perspective12172" 73.47 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 73.48 + inkscape:vp_z="1 : 0.5 : 1" 73.49 + inkscape:vp_y="0 : 1000 : 0" 73.50 + inkscape:vp_x="0 : 0.5 : 1" 73.51 + sodipodi:type="inkscape:persp3d" /> 73.52 + <inkscape:perspective 73.53 + id="perspective12937" 73.54 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 73.55 + inkscape:vp_z="1 : 0.5 : 1" 73.56 + inkscape:vp_y="0 : 1000 : 0" 73.57 + inkscape:vp_x="0 : 0.5 : 1" 73.58 + sodipodi:type="inkscape:persp3d" /> 73.59 + </defs> 73.60 + <sodipodi:namedview 73.61 + id="base" 73.62 + pagecolor="#ffffff" 73.63 + bordercolor="#666666" 73.64 + borderopacity="1.0" 73.65 + gridtolerance="10000" 73.66 + guidetolerance="10" 73.67 + objecttolerance="10" 73.68 + inkscape:pageopacity="0.0" 73.69 + inkscape:pageshadow="2" 73.70 + inkscape:zoom="1.4897651" 73.71 + inkscape:cx="290.73583" 73.72 + inkscape:cy="795.84567" 73.73 + inkscape:document-units="px" 73.74 + inkscape:current-layer="layer1" 73.75 + showgrid="false" 73.76 + inkscape:window-width="1600" 73.77 + inkscape:window-height="848" 73.78 + inkscape:window-x="-8" 73.79 + inkscape:window-y="-8" 73.80 + inkscape:window-maximized="1" /> 73.81 + <metadata 73.82 + id="metadata7"> 73.83 + <rdf:RDF> 73.84 + <cc:Work 73.85 + rdf:about=""> 73.86 + <dc:format>image/svg+xml</dc:format> 73.87 + <dc:type 73.88 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 73.89 + <dc:title></dc:title> 73.90 + </cc:Work> 73.91 + </rdf:RDF> 73.92 + </metadata> 73.93 + <g 73.94 + inkscape:label="Layer 1" 73.95 + inkscape:groupmode="layer" 73.96 + id="layer1"> 73.97 + <text 73.98 + sodipodi:linespacing="100%" 73.99 + id="text12979" 73.100 + y="515.76575" 73.101 + x="326.92542" 73.102 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.103 + xml:space="preserve"><tspan 73.104 + y="515.76575" 73.105 + x="326.92542" 73.106 + id="tspan12981" 73.107 + sodipodi:role="line" 73.108 + style="text-align:center;text-anchor:middle">Master</tspan><tspan 73.109 + y="524.20056" 73.110 + x="326.92542" 73.111 + sodipodi:role="line" 73.112 + id="tspan3291" 73.113 + style="font-size:8px;text-align:center;text-anchor:middle">(runtime system)</tspan><tspan 73.114 + y="532.2005" 73.115 + x="326.92542" 73.116 + sodipodi:role="line" 73.117 + style="font-size:8px;text-align:center;text-anchor:middle" 73.118 + id="tspan8409">on core 1</tspan></text> 73.119 + <g 73.120 + id="g9336" 73.121 + transform="translate(44.002789,114)"> 73.122 + <rect 73.123 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 73.124 + id="rect3293" 73.125 + width="65.276405" 73.126 + height="37.165791" 73.127 + x="346.40247" 73.128 + y="389.58255" /> 73.129 + <text 73.130 + sodipodi:linespacing="100%" 73.131 + id="text3295" 73.132 + y="400.15268" 73.133 + x="379.00162" 73.134 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.135 + xml:space="preserve"><tspan 73.136 + id="tspan3301" 73.137 + y="400.15268" 73.138 + x="379.00162" 73.139 + sodipodi:role="line" 73.140 + style="text-align:center;text-anchor:middle;fill:#008000">Seed VP</tspan><tspan 73.141 + y="408.58746" 73.142 + x="379.00162" 73.143 + sodipodi:role="line" 73.144 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000" 73.145 + id="tspan9389">(created at</tspan><tspan 73.146 + y="416.58746" 73.147 + x="379.00162" 73.148 + sodipodi:role="line" 73.149 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000" 73.150 + id="tspan9391">app startup,</tspan><tspan 73.151 + y="424.58746" 73.152 + x="379.00162" 73.153 + sodipodi:role="line" 73.154 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000" 73.155 + id="tspan9744">on core 1)</tspan></text> 73.156 + </g> 73.157 + <text 73.158 + xml:space="preserve" 73.159 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.160 + x="517.16797" 73.161 + y="467.42465" 73.162 + id="text3318-1" 73.163 + sodipodi:linespacing="100%"><tspan 73.164 + style="text-align:center;text-anchor:middle;fill:#008000" 73.165 + sodipodi:role="line" 73.166 + x="517.16797" 73.167 + y="467.42465" 73.168 + id="tspan3322-5">Application Code</tspan></text> 73.169 + <text 73.170 + sodipodi:linespacing="100%" 73.171 + id="text3376" 73.172 + y="541.42468" 73.173 + x="517.16797" 73.174 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.175 + xml:space="preserve"><tspan 73.176 + id="tspan3378" 73.177 + y="541.42468" 73.178 + x="517.16797" 73.179 + sodipodi:role="line" 73.180 + style="text-align:center;text-anchor:middle;fill:#008000">Seed_Fn</tspan></text> 73.181 + <text 73.182 + xml:space="preserve" 73.183 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.184 + x="517.16797" 73.185 + y="761.42468" 73.186 + id="text3380" 73.187 + sodipodi:linespacing="100%"><tspan 73.188 + style="text-align:center;text-anchor:middle;fill:#008000" 73.189 + sodipodi:role="line" 73.190 + x="517.16797" 73.191 + y="761.42468" 73.192 + id="tspan3382">Work_Fn</tspan></text> 73.193 + <text 73.194 + sodipodi:linespacing="100%" 73.195 + id="text3388" 73.196 + y="467.42465" 73.197 + x="604.63812" 73.198 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.199 + xml:space="preserve"><tspan 73.200 + id="tspan3390" 73.201 + y="467.42465" 73.202 + x="606.14203" 73.203 + sodipodi:role="line" 73.204 + style="text-align:center;text-anchor:middle;fill:#800000">Language </tspan><tspan 73.205 + y="477.42465" 73.206 + x="604.63812" 73.207 + sodipodi:role="line" 73.208 + style="text-align:center;text-anchor:middle;fill:#800000" 73.209 + id="tspan5106">Wrapper-Lib</tspan><tspan 73.210 + y="487.42465" 73.211 + x="604.63812" 73.212 + sodipodi:role="line" 73.213 + style="text-align:center;text-anchor:middle;fill:#800000" 73.214 + id="tspan3392">Code</tspan></text> 73.215 + <text 73.216 + xml:space="preserve" 73.217 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.218 + x="669.16797" 73.219 + y="467.42465" 73.220 + id="text3394" 73.221 + sodipodi:linespacing="100%"><tspan 73.222 + style="text-align:center;text-anchor:middle;fill:#000080" 73.223 + sodipodi:role="line" 73.224 + x="669.16797" 73.225 + y="467.42465" 73.226 + id="tspan3396">Proto-Runtime</tspan><tspan 73.227 + style="text-align:center;text-anchor:middle;fill:#000080" 73.228 + sodipodi:role="line" 73.229 + x="669.16797" 73.230 + y="477.42465" 73.231 + id="tspan4998">Primitive</tspan><tspan 73.232 + id="tspan3398" 73.233 + style="text-align:center;text-anchor:middle;fill:#000080" 73.234 + sodipodi:role="line" 73.235 + x="669.16797" 73.236 + y="487.42465">Code</tspan></text> 73.237 + <text 73.238 + xml:space="preserve" 73.239 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.240 + x="137.31689" 73.241 + y="573.42468" 73.242 + id="text3412" 73.243 + sodipodi:linespacing="100%"><tspan 73.244 + style="text-align:center;text-anchor:middle;fill:#800000" 73.245 + sodipodi:role="line" 73.246 + x="137.31689" 73.247 + y="573.42468" 73.248 + id="tspan3414">Lang Handler</tspan><tspan 73.249 + style="text-align:center;text-anchor:middle;fill:#800000" 73.250 + sodipodi:role="line" 73.251 + x="137.31689" 73.252 + y="583.42468" 73.253 + id="tspan3422">for create VP</tspan></text> 73.254 + <text 73.255 + xml:space="preserve" 73.256 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.257 + x="137.68066" 73.258 + y="621.42468" 73.259 + id="text3444" 73.260 + sodipodi:linespacing="100%"><tspan 73.261 + style="text-align:center;text-anchor:middle;fill:#800000" 73.262 + sodipodi:role="line" 73.263 + x="137.68066" 73.264 + y="621.42468" 73.265 + id="tspan3450">Assigner Fn</tspan></text> 73.266 + <text 73.267 + xml:space="preserve" 73.268 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.269 + x="327.16797" 73.270 + y="469.42465" 73.271 + id="text3456" 73.272 + sodipodi:linespacing="100%"><tspan 73.273 + style="text-align:center;text-anchor:middle" 73.274 + sodipodi:role="line" 73.275 + x="328.67188" 73.276 + y="469.42465" 73.277 + id="tspan3458">Instances of </tspan><tspan 73.278 + style="text-align:center;text-anchor:middle" 73.279 + sodipodi:role="line" 73.280 + x="327.16797" 73.281 + y="479.42465" 73.282 + id="tspan8405">runtime system</tspan><tspan 73.283 + style="font-size:8px;text-align:center;text-anchor:middle" 73.284 + sodipodi:role="line" 73.285 + x="327.16797" 73.286 + y="487.85944" 73.287 + id="tspan9383">(data structs</tspan><tspan 73.288 + style="font-size:8px;text-align:center;text-anchor:middle" 73.289 + sodipodi:role="line" 73.290 + x="327.16797" 73.291 + y="495.85944" 73.292 + id="tspan9385">on heap)</tspan><tspan 73.293 + id="tspan3460" 73.294 + style="text-align:center;text-anchor:middle" 73.295 + sodipodi:role="line" 73.296 + x="327.16797" 73.297 + y="503.85944" /></text> 73.298 + <text 73.299 + sodipodi:linespacing="100%" 73.300 + id="text3462" 73.301 + y="467.42465" 73.302 + x="423.16797" 73.303 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.304 + xml:space="preserve"><tspan 73.305 + id="tspan3464" 73.306 + y="467.42465" 73.307 + x="423.16797" 73.308 + sodipodi:role="line" 73.309 + style="text-align:center;text-anchor:middle">Instances of</tspan><tspan 73.310 + y="477.42465" 73.311 + x="423.16797" 73.312 + sodipodi:role="line" 73.313 + style="text-align:center;text-anchor:middle" 73.314 + id="tspan3468">Virtual Processors</tspan><tspan 73.315 + y="485.85944" 73.316 + x="423.16797" 73.317 + sodipodi:role="line" 73.318 + style="font-size:8px;text-align:center;text-anchor:middle" 73.319 + id="tspan3466">(data structs</tspan><tspan 73.320 + y="493.85944" 73.321 + x="423.16797" 73.322 + sodipodi:role="line" 73.323 + style="font-size:8px;text-align:center;text-anchor:middle" 73.324 + id="tspan9387">on heap)</tspan></text> 73.325 + <path 73.326 + inkscape:connector-curvature="0" 73.327 + id="path4796" 73.328 + d="m 457.32649,538.02605 c 38.42351,0 38.42351,0 38.42351,0" 73.329 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999996, 2.99999996;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 73.330 + <text 73.331 + xml:space="preserve" 73.332 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.333 + x="604.78461" 73.334 + y="535.42468" 73.335 + id="text4988" 73.336 + sodipodi:linespacing="100%"><tspan 73.337 + style="text-align:center;text-anchor:middle;fill:#800000" 73.338 + sodipodi:role="line" 73.339 + x="604.78461" 73.340 + y="535.42468" 73.341 + id="tspan4990">create VP</tspan><tspan 73.342 + style="text-align:center;text-anchor:middle;fill:#800000" 73.343 + sodipodi:role="line" 73.344 + x="604.78461" 73.345 + y="545.42468" 73.346 + id="tspan5104">wrapper Fn</tspan></text> 73.347 + <text 73.348 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 73.349 + xml:space="preserve" 73.350 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.351 + x="640.93384" 73.352 + y="566.94653" 73.353 + id="text5064" 73.354 + sodipodi:linespacing="100%"><tspan 73.355 + style="font-size:8px;text-align:center;text-anchor:middle" 73.356 + sodipodi:role="line" 73.357 + x="640.93384" 73.358 + y="566.94653" 73.359 + id="tspan5066">Call to dyn lib</tspan></text> 73.360 + <path 73.361 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000003, 3.00000003;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 73.362 + d="m 291.99816,538.02605 c -63.44071,0 -63.44071,0 -63.44071,0" 73.363 + id="path5068" 73.364 + inkscape:connector-curvature="0" /> 73.365 + <text 73.366 + sodipodi:linespacing="100%" 73.367 + id="text5070" 73.368 + y="574.53986" 73.369 + x="148.45142" 73.370 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.371 + xml:space="preserve" 73.372 + transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"><tspan 73.373 + id="tspan5072" 73.374 + y="574.53986" 73.375 + x="148.45142" 73.376 + sodipodi:role="line" 73.377 + style="font-size:8px;text-align:center;text-anchor:middle">Top Level Fn</tspan></text> 73.378 + <text 73.379 + transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)" 73.380 + xml:space="preserve" 73.381 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.382 + x="368.35757" 73.383 + y="617.21826" 73.384 + id="text5074" 73.385 + sodipodi:linespacing="100%"><tspan 73.386 + style="font-size:8px;text-align:center;text-anchor:middle" 73.387 + sodipodi:role="line" 73.388 + x="368.35757" 73.389 + y="617.21826" 73.390 + id="tspan5076">Top Level Fn</tspan></text> 73.391 + <text 73.392 + sodipodi:linespacing="100%" 73.393 + id="text5078" 73.394 + y="833.20477" 73.395 + x="326.47617" 73.396 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.397 + xml:space="preserve" 73.398 + transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"><tspan 73.399 + id="tspan5080" 73.400 + y="833.20477" 73.401 + x="326.47617" 73.402 + sodipodi:role="line" 73.403 + style="font-size:8px;text-align:center;text-anchor:middle">Top Level Fn</tspan></text> 73.404 + <path 73.405 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999996, 2.99999996;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 73.406 + d="m 458.9835,758.02605 c 36.7665,0 36.7665,0 36.7665,0" 73.407 + id="path5082" 73.408 + inkscape:connector-curvature="0" /> 73.409 + <path 73.410 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 73.411 + d="m 514.02904,544.01894 c 0,5.6572 0,5.6572 0,5.6572" 73.412 + id="path5092" 73.413 + inkscape:connector-curvature="0" 73.414 + sodipodi:nodetypes="cc" /> 73.415 + <path 73.416 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 73.417 + d="m 514.24714,550.02605 c 85.56237,0 85.56237,0 85.56237,0" 73.418 + id="path5094" 73.419 + inkscape:connector-curvature="0" /> 73.420 + <path 73.421 + inkscape:connector-curvature="0" 73.422 + id="path5096" 73.423 + d="m 602.77166,658.02605 c -88.41298,0 -88.41298,0 -88.41298,0" 73.424 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 73.425 + <path 73.426 + sodipodi:nodetypes="cc" 73.427 + inkscape:connector-curvature="0" 73.428 + id="path5140" 73.429 + d="m 514.02904,658.31987 c 0,26.21842 0,26.21842 0,26.21842" 73.430 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 73.431 + <path 73.432 + inkscape:connector-curvature="0" 73.433 + id="path5142" 73.434 + d="m 514.2471,684.02605 c 87.58783,0 87.58783,0 87.58783,0" 73.435 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 73.436 + <text 73.437 + sodipodi:linespacing="100%" 73.438 + id="text5157" 73.439 + y="670.71179" 73.440 + x="604.78461" 73.441 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.442 + xml:space="preserve"><tspan 73.443 + id="tspan5161" 73.444 + y="670.71179" 73.445 + x="604.78461" 73.446 + sodipodi:role="line" 73.447 + style="text-align:center;text-anchor:middle;fill:#800000">end VP</tspan><tspan 73.448 + y="680.71179" 73.449 + x="604.78461" 73.450 + sodipodi:role="line" 73.451 + style="text-align:center;text-anchor:middle;fill:#800000" 73.452 + id="tspan5207">wrapper Fn</tspan></text> 73.453 + <path 73.454 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 73.455 + d="m 602.26584,690.02605 c 63.99676,0 63.99676,0 63.99676,0" 73.456 + id="path5165" 73.457 + inkscape:connector-curvature="0" /> 73.458 + <path 73.459 + sodipodi:nodetypes="cc" 73.460 + inkscape:connector-curvature="0" 73.461 + id="path5179" 73.462 + d="m 514.02904,764.01895 c 0,5.6572 0,5.6572 0,5.6572" 73.463 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 73.464 + <path 73.465 + sodipodi:nodetypes="cc" 73.466 + inkscape:connector-curvature="0" 73.467 + id="path5209" 73.468 + d="m 602.02904,682.31985 c 0,7.35629 0,7.35629 0,7.35629" 73.469 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 73.470 + <text 73.471 + xml:space="preserve" 73.472 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.473 + x="497.16797" 73.474 + y="399.42468" 73.475 + id="text5211" 73.476 + sodipodi:linespacing="100%"><tspan 73.477 + style="text-align:center;text-anchor:middle" 73.478 + sodipodi:role="line" 73.479 + x="497.16797" 73.480 + y="399.42468" 73.481 + id="tspan5215" /></text> 73.482 + <path 73.483 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 73.484 + d="m 602.02904,550.21843 c 0,19.4577 0,19.4577 0,19.4577" 73.485 + id="path5217" 73.486 + inkscape:connector-curvature="0" 73.487 + sodipodi:nodetypes="cc" /> 73.488 + <path 73.489 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 73.490 + d="m 602.24714,570.02605 c 64.71029,0 64.71029,0 64.71029,0" 73.491 + id="path5219" 73.492 + inkscape:connector-curvature="0" /> 73.493 + <path 73.494 + inkscape:connector-curvature="0" 73.495 + id="path5221" 73.496 + d="m 666.85635,654.02605 c -65.78483,0 -65.78483,0 -65.78483,0" 73.497 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 73.498 + <path 73.499 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 73.500 + d="m 668.02904,568.63925 c 0,13.68455 0,13.68455 0,13.68455" 73.501 + id="path5223" 73.502 + inkscape:connector-curvature="0" 73.503 + sodipodi:nodetypes="cc" /> 73.504 + <path 73.505 + sodipodi:nodetypes="cc" 73.506 + inkscape:connector-curvature="0" 73.507 + id="path5229" 73.508 + d="m 602.02904,653.22687 c 0,5.5885 0,5.5885 0,5.5885" 73.509 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 73.510 + <path 73.511 + sodipodi:nodetypes="cc" 73.512 + inkscape:connector-curvature="0" 73.513 + id="path5235" 73.514 + d="m 668.02904,640.63925 c 0,13.68455 0,13.68455 0,13.68455" 73.515 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 73.516 + <text 73.517 + sodipodi:linespacing="100%" 73.518 + id="text5239" 73.519 + y="887.21881" 73.520 + x="75.689163" 73.521 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.522 + xml:space="preserve" 73.523 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 73.524 + id="tspan5241" 73.525 + y="887.21881" 73.526 + x="75.689163" 73.527 + sodipodi:role="line" 73.528 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan 73.529 + y="895.21881" 73.530 + x="75.689163" 73.531 + sodipodi:role="line" 73.532 + style="font-size:8px;text-align:center;text-anchor:middle" 73.533 + id="tspan5243">and switch</tspan><tspan 73.534 + y="903.21881" 73.535 + x="75.689163" 73.536 + sodipodi:role="line" 73.537 + style="font-size:8px;text-align:center;text-anchor:middle" 73.538 + id="tspan5245">to runtime</tspan></text> 73.539 + <path 73.540 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 73.541 + d="m 271.03421,642.02605 c 193.92439,0 193.92439,0 193.92439,0" 73.542 + id="path5247" 73.543 + inkscape:connector-curvature="0" /> 73.544 + <text 73.545 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 73.546 + xml:space="preserve" 73.547 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.548 + x="45.084938" 73.549 + y="918.83185" 73.550 + id="text5249" 73.551 + sodipodi:linespacing="100%"><tspan 73.552 + id="tspan5255" 73.553 + style="font-size:8px;text-align:center;text-anchor:middle" 73.554 + sodipodi:role="line" 73.555 + x="45.084938" 73.556 + y="918.83185">return</tspan><tspan 73.557 + style="font-size:8px;text-align:center;text-anchor:middle" 73.558 + sodipodi:role="line" 73.559 + x="45.084938" 73.560 + y="926.83185" 73.561 + id="tspan5261">from</tspan><tspan 73.562 + style="font-size:8px;text-align:center;text-anchor:middle" 73.563 + sodipodi:role="line" 73.564 + x="45.084938" 73.565 + y="934.83185" 73.566 + id="tspan5263">suspend</tspan></text> 73.567 + <text 73.568 + sodipodi:linespacing="100%" 73.569 + id="text5345" 73.570 + y="557.42468" 73.571 + x="667.38037" 73.572 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.573 + xml:space="preserve"><tspan 73.574 + id="tspan5349" 73.575 + y="557.42468" 73.576 + x="667.38037" 73.577 + sodipodi:role="line" 73.578 + style="text-align:center;text-anchor:middle;fill:#000080">PR primitive Fn</tspan><tspan 73.579 + y="567.42468" 73.580 + x="667.38037" 73.581 + sodipodi:role="line" 73.582 + style="text-align:center;text-anchor:middle;fill:#000080" 73.583 + id="tspan5353">to send request</tspan></text> 73.584 + <text 73.585 + sodipodi:linespacing="100%" 73.586 + id="text5355" 73.587 + y="554.71265" 73.588 + x="556.00226" 73.589 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.590 + xml:space="preserve" 73.591 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 73.592 + id="tspan5357" 73.593 + y="554.71265" 73.594 + x="556.00226" 73.595 + sodipodi:role="line" 73.596 + style="font-size:8px;text-align:center;text-anchor:middle">normal call</tspan></text> 73.597 + <path 73.598 + sodipodi:nodetypes="cc" 73.599 + inkscape:connector-curvature="0" 73.600 + id="path5359" 73.601 + d="m 668.02904,689.28283 c 0,13.68455 0,13.68455 0,13.68455" 73.602 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 73.603 + <text 73.604 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 73.605 + xml:space="preserve" 73.606 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.607 + x="-4.9486814" 73.608 + y="973.39014" 73.609 + id="text5363" 73.610 + sodipodi:linespacing="100%"><tspan 73.611 + style="font-size:8px;text-align:center;text-anchor:middle" 73.612 + sodipodi:role="line" 73.613 + x="-4.9486814" 73.614 + y="973.39014" 73.615 + id="tspan5365">suspend</tspan><tspan 73.616 + id="tspan5367" 73.617 + style="font-size:8px;text-align:center;text-anchor:middle" 73.618 + sodipodi:role="line" 73.619 + x="-4.9486814" 73.620 + y="981.39014">and switch</tspan><tspan 73.621 + id="tspan5369" 73.622 + style="font-size:8px;text-align:center;text-anchor:middle" 73.623 + sodipodi:role="line" 73.624 + x="-4.9486814" 73.625 + y="989.39014">to runtime</tspan></text> 73.626 + <text 73.627 + sodipodi:linespacing="100%" 73.628 + id="text5371" 73.629 + y="755.42468" 73.630 + x="604.59662" 73.631 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.632 + xml:space="preserve"><tspan 73.633 + id="tspan5373" 73.634 + y="755.42468" 73.635 + x="604.59662" 73.636 + sodipodi:role="line" 73.637 + style="text-align:center;text-anchor:middle;fill:#800000">Mutex Acquire</tspan><tspan 73.638 + id="tspan5375" 73.639 + y="765.42468" 73.640 + x="604.59662" 73.641 + sodipodi:role="line" 73.642 + style="text-align:center;text-anchor:middle;fill:#800000">wrapper Fn</tspan></text> 73.643 + <path 73.644 + inkscape:connector-curvature="0" 73.645 + id="path5379" 73.646 + d="m 514.24714,770.02605 c 85.56237,0 85.56237,0 85.56237,0" 73.647 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 73.648 + <path 73.649 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 73.650 + d="m 602.77166,870.02605 c -88.41298,0 -88.41298,0 -88.41298,0" 73.651 + id="path5381" 73.652 + inkscape:connector-curvature="0" /> 73.653 + <text 73.654 + xml:space="preserve" 73.655 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.656 + x="604.78461" 73.657 + y="882.71179" 73.658 + id="text5387" 73.659 + sodipodi:linespacing="100%"><tspan 73.660 + style="text-align:center;text-anchor:middle;fill:#800000" 73.661 + sodipodi:role="line" 73.662 + x="604.78461" 73.663 + y="882.71179" 73.664 + id="tspan5389">end VP</tspan><tspan 73.665 + id="tspan5391" 73.666 + style="text-align:center;text-anchor:middle;fill:#800000" 73.667 + sodipodi:role="line" 73.668 + x="604.78461" 73.669 + y="892.71179">wrapper Fn</tspan></text> 73.670 + <path 73.671 + inkscape:connector-curvature="0" 73.672 + id="path5393" 73.673 + d="m 602.289,902.02605 c 65.24023,0 65.24023,0 65.24023,0" 73.674 + style="fill:none;stroke:#000000;stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 73.675 + <path 73.676 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 73.677 + d="m 602.02904,894.31985 c 0,7.35629 0,7.35629 0,7.35629" 73.678 + id="path5401" 73.679 + inkscape:connector-curvature="0" 73.680 + sodipodi:nodetypes="cc" /> 73.681 + <path 73.682 + sodipodi:nodetypes="cc" 73.683 + inkscape:connector-curvature="0" 73.684 + id="path5403" 73.685 + d="m 602.02904,770.21843 c 0,19.4577 0,19.4577 0,19.4577" 73.686 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 73.687 + <path 73.688 + inkscape:connector-curvature="0" 73.689 + id="path5405" 73.690 + d="m 602.6148,790.02605 c 64.1779,0 64.1779,0 64.1779,0" 73.691 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 73.692 + <path 73.693 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 73.694 + d="m 668.13452,866.02605 c -67.06305,0 -67.06305,0 -67.06305,0" 73.695 + id="path5407" 73.696 + inkscape:connector-curvature="0" /> 73.697 + <path 73.698 + sodipodi:nodetypes="cc" 73.699 + inkscape:connector-curvature="0" 73.700 + id="path5409" 73.701 + d="m 668.02904,788.63925 c 0,13.68455 0,13.68455 0,13.68455" 73.702 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 73.703 + <path 73.704 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 73.705 + d="m 602.02904,865.22687 c 0,5.5885 0,5.5885 0,5.5885" 73.706 + id="path5411" 73.707 + inkscape:connector-curvature="0" 73.708 + sodipodi:nodetypes="cc" /> 73.709 + <path 73.710 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 73.711 + d="m 668.02904,852.63925 c 0,13.68455 0,13.68455 0,13.68455" 73.712 + id="path5417" 73.713 + inkscape:connector-curvature="0" 73.714 + sodipodi:nodetypes="cc" /> 73.715 + <text 73.716 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 73.717 + xml:space="preserve" 73.718 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.719 + x="-74.503059" 73.720 + y="1045.2394" 73.721 + id="text5421" 73.722 + sodipodi:linespacing="100%"><tspan 73.723 + style="font-size:8px;text-align:center;text-anchor:middle" 73.724 + sodipodi:role="line" 73.725 + x="-74.503059" 73.726 + y="1045.2394" 73.727 + id="tspan5423">suspend</tspan><tspan 73.728 + id="tspan5425" 73.729 + style="font-size:8px;text-align:center;text-anchor:middle" 73.730 + sodipodi:role="line" 73.731 + x="-74.503059" 73.732 + y="1053.2394">and switch</tspan><tspan 73.733 + id="tspan5427" 73.734 + style="font-size:8px;text-align:center;text-anchor:middle" 73.735 + sodipodi:role="line" 73.736 + x="-74.503059" 73.737 + y="1061.2394">to runtime</tspan></text> 73.738 + <text 73.739 + sodipodi:linespacing="100%" 73.740 + id="text5431" 73.741 + y="1071.1506" 73.742 + x="-102.37076" 73.743 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.744 + xml:space="preserve" 73.745 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 73.746 + y="1071.1506" 73.747 + x="-102.37076" 73.748 + sodipodi:role="line" 73.749 + style="font-size:8px;text-align:center;text-anchor:middle" 73.750 + id="tspan5433">return</tspan><tspan 73.751 + id="tspan5435" 73.752 + y="1079.1506" 73.753 + x="-102.37076" 73.754 + sodipodi:role="line" 73.755 + style="font-size:8px;text-align:center;text-anchor:middle">from</tspan><tspan 73.756 + id="tspan5437" 73.757 + y="1087.1506" 73.758 + x="-102.37076" 73.759 + sodipodi:role="line" 73.760 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text> 73.761 + <text 73.762 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 73.763 + xml:space="preserve" 73.764 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.765 + x="556.96783" 73.766 + y="774.71014" 73.767 + id="text5445" 73.768 + sodipodi:linespacing="100%"><tspan 73.769 + style="font-size:8px;text-align:center;text-anchor:middle" 73.770 + sodipodi:role="line" 73.771 + x="556.96783" 73.772 + y="774.71014" 73.773 + id="tspan5447">normal call</tspan></text> 73.774 + <path 73.775 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 73.776 + d="m 668.02904,901.28283 c 0,13.68455 0,13.68455 0,13.68455" 73.777 + id="path5449" 73.778 + inkscape:connector-curvature="0" 73.779 + sodipodi:nodetypes="cc" /> 73.780 + <text 73.781 + sodipodi:linespacing="100%" 73.782 + id="text5453" 73.783 + y="1128.538" 73.784 + x="-152.3584" 73.785 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.786 + xml:space="preserve" 73.787 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 73.788 + id="tspan5455" 73.789 + y="1128.538" 73.790 + x="-152.3584" 73.791 + sodipodi:role="line" 73.792 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan 73.793 + y="1136.538" 73.794 + x="-152.3584" 73.795 + sodipodi:role="line" 73.796 + style="font-size:8px;text-align:center;text-anchor:middle" 73.797 + id="tspan5457">and switch</tspan><tspan 73.798 + y="1144.538" 73.799 + x="-152.3584" 73.800 + sodipodi:role="line" 73.801 + style="font-size:8px;text-align:center;text-anchor:middle" 73.802 + id="tspan5459">to runtime</tspan></text> 73.803 + <path 73.804 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 73.805 + d="m 514.02904,870.31987 c 0,26.21842 0,26.21842 0,26.21842" 73.806 + id="path5461" 73.807 + inkscape:connector-curvature="0" 73.808 + sodipodi:nodetypes="cc" /> 73.809 + <path 73.810 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 73.811 + d="m 514.2471,896.02605 c 87.58783,0 87.58783,0 87.58783,0" 73.812 + id="path5463" 73.813 + inkscape:connector-curvature="0" /> 73.814 + <text 73.815 + sodipodi:linespacing="100%" 73.816 + id="text5465" 73.817 + y="688.71033" 73.818 + x="556.59009" 73.819 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.820 + xml:space="preserve" 73.821 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 73.822 + id="tspan5467" 73.823 + y="688.71033" 73.824 + x="556.59009" 73.825 + sodipodi:role="line" 73.826 + style="font-size:8px;text-align:center;text-anchor:middle">normal call</tspan></text> 73.827 + <text 73.828 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 73.829 + xml:space="preserve" 73.830 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.831 + x="557.52142" 73.832 + y="900.70972" 73.833 + id="text5469" 73.834 + sodipodi:linespacing="100%"><tspan 73.835 + style="font-size:8px;text-align:center;text-anchor:middle" 73.836 + sodipodi:role="line" 73.837 + x="557.52142" 73.838 + y="900.70972" 73.839 + id="tspan5471">normal call</tspan></text> 73.840 + <g 73.841 + transform="matrix(1,0,0,0.71130685,-16,282.52913)" 73.842 + id="g8395"> 73.843 + <rect 73.844 + y="313.58255" 73.845 + x="310.40247" 73.846 + height="52.250008" 73.847 + width="65.276405" 73.848 + id="rect8397" 73.849 + style="fill:none;stroke:#000000;stroke-width:1.28076112;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 73.850 + </g> 73.851 + <path 73.852 + sodipodi:nodetypes="cc" 73.853 + inkscape:connector-curvature="0" 73.854 + id="path9273" 73.855 + d="m 514.02904,658.31987 c 0,26.21842 0,26.21842 0,26.21842" 73.856 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 73.857 + <path 73.858 + sodipodi:nodetypes="cc" 73.859 + inkscape:connector-curvature="0" 73.860 + id="path9275" 73.861 + d="m 476.02904,544.79398 c 0,35.61575 0,35.61575 0,35.61575" 73.862 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" /> 73.863 + <path 73.864 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 73.865 + d="m 468.24715,580.02605 c 13.34137,0 13.34137,0 13.34137,0" 73.866 + id="path9277" 73.867 + inkscape:connector-curvature="0" /> 73.868 + <path 73.869 + inkscape:connector-curvature="0" 73.870 + id="path9279" 73.871 + d="m 481.57781,642.02605 c -13.14022,0 -13.14022,0 -13.14022,0" 73.872 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 73.873 + <path 73.874 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 73.875 + d="m 476.02904,642.3113 c 0,57.40944 0,57.40944 0,57.40944" 73.876 + id="path9281" 73.877 + inkscape:connector-curvature="0" 73.878 + sodipodi:nodetypes="cc" /> 73.879 + <path 73.880 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 73.881 + d="m 481.57781,701.27417 c -13.14022,0 -13.14022,0 -13.14022,0" 73.882 + id="path9283" 73.883 + inkscape:connector-curvature="0" /> 73.884 + <text 73.885 + transform="matrix(-0.01875541,0.9998241,-0.9998241,-0.01875541,0,0)" 73.886 + xml:space="preserve" 73.887 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.888 + x="615.90454" 73.889 + y="-469.42978" 73.890 + id="text9285" 73.891 + sodipodi:linespacing="100%"><tspan 73.892 + style="text-align:center;text-anchor:middle;fill:#008000" 73.893 + sodipodi:role="line" 73.894 + x="615.90454" 73.895 + y="-469.42978" 73.896 + id="tspan9287">Timeline of SeedVP</tspan></text> 73.897 + <text 73.898 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 73.899 + xml:space="preserve" 73.900 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.901 + x="486.10849" 73.902 + y="579.01941" 73.903 + id="text9289" 73.904 + sodipodi:linespacing="100%"><tspan 73.905 + style="font-size:8px;text-align:start;text-anchor:start" 73.906 + sodipodi:role="line" 73.907 + x="486.10849" 73.908 + y="579.01941" 73.909 + id="tspan9291">suspend</tspan></text> 73.910 + <text 73.911 + sodipodi:linespacing="100%" 73.912 + id="text9293" 73.913 + y="643.01886" 73.914 + x="486.38965" 73.915 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.916 + xml:space="preserve" 73.917 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 73.918 + id="tspan9295" 73.919 + y="643.01886" 73.920 + x="486.38965" 73.921 + sodipodi:role="line" 73.922 + style="font-size:8px;text-align:start;text-anchor:start">resume</tspan></text> 73.923 + <text 73.924 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 73.925 + xml:space="preserve" 73.926 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.927 + x="486.64105" 73.928 + y="700.22437" 73.929 + id="text9297" 73.930 + sodipodi:linespacing="100%"><tspan 73.931 + style="font-size:8px;text-align:start;text-anchor:start" 73.932 + sodipodi:role="line" 73.933 + x="486.64105" 73.934 + y="700.22437" 73.935 + id="tspan9299">end</tspan></text> 73.936 + <text 73.937 + sodipodi:linespacing="100%" 73.938 + id="text9301" 73.939 + y="467.42465" 73.940 + x="63.167969" 73.941 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.942 + xml:space="preserve"><tspan 73.943 + id="tspan9303" 73.944 + y="467.42465" 73.945 + x="63.167969" 73.946 + sodipodi:role="line" 73.947 + style="text-align:center;text-anchor:middle;fill:#000080">Proto-Runtime</tspan><tspan 73.948 + id="tspan9305" 73.949 + y="477.42465" 73.950 + x="63.167969" 73.951 + sodipodi:role="line" 73.952 + style="text-align:center;text-anchor:middle;fill:#000080">Primitive</tspan><tspan 73.953 + y="487.42465" 73.954 + x="63.167969" 73.955 + sodipodi:role="line" 73.956 + style="text-align:center;text-anchor:middle;fill:#000080" 73.957 + id="tspan9307">Code</tspan></text> 73.958 + <text 73.959 + xml:space="preserve" 73.960 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.961 + x="65.380371" 73.962 + y="585.42468" 73.963 + id="text9309" 73.964 + sodipodi:linespacing="100%"><tspan 73.965 + id="tspan9313" 73.966 + style="text-align:center;text-anchor:middle;fill:#000080" 73.967 + sodipodi:role="line" 73.968 + x="65.380371" 73.969 + y="585.42468">PR primitive Fn</tspan><tspan 73.970 + style="text-align:center;text-anchor:middle;fill:#000080" 73.971 + sodipodi:role="line" 73.972 + x="65.380371" 73.973 + y="595.42468" 73.974 + id="tspan9317">to create VP</tspan></text> 73.975 + <path 73.976 + inkscape:connector-curvature="0" 73.977 + id="path9321" 73.978 + d="m 101.87628,587.85467 c 83.54552,12.98474 93.01032,9.74762 154.91834,33.79457 83.60123,32.47325 132.79902,111.74825 132.79902,111.74825" 73.979 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000006, 3.00000006;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 73.980 + sodipodi:nodetypes="csc" /> 73.981 + <g 73.982 + id="g9341" 73.983 + transform="translate(44.002789,336)"> 73.984 + <rect 73.985 + y="389.58255" 73.986 + x="346.40247" 73.987 + height="37.165791" 73.988 + width="65.276405" 73.989 + id="rect9343" 73.990 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 73.991 + <text 73.992 + xml:space="preserve" 73.993 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.994 + x="379.35806" 73.995 + y="400.72159" 73.996 + id="text9345" 73.997 + sodipodi:linespacing="100%"><tspan 73.998 + style="text-align:center;text-anchor:middle;fill:#008000" 73.999 + sodipodi:role="line" 73.1000 + x="379.35806" 73.1001 + y="400.72159" 73.1002 + id="tspan9347">VP 1</tspan><tspan 73.1003 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000" 73.1004 + sodipodi:role="line" 73.1005 + x="379.35806" 73.1006 + y="409.15637" 73.1007 + id="tspan9349">(created by</tspan><tspan 73.1008 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000" 73.1009 + sodipodi:role="line" 73.1010 + x="379.35806" 73.1011 + y="417.15637" 73.1012 + id="tspan9355">application,</tspan><tspan 73.1013 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000" 73.1014 + sodipodi:role="line" 73.1015 + x="379.35806" 73.1016 + y="425.15637" 73.1017 + id="tspan9746">on core 2)</tspan></text> 73.1018 + </g> 73.1019 + <g 73.1020 + transform="translate(44.002789,370)" 73.1021 + id="g9371" /> 73.1022 + <text 73.1023 + xml:space="preserve" 73.1024 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.1025 + x="202.41257" 73.1026 + y="541.42468" 73.1027 + id="text9512" 73.1028 + sodipodi:linespacing="100%"><tspan 73.1029 + style="text-align:center;text-anchor:middle;fill:#000080" 73.1030 + sodipodi:role="line" 73.1031 + x="202.41257" 73.1032 + y="541.42468" 73.1033 + id="tspan9514">Master Fn</tspan></text> 73.1034 + <path 73.1035 + sodipodi:nodetypes="cc" 73.1036 + inkscape:connector-curvature="0" 73.1037 + id="path9522" 73.1038 + d="m 205.27805,580.31985 c 0,7.35629 0,7.35629 0,7.35629" 73.1039 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 73.1040 + <path 73.1041 + inkscape:connector-curvature="0" 73.1042 + id="path9524" 73.1043 + d="m 205.05995,586.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 73.1044 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 73.1045 + <path 73.1046 + sodipodi:nodetypes="cc" 73.1047 + inkscape:connector-curvature="0" 73.1048 + id="path9548" 73.1049 + d="m 137.27805,585.85824 c 0,11.43122 0,11.43122 0,11.43122" 73.1050 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 73.1051 + <path 73.1052 + inkscape:connector-curvature="0" 73.1053 + id="path9550" 73.1054 + d="m 137.57123,598.02605 c -69.22157,0 -69.22157,0 -69.22157,0" 73.1055 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 73.1056 + <path 73.1057 + sodipodi:nodetypes="cc" 73.1058 + inkscape:connector-curvature="0" 73.1059 + id="path9554" 73.1060 + d="m 205.27805,636.63925 c 0,4.54718 0,4.54718 0,4.54718" 73.1061 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 73.1062 + <text 73.1063 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 73.1064 + xml:space="preserve" 73.1065 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.1066 + x="-300.35513" 73.1067 + y="609.46997" 73.1068 + id="text9566" 73.1069 + sodipodi:linespacing="100%"><tspan 73.1070 + style="font-size:8px;text-align:center;text-anchor:middle" 73.1071 + sodipodi:role="line" 73.1072 + x="-300.35513" 73.1073 + y="609.46997" 73.1074 + id="tspan9568">suspend</tspan><tspan 73.1075 + id="tspan9570" 73.1076 + style="font-size:8px;text-align:center;text-anchor:middle" 73.1077 + sodipodi:role="line" 73.1078 + x="-300.35513" 73.1079 + y="617.46997">and switch</tspan><tspan 73.1080 + id="tspan9572" 73.1081 + style="font-size:8px;text-align:center;text-anchor:middle" 73.1082 + sodipodi:role="line" 73.1083 + x="-300.35513" 73.1084 + y="625.46997">to app VP</tspan></text> 73.1085 + <path 73.1086 + sodipodi:nodetypes="cc" 73.1087 + inkscape:connector-curvature="0" 73.1088 + id="path9614" 73.1089 + d="m 205.27805,580.31985 c 0,7.35629 0,7.35629 0,7.35629" 73.1090 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 73.1091 + <path 73.1092 + sodipodi:nodetypes="cc" 73.1093 + inkscape:connector-curvature="0" 73.1094 + id="path9616" 73.1095 + d="m 205.27805,580.31985 c 0,7.35629 0,7.35629 0,7.35629" 73.1096 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 73.1097 + <path 73.1098 + inkscape:connector-curvature="0" 73.1099 + id="path9648" 73.1100 + d="m 468.24715,545.42364 c 13.34137,0 13.34137,0 13.34137,0" 73.1101 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 73.1102 + <text 73.1103 + sodipodi:linespacing="100%" 73.1104 + id="text9654" 73.1105 + y="547.021" 73.1106 + x="485.96786" 73.1107 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.1108 + xml:space="preserve" 73.1109 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 73.1110 + id="tspan9656" 73.1111 + y="547.021" 73.1112 + x="485.96786" 73.1113 + sodipodi:role="line" 73.1114 + style="font-size:8px;text-align:start;text-anchor:start">start</tspan></text> 73.1115 + <path 73.1116 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" 73.1117 + d="m 476.02904,764.79398 c 0,35.61575 0,35.61575 0,35.61575" 73.1118 + id="path9658" 73.1119 + inkscape:connector-curvature="0" 73.1120 + sodipodi:nodetypes="cc" /> 73.1121 + <path 73.1122 + inkscape:connector-curvature="0" 73.1123 + id="path9660" 73.1124 + d="m 468.24715,800.02605 c 13.34137,0 13.34137,0 13.34137,0" 73.1125 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 73.1126 + <path 73.1127 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 73.1128 + d="m 481.57781,854.02605 c -13.14022,0 -13.14022,0 -13.14022,0" 73.1129 + id="path9662" 73.1130 + inkscape:connector-curvature="0" /> 73.1131 + <text 73.1132 + sodipodi:linespacing="100%" 73.1133 + id="text9668" 73.1134 + y="-467.51968" 73.1135 + x="833.97864" 73.1136 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.1137 + xml:space="preserve" 73.1138 + transform="matrix(-0.01875541,0.9998241,-0.9998241,-0.01875541,0,0)"><tspan 73.1139 + y="-467.51968" 73.1140 + x="833.97864" 73.1141 + sodipodi:role="line" 73.1142 + style="text-align:center;text-anchor:middle;fill:#008000" 73.1143 + id="tspan9740">Timeline of VP 1</tspan></text> 73.1144 + <text 73.1145 + sodipodi:linespacing="100%" 73.1146 + id="text9672" 73.1147 + y="799.01776" 73.1148 + x="487.07419" 73.1149 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.1150 + xml:space="preserve" 73.1151 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 73.1152 + id="tspan9674" 73.1153 + y="799.01776" 73.1154 + x="487.07419" 73.1155 + sodipodi:role="line" 73.1156 + style="font-size:8px;text-align:start;text-anchor:start">suspend</tspan></text> 73.1157 + <text 73.1158 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 73.1159 + xml:space="preserve" 73.1160 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.1161 + x="487.32007" 73.1162 + y="855.01727" 73.1163 + id="text9676" 73.1164 + sodipodi:linespacing="100%"><tspan 73.1165 + style="font-size:8px;text-align:start;text-anchor:start" 73.1166 + sodipodi:role="line" 73.1167 + x="487.32007" 73.1168 + y="855.01727" 73.1169 + id="tspan9678">resume</tspan></text> 73.1170 + <path 73.1171 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 73.1172 + d="m 468.24715,765.42364 c 13.34137,0 13.34137,0 13.34137,0" 73.1173 + id="path9684" 73.1174 + inkscape:connector-curvature="0" /> 73.1175 + <text 73.1176 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 73.1177 + xml:space="preserve" 73.1178 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.1179 + x="486.93356" 73.1180 + y="767.01935" 73.1181 + id="text9686" 73.1182 + sodipodi:linespacing="100%"><tspan 73.1183 + style="font-size:8px;text-align:start;text-anchor:start" 73.1184 + sodipodi:role="line" 73.1185 + x="486.93356" 73.1186 + y="767.01935" 73.1187 + id="tspan9688">start</tspan></text> 73.1188 + <path 73.1189 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" 73.1190 + d="m 266.02904,579.4311 c 0,61.88904 0,61.88904 0,61.88904" 73.1191 + id="path9690" 73.1192 + inkscape:connector-curvature="0" 73.1193 + sodipodi:nodetypes="cc" /> 73.1194 + <path 73.1195 + inkscape:connector-curvature="0" 73.1196 + id="path9692" 73.1197 + d="m 258.24715,580.02605 c 13.34137,0 13.34137,0 13.34137,0" 73.1198 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 73.1199 + <path 73.1200 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 73.1201 + d="m 271.57781,642.02605 c -13.14022,0 -13.14022,0 -13.14022,0" 73.1202 + id="path9694" 73.1203 + inkscape:connector-curvature="0" /> 73.1204 + <text 73.1205 + sodipodi:linespacing="100%" 73.1206 + id="text9700" 73.1207 + y="-276.31772" 73.1208 + x="625.34003" 73.1209 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.1210 + xml:space="preserve" 73.1211 + transform="matrix(0.00239328,0.99999714,-0.99999714,0.00239328,0,0)"><tspan 73.1212 + y="-276.31772" 73.1213 + x="625.34003" 73.1214 + sodipodi:role="line" 73.1215 + style="text-align:center;text-anchor:middle;fill:#000080" 73.1216 + id="tspan9736">Timeline of Master on core 1</tspan></text> 73.1217 + <text 73.1218 + sodipodi:linespacing="100%" 73.1219 + id="text9704" 73.1220 + y="642.12531" 73.1221 + x="262.08206" 73.1222 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.1223 + xml:space="preserve" 73.1224 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 73.1225 + id="tspan9706" 73.1226 + y="642.12531" 73.1227 + x="262.08206" 73.1228 + sodipodi:role="line" 73.1229 + style="font-size:8px;text-align:end;text-anchor:end">suspend</tspan></text> 73.1230 + <text 73.1231 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 73.1232 + xml:space="preserve" 73.1233 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.1234 + x="259.36166" 73.1235 + y="582.12573" 73.1236 + id="text9708" 73.1237 + sodipodi:linespacing="100%"><tspan 73.1238 + style="font-size:8px;text-align:end;text-anchor:end" 73.1239 + sodipodi:role="line" 73.1240 + x="259.36166" 73.1241 + y="582.12573" 73.1242 + id="tspan9710">resume</tspan></text> 73.1243 + <path 73.1244 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 73.1245 + d="m 258.24715,545.42364 c 13.34137,0 13.34137,0 13.34137,0" 73.1246 + id="path9716" 73.1247 + inkscape:connector-curvature="0" /> 73.1248 + <text 73.1249 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 73.1250 + xml:space="preserve" 73.1251 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.1252 + x="258.41916" 73.1253 + y="548.09222" 73.1254 + id="text9718" 73.1255 + sodipodi:linespacing="100%"><tspan 73.1256 + style="font-size:8px;text-align:end;text-anchor:end" 73.1257 + sodipodi:role="line" 73.1258 + x="258.41916" 73.1259 + y="548.09222" 73.1260 + id="tspan9720">start</tspan></text> 73.1261 + <path 73.1262 + sodipodi:nodetypes="cc" 73.1263 + inkscape:connector-curvature="0" 73.1264 + id="path9722" 73.1265 + d="m 266.02904,699.43112 c 0,10.33165 0,10.33165 0,10.33165" 73.1266 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 73.1267 + <path 73.1268 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 73.1269 + d="m 258.24715,700.02605 c 13.34137,0 13.34137,0 13.34137,0" 73.1270 + id="path9724" 73.1271 + inkscape:connector-curvature="0" /> 73.1272 + <text 73.1273 + sodipodi:linespacing="100%" 73.1274 + id="text9936" 73.1275 + y="786.9176" 73.1276 + x="644.57471" 73.1277 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.1278 + xml:space="preserve" 73.1279 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 73.1280 + id="tspan9938" 73.1281 + y="786.9176" 73.1282 + x="644.57471" 73.1283 + sodipodi:role="line" 73.1284 + style="font-size:8px;text-align:center;text-anchor:middle">Call to dyn lib</tspan></text> 73.1285 + <text 73.1286 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 73.1287 + xml:space="preserve" 73.1288 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.1289 + x="646.42737" 73.1290 + y="898.90509" 73.1291 + id="text9940" 73.1292 + sodipodi:linespacing="100%"><tspan 73.1293 + style="font-size:8px;text-align:center;text-anchor:middle" 73.1294 + sodipodi:role="line" 73.1295 + x="646.42737" 73.1296 + y="898.90509" 73.1297 + id="tspan9942">Call to dyn lib</tspan></text> 73.1298 + <text 73.1299 + sodipodi:linespacing="100%" 73.1300 + id="text9944" 73.1301 + y="686.93219" 73.1302 + x="642.91998" 73.1303 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.1304 + xml:space="preserve" 73.1305 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 73.1306 + id="tspan9946" 73.1307 + y="686.93219" 73.1308 + x="642.91998" 73.1309 + sodipodi:role="line" 73.1310 + style="font-size:8px;text-align:center;text-anchor:middle">Call to dyn lib</tspan></text> 73.1311 + <text 73.1312 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 73.1313 + xml:space="preserve" 73.1314 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.1315 + x="115.47029" 73.1316 + y="603.64581" 73.1317 + id="text9948" 73.1318 + sodipodi:linespacing="100%"><tspan 73.1319 + style="font-size:8px;text-align:center;text-anchor:middle" 73.1320 + sodipodi:role="line" 73.1321 + x="115.47029" 73.1322 + y="603.64581" 73.1323 + id="tspan9950">call to dyn lib</tspan></text> 73.1324 + <path 73.1325 + inkscape:connector-curvature="0" 73.1326 + id="path9952" 73.1327 + d="m 701.67453,642.02605 c -669.895225,0 -669.895225,0 -669.895225,0" 73.1328 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" /> 73.1329 + <path 73.1330 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" 73.1331 + d="m 701.67453,579.52981 c -669.895225,0 -669.895225,0 -669.895225,0" 73.1332 + id="path9954" 73.1333 + inkscape:connector-curvature="0" /> 73.1334 + <text 73.1335 + xml:space="preserve" 73.1336 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.1337 + x="326.92542" 73.1338 + y="739.76575" 73.1339 + id="text9956" 73.1340 + sodipodi:linespacing="100%"><tspan 73.1341 + style="text-align:center;text-anchor:middle" 73.1342 + sodipodi:role="line" 73.1343 + id="tspan9958" 73.1344 + x="326.92542" 73.1345 + y="739.76575">Master</tspan><tspan 73.1346 + style="font-size:8px;text-align:center;text-anchor:middle" 73.1347 + id="tspan9960" 73.1348 + sodipodi:role="line" 73.1349 + x="326.92542" 73.1350 + y="748.2005">(runtime system)</tspan><tspan 73.1351 + id="tspan9962" 73.1352 + style="font-size:8px;text-align:center;text-anchor:middle" 73.1353 + sodipodi:role="line" 73.1354 + x="326.92542" 73.1355 + y="756.2005">on core 2</tspan></text> 73.1356 + <path 73.1357 + inkscape:connector-curvature="0" 73.1358 + id="path9970" 73.1359 + d="m 291.99816,758.02605 c -63.44071,0 -63.44071,0 -63.44071,0" 73.1360 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000003, 3.00000003;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 73.1361 + <g 73.1362 + id="g9972" 73.1363 + transform="matrix(1,0,0,0.71130685,-16,504.52913)"> 73.1364 + <rect 73.1365 + style="fill:none;stroke:#000000;stroke-width:1.28076112;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 73.1366 + id="rect9974" 73.1367 + width="65.276405" 73.1368 + height="52.250008" 73.1369 + x="310.40247" 73.1370 + y="313.58255" /> 73.1371 + </g> 73.1372 + <text 73.1373 + sodipodi:linespacing="100%" 73.1374 + id="text9982" 73.1375 + y="761.42468" 73.1376 + x="202.41257" 73.1377 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.1378 + xml:space="preserve"><tspan 73.1379 + id="tspan9984" 73.1380 + y="761.42468" 73.1381 + x="202.41257" 73.1382 + sodipodi:role="line" 73.1383 + style="text-align:center;text-anchor:middle;fill:#000080">Master Fn</tspan></text> 73.1384 + <path 73.1385 + sodipodi:nodetypes="cc" 73.1386 + inkscape:connector-curvature="0" 73.1387 + id="path10010" 73.1388 + d="m 266.02904,799.43113 c 0,54.93536 0,54.93536 0,54.93536" 73.1389 + style="fill:none;stroke:#000000;stroke-width:0.99999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" /> 73.1390 + <path 73.1391 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 73.1392 + d="m 258.24715,800.02605 c 13.34137,0 13.34137,0 13.34137,0" 73.1393 + id="path10012" 73.1394 + inkscape:connector-curvature="0" /> 73.1395 + <path 73.1396 + inkscape:connector-curvature="0" 73.1397 + id="path10014" 73.1398 + d="m 271.57781,854.02605 c -13.14022,0 -13.14022,0 -13.14022,0" 73.1399 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 73.1400 + <text 73.1401 + transform="matrix(0.00962718,0.99995366,-0.99995366,0.00962718,0,0)" 73.1402 + xml:space="preserve" 73.1403 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.1404 + x="837.37762" 73.1405 + y="-273.75269" 73.1406 + id="text10018" 73.1407 + sodipodi:linespacing="100%"><tspan 73.1408 + id="tspan10020" 73.1409 + style="text-align:center;text-anchor:middle;fill:#000080" 73.1410 + sodipodi:role="line" 73.1411 + x="837.37762" 73.1412 + y="-273.75269">Timeline of Master on core 2</tspan></text> 73.1413 + <path 73.1414 + inkscape:connector-curvature="0" 73.1415 + id="path10030" 73.1416 + d="m 258.24715,765.42364 c 13.34137,0 13.34137,0 13.34137,0" 73.1417 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 73.1418 + <path 73.1419 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000002, 3.00000002;stroke-dashoffset:0" 73.1420 + d="m 205.27805,543.45805 c 0,3.23577 0,3.23577 0,3.23577" 73.1421 + id="path10054" 73.1422 + inkscape:connector-curvature="0" 73.1423 + sodipodi:nodetypes="cc" /> 73.1424 + <path 73.1425 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" 73.1426 + d="m 701.67453,854.02605 c -669.895225,0 -669.895225,0 -669.895225,0" 73.1427 + id="path10056" 73.1428 + inkscape:connector-curvature="0" /> 73.1429 + <path 73.1430 + inkscape:connector-curvature="0" 73.1431 + id="path10058" 73.1432 + d="m 701.67453,799.52981 c -669.895225,0 -669.895225,0 -669.895225,0" 73.1433 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" /> 73.1434 + <text 73.1435 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 73.1436 + xml:space="preserve" 73.1437 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.1438 + x="-248.43199" 73.1439 + y="551.17401" 73.1440 + id="text10062" 73.1441 + sodipodi:linespacing="100%"><tspan 73.1442 + id="tspan10068" 73.1443 + style="font-size:8px;text-align:center;text-anchor:middle" 73.1444 + sodipodi:role="line" 73.1445 + x="-248.43199" 73.1446 + y="551.17401">return from</tspan><tspan 73.1447 + style="font-size:8px;text-align:center;text-anchor:middle" 73.1448 + sodipodi:role="line" 73.1449 + x="-248.43199" 73.1450 + y="559.17401" 73.1451 + id="tspan10074">suspend</tspan></text> 73.1452 + <path 73.1453 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" 73.1454 + d="m 701.67453,700.02605 c -669.895225,0 -669.895225,0 -669.895225,0" 73.1455 + id="path10076" 73.1456 + inkscape:connector-curvature="0" /> 73.1457 + <text 73.1458 + xml:space="preserve" 73.1459 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.1460 + x="667.38037" 73.1461 + y="677.42468" 73.1462 + id="text10082" 73.1463 + sodipodi:linespacing="100%"><tspan 73.1464 + style="text-align:center;text-anchor:middle;fill:#000080" 73.1465 + sodipodi:role="line" 73.1466 + x="667.38037" 73.1467 + y="677.42468" 73.1468 + id="tspan10084">PR primitive Fn</tspan><tspan 73.1469 + id="tspan10086" 73.1470 + style="text-align:center;text-anchor:middle;fill:#000080" 73.1471 + sodipodi:role="line" 73.1472 + x="667.38037" 73.1473 + y="687.42468">to send request</tspan></text> 73.1474 + <text 73.1475 + sodipodi:linespacing="100%" 73.1476 + id="text10088" 73.1477 + y="777.42468" 73.1478 + x="667.38037" 73.1479 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.1480 + xml:space="preserve"><tspan 73.1481 + id="tspan10090" 73.1482 + y="777.42468" 73.1483 + x="667.38037" 73.1484 + sodipodi:role="line" 73.1485 + style="text-align:center;text-anchor:middle;fill:#000080">PR primitive Fn</tspan><tspan 73.1486 + y="787.42468" 73.1487 + x="667.38037" 73.1488 + sodipodi:role="line" 73.1489 + style="text-align:center;text-anchor:middle;fill:#000080" 73.1490 + id="tspan10092">to send request</tspan></text> 73.1491 + <text 73.1492 + xml:space="preserve" 73.1493 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.1494 + x="667.38037" 73.1495 + y="889.42468" 73.1496 + id="text10094" 73.1497 + sodipodi:linespacing="100%"><tspan 73.1498 + style="text-align:center;text-anchor:middle;fill:#000080" 73.1499 + sodipodi:role="line" 73.1500 + x="667.38037" 73.1501 + y="889.42468" 73.1502 + id="tspan10096">PR primitive Fn</tspan><tspan 73.1503 + id="tspan10098" 73.1504 + style="text-align:center;text-anchor:middle;fill:#000080" 73.1505 + sodipodi:role="line" 73.1506 + x="667.38037" 73.1507 + y="899.42468">to send request</tspan></text> 73.1508 + <path 73.1509 + sodipodi:nodetypes="cc" 73.1510 + inkscape:connector-curvature="0" 73.1511 + id="path10100" 73.1512 + d="m 476.02904,854.3113 c 0,57.40944 0,57.40944 0,57.40944" 73.1513 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 73.1514 + <path 73.1515 + inkscape:connector-curvature="0" 73.1516 + id="path10102" 73.1517 + d="m 481.57781,913.27417 c -13.14022,0 -13.14022,0 -13.14022,0" 73.1518 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 73.1519 + <text 73.1520 + sodipodi:linespacing="100%" 73.1521 + id="text10104" 73.1522 + y="912.22235" 73.1523 + x="487.57166" 73.1524 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.1525 + xml:space="preserve" 73.1526 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 73.1527 + id="tspan10106" 73.1528 + y="912.22235" 73.1529 + x="487.57166" 73.1530 + sodipodi:role="line" 73.1531 + style="font-size:8px;text-align:start;text-anchor:start">end</tspan></text> 73.1532 + <path 73.1533 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 73.1534 + d="m 266.02904,911.43112 c 0,10.33165 0,10.33165 0,10.33165" 73.1535 + id="path10108" 73.1536 + inkscape:connector-curvature="0" 73.1537 + sodipodi:nodetypes="cc" /> 73.1538 + <path 73.1539 + inkscape:connector-curvature="0" 73.1540 + id="path10110" 73.1541 + d="m 258.24715,912.02605 c 13.34137,0 13.34137,0 13.34137,0" 73.1542 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 73.1543 + <path 73.1544 + inkscape:connector-curvature="0" 73.1545 + id="path10116" 73.1546 + d="m 701.67453,912.02605 c -669.895225,0 -669.895225,0 -669.895225,0" 73.1547 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" /> 73.1548 + <text 73.1549 + sodipodi:linespacing="100%" 73.1550 + id="text10118" 73.1551 + y="702.12524" 73.1552 + x="259.88855" 73.1553 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.1554 + xml:space="preserve" 73.1555 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 73.1556 + id="tspan10120" 73.1557 + y="702.12524" 73.1558 + x="259.88855" 73.1559 + sodipodi:role="line" 73.1560 + style="font-size:8px;text-align:end;text-anchor:end">resume</tspan></text> 73.1561 + <text 73.1562 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 73.1563 + xml:space="preserve" 73.1564 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.1565 + x="260.32755" 73.1566 + y="802.12433" 73.1567 + id="text10122" 73.1568 + sodipodi:linespacing="100%"><tspan 73.1569 + style="font-size:8px;text-align:end;text-anchor:end" 73.1570 + sodipodi:role="line" 73.1571 + x="260.32755" 73.1572 + y="802.12433" 73.1573 + id="tspan10124">resume</tspan></text> 73.1574 + <text 73.1575 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 73.1576 + xml:space="preserve" 73.1577 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.1578 + x="263.01257" 73.1579 + y="854.12366" 73.1580 + id="text10126" 73.1581 + sodipodi:linespacing="100%"><tspan 73.1582 + style="font-size:8px;text-align:end;text-anchor:end" 73.1583 + sodipodi:role="line" 73.1584 + x="263.01257" 73.1585 + y="854.12366" 73.1586 + id="tspan10128">suspend</tspan></text> 73.1587 + <text 73.1588 + sodipodi:linespacing="100%" 73.1589 + id="text10130" 73.1590 + y="768.09064" 73.1591 + x="259.38495" 73.1592 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.1593 + xml:space="preserve" 73.1594 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 73.1595 + id="tspan10132" 73.1596 + y="768.09064" 73.1597 + x="259.38495" 73.1598 + sodipodi:role="line" 73.1599 + style="font-size:8px;text-align:end;text-anchor:end">start</tspan></text> 73.1600 + <text 73.1601 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 73.1602 + xml:space="preserve" 73.1603 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.1604 + x="260.81906" 73.1605 + y="914.12299" 73.1606 + id="text10134" 73.1607 + sodipodi:linespacing="100%"><tspan 73.1608 + style="font-size:8px;text-align:end;text-anchor:end" 73.1609 + sodipodi:role="line" 73.1610 + x="260.81906" 73.1611 + y="914.12299" 73.1612 + id="tspan10136">resume</tspan></text> 73.1613 + <text 73.1614 + xml:space="preserve" 73.1615 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.1616 + x="136.99219" 73.1617 + y="467.42465" 73.1618 + id="text10146" 73.1619 + sodipodi:linespacing="100%"><tspan 73.1620 + style="text-align:center;text-anchor:middle;fill:#800000" 73.1621 + sodipodi:role="line" 73.1622 + x="138.49609" 73.1623 + y="467.42465" 73.1624 + id="tspan10148">Language </tspan><tspan 73.1625 + id="tspan10150" 73.1626 + style="text-align:center;text-anchor:middle;fill:#800000" 73.1627 + sodipodi:role="line" 73.1628 + x="136.99219" 73.1629 + y="477.42465">Plugin</tspan><tspan 73.1630 + id="tspan10152" 73.1631 + style="text-align:center;text-anchor:middle;fill:#800000" 73.1632 + sodipodi:role="line" 73.1633 + x="136.99219" 73.1634 + y="487.42465">Code</tspan></text> 73.1635 + <text 73.1636 + xml:space="preserve" 73.1637 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.1638 + x="203.16797" 73.1639 + y="467.42465" 73.1640 + id="text10154" 73.1641 + sodipodi:linespacing="100%"><tspan 73.1642 + style="text-align:center;text-anchor:middle;fill:#000080" 73.1643 + sodipodi:role="line" 73.1644 + x="203.16797" 73.1645 + y="467.42465" 73.1646 + id="tspan10156">Proto-Runtime</tspan><tspan 73.1647 + style="text-align:center;text-anchor:middle;fill:#000080" 73.1648 + sodipodi:role="line" 73.1649 + x="203.16797" 73.1650 + y="477.42465" 73.1651 + id="tspan10158">Master</tspan><tspan 73.1652 + id="tspan10160" 73.1653 + style="text-align:center;text-anchor:middle;fill:#000080" 73.1654 + sodipodi:role="line" 73.1655 + x="203.16797" 73.1656 + y="487.42465">Code</tspan></text> 73.1657 + <path 73.1658 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 73.1659 + d="m 205.05995,586.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 73.1660 + id="path10162" 73.1661 + inkscape:connector-curvature="0" /> 73.1662 + <path 73.1663 + inkscape:connector-curvature="0" 73.1664 + id="path10164" 73.1665 + d="m 137.04459,636.02605 c 67.19099,0 67.19099,0 67.19099,0" 73.1666 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 73.1667 + <path 73.1668 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 73.1669 + d="m 67.525286,610.02605 c 69.221574,0 69.221574,0 69.221574,0" 73.1670 + id="path10166" 73.1671 + inkscape:connector-curvature="0" /> 73.1672 + <path 73.1673 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 73.1674 + d="m 67.27805,597.85824 c 0,13.94668 0,13.94668 0,13.94668" 73.1675 + id="path10168" 73.1676 + inkscape:connector-curvature="0" 73.1677 + sodipodi:nodetypes="cc" /> 73.1678 + <path 73.1679 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 73.1680 + d="m 137.04459,612.02605 c 67.19099,0 67.19099,0 67.19099,0" 73.1681 + id="path10172" 73.1682 + inkscape:connector-curvature="0" /> 73.1683 + <path 73.1684 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 73.1685 + d="m 205.27805,612.63926 c 0,11.23237 0,11.23237 0,11.23237" 73.1686 + id="path10174" 73.1687 + inkscape:connector-curvature="0" 73.1688 + sodipodi:nodetypes="cc" /> 73.1689 + <path 73.1690 + inkscape:connector-curvature="0" 73.1691 + id="path10176" 73.1692 + d="m 205.05995,624.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 73.1693 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 73.1694 + <text 73.1695 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 73.1696 + xml:space="preserve" 73.1697 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.1698 + x="191.85561" 73.1699 + y="626.38348" 73.1700 + id="text10178" 73.1701 + sodipodi:linespacing="100%"><tspan 73.1702 + style="font-size:7px;text-align:center;text-anchor:middle" 73.1703 + sodipodi:role="line" 73.1704 + x="191.85561" 73.1705 + y="626.38348" 73.1706 + id="tspan10180">call via Ptr to Dyn Lib Fn</tspan></text> 73.1707 + <path 73.1708 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 73.1709 + d="m 137.27805,623.85824 c 0,11.43122 0,11.43122 0,11.43122" 73.1710 + id="path10182" 73.1711 + inkscape:connector-curvature="0" 73.1712 + sodipodi:nodetypes="cc" /> 73.1713 + <text 73.1714 + sodipodi:linespacing="100%" 73.1715 + id="text10184" 73.1716 + y="588.38867" 73.1717 + x="191.22707" 73.1718 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.1719 + xml:space="preserve" 73.1720 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 73.1721 + id="tspan10186" 73.1722 + y="588.38867" 73.1723 + x="191.22707" 73.1724 + sodipodi:role="line" 73.1725 + style="font-size:7px;text-align:center;text-anchor:middle">call via Ptr to Dyn Lib Fn</tspan></text> 73.1726 + <text 73.1727 + sodipodi:linespacing="100%" 73.1728 + id="text10188" 73.1729 + y="791.42468" 73.1730 + x="137.31689" 73.1731 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.1732 + xml:space="preserve"><tspan 73.1733 + id="tspan10190" 73.1734 + y="791.42468" 73.1735 + x="137.31689" 73.1736 + sodipodi:role="line" 73.1737 + style="text-align:center;text-anchor:middle;fill:#800000">Lang Handler</tspan><tspan 73.1738 + id="tspan10192" 73.1739 + y="801.42468" 73.1740 + x="137.31689" 73.1741 + sodipodi:role="line" 73.1742 + style="text-align:center;text-anchor:middle;fill:#800000">for acq Mutex</tspan></text> 73.1743 + <path 73.1744 + sodipodi:nodetypes="cc" 73.1745 + inkscape:connector-curvature="0" 73.1746 + id="path10230" 73.1747 + d="m 205.27805,763.45805 c 0,3.23576 0,3.23576 0,3.23576" 73.1748 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 73.1749 + <path 73.1750 + inkscape:connector-curvature="0" 73.1751 + id="path4879" 73.1752 + d="m 465.78297,700.02605 c -193.92439,0 -193.92439,0 -193.92439,0" 73.1753 + style="fill:none;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 73.1754 + <path 73.1755 + inkscape:connector-curvature="0" 73.1756 + id="path5395" 73.1757 + d="m 466.19516,580.02605 c -193.92439,0 -193.92439,0 -193.92439,0" 73.1758 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 73.1759 + <path 73.1760 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 73.1761 + d="m 466.19516,800.02605 c -193.92439,0 -193.92439,0 -193.92439,0" 73.1762 + id="path5397" 73.1763 + inkscape:connector-curvature="0" /> 73.1764 + <path 73.1765 + inkscape:connector-curvature="0" 73.1766 + id="path5399" 73.1767 + d="m 466.19516,912.02605 c -193.92439,0 -193.92439,0 -193.92439,0" 73.1768 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 73.1769 + <path 73.1770 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 73.1771 + d="m 271.03421,854.02605 c 193.92439,0 193.92439,0 193.92439,0" 73.1772 + id="path5402" 73.1773 + inkscape:connector-curvature="0" /> 73.1774 + <text 73.1775 + sodipodi:linespacing="100%" 73.1776 + id="text5410" 73.1777 + y="833.42468" 73.1778 + x="137.68066" 73.1779 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.1780 + xml:space="preserve"><tspan 73.1781 + id="tspan5412" 73.1782 + y="833.42468" 73.1783 + x="137.68066" 73.1784 + sodipodi:role="line" 73.1785 + style="text-align:center;text-anchor:middle;fill:#800000">Assigner Fn</tspan></text> 73.1786 + <path 73.1787 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 73.1788 + d="m 205.27805,800.31985 c 0,7.35629 0,7.35629 0,7.35629" 73.1789 + id="path5420" 73.1790 + inkscape:connector-curvature="0" 73.1791 + sodipodi:nodetypes="cc" /> 73.1792 + <path 73.1793 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 73.1794 + d="m 205.05995,806.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 73.1795 + id="path5422" 73.1796 + inkscape:connector-curvature="0" /> 73.1797 + <path 73.1798 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 73.1799 + d="m 137.27805,805.85824 c 0,11.43122 0,11.43122 0,11.43122" 73.1800 + id="path5424" 73.1801 + inkscape:connector-curvature="0" 73.1802 + sodipodi:nodetypes="cc" /> 73.1803 + <path 73.1804 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 73.1805 + d="m 205.27805,848.63925 c 0,4.54718 0,4.54718 0,4.54718" 73.1806 + id="path5428" 73.1807 + inkscape:connector-curvature="0" 73.1808 + sodipodi:nodetypes="cc" /> 73.1809 + <text 73.1810 + sodipodi:linespacing="100%" 73.1811 + id="text5430" 73.1812 + y="761.78809" 73.1813 + x="-447.8111" 73.1814 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.1815 + xml:space="preserve" 73.1816 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 73.1817 + id="tspan5432" 73.1818 + y="761.78809" 73.1819 + x="-447.8111" 73.1820 + sodipodi:role="line" 73.1821 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan 73.1822 + y="769.78809" 73.1823 + x="-447.8111" 73.1824 + sodipodi:role="line" 73.1825 + style="font-size:8px;text-align:center;text-anchor:middle" 73.1826 + id="tspan5434">and switch</tspan><tspan 73.1827 + y="777.78809" 73.1828 + x="-447.8111" 73.1829 + sodipodi:role="line" 73.1830 + style="font-size:8px;text-align:center;text-anchor:middle" 73.1831 + id="tspan5436">to app VP</tspan></text> 73.1832 + <path 73.1833 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 73.1834 + d="m 205.27805,800.31985 c 0,7.35629 0,7.35629 0,7.35629" 73.1835 + id="path5438" 73.1836 + inkscape:connector-curvature="0" 73.1837 + sodipodi:nodetypes="cc" /> 73.1838 + <path 73.1839 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 73.1840 + d="m 205.27805,800.31985 c 0,7.35629 0,7.35629 0,7.35629" 73.1841 + id="path5440" 73.1842 + inkscape:connector-curvature="0" 73.1843 + sodipodi:nodetypes="cc" /> 73.1844 + <text 73.1845 + sodipodi:linespacing="100%" 73.1846 + id="text5446" 73.1847 + y="709.24017" 73.1848 + x="-401.45242" 73.1849 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.1850 + xml:space="preserve" 73.1851 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 73.1852 + y="709.24017" 73.1853 + x="-401.45242" 73.1854 + sodipodi:role="line" 73.1855 + style="font-size:8px;text-align:center;text-anchor:middle" 73.1856 + id="tspan5448">return from</tspan><tspan 73.1857 + id="tspan5450" 73.1858 + y="717.24017" 73.1859 + x="-401.45242" 73.1860 + sodipodi:role="line" 73.1861 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text> 73.1862 + <path 73.1863 + inkscape:connector-curvature="0" 73.1864 + id="path5452" 73.1865 + d="m 205.05995,806.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 73.1866 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 73.1867 + <path 73.1868 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 73.1869 + d="m 137.04459,848.02605 c 67.19099,0 67.19099,0 67.19099,0" 73.1870 + id="path5454" 73.1871 + inkscape:connector-curvature="0" /> 73.1872 + <path 73.1873 + inkscape:connector-curvature="0" 73.1874 + id="path5460" 73.1875 + d="m 137.04459,820.02605 c 67.19099,0 67.19099,0 67.19099,0" 73.1876 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 73.1877 + <path 73.1878 + sodipodi:nodetypes="cc" 73.1879 + inkscape:connector-curvature="0" 73.1880 + id="path5462" 73.1881 + d="m 205.27805,820.63927 c 0,14.88618 0,14.88618 0,14.88618" 73.1882 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 73.1883 + <path 73.1884 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 73.1885 + d="m 205.05995,836.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 73.1886 + id="path5464" 73.1887 + inkscape:connector-curvature="0" /> 73.1888 + <text 73.1889 + sodipodi:linespacing="100%" 73.1890 + id="text5466" 73.1891 + y="838.35522" 73.1892 + x="195.36256" 73.1893 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.1894 + xml:space="preserve" 73.1895 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 73.1896 + id="tspan5468" 73.1897 + y="838.35522" 73.1898 + x="195.36256" 73.1899 + sodipodi:role="line" 73.1900 + style="font-size:7px;text-align:center;text-anchor:middle">call via Ptr to Dyn Lib Fn</tspan></text> 73.1901 + <path 73.1902 + sodipodi:nodetypes="cc" 73.1903 + inkscape:connector-curvature="0" 73.1904 + id="path5470" 73.1905 + d="m 137.27805,835.85824 c 0,11.43122 0,11.43122 0,11.43122" 73.1906 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 73.1907 + <text 73.1908 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 73.1909 + xml:space="preserve" 73.1910 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.1911 + x="194.86635" 73.1912 + y="808.35907" 73.1913 + id="text5472" 73.1914 + sodipodi:linespacing="100%"><tspan 73.1915 + style="font-size:7px;text-align:center;text-anchor:middle" 73.1916 + sodipodi:role="line" 73.1917 + x="194.86635" 73.1918 + y="808.35907" 73.1919 + id="tspan5474">call via Ptr to Dyn Lib Fn</tspan></text> 73.1920 + <text 73.1921 + sodipodi:linespacing="100%" 73.1922 + id="text5476" 73.1923 + y="713.48187" 73.1924 + x="-172.78647" 73.1925 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.1926 + xml:space="preserve" 73.1927 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 73.1928 + y="713.48187" 73.1929 + x="-172.78647" 73.1930 + sodipodi:role="line" 73.1931 + style="font-size:18px;text-align:center;text-anchor:middle" 73.1932 + id="tspan5482">core 1</tspan></text> 73.1933 + <text 73.1934 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 73.1935 + xml:space="preserve" 73.1936 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.1937 + x="-321.0329" 73.1938 + y="865.03326" 73.1939 + id="text5488" 73.1940 + sodipodi:linespacing="100%"><tspan 73.1941 + id="tspan5490" 73.1942 + style="font-size:18px;text-align:center;text-anchor:middle" 73.1943 + sodipodi:role="line" 73.1944 + x="-321.0329" 73.1945 + y="865.03326">core 2</tspan></text> 73.1946 + <path 73.1947 + sodipodi:nodetypes="cc" 73.1948 + inkscape:connector-curvature="0" 73.1949 + id="path5492" 73.1950 + d="m 205.27805,914.31985 c 0,7.35629 0,7.35629 0,7.35629" 73.1951 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 73.1952 + <path 73.1953 + sodipodi:nodetypes="cc" 73.1954 + inkscape:connector-curvature="0" 73.1955 + id="path5494" 73.1956 + d="m 205.27805,914.31985 c 0,7.35629 0,7.35629 0,7.35629" 73.1957 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 73.1958 + <path 73.1959 + sodipodi:nodetypes="cc" 73.1960 + inkscape:connector-curvature="0" 73.1961 + id="path5496" 73.1962 + d="m 205.27805,914.31985 c 0,7.35629 0,7.35629 0,7.35629" 73.1963 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 73.1964 + <text 73.1965 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 73.1966 + xml:space="preserve" 73.1967 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.1968 + x="-480.74414" 73.1969 + y="791.14636" 73.1970 + id="text5498" 73.1971 + sodipodi:linespacing="100%"><tspan 73.1972 + id="tspan5500" 73.1973 + style="font-size:8px;text-align:center;text-anchor:middle" 73.1974 + sodipodi:role="line" 73.1975 + x="-480.74414" 73.1976 + y="791.14636">return from</tspan><tspan 73.1977 + style="font-size:8px;text-align:center;text-anchor:middle" 73.1978 + sodipodi:role="line" 73.1979 + x="-480.74414" 73.1980 + y="799.14636" 73.1981 + id="tspan5502">suspend</tspan></text> 73.1982 + <path 73.1983 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 73.1984 + d="m 205.27805,700.31985 c 0,7.35629 0,7.35629 0,7.35629" 73.1985 + id="path5504" 73.1986 + inkscape:connector-curvature="0" 73.1987 + sodipodi:nodetypes="cc" /> 73.1988 + <path 73.1989 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 73.1990 + d="m 205.27805,700.31985 c 0,7.35629 0,7.35629 0,7.35629" 73.1991 + id="path5506" 73.1992 + inkscape:connector-curvature="0" 73.1993 + sodipodi:nodetypes="cc" /> 73.1994 + <path 73.1995 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 73.1996 + d="m 205.27805,700.31985 c 0,7.35629 0,7.35629 0,7.35629" 73.1997 + id="path5508" 73.1998 + inkscape:connector-curvature="0" 73.1999 + sodipodi:nodetypes="cc" /> 73.2000 + <text 73.2001 + sodipodi:linespacing="100%" 73.2002 + id="text5510" 73.2003 + y="637.39264" 73.2004 + x="-331.89792" 73.2005 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.2006 + xml:space="preserve" 73.2007 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 73.2008 + y="637.39264" 73.2009 + x="-331.89792" 73.2010 + sodipodi:role="line" 73.2011 + style="font-size:8px;text-align:center;text-anchor:middle" 73.2012 + id="tspan5512">return from</tspan><tspan 73.2013 + id="tspan5514" 73.2014 + y="645.39264" 73.2015 + x="-331.89792" 73.2016 + sodipodi:role="line" 73.2017 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text> 73.2018 + <path 73.2019 + inkscape:connector-curvature="0" 73.2020 + id="path5516" 73.2021 + d="m 271.03421,766.02605 c 193.92439,0 193.92439,0 193.92439,0" 73.2022 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 73.2023 + <path 73.2024 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 73.2025 + d="m 271.03421,546.02605 c 193.92439,0 193.92439,0 193.92439,0" 73.2026 + id="path5518" 73.2027 + inkscape:connector-curvature="0" /> 73.2028 + <text 73.2029 + xml:space="preserve" 73.2030 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.2031 + x="326.92542" 73.2032 + y="155.76575" 73.2033 + id="text3329" 73.2034 + sodipodi:linespacing="100%"><tspan 73.2035 + style="text-align:center;text-anchor:middle" 73.2036 + sodipodi:role="line" 73.2037 + id="tspan3331" 73.2038 + x="326.92542" 73.2039 + y="155.76575">PR OS thread</tspan><tspan 73.2040 + id="tspan3335" 73.2041 + style="font-size:8px;text-align:center;text-anchor:middle" 73.2042 + sodipodi:role="line" 73.2043 + x="326.92542" 73.2044 + y="164.20053">(core1)</tspan></text> 73.2045 + <g 73.2046 + transform="translate(44.002789,-346)" 73.2047 + id="g3337"> 73.2048 + <rect 73.2049 + y="389.58255" 73.2050 + x="346.40247" 73.2051 + height="37.165791" 73.2052 + width="65.276405" 73.2053 + id="rect3339" 73.2054 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 73.2055 + <text 73.2056 + xml:space="preserve" 73.2057 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.2058 + x="379.00162" 73.2059 + y="400.15268" 73.2060 + id="text3341" 73.2061 + sodipodi:linespacing="100%"><tspan 73.2062 + id="tspan3349" 73.2063 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000" 73.2064 + sodipodi:role="line" 73.2065 + x="379.00162" 73.2066 + y="400.15268"><tspan 73.2067 + id="tspan3641" 73.2068 + style="font-size:10px;text-align:center;text-anchor:middle;fill:#008000">Main </tspan>OS thread</tspan></text> 73.2069 + </g> 73.2070 + <text 73.2071 + xml:space="preserve" 73.2072 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.2073 + x="517.16797" 73.2074 + y="81.424683" 73.2075 + id="text3351" 73.2076 + sodipodi:linespacing="100%"><tspan 73.2077 + style="text-align:center;text-anchor:middle;fill:#008000" 73.2078 + sodipodi:role="line" 73.2079 + x="517.16797" 73.2080 + y="81.424683" 73.2081 + id="tspan3353">main</tspan></text> 73.2082 + <text 73.2083 + sodipodi:linespacing="100%" 73.2084 + id="text3355" 73.2085 + y="273.42468" 73.2086 + x="137.31689" 73.2087 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.2088 + xml:space="preserve"><tspan 73.2089 + id="tspan3357" 73.2090 + y="273.42468" 73.2091 + x="137.31689" 73.2092 + sodipodi:role="line" 73.2093 + style="text-align:center;text-anchor:middle;fill:#800000">Lang Handler</tspan><tspan 73.2094 + id="tspan3359" 73.2095 + y="283.42468" 73.2096 + x="137.31689" 73.2097 + sodipodi:role="line" 73.2098 + style="text-align:center;text-anchor:middle;fill:#800000">for create VP</tspan></text> 73.2099 + <text 73.2100 + sodipodi:linespacing="100%" 73.2101 + id="text3361" 73.2102 + y="321.42468" 73.2103 + x="137.68066" 73.2104 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.2105 + xml:space="preserve"><tspan 73.2106 + id="tspan3363" 73.2107 + y="321.42468" 73.2108 + x="137.68066" 73.2109 + sodipodi:role="line" 73.2110 + style="text-align:center;text-anchor:middle;fill:#800000">Assigner Fn</tspan></text> 73.2111 + <path 73.2112 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999996, 2.99999996;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 73.2113 + d="m 457.32649,78.02605 c 38.42351,0 38.42351,0 38.42351,0" 73.2114 + id="path3365" 73.2115 + inkscape:connector-curvature="0" /> 73.2116 + <text 73.2117 + sodipodi:linespacing="100%" 73.2118 + id="text3367" 73.2119 + y="63.424683" 73.2120 + x="604.78461" 73.2121 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.2122 + xml:space="preserve"><tspan 73.2123 + id="tspan3371" 73.2124 + y="63.424683" 73.2125 + x="604.78461" 73.2126 + sodipodi:role="line" 73.2127 + style="text-align:center;text-anchor:middle;fill:#800000">PR_start()</tspan></text> 73.2128 + <text 73.2129 + sodipodi:linespacing="100%" 73.2130 + id="text3373" 73.2131 + y="107.0096" 73.2132 + x="633.32379" 73.2133 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.2134 + xml:space="preserve" 73.2135 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 73.2136 + id="tspan3375" 73.2137 + y="107.0096" 73.2138 + x="633.32379" 73.2139 + sodipodi:role="line" 73.2140 + style="font-size:8px;text-align:center;text-anchor:middle">Call to dyn lib</tspan></text> 73.2141 + <path 73.2142 + inkscape:connector-curvature="0" 73.2143 + id="path3377" 73.2144 + d="m 291.99816,238.02605 c -63.44071,0 -63.44071,0 -63.44071,0" 73.2145 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000003, 3.00000003;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 73.2146 + <text 73.2147 + transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)" 73.2148 + xml:space="preserve" 73.2149 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.2150 + x="208.23512" 73.2151 + y="280.55707" 73.2152 + id="text3379" 73.2153 + sodipodi:linespacing="100%"><tspan 73.2154 + style="font-size:8px;text-align:center;text-anchor:middle" 73.2155 + sodipodi:role="line" 73.2156 + x="208.23512" 73.2157 + y="280.55707" 73.2158 + id="tspan3381">Top Level Fn</tspan></text> 73.2159 + <text 73.2160 + sodipodi:linespacing="100%" 73.2161 + id="text3383" 73.2162 + y="166.44456" 73.2163 + x="460.02557" 73.2164 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.2165 + xml:space="preserve" 73.2166 + transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"><tspan 73.2167 + id="tspan3385" 73.2168 + y="166.44456" 73.2169 + x="460.02557" 73.2170 + sodipodi:role="line" 73.2171 + style="font-size:8px;text-align:center;text-anchor:middle">birth Fn</tspan></text> 73.2172 + <path 73.2173 + sodipodi:nodetypes="cc" 73.2174 + inkscape:connector-curvature="0" 73.2175 + id="path3387" 73.2176 + d="m 514.02904,84.01894 c 0,5.6572 0,5.6572 0,5.6572" 73.2177 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 73.2178 + <path 73.2179 + inkscape:connector-curvature="0" 73.2180 + id="path3389" 73.2181 + d="m 514.24714,90.02605 c 85.56237,0 85.56237,0 85.56237,0" 73.2182 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 73.2183 + <path 73.2184 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 73.2185 + d="m 602.77166,358.02605 c -88.41298,0 -88.41298,0 -88.41298,0" 73.2186 + id="path3391" 73.2187 + inkscape:connector-curvature="0" /> 73.2188 + <path 73.2189 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 73.2190 + d="m 514.02904,358.31987 c 0,26.21842 0,26.21842 0,26.21842" 73.2191 + id="path3393" 73.2192 + inkscape:connector-curvature="0" 73.2193 + sodipodi:nodetypes="cc" /> 73.2194 + <path 73.2195 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 73.2196 + d="m 514.2471,384.02605 c 87.58783,0 87.58783,0 87.58783,0" 73.2197 + id="path3395" 73.2198 + inkscape:connector-curvature="0" /> 73.2199 + <text 73.2200 + xml:space="preserve" 73.2201 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.2202 + x="604.78461" 73.2203 + y="370.71179" 73.2204 + id="text3397" 73.2205 + sodipodi:linespacing="100%"><tspan 73.2206 + style="text-align:center;text-anchor:middle;fill:#800000" 73.2207 + sodipodi:role="line" 73.2208 + x="604.78461" 73.2209 + y="370.71179" 73.2210 + id="tspan3399">end VP</tspan><tspan 73.2211 + id="tspan3401" 73.2212 + style="text-align:center;text-anchor:middle;fill:#800000" 73.2213 + sodipodi:role="line" 73.2214 + x="604.78461" 73.2215 + y="380.71179">wrapper Fn</tspan></text> 73.2216 + <path 73.2217 + inkscape:connector-curvature="0" 73.2218 + id="path3403" 73.2219 + d="m 602.26584,390.02605 c 63.99676,0 63.99676,0 63.99676,0" 73.2220 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 73.2221 + <path 73.2222 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 73.2223 + d="m 602.02904,382.31985 c 0,7.35629 0,7.35629 0,7.35629" 73.2224 + id="path3405" 73.2225 + inkscape:connector-curvature="0" 73.2226 + sodipodi:nodetypes="cc" /> 73.2227 + <path 73.2228 + sodipodi:nodetypes="cc" 73.2229 + inkscape:connector-curvature="0" 73.2230 + id="path3407" 73.2231 + d="m 602.02904,90.21843 c 0,19.4577 0,19.4577 0,19.4577" 73.2232 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 73.2233 + <path 73.2234 + inkscape:connector-curvature="0" 73.2235 + id="path3409" 73.2236 + d="m 602.24714,110.02605 c 64.71029,0 64.71029,0 64.71029,0" 73.2237 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 73.2238 + <path 73.2239 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 73.2240 + d="m 666.85635,354.02605 c -65.78483,0 -65.78483,0 -65.78483,0" 73.2241 + id="path3411" 73.2242 + inkscape:connector-curvature="0" /> 73.2243 + <path 73.2244 + sodipodi:nodetypes="cc" 73.2245 + inkscape:connector-curvature="0" 73.2246 + id="path3413" 73.2247 + d="m 668.02904,108.63925 c 0,13.68455 0,13.68455 0,13.68455" 73.2248 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 73.2249 + <path 73.2250 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 73.2251 + d="m 602.02904,353.22687 c 0,5.5885 0,5.5885 0,5.5885" 73.2252 + id="path3415" 73.2253 + inkscape:connector-curvature="0" 73.2254 + sodipodi:nodetypes="cc" /> 73.2255 + <path 73.2256 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 73.2257 + d="m 668.02904,340.63925 c 0,13.68455 0,13.68455 0,13.68455" 73.2258 + id="path3417" 73.2259 + inkscape:connector-curvature="0" 73.2260 + sodipodi:nodetypes="cc" /> 73.2261 + <text 73.2262 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 73.2263 + xml:space="preserve" 73.2264 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.2265 + x="395.64081" 73.2266 + y="556.71735" 73.2267 + id="text3419" 73.2268 + sodipodi:linespacing="100%"><tspan 73.2269 + style="font-size:8px;text-align:center;text-anchor:middle" 73.2270 + sodipodi:role="line" 73.2271 + x="395.64081" 73.2272 + y="556.71735" 73.2273 + id="tspan3421">suspend</tspan><tspan 73.2274 + id="tspan3423" 73.2275 + style="font-size:8px;text-align:center;text-anchor:middle" 73.2276 + sodipodi:role="line" 73.2277 + x="395.64081" 73.2278 + y="564.71735">and switch</tspan><tspan 73.2279 + id="tspan3425" 73.2280 + style="font-size:8px;text-align:center;text-anchor:middle" 73.2281 + sodipodi:role="line" 73.2282 + x="395.64081" 73.2283 + y="572.71735">to runtime</tspan></text> 73.2284 + <path 73.2285 + inkscape:connector-curvature="0" 73.2286 + id="path3427" 73.2287 + d="m 271.03421,342.02605 c 193.92439,0 193.92439,0 193.92439,0" 73.2288 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 73.2289 + <text 73.2290 + sodipodi:linespacing="100%" 73.2291 + id="text3429" 73.2292 + y="703.28741" 73.2293 + x="253.74896" 73.2294 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.2295 + xml:space="preserve" 73.2296 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 73.2297 + y="703.28741" 73.2298 + x="253.74896" 73.2299 + sodipodi:role="line" 73.2300 + style="font-size:8px;text-align:center;text-anchor:middle" 73.2301 + id="tspan3431">return</tspan><tspan 73.2302 + id="tspan3433" 73.2303 + y="711.28741" 73.2304 + x="253.74896" 73.2305 + sodipodi:role="line" 73.2306 + style="font-size:8px;text-align:center;text-anchor:middle">from</tspan><tspan 73.2307 + id="tspan3435" 73.2308 + y="719.28741" 73.2309 + x="253.74896" 73.2310 + sodipodi:role="line" 73.2311 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text> 73.2312 + <text 73.2313 + xml:space="preserve" 73.2314 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.2315 + x="601.38037" 73.2316 + y="83.424683" 73.2317 + id="text3437" 73.2318 + sodipodi:linespacing="100%"><tspan 73.2319 + id="tspan3441" 73.2320 + style="text-align:center;text-anchor:middle;fill:#000080" 73.2321 + sodipodi:role="line" 73.2322 + x="601.38037" 73.2323 + y="83.424683">PR__start()</tspan></text> 73.2324 + <text 73.2325 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 73.2326 + xml:space="preserve" 73.2327 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.2328 + x="553.98218" 73.2329 + y="94.71698" 73.2330 + id="text3443" 73.2331 + sodipodi:linespacing="100%"><tspan 73.2332 + style="font-size:8px;text-align:center;text-anchor:middle" 73.2333 + sodipodi:role="line" 73.2334 + x="553.98218" 73.2335 + y="94.71698" 73.2336 + id="tspan3445">normal call</tspan></text> 73.2337 + <path 73.2338 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 73.2339 + d="m 668.02904,389.28283 c 0,13.68455 0,13.68455 0,13.68455" 73.2340 + id="path3447" 73.2341 + inkscape:connector-curvature="0" 73.2342 + sodipodi:nodetypes="cc" /> 73.2343 + <text 73.2344 + sodipodi:linespacing="100%" 73.2345 + id="text3449" 73.2346 + y="757.8457" 73.2347 + x="203.71536" 73.2348 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.2349 + xml:space="preserve" 73.2350 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 73.2351 + id="tspan3451" 73.2352 + y="757.8457" 73.2353 + x="203.71536" 73.2354 + sodipodi:role="line" 73.2355 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan 73.2356 + y="765.8457" 73.2357 + x="203.71536" 73.2358 + sodipodi:role="line" 73.2359 + style="font-size:8px;text-align:center;text-anchor:middle" 73.2360 + id="tspan3453">and switch</tspan><tspan 73.2361 + y="773.8457" 73.2362 + x="203.71536" 73.2363 + sodipodi:role="line" 73.2364 + style="font-size:8px;text-align:center;text-anchor:middle" 73.2365 + id="tspan3455">to runtime</tspan></text> 73.2366 + <text 73.2367 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 73.2368 + xml:space="preserve" 73.2369 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.2370 + x="555.27264" 73.2371 + y="388.71307" 73.2372 + id="text3457" 73.2373 + sodipodi:linespacing="100%"><tspan 73.2374 + style="font-size:8px;text-align:center;text-anchor:middle" 73.2375 + sodipodi:role="line" 73.2376 + x="555.27264" 73.2377 + y="388.71307" 73.2378 + id="tspan3459">normal call</tspan></text> 73.2379 + <g 73.2380 + id="g3461" 73.2381 + transform="matrix(1,0,0,0.71130685,-16,-77.47087)"> 73.2382 + <rect 73.2383 + style="fill:none;stroke:#000000;stroke-width:1.28076112;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 73.2384 + id="rect3463" 73.2385 + width="65.276405" 73.2386 + height="52.250008" 73.2387 + x="310.40247" 73.2388 + y="313.58255" /> 73.2389 + </g> 73.2390 + <path 73.2391 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 73.2392 + d="m 514.02904,358.31987 c 0,26.21842 0,26.21842 0,26.21842" 73.2393 + id="path3465" 73.2394 + inkscape:connector-curvature="0" 73.2395 + sodipodi:nodetypes="cc" /> 73.2396 + <path 73.2397 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" 73.2398 + d="m 476.02904,84.79398 c 0,35.61575 0,35.61575 0,35.61575" 73.2399 + id="path3467" 73.2400 + inkscape:connector-curvature="0" 73.2401 + sodipodi:nodetypes="cc" /> 73.2402 + <path 73.2403 + inkscape:connector-curvature="0" 73.2404 + id="path3469" 73.2405 + d="m 468.24715,120.02605 c 13.34137,0 13.34137,0 13.34137,0" 73.2406 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 73.2407 + <path 73.2408 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 73.2409 + d="m 481.57781,342.02605 c -13.14022,0 -13.14022,0 -13.14022,0" 73.2410 + id="path3471" 73.2411 + inkscape:connector-curvature="0" /> 73.2412 + <path 73.2413 + sodipodi:nodetypes="cc" 73.2414 + inkscape:connector-curvature="0" 73.2415 + id="path3473" 73.2416 + d="m 476.02904,342.3113 c 0,57.40944 0,57.40944 0,57.40944" 73.2417 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 73.2418 + <path 73.2419 + inkscape:connector-curvature="0" 73.2420 + id="path3475" 73.2421 + d="m 481.57781,401.27417 c -13.14022,0 -13.14022,0 -13.14022,0" 73.2422 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 73.2423 + <text 73.2424 + sodipodi:linespacing="100%" 73.2425 + id="text3477" 73.2426 + y="-463.80295" 73.2427 + x="315.95734" 73.2428 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.2429 + xml:space="preserve" 73.2430 + transform="matrix(-0.01875541,0.9998241,-0.9998241,-0.01875541,0,0)"><tspan 73.2431 + id="tspan3479" 73.2432 + y="-463.80295" 73.2433 + x="315.95734" 73.2434 + sodipodi:role="line" 73.2435 + style="text-align:center;text-anchor:middle;fill:#008000">Timeline of SeedVP</tspan></text> 73.2436 + <text 73.2437 + sodipodi:linespacing="100%" 73.2438 + id="text3481" 73.2439 + y="119.02372" 73.2440 + x="484.08911" 73.2441 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.2442 + xml:space="preserve" 73.2443 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 73.2444 + id="tspan3483" 73.2445 + y="119.02372" 73.2446 + x="484.08911" 73.2447 + sodipodi:role="line" 73.2448 + style="font-size:8px;text-align:start;text-anchor:start">suspend</tspan></text> 73.2449 + <text 73.2450 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 73.2451 + xml:space="preserve" 73.2452 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.2453 + x="485.07266" 73.2454 + y="343.02161" 73.2455 + id="text3485" 73.2456 + sodipodi:linespacing="100%"><tspan 73.2457 + style="font-size:8px;text-align:start;text-anchor:start" 73.2458 + sodipodi:role="line" 73.2459 + x="485.07266" 73.2460 + y="343.02161" 73.2461 + id="tspan3487">resume</tspan></text> 73.2462 + <text 73.2463 + sodipodi:linespacing="100%" 73.2464 + id="text3489" 73.2465 + y="400.22711" 73.2466 + x="485.32407" 73.2467 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.2468 + xml:space="preserve" 73.2469 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 73.2470 + id="tspan3491" 73.2471 + y="400.22711" 73.2472 + x="485.32407" 73.2473 + sodipodi:role="line" 73.2474 + style="font-size:8px;text-align:start;text-anchor:start">end</tspan></text> 73.2475 + <text 73.2476 + sodipodi:linespacing="100%" 73.2477 + id="text3493" 73.2478 + y="285.42468" 73.2479 + x="65.380371" 73.2480 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.2481 + xml:space="preserve"><tspan 73.2482 + y="285.42468" 73.2483 + x="65.380371" 73.2484 + sodipodi:role="line" 73.2485 + style="text-align:center;text-anchor:middle;fill:#000080" 73.2486 + id="tspan3495">PR primitive Fn</tspan><tspan 73.2487 + id="tspan3497" 73.2488 + y="295.42468" 73.2489 + x="65.380371" 73.2490 + sodipodi:role="line" 73.2491 + style="text-align:center;text-anchor:middle;fill:#000080">to create VP</tspan></text> 73.2492 + <text 73.2493 + sodipodi:linespacing="100%" 73.2494 + id="text3499" 73.2495 + y="241.42468" 73.2496 + x="202.41257" 73.2497 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.2498 + xml:space="preserve"><tspan 73.2499 + id="tspan3501" 73.2500 + y="241.42468" 73.2501 + x="202.41257" 73.2502 + sodipodi:role="line" 73.2503 + style="text-align:center;text-anchor:middle;fill:#000080">Master Fn</tspan></text> 73.2504 + <path 73.2505 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 73.2506 + d="m 205.27805,280.31985 c 0,7.35629 0,7.35629 0,7.35629" 73.2507 + id="path3503" 73.2508 + inkscape:connector-curvature="0" 73.2509 + sodipodi:nodetypes="cc" /> 73.2510 + <path 73.2511 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 73.2512 + d="m 205.05995,286.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 73.2513 + id="path3505" 73.2514 + inkscape:connector-curvature="0" /> 73.2515 + <path 73.2516 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 73.2517 + d="m 137.27805,285.85824 c 0,11.43122 0,11.43122 0,11.43122" 73.2518 + id="path3507" 73.2519 + inkscape:connector-curvature="0" 73.2520 + sodipodi:nodetypes="cc" /> 73.2521 + <path 73.2522 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 73.2523 + d="m 137.57123,298.02605 c -69.22157,0 -69.22157,0 -69.22157,0" 73.2524 + id="path3509" 73.2525 + inkscape:connector-curvature="0" /> 73.2526 + <path 73.2527 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 73.2528 + d="m 205.27805,336.63925 c 0,4.54718 0,4.54718 0,4.54718" 73.2529 + id="path3511" 73.2530 + inkscape:connector-curvature="0" 73.2531 + sodipodi:nodetypes="cc" /> 73.2532 + <text 73.2533 + sodipodi:linespacing="100%" 73.2534 + id="text3513" 73.2535 + y="393.92554" 73.2536 + x="-91.691048" 73.2537 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.2538 + xml:space="preserve" 73.2539 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 73.2540 + id="tspan3515" 73.2541 + y="393.92554" 73.2542 + x="-91.691048" 73.2543 + sodipodi:role="line" 73.2544 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan 73.2545 + y="401.92554" 73.2546 + x="-91.691048" 73.2547 + sodipodi:role="line" 73.2548 + style="font-size:8px;text-align:center;text-anchor:middle" 73.2549 + id="tspan3517">and switch</tspan><tspan 73.2550 + y="409.92554" 73.2551 + x="-91.691048" 73.2552 + sodipodi:role="line" 73.2553 + style="font-size:8px;text-align:center;text-anchor:middle" 73.2554 + id="tspan3519">to app VP</tspan></text> 73.2555 + <path 73.2556 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 73.2557 + d="m 205.27805,280.31985 c 0,7.35629 0,7.35629 0,7.35629" 73.2558 + id="path3521" 73.2559 + inkscape:connector-curvature="0" 73.2560 + sodipodi:nodetypes="cc" /> 73.2561 + <path 73.2562 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 73.2563 + d="m 205.27805,280.31985 c 0,7.35629 0,7.35629 0,7.35629" 73.2564 + id="path3523" 73.2565 + inkscape:connector-curvature="0" 73.2566 + sodipodi:nodetypes="cc" /> 73.2567 + <path 73.2568 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 73.2569 + d="m 468.24715,85.42364 c 13.34137,0 13.34137,0 13.34137,0" 73.2570 + id="path3525" 73.2571 + inkscape:connector-curvature="0" /> 73.2572 + <text 73.2573 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 73.2574 + xml:space="preserve" 73.2575 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.2576 + x="483.94849" 73.2577 + y="87.025322" 73.2578 + id="text3527" 73.2579 + sodipodi:linespacing="100%"><tspan 73.2580 + style="font-size:8px;text-align:start;text-anchor:start" 73.2581 + sodipodi:role="line" 73.2582 + x="483.94849" 73.2583 + y="87.025322" 73.2584 + id="tspan3529">start</tspan></text> 73.2585 + <path 73.2586 + sodipodi:nodetypes="cc" 73.2587 + inkscape:connector-curvature="0" 73.2588 + id="path3531" 73.2589 + d="m 266.02904,279.4311 c 0,61.88904 0,61.88904 0,61.88904" 73.2590 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" /> 73.2591 + <path 73.2592 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 73.2593 + d="m 258.24715,280.02605 c 13.34137,0 13.34137,0 13.34137,0" 73.2594 + id="path3533" 73.2595 + inkscape:connector-curvature="0" /> 73.2596 + <path 73.2597 + inkscape:connector-curvature="0" 73.2598 + id="path3535" 73.2599 + d="m 271.57781,342.02605 c -13.14022,0 -13.14022,0 -13.14022,0" 73.2600 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 73.2601 + <text 73.2602 + transform="matrix(0.00239328,0.99999714,-0.99999714,0.00239328,0,0)" 73.2603 + xml:space="preserve" 73.2604 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.2605 + x="325.34094" 73.2606 + y="-277.03549" 73.2607 + id="text3537" 73.2608 + sodipodi:linespacing="100%"><tspan 73.2609 + id="tspan3539" 73.2610 + style="text-align:center;text-anchor:middle;fill:#000080" 73.2611 + sodipodi:role="line" 73.2612 + x="325.34094" 73.2613 + y="-277.03549">Timeline of Master on core 1</tspan></text> 73.2614 + <text 73.2615 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 73.2616 + xml:space="preserve" 73.2617 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.2618 + x="260.76508" 73.2619 + y="342.12805" 73.2620 + id="text3541" 73.2621 + sodipodi:linespacing="100%"><tspan 73.2622 + style="font-size:8px;text-align:end;text-anchor:end" 73.2623 + sodipodi:role="line" 73.2624 + x="260.76508" 73.2625 + y="342.12805" 73.2626 + id="tspan3543">suspend</tspan></text> 73.2627 + <text 73.2628 + sodipodi:linespacing="100%" 73.2629 + id="text3545" 73.2630 + y="282.12848" 73.2631 + x="258.04468" 73.2632 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.2633 + xml:space="preserve" 73.2634 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 73.2635 + id="tspan3547" 73.2636 + y="282.12848" 73.2637 + x="258.04468" 73.2638 + sodipodi:role="line" 73.2639 + style="font-size:8px;text-align:end;text-anchor:end">resume</tspan></text> 73.2640 + <path 73.2641 + inkscape:connector-curvature="0" 73.2642 + id="path3549" 73.2643 + d="m 258.24715,245.42364 c 13.34137,0 13.34137,0 13.34137,0" 73.2644 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 73.2645 + <text 73.2646 + sodipodi:linespacing="100%" 73.2647 + id="text3551" 73.2648 + y="248.09499" 73.2649 + x="257.10217" 73.2650 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.2651 + xml:space="preserve" 73.2652 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 73.2653 + id="tspan3553" 73.2654 + y="248.09499" 73.2655 + x="257.10217" 73.2656 + sodipodi:role="line" 73.2657 + style="font-size:8px;text-align:end;text-anchor:end">start</tspan></text> 73.2658 + <path 73.2659 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 73.2660 + d="m 266.02904,399.43112 c 0,10.33165 0,10.33165 0,10.33165" 73.2661 + id="path3555" 73.2662 + inkscape:connector-curvature="0" 73.2663 + sodipodi:nodetypes="cc" /> 73.2664 + <path 73.2665 + inkscape:connector-curvature="0" 73.2666 + id="path3557" 73.2667 + d="m 258.24715,400.02605 c 13.34137,0 13.34137,0 13.34137,0" 73.2668 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 73.2669 + <text 73.2670 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 73.2671 + xml:space="preserve" 73.2672 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.2673 + x="637.95691" 73.2674 + y="386.97339" 73.2675 + id="text3559" 73.2676 + sodipodi:linespacing="100%"><tspan 73.2677 + style="font-size:8px;text-align:center;text-anchor:middle" 73.2678 + sodipodi:role="line" 73.2679 + x="637.95691" 73.2680 + y="386.97339" 73.2681 + id="tspan3561">Call to dyn lib</tspan></text> 73.2682 + <text 73.2683 + sodipodi:linespacing="100%" 73.2684 + id="text3563" 73.2685 + y="303.68701" 73.2686 + x="110.50755" 73.2687 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.2688 + xml:space="preserve" 73.2689 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 73.2690 + id="tspan3565" 73.2691 + y="303.68701" 73.2692 + x="110.50755" 73.2693 + sodipodi:role="line" 73.2694 + style="font-size:8px;text-align:center;text-anchor:middle">call to dyn lib</tspan></text> 73.2695 + <path 73.2696 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" 73.2697 + d="m 701.67453,342.02605 c -669.895225,0 -669.895225,0 -669.895225,0" 73.2698 + id="path3567" 73.2699 + inkscape:connector-curvature="0" /> 73.2700 + <path 73.2701 + inkscape:connector-curvature="0" 73.2702 + id="path3569" 73.2703 + d="m 701.67453,279.52981 c -669.895225,0 -669.895225,0 -669.895225,0" 73.2704 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" /> 73.2705 + <path 73.2706 + sodipodi:nodetypes="cc" 73.2707 + inkscape:connector-curvature="0" 73.2708 + id="path3571" 73.2709 + d="m 205.27805,243.45805 c 0,3.23577 0,3.23577 0,3.23577" 73.2710 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000002, 3.00000002;stroke-dashoffset:0" /> 73.2711 + <text 73.2712 + sodipodi:linespacing="100%" 73.2713 + id="text3573" 73.2714 + y="335.62958" 73.2715 + x="-39.767914" 73.2716 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.2717 + xml:space="preserve" 73.2718 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 73.2719 + y="335.62958" 73.2720 + x="-39.767914" 73.2721 + sodipodi:role="line" 73.2722 + style="font-size:8px;text-align:center;text-anchor:middle" 73.2723 + id="tspan3575">return from</tspan><tspan 73.2724 + id="tspan3577" 73.2725 + y="343.62958" 73.2726 + x="-39.767914" 73.2727 + sodipodi:role="line" 73.2728 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text> 73.2729 + <path 73.2730 + inkscape:connector-curvature="0" 73.2731 + id="path3579" 73.2732 + d="m 701.67453,400.02605 c -669.895225,0 -669.895225,0 -669.895225,0" 73.2733 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" /> 73.2734 + <text 73.2735 + sodipodi:linespacing="100%" 73.2736 + id="text3581" 73.2737 + y="377.42468" 73.2738 + x="667.38037" 73.2739 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.2740 + xml:space="preserve"><tspan 73.2741 + id="tspan3583" 73.2742 + y="377.42468" 73.2743 + x="667.38037" 73.2744 + sodipodi:role="line" 73.2745 + style="text-align:center;text-anchor:middle;fill:#000080">PR primitive Fn</tspan><tspan 73.2746 + y="387.42468" 73.2747 + x="667.38037" 73.2748 + sodipodi:role="line" 73.2749 + style="text-align:center;text-anchor:middle;fill:#000080" 73.2750 + id="tspan3585">to send request</tspan></text> 73.2751 + <text 73.2752 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 73.2753 + xml:space="preserve" 73.2754 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.2755 + x="258.57156" 73.2756 + y="402.12799" 73.2757 + id="text3587" 73.2758 + sodipodi:linespacing="100%"><tspan 73.2759 + style="font-size:8px;text-align:end;text-anchor:end" 73.2760 + sodipodi:role="line" 73.2761 + x="258.57156" 73.2762 + y="402.12799" 73.2763 + id="tspan3589">resume</tspan></text> 73.2764 + <path 73.2765 + inkscape:connector-curvature="0" 73.2766 + id="path3591" 73.2767 + d="m 205.05995,286.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 73.2768 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 73.2769 + <path 73.2770 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 73.2771 + d="m 137.04459,336.02605 c 67.19099,0 67.19099,0 67.19099,0" 73.2772 + id="path3593" 73.2773 + inkscape:connector-curvature="0" /> 73.2774 + <path 73.2775 + inkscape:connector-curvature="0" 73.2776 + id="path3595" 73.2777 + d="m 67.525286,310.02605 c 69.221574,0 69.221574,0 69.221574,0" 73.2778 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 73.2779 + <path 73.2780 + sodipodi:nodetypes="cc" 73.2781 + inkscape:connector-curvature="0" 73.2782 + id="path3597" 73.2783 + d="m 67.27805,297.85824 c 0,13.94668 0,13.94668 0,13.94668" 73.2784 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 73.2785 + <path 73.2786 + inkscape:connector-curvature="0" 73.2787 + id="path3599" 73.2788 + d="m 137.04459,312.02605 c 67.19099,0 67.19099,0 67.19099,0" 73.2789 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 73.2790 + <path 73.2791 + sodipodi:nodetypes="cc" 73.2792 + inkscape:connector-curvature="0" 73.2793 + id="path3601" 73.2794 + d="m 205.27805,312.63926 c 0,11.23237 0,11.23237 0,11.23237" 73.2795 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 73.2796 + <path 73.2797 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 73.2798 + d="m 205.05995,324.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 73.2799 + id="path3603" 73.2800 + inkscape:connector-curvature="0" /> 73.2801 + <text 73.2802 + sodipodi:linespacing="100%" 73.2803 + id="text3605" 73.2804 + y="326.42468" 73.2805 + x="186.89299" 73.2806 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.2807 + xml:space="preserve" 73.2808 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 73.2809 + id="tspan3607" 73.2810 + y="326.42468" 73.2811 + x="186.89299" 73.2812 + sodipodi:role="line" 73.2813 + style="font-size:7px;text-align:center;text-anchor:middle">call via Ptr to Dyn Lib Fn</tspan></text> 73.2814 + <path 73.2815 + sodipodi:nodetypes="cc" 73.2816 + inkscape:connector-curvature="0" 73.2817 + id="path3609" 73.2818 + d="m 137.27805,323.85824 c 0,11.43122 0,11.43122 0,11.43122" 73.2819 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 73.2820 + <text 73.2821 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 73.2822 + xml:space="preserve" 73.2823 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.2824 + x="186.26445" 73.2825 + y="288.42987" 73.2826 + id="text3611" 73.2827 + sodipodi:linespacing="100%"><tspan 73.2828 + style="font-size:7px;text-align:center;text-anchor:middle" 73.2829 + sodipodi:role="line" 73.2830 + x="186.26445" 73.2831 + y="288.42987" 73.2832 + id="tspan3613">call via Ptr to Dyn Lib Fn</tspan></text> 73.2833 + <path 73.2834 + style="fill:none;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 73.2835 + d="m 465.78297,400.02605 c -193.92439,0 -193.92439,0 -193.92439,0" 73.2836 + id="path3615" 73.2837 + inkscape:connector-curvature="0" /> 73.2838 + <path 73.2839 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 73.2840 + d="m 466.19516,280.02605 c -193.92439,0 -193.92439,0 -193.92439,0" 73.2841 + id="path3617" 73.2842 + inkscape:connector-curvature="0" /> 73.2843 + <text 73.2844 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 73.2845 + xml:space="preserve" 73.2846 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.2847 + x="35.877613" 73.2848 + y="497.93744" 73.2849 + id="text3619" 73.2850 + sodipodi:linespacing="100%"><tspan 73.2851 + id="tspan3621" 73.2852 + style="font-size:18px;text-align:center;text-anchor:middle" 73.2853 + sodipodi:role="line" 73.2854 + x="35.877613" 73.2855 + y="497.93744">core 1</tspan></text> 73.2856 + <path 73.2857 + sodipodi:nodetypes="cc" 73.2858 + inkscape:connector-curvature="0" 73.2859 + id="path3623" 73.2860 + d="m 205.27805,400.31985 c 0,7.35629 0,7.35629 0,7.35629" 73.2861 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 73.2862 + <path 73.2863 + sodipodi:nodetypes="cc" 73.2864 + inkscape:connector-curvature="0" 73.2865 + id="path3625" 73.2866 + d="m 205.27805,400.31985 c 0,7.35629 0,7.35629 0,7.35629" 73.2867 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 73.2868 + <path 73.2869 + sodipodi:nodetypes="cc" 73.2870 + inkscape:connector-curvature="0" 73.2871 + id="path3627" 73.2872 + d="m 205.27805,400.31985 c 0,7.35629 0,7.35629 0,7.35629" 73.2873 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 73.2874 + <text 73.2875 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 73.2876 + xml:space="preserve" 73.2877 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.2878 + x="-123.23382" 73.2879 + y="421.84821" 73.2880 + id="text3629" 73.2881 + sodipodi:linespacing="100%"><tspan 73.2882 + id="tspan3631" 73.2883 + style="font-size:8px;text-align:center;text-anchor:middle" 73.2884 + sodipodi:role="line" 73.2885 + x="-123.23382" 73.2886 + y="421.84821">return from</tspan><tspan 73.2887 + style="font-size:8px;text-align:center;text-anchor:middle" 73.2888 + sodipodi:role="line" 73.2889 + x="-123.23382" 73.2890 + y="429.84821" 73.2891 + id="tspan3633">suspend</tspan></text> 73.2892 + <path 73.2893 + inkscape:connector-curvature="0" 73.2894 + id="path3635" 73.2895 + d="m 271.03421,246.02605 c 193.92439,0 193.92439,0 193.92439,0" 73.2896 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 73.2897 + <text 73.2898 + sodipodi:linespacing="100%" 73.2899 + id="text4289" 73.2900 + y="155.76575" 73.2901 + x="426.92542" 73.2902 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 73.2903 + xml:space="preserve"><tspan 73.2904 + y="155.76575" 73.2905 + x="426.92542" 73.2906 + id="tspan4291" 73.2907 + sodipodi:role="line" 73.2908 + style="text-align:center;text-anchor:middle">PR OS thread</tspan><tspan 73.2909 + y="164.20053" 73.2910 + x="426.92542" 73.2911 + sodipodi:role="line" 73.2912 + style="font-size:8px;text-align:center;text-anchor:middle" 73.2913 + id="tspan4295">(core 2)</tspan></text> 73.2914 + <g 73.2915 + transform="matrix(1,0,0,0.71130685,84,-77.47087)" 73.2916 + id="g4297"> 73.2917 + <rect 73.2918 + y="313.58255" 73.2919 + x="310.40247" 73.2920 + height="52.250008" 73.2921 + width="65.276405" 73.2922 + id="rect4299" 73.2923 + style="fill:none;stroke:#000000;stroke-width:1.28076112;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 73.2924 + </g> 73.2925 + </g> 73.2926 +</svg>
74.1 Binary file 0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/PR__timeline_dual.pdf has changed
75.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 75.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/PR__timeline_dual.svg Fri Sep 13 11:02:18 2013 -0700 75.3 @@ -0,0 +1,254 @@ 75.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 75.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 75.6 + 75.7 +<svg 75.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 75.9 + xmlns:cc="http://creativecommons.org/ns#" 75.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 75.11 + xmlns:svg="http://www.w3.org/2000/svg" 75.12 + xmlns="http://www.w3.org/2000/svg" 75.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 75.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 75.15 + width="744.09448819" 75.16 + height="1052.3622047" 75.17 + id="svg2" 75.18 + sodipodi:version="0.32" 75.19 + inkscape:version="0.48.2 r9819" 75.20 + sodipodi:docname="PR__timeline_dual.svg" 75.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 75.22 + version="1.1"> 75.23 + <defs 75.24 + id="defs4"> 75.25 + <marker 75.26 + inkscape:stockid="Arrow2Mend" 75.27 + orient="auto" 75.28 + refY="0.0" 75.29 + refX="0.0" 75.30 + id="Arrow2Mend" 75.31 + style="overflow:visible;"> 75.32 + <path 75.33 + id="path4008" 75.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 75.35 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 75.36 + transform="scale(0.6) rotate(180) translate(0,0)" /> 75.37 + </marker> 75.38 + <inkscape:perspective 75.39 + sodipodi:type="inkscape:persp3d" 75.40 + inkscape:vp_x="0 : 526.18109 : 1" 75.41 + inkscape:vp_y="0 : 1000 : 0" 75.42 + inkscape:vp_z="744.09448 : 526.18109 : 1" 75.43 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 75.44 + id="perspective10" /> 75.45 + <inkscape:perspective 75.46 + id="perspective11923" 75.47 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 75.48 + inkscape:vp_z="1 : 0.5 : 1" 75.49 + inkscape:vp_y="0 : 1000 : 0" 75.50 + inkscape:vp_x="0 : 0.5 : 1" 75.51 + sodipodi:type="inkscape:persp3d" /> 75.52 + </defs> 75.53 + <sodipodi:namedview 75.54 + id="base" 75.55 + pagecolor="#ffffff" 75.56 + bordercolor="#666666" 75.57 + borderopacity="1.0" 75.58 + gridtolerance="10000" 75.59 + guidetolerance="10" 75.60 + objecttolerance="10" 75.61 + inkscape:pageopacity="0.0" 75.62 + inkscape:pageshadow="2" 75.63 + inkscape:zoom="1.3364318" 75.64 + inkscape:cx="331.64634" 75.65 + inkscape:cy="648.10677" 75.66 + inkscape:document-units="px" 75.67 + inkscape:current-layer="layer1" 75.68 + showgrid="false" 75.69 + inkscape:window-width="1317" 75.70 + inkscape:window-height="878" 75.71 + inkscape:window-x="7" 75.72 + inkscape:window-y="1" 75.73 + inkscape:window-maximized="0" /> 75.74 + <metadata 75.75 + id="metadata7"> 75.76 + <rdf:RDF> 75.77 + <cc:Work 75.78 + rdf:about=""> 75.79 + <dc:format>image/svg+xml</dc:format> 75.80 + <dc:type 75.81 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 75.82 + <dc:title /> 75.83 + </cc:Work> 75.84 + </rdf:RDF> 75.85 + </metadata> 75.86 + <g 75.87 + inkscape:label="Layer 1" 75.88 + inkscape:groupmode="layer" 75.89 + id="layer1"> 75.90 + <path 75.91 + id="path7353" 75.92 + d="m 196.98465,281.37498 c 69.82336,0 69.82336,0 69.82336,0" 75.93 + style="fill:#800000;stroke:#800000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 75.94 + inkscape:connector-curvature="0" /> 75.95 + <path 75.96 + inkscape:connector-curvature="0" 75.97 + id="path7357" 75.98 + d="m 266.82881,272.82004 c 0,19.38279 0,19.38279 0,19.38279" 75.99 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 75.100 + <text 75.101 + xml:space="preserve" 75.102 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 75.103 + x="266.7023" 75.104 + y="298.52615" 75.105 + id="text7359" 75.106 + sodipodi:linespacing="100%"><tspan 75.107 + style="font-size:10px;text-align:center;text-anchor:middle" 75.108 + sodipodi:role="line" 75.109 + id="tspan7361" 75.110 + x="266.7023" 75.111 + y="298.52615">Suspend</tspan><tspan 75.112 + style="font-size:9px;text-align:center;text-anchor:middle" 75.113 + id="tspan7363" 75.114 + sodipodi:role="line" 75.115 + x="266.7023" 75.116 + y="307.74353">(Point 2.S)</tspan></text> 75.117 + <path 75.118 + inkscape:connector-curvature="0" 75.119 + id="path7367" 75.120 + d="m 318.82881,272.77746 c 0,19.15152 0,19.15152 0,19.15152" 75.121 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 75.122 + <text 75.123 + xml:space="preserve" 75.124 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 75.125 + x="318.7023" 75.126 + y="298.52615" 75.127 + id="text7369" 75.128 + sodipodi:linespacing="100%"><tspan 75.129 + style="font-size:9px;text-align:center;text-anchor:middle" 75.130 + sodipodi:role="line" 75.131 + id="tspan7371" 75.132 + x="320.20621" 75.133 + y="298.52615"><tspan 75.134 + id="tspan8087" 75.135 + style="font-size:10px">Resume </tspan></tspan><tspan 75.136 + style="font-size:9px;text-align:center;text-anchor:middle" 75.137 + id="tspan7373" 75.138 + sodipodi:role="line" 75.139 + x="318.7023" 75.140 + y="307.74353">(Point 2.R)</tspan></text> 75.141 + <text 75.142 + sodipodi:linespacing="100%" 75.143 + id="text7375" 75.144 + y="285.27441" 75.145 + x="352.7023" 75.146 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 75.147 + xml:space="preserve"><tspan 75.148 + y="285.27441" 75.149 + x="352.7023" 75.150 + sodipodi:role="line" 75.151 + id="tspan7379">Timeline B</tspan></text> 75.152 + <path 75.153 + inkscape:connector-curvature="0" 75.154 + style="fill:none;stroke:#800000;stroke-width:1.80000000000000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none" 75.155 + d="m 320.08408,281.37498 c 27.45405,0 27.45405,0 27.45405,0" 75.156 + id="path7387" /> 75.157 + <path 75.158 + id="path8089" 75.159 + d="m 195.41471,317.37498 c 151.68424,0 151.68424,0 151.68424,0" 75.160 + style="fill:#000000;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 75.161 + inkscape:connector-curvature="0" /> 75.162 + <text 75.163 + xml:space="preserve" 75.164 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 75.165 + x="352.7023" 75.166 + y="320.02267" 75.167 + id="text8091" 75.168 + sodipodi:linespacing="100%"><tspan 75.169 + id="tspan8093" 75.170 + sodipodi:role="line" 75.171 + x="352.7023" 75.172 + y="320.02267">Physical time</tspan></text> 75.173 + <path 75.174 + inkscape:connector-curvature="0" 75.175 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 75.176 + d="m 195.92204,239.37498 c 33.06652,0 33.06652,0 33.06652,0" 75.177 + id="path8095" /> 75.178 + <g 75.179 + id="g8097" 75.180 + transform="translate(-70,-162)" 75.181 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"> 75.182 + <path 75.183 + inkscape:connector-curvature="0" 75.184 + id="path8099" 75.185 + d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279" 75.186 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 75.187 + <text 75.188 + xml:space="preserve" 75.189 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 75.190 + x="298.7023" 75.191 + y="376.52615" 75.192 + id="text8101" 75.193 + sodipodi:linespacing="100%"><tspan 75.194 + style="font-size:10px;text-align:center;text-anchor:middle" 75.195 + sodipodi:role="line" 75.196 + id="tspan8103" 75.197 + x="298.7023" 75.198 + y="376.52615">Suspend</tspan><tspan 75.199 + style="font-size:9px;text-align:center;text-anchor:middle" 75.200 + id="tspan8105" 75.201 + sodipodi:role="line" 75.202 + x="298.7023" 75.203 + y="385.74353">(Point 1.S)</tspan></text> 75.204 + </g> 75.205 + <g 75.206 + id="g8107" 75.207 + transform="translate(-60,-162)" 75.208 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"> 75.209 + <path 75.210 + inkscape:connector-curvature="0" 75.211 + id="path8109" 75.212 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 75.213 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 75.214 + <text 75.215 + xml:space="preserve" 75.216 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 75.217 + x="378.7023" 75.218 + y="376.52615" 75.219 + id="text8111" 75.220 + sodipodi:linespacing="100%"><tspan 75.221 + style="font-size:9px;text-align:center;text-anchor:middle" 75.222 + sodipodi:role="line" 75.223 + id="tspan8113" 75.224 + x="380.20621" 75.225 + y="376.52615"><tspan 75.226 + id="tspan8115" 75.227 + style="font-size:10px">Resume </tspan></tspan><tspan 75.228 + style="font-size:9px;text-align:center;text-anchor:middle" 75.229 + id="tspan8117" 75.230 + sodipodi:role="line" 75.231 + x="378.7023" 75.232 + y="385.74353">(Point 1.R)</tspan></text> 75.233 + </g> 75.234 + <text 75.235 + xml:space="preserve" 75.236 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 75.237 + x="352.7023" 75.238 + y="243.27441" 75.239 + id="text8119" 75.240 + sodipodi:linespacing="100%"><tspan 75.241 + id="tspan8121" 75.242 + sodipodi:role="line" 75.243 + x="352.7023" 75.244 + y="243.27441">Timeline A</tspan></text> 75.245 + <path 75.246 + id="path8123" 75.247 + d="m 320.08408,239.37498 c 27.45405,0 27.45405,0 27.45405,0" 75.248 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 75.249 + inkscape:connector-curvature="0" /> 75.250 + <path 75.251 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999998, 2.99999998;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 75.252 + d="m 292.57011,280.15667 c 1.60737,-29.22166 -0.1867,-11.40932 2.41106,-27.59824 1.74808,-10.89388 19.28851,-12.44626 19.28851,-12.44626" 75.253 + id="path8125" 75.254 + inkscape:connector-curvature="0" 75.255 + sodipodi:nodetypes="csc" /> 75.256 + </g> 75.257 +</svg>
76.1 Binary file 0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/PR__timeline_dual_2nd.pdf has changed
77.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 77.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/PR__timeline_dual_2nd.svg Fri Sep 13 11:02:18 2013 -0700 77.3 @@ -0,0 +1,545 @@ 77.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 77.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 77.6 + 77.7 +<svg 77.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 77.9 + xmlns:cc="http://creativecommons.org/ns#" 77.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 77.11 + xmlns:svg="http://www.w3.org/2000/svg" 77.12 + xmlns="http://www.w3.org/2000/svg" 77.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 77.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 77.15 + width="744.09448819" 77.16 + height="1052.3622047" 77.17 + id="svg2" 77.18 + sodipodi:version="0.32" 77.19 + inkscape:version="0.48.2 r9819" 77.20 + sodipodi:docname="PR__timeline_dual_2nd.svg" 77.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 77.22 + version="1.1"> 77.23 + <defs 77.24 + id="defs4"> 77.25 + <marker 77.26 + inkscape:stockid="Arrow2Mend" 77.27 + orient="auto" 77.28 + refY="0.0" 77.29 + refX="0.0" 77.30 + id="Arrow2Mend" 77.31 + style="overflow:visible;"> 77.32 + <path 77.33 + id="path4008" 77.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 77.35 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 77.36 + transform="scale(0.6) rotate(180) translate(0,0)" /> 77.37 + </marker> 77.38 + <inkscape:perspective 77.39 + sodipodi:type="inkscape:persp3d" 77.40 + inkscape:vp_x="0 : 526.18109 : 1" 77.41 + inkscape:vp_y="0 : 1000 : 0" 77.42 + inkscape:vp_z="744.09448 : 526.18109 : 1" 77.43 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 77.44 + id="perspective10" /> 77.45 + <inkscape:perspective 77.46 + id="perspective11923" 77.47 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 77.48 + inkscape:vp_z="1 : 0.5 : 1" 77.49 + inkscape:vp_y="0 : 1000 : 0" 77.50 + inkscape:vp_x="0 : 0.5 : 1" 77.51 + sodipodi:type="inkscape:persp3d" /> 77.52 + </defs> 77.53 + <sodipodi:namedview 77.54 + id="base" 77.55 + pagecolor="#ffffff" 77.56 + bordercolor="#666666" 77.57 + borderopacity="1.0" 77.58 + gridtolerance="10000" 77.59 + guidetolerance="10" 77.60 + objecttolerance="10" 77.61 + inkscape:pageopacity="0.0" 77.62 + inkscape:pageshadow="2" 77.63 + inkscape:zoom="1.3364318" 77.64 + inkscape:cx="214.9176" 77.65 + inkscape:cy="608.45761" 77.66 + inkscape:document-units="px" 77.67 + inkscape:current-layer="layer1" 77.68 + showgrid="false" 77.69 + inkscape:window-width="1317" 77.70 + inkscape:window-height="878" 77.71 + inkscape:window-x="7" 77.72 + inkscape:window-y="1" 77.73 + inkscape:window-maximized="0" /> 77.74 + <metadata 77.75 + id="metadata7"> 77.76 + <rdf:RDF> 77.77 + <cc:Work 77.78 + rdf:about=""> 77.79 + <dc:format>image/svg+xml</dc:format> 77.80 + <dc:type 77.81 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 77.82 + <dc:title></dc:title> 77.83 + </cc:Work> 77.84 + </rdf:RDF> 77.85 + </metadata> 77.86 + <g 77.87 + inkscape:label="Layer 1" 77.88 + inkscape:groupmode="layer" 77.89 + id="layer1"> 77.90 + <path 77.91 + id="path7353" 77.92 + d="m 196.98465,281.37498 c 69.82336,0 69.82336,0 69.82336,0" 77.93 + style="fill:#800000;stroke:#800000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 77.94 + inkscape:connector-curvature="0" /> 77.95 + <g 77.96 + transform="translate(-32,-120)" 77.97 + id="g7355" 77.98 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"> 77.99 + <path 77.100 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 77.101 + d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279" 77.102 + id="path7357" 77.103 + inkscape:connector-curvature="0" /> 77.104 + <text 77.105 + sodipodi:linespacing="100%" 77.106 + id="text7359" 77.107 + y="376.52615" 77.108 + x="298.7023" 77.109 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 77.110 + xml:space="preserve"><tspan 77.111 + y="376.52615" 77.112 + x="298.7023" 77.113 + id="tspan7361" 77.114 + sodipodi:role="line" 77.115 + style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan 77.116 + y="385.74353" 77.117 + x="298.7023" 77.118 + sodipodi:role="line" 77.119 + id="tspan7363" 77.120 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 2.S)</tspan></text> 77.121 + </g> 77.122 + <g 77.123 + transform="translate(-60,-120)" 77.124 + id="g7365" 77.125 + style="stroke-width:1.8;stroke-miterlimit:4;stroke-dasharray:none"> 77.126 + <path 77.127 + style="fill:none;stroke:#000000;stroke-width:1.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" 77.128 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 77.129 + id="path7367" 77.130 + inkscape:connector-curvature="0" /> 77.131 + <text 77.132 + sodipodi:linespacing="100%" 77.133 + id="text7369" 77.134 + y="376.52615" 77.135 + x="378.7023" 77.136 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 77.137 + xml:space="preserve"><tspan 77.138 + y="376.52615" 77.139 + x="380.20621" 77.140 + id="tspan7371" 77.141 + sodipodi:role="line" 77.142 + style="font-size:9px;text-align:center;text-anchor:middle"><tspan 77.143 + style="font-size:10px" 77.144 + id="tspan8087">Resume </tspan></tspan><tspan 77.145 + y="385.74353" 77.146 + x="378.7023" 77.147 + sodipodi:role="line" 77.148 + id="tspan7373" 77.149 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 2.R)</tspan></text> 77.150 + </g> 77.151 + <text 77.152 + sodipodi:linespacing="100%" 77.153 + id="text7375" 77.154 + y="285.27441" 77.155 + x="352.7023" 77.156 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 77.157 + xml:space="preserve"><tspan 77.158 + y="285.27441" 77.159 + x="352.7023" 77.160 + sodipodi:role="line" 77.161 + id="tspan7379">Timeline B</tspan></text> 77.162 + <path 77.163 + inkscape:connector-curvature="0" 77.164 + style="fill:none;stroke:#800000;stroke-width:1.80000000000000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none" 77.165 + d="m 320.08408,281.37498 c 27.45405,0 27.45405,0 27.45405,0" 77.166 + id="path7387" /> 77.167 + <path 77.168 + id="path8089" 77.169 + d="m 195.41471,317.37498 c 151.68424,0 151.68424,0 151.68424,0" 77.170 + style="fill:#000000;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 77.171 + inkscape:connector-curvature="0" /> 77.172 + <text 77.173 + xml:space="preserve" 77.174 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 77.175 + x="352.7023" 77.176 + y="320.02267" 77.177 + id="text8091" 77.178 + sodipodi:linespacing="100%"><tspan 77.179 + id="tspan8093" 77.180 + sodipodi:role="line" 77.181 + x="352.7023" 77.182 + y="320.02267">Physical time</tspan></text> 77.183 + <path 77.184 + inkscape:connector-curvature="0" 77.185 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 77.186 + d="m 195.92204,221.37498 c 33.06652,0 33.06652,0 33.06652,0" 77.187 + id="path8095" /> 77.188 + <g 77.189 + id="g8097" 77.190 + transform="translate(-70,-180)" 77.191 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"> 77.192 + <path 77.193 + inkscape:connector-curvature="0" 77.194 + id="path8099" 77.195 + d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279" 77.196 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 77.197 + <text 77.198 + xml:space="preserve" 77.199 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 77.200 + x="298.7023" 77.201 + y="376.52615" 77.202 + id="text8101" 77.203 + sodipodi:linespacing="100%"><tspan 77.204 + style="font-size:10px;text-align:center;text-anchor:middle" 77.205 + sodipodi:role="line" 77.206 + id="tspan8103" 77.207 + x="298.7023" 77.208 + y="376.52615">Suspend</tspan><tspan 77.209 + style="font-size:9px;text-align:center;text-anchor:middle" 77.210 + id="tspan8105" 77.211 + sodipodi:role="line" 77.212 + x="298.7023" 77.213 + y="385.74353">(Point 1.S)</tspan></text> 77.214 + </g> 77.215 + <g 77.216 + id="g8107" 77.217 + transform="translate(-60,-180)" 77.218 + style="stroke-width:1.8;stroke-miterlimit:4;stroke-dasharray:none"> 77.219 + <path 77.220 + inkscape:connector-curvature="0" 77.221 + id="path8109" 77.222 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 77.223 + style="fill:none;stroke:#000000;stroke-width:1.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" /> 77.224 + <text 77.225 + xml:space="preserve" 77.226 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 77.227 + x="378.7023" 77.228 + y="376.52615" 77.229 + id="text8111" 77.230 + sodipodi:linespacing="100%"><tspan 77.231 + style="font-size:9px;text-align:center;text-anchor:middle" 77.232 + sodipodi:role="line" 77.233 + id="tspan8113" 77.234 + x="380.20621" 77.235 + y="376.52615"><tspan 77.236 + id="tspan8115" 77.237 + style="font-size:10px">Resume </tspan></tspan><tspan 77.238 + style="font-size:9px;text-align:center;text-anchor:middle" 77.239 + id="tspan8117" 77.240 + sodipodi:role="line" 77.241 + x="378.7023" 77.242 + y="385.74353">(Point 1.R)</tspan></text> 77.243 + </g> 77.244 + <text 77.245 + xml:space="preserve" 77.246 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 77.247 + x="352.7023" 77.248 + y="225.27441" 77.249 + id="text8119" 77.250 + sodipodi:linespacing="100%"><tspan 77.251 + id="tspan8121" 77.252 + sodipodi:role="line" 77.253 + x="352.7023" 77.254 + y="225.27441">Timeline A</tspan></text> 77.255 + <path 77.256 + id="path8123" 77.257 + d="m 320.08408,221.37498 c 27.45405,0 27.45405,0 27.45405,0" 77.258 + style="fill:none;stroke:#422fac;stroke-width:1.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none" 77.259 + inkscape:connector-curvature="0" /> 77.260 + <path 77.261 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999998, 2.99999998;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 77.262 + d="m 292.57011,280.15667 c 1.60737,-35.06333 -0.1867,-13.69014 2.41106,-33.11537 1.74808,-13.07166 19.28851,-14.93437 19.28851,-14.93437" 77.263 + id="path8125" 77.264 + inkscape:connector-curvature="0" 77.265 + sodipodi:nodetypes="csc" /> 77.266 + <path 77.267 + inkscape:connector-curvature="0" 77.268 + style="fill:#800000;stroke:#800000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 77.269 + d="m 246.98465,423.37498 c 69.82336,0 69.82336,0 69.82336,0" 77.270 + id="path10381" /> 77.271 + <g 77.272 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 77.273 + id="g10393" 77.274 + transform="translate(-60,22)"> 77.275 + <path 77.276 + inkscape:connector-curvature="0" 77.277 + id="path10395" 77.278 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 77.279 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 77.280 + <text 77.281 + xml:space="preserve" 77.282 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 77.283 + x="378.7023" 77.284 + y="390.52615" 77.285 + id="text10397" 77.286 + sodipodi:linespacing="100%"><tspan 77.287 + style="font-size:9px;text-align:center;text-anchor:middle" 77.288 + id="tspan10403" 77.289 + sodipodi:role="line" 77.290 + x="378.7023" 77.291 + y="390.52615">Tied Point</tspan></text> 77.292 + </g> 77.293 + <text 77.294 + xml:space="preserve" 77.295 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 77.296 + x="352.7023" 77.297 + y="427.27441" 77.298 + id="text10405" 77.299 + sodipodi:linespacing="100%"><tspan 77.300 + id="tspan10407" 77.301 + sodipodi:role="line" 77.302 + x="352.7023" 77.303 + y="427.27441">Timeline B</tspan></text> 77.304 + <path 77.305 + id="path10409" 77.306 + d="m 320.08408,423.37498 c 27.45405,0 27.45405,0 27.45405,0" 77.307 + style="fill:none;stroke:#800000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 77.308 + inkscape:connector-curvature="0" /> 77.309 + <path 77.310 + id="path10411" 77.311 + d="m 283.92204,381.37498 c 33.06652,0 33.06652,0 33.06652,0" 77.312 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 77.313 + inkscape:connector-curvature="0" /> 77.314 + <g 77.315 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 77.316 + transform="translate(-60,-20)" 77.317 + id="g10423"> 77.318 + <path 77.319 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 77.320 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 77.321 + id="path10425" 77.322 + inkscape:connector-curvature="0" /> 77.323 + <text 77.324 + sodipodi:linespacing="100%" 77.325 + id="text10427" 77.326 + y="388.52615" 77.327 + x="378.7023" 77.328 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 77.329 + xml:space="preserve"><tspan 77.330 + y="388.52615" 77.331 + x="378.7023" 77.332 + sodipodi:role="line" 77.333 + id="tspan10433" 77.334 + style="font-size:9px;text-align:center;text-anchor:middle">Tied Point</tspan></text> 77.335 + </g> 77.336 + <text 77.337 + sodipodi:linespacing="100%" 77.338 + id="text10435" 77.339 + y="385.27441" 77.340 + x="352.7023" 77.341 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 77.342 + xml:space="preserve"><tspan 77.343 + y="385.27441" 77.344 + x="352.7023" 77.345 + sodipodi:role="line" 77.346 + id="tspan10437">Timeline A</tspan></text> 77.347 + <path 77.348 + inkscape:connector-curvature="0" 77.349 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 77.350 + d="m 320.08408,381.37498 c 27.45405,0 27.45405,0 27.45405,0" 77.351 + id="path10439" /> 77.352 + <path 77.353 + style="fill:none;stroke:#000000;stroke-width:1.29999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.89999986,3.89999986;stroke-dashoffset:0" 77.354 + d="m 318.92887,395.30966 c 0,24.40348 0,24.40348 0,24.40348" 77.355 + id="path10425-2" 77.356 + inkscape:connector-curvature="0" /> 77.357 + <path 77.358 + inkscape:connector-curvature="0" 77.359 + style="fill:#800000;stroke:#800000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 77.360 + d="m 196.98465,549.37498 c 69.82336,0 69.82336,0 69.82336,0" 77.361 + id="path10981" /> 77.362 + <g 77.363 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 77.364 + id="g10983" 77.365 + transform="translate(-32,148)"> 77.366 + <path 77.367 + inkscape:connector-curvature="0" 77.368 + id="path10985" 77.369 + d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279" 77.370 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 77.371 + </g> 77.372 + <g 77.373 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 77.374 + id="g10993" 77.375 + transform="translate(-60,148)"> 77.376 + <path 77.377 + inkscape:connector-curvature="0" 77.378 + id="path10995" 77.379 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 77.380 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 77.381 + </g> 77.382 + <text 77.383 + xml:space="preserve" 77.384 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 77.385 + x="352.7023" 77.386 + y="553.27441" 77.387 + id="text11005" 77.388 + sodipodi:linespacing="100%"><tspan 77.389 + id="tspan11007" 77.390 + sodipodi:role="line" 77.391 + x="352.7023" 77.392 + y="553.27441">Timeline B</tspan></text> 77.393 + <path 77.394 + id="path11009" 77.395 + d="m 320.08408,549.37498 c 27.45405,0 27.45405,0 27.45405,0" 77.396 + style="fill:none;stroke:#800000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 77.397 + inkscape:connector-curvature="0" /> 77.398 + <path 77.399 + id="path11011" 77.400 + d="m 195.92204,489.37498 c 33.06652,0 33.06652,0 33.06652,0" 77.401 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 77.402 + inkscape:connector-curvature="0" /> 77.403 + <g 77.404 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 77.405 + transform="translate(-70,88)" 77.406 + id="g11013"> 77.407 + <path 77.408 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 77.409 + d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279" 77.410 + id="path11015" 77.411 + inkscape:connector-curvature="0" /> 77.412 + <text 77.413 + sodipodi:linespacing="100%" 77.414 + id="text11017" 77.415 + y="376.52615" 77.416 + x="298.7023" 77.417 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 77.418 + xml:space="preserve"><tspan 77.419 + y="376.52615" 77.420 + x="298.7023" 77.421 + id="tspan11019" 77.422 + sodipodi:role="line" 77.423 + style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan 77.424 + y="385.74353" 77.425 + x="298.7023" 77.426 + sodipodi:role="line" 77.427 + id="tspan11021" 77.428 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.S)</tspan></text> 77.429 + </g> 77.430 + <g 77.431 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 77.432 + transform="translate(-60,88)" 77.433 + id="g11023"> 77.434 + <path 77.435 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 77.436 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 77.437 + id="path11025" 77.438 + inkscape:connector-curvature="0" /> 77.439 + <text 77.440 + sodipodi:linespacing="100%" 77.441 + id="text11027" 77.442 + y="376.52615" 77.443 + x="378.7023" 77.444 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 77.445 + xml:space="preserve"><tspan 77.446 + y="376.52615" 77.447 + x="380.20621" 77.448 + id="tspan11029" 77.449 + sodipodi:role="line" 77.450 + style="font-size:9px;text-align:center;text-anchor:middle"><tspan 77.451 + style="font-size:10px" 77.452 + id="tspan11031">Resume </tspan></tspan><tspan 77.453 + y="385.74353" 77.454 + x="378.7023" 77.455 + sodipodi:role="line" 77.456 + id="tspan11033" 77.457 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.R)</tspan></text> 77.458 + </g> 77.459 + <text 77.460 + sodipodi:linespacing="100%" 77.461 + id="text11035" 77.462 + y="493.27441" 77.463 + x="352.7023" 77.464 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 77.465 + xml:space="preserve"><tspan 77.466 + y="493.27441" 77.467 + x="352.7023" 77.468 + sodipodi:role="line" 77.469 + id="tspan11037">Timeline A</tspan></text> 77.470 + <path 77.471 + inkscape:connector-curvature="0" 77.472 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 77.473 + d="m 320.08408,489.37498 c 27.45405,0 27.45405,0 27.45405,0" 77.474 + id="path11039" /> 77.475 + <path 77.476 + sodipodi:nodetypes="cc" 77.477 + inkscape:connector-curvature="0" 77.478 + id="path11041" 77.479 + d="m 248.40878,545.16363 c 79.41657,-49.15176 5.94823,-3.26189 82.39224,-51.8417" 77.480 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999999, 2.99999999;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 77.481 + <path 77.482 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000003, 3.00000003;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 77.483 + d="m 329.77257,501.82974 c -70.11936,42.79661 -5.25188,2.84014 -72.74667,45.13875" 77.484 + id="path11043" 77.485 + inkscape:connector-curvature="0" 77.486 + sodipodi:nodetypes="cc" /> 77.487 + <text 77.488 + xml:space="preserve" 77.489 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 77.490 + x="-20.52177" 77.491 + y="592.72888" 77.492 + id="text11049" 77.493 + sodipodi:linespacing="100%" 77.494 + transform="matrix(0.85476126,-0.51902138,0.51902138,0.85476126,0,0)"><tspan 77.495 + id="tspan11051" 77.496 + sodipodi:role="line" 77.497 + x="-20.52177" 77.498 + y="592.72888">visible</tspan></text> 77.499 + <text 77.500 + transform="matrix(0.85476126,-0.51902138,0.51902138,0.85476126,0,0)" 77.501 + sodipodi:linespacing="100%" 77.502 + id="text11053" 77.503 + y="607.87146" 77.504 + x="-10.997777" 77.505 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 77.506 + xml:space="preserve"><tspan 77.507 + y="607.87146" 77.508 + x="-10.997777" 77.509 + sodipodi:role="line" 77.510 + id="tspan11055">NOT visible</tspan></text> 77.511 + <path 77.512 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000008, 3.00000008;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 77.513 + d="m 331.48246,541.42226 c -109.48644,-45.60627 -8.20044,-3.02659 -113.5888,-48.10218" 77.514 + id="path11057" 77.515 + inkscape:connector-curvature="0" 77.516 + sodipodi:nodetypes="cc" /> 77.517 + <path 77.518 + sodipodi:nodetypes="cc" 77.519 + inkscape:connector-curvature="0" 77.520 + id="path11059" 77.521 + d="m 218.69167,501.82968 c 107.30304,43.503 8.03691,2.88702 111.32359,45.8838" 77.522 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000006, 3.00000006;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 77.523 + <text 77.524 + transform="matrix(0.92037595,0.39103467,-0.39103467,0.92037595,0,0)" 77.525 + sodipodi:linespacing="100%" 77.526 + id="text11061" 77.527 + y="382.84756" 77.528 + x="402.31476" 77.529 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 77.530 + xml:space="preserve"><tspan 77.531 + y="382.84756" 77.532 + x="402.31476" 77.533 + sodipodi:role="line" 77.534 + id="tspan11063">visible</tspan></text> 77.535 + <text 77.536 + xml:space="preserve" 77.537 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 77.538 + x="408.54758" 77.539 + y="366.66327" 77.540 + id="text11065" 77.541 + sodipodi:linespacing="100%" 77.542 + transform="matrix(0.9201572,0.39154913,-0.39154913,0.9201572,0,0)"><tspan 77.543 + id="tspan11067" 77.544 + sodipodi:role="line" 77.545 + x="408.54758" 77.546 + y="366.66327">NOT visible</tspan></text> 77.547 + </g> 77.548 +</svg>
78.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 78.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/PR__timeline_dual_three_versions.svg Fri Sep 13 11:02:18 2013 -0700 78.3 @@ -0,0 +1,754 @@ 78.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 78.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 78.6 + 78.7 +<svg 78.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 78.9 + xmlns:cc="http://creativecommons.org/ns#" 78.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 78.11 + xmlns:svg="http://www.w3.org/2000/svg" 78.12 + xmlns="http://www.w3.org/2000/svg" 78.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 78.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 78.15 + width="744.09448819" 78.16 + height="1052.3622047" 78.17 + id="svg2" 78.18 + sodipodi:version="0.32" 78.19 + inkscape:version="0.48.2 r9819" 78.20 + sodipodi:docname="PR__timeline_dual.svg" 78.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 78.22 + version="1.1"> 78.23 + <defs 78.24 + id="defs4"> 78.25 + <marker 78.26 + inkscape:stockid="Arrow2Send" 78.27 + orient="auto" 78.28 + refY="0.0" 78.29 + refX="0.0" 78.30 + id="Arrow2Send" 78.31 + style="overflow:visible;"> 78.32 + <path 78.33 + id="path4262" 78.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 78.35 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 78.36 + transform="scale(0.3) rotate(180) translate(-2.3,0)" /> 78.37 + </marker> 78.38 + <marker 78.39 + inkscape:stockid="Arrow1Mend" 78.40 + orient="auto" 78.41 + refY="0.0" 78.42 + refX="0.0" 78.43 + id="Arrow1Mend" 78.44 + style="overflow:visible;"> 78.45 + <path 78.46 + id="path4238" 78.47 + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " 78.48 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;" 78.49 + transform="scale(0.4) rotate(180) translate(10,0)" /> 78.50 + </marker> 78.51 + <marker 78.52 + inkscape:stockid="Arrow2Mend" 78.53 + orient="auto" 78.54 + refY="0.0" 78.55 + refX="0.0" 78.56 + id="Arrow2Mend" 78.57 + style="overflow:visible;"> 78.58 + <path 78.59 + id="path4008" 78.60 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 78.61 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 78.62 + transform="scale(0.6) rotate(180) translate(0,0)" /> 78.63 + </marker> 78.64 + <inkscape:perspective 78.65 + sodipodi:type="inkscape:persp3d" 78.66 + inkscape:vp_x="0 : 526.18109 : 1" 78.67 + inkscape:vp_y="0 : 1000 : 0" 78.68 + inkscape:vp_z="744.09448 : 526.18109 : 1" 78.69 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 78.70 + id="perspective10" /> 78.71 + <inkscape:perspective 78.72 + id="perspective11923" 78.73 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 78.74 + inkscape:vp_z="1 : 0.5 : 1" 78.75 + inkscape:vp_y="0 : 1000 : 0" 78.76 + inkscape:vp_x="0 : 0.5 : 1" 78.77 + sodipodi:type="inkscape:persp3d" /> 78.78 + </defs> 78.79 + <sodipodi:namedview 78.80 + id="base" 78.81 + pagecolor="#ffffff" 78.82 + bordercolor="#666666" 78.83 + borderopacity="1.0" 78.84 + gridtolerance="10000" 78.85 + guidetolerance="10" 78.86 + objecttolerance="10" 78.87 + inkscape:pageopacity="0.0" 78.88 + inkscape:pageshadow="2" 78.89 + inkscape:zoom="1.3364318" 78.90 + inkscape:cx="214.9176" 78.91 + inkscape:cy="612.44308" 78.92 + inkscape:document-units="px" 78.93 + inkscape:current-layer="layer1" 78.94 + showgrid="false" 78.95 + inkscape:window-width="1317" 78.96 + inkscape:window-height="878" 78.97 + inkscape:window-x="7" 78.98 + inkscape:window-y="1" 78.99 + inkscape:window-maximized="0" /> 78.100 + <metadata 78.101 + id="metadata7"> 78.102 + <rdf:RDF> 78.103 + <cc:Work 78.104 + rdf:about=""> 78.105 + <dc:format>image/svg+xml</dc:format> 78.106 + <dc:type 78.107 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 78.108 + <dc:title></dc:title> 78.109 + </cc:Work> 78.110 + </rdf:RDF> 78.111 + </metadata> 78.112 + <g 78.113 + inkscape:label="Layer 1" 78.114 + inkscape:groupmode="layer" 78.115 + id="layer1"> 78.116 + <path 78.117 + id="path7353" 78.118 + d="m 196.98465,281.37498 c 69.82336,0 69.82336,0 69.82336,0" 78.119 + style="fill:#800000;stroke:#800000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 78.120 + inkscape:connector-curvature="0" /> 78.121 + <g 78.122 + transform="translate(-32,-120)" 78.123 + id="g7355" 78.124 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"> 78.125 + <path 78.126 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 78.127 + d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279" 78.128 + id="path7357" 78.129 + inkscape:connector-curvature="0" /> 78.130 + <text 78.131 + sodipodi:linespacing="100%" 78.132 + id="text7359" 78.133 + y="376.52615" 78.134 + x="298.7023" 78.135 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 78.136 + xml:space="preserve"><tspan 78.137 + y="376.52615" 78.138 + x="298.7023" 78.139 + id="tspan7361" 78.140 + sodipodi:role="line" 78.141 + style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan 78.142 + y="385.74353" 78.143 + x="298.7023" 78.144 + sodipodi:role="line" 78.145 + id="tspan7363" 78.146 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 2.S)</tspan></text> 78.147 + </g> 78.148 + <g 78.149 + transform="translate(-60,-120)" 78.150 + id="g7365" 78.151 + style="stroke-width:1.8;stroke-miterlimit:4;stroke-dasharray:none"> 78.152 + <path 78.153 + style="fill:none;stroke:#000000;stroke-width:1.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" 78.154 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 78.155 + id="path7367" 78.156 + inkscape:connector-curvature="0" /> 78.157 + <text 78.158 + sodipodi:linespacing="100%" 78.159 + id="text7369" 78.160 + y="376.52615" 78.161 + x="378.7023" 78.162 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 78.163 + xml:space="preserve"><tspan 78.164 + y="376.52615" 78.165 + x="380.20621" 78.166 + id="tspan7371" 78.167 + sodipodi:role="line" 78.168 + style="font-size:9px;text-align:center;text-anchor:middle"><tspan 78.169 + style="font-size:10px" 78.170 + id="tspan8087">Resume </tspan></tspan><tspan 78.171 + y="385.74353" 78.172 + x="378.7023" 78.173 + sodipodi:role="line" 78.174 + id="tspan7373" 78.175 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 2.R)</tspan></text> 78.176 + </g> 78.177 + <text 78.178 + sodipodi:linespacing="100%" 78.179 + id="text7375" 78.180 + y="285.27441" 78.181 + x="352.7023" 78.182 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 78.183 + xml:space="preserve"><tspan 78.184 + y="285.27441" 78.185 + x="352.7023" 78.186 + sodipodi:role="line" 78.187 + id="tspan7379">Timeline B</tspan></text> 78.188 + <path 78.189 + inkscape:connector-curvature="0" 78.190 + style="fill:none;stroke:#800000;stroke-width:1.80000000000000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none" 78.191 + d="m 320.08408,281.37498 c 27.45405,0 27.45405,0 27.45405,0" 78.192 + id="path7387" /> 78.193 + <path 78.194 + id="path8089" 78.195 + d="m 195.41471,317.37498 c 151.68424,0 151.68424,0 151.68424,0" 78.196 + style="fill:#000000;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 78.197 + inkscape:connector-curvature="0" /> 78.198 + <text 78.199 + xml:space="preserve" 78.200 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 78.201 + x="352.7023" 78.202 + y="320.02267" 78.203 + id="text8091" 78.204 + sodipodi:linespacing="100%"><tspan 78.205 + id="tspan8093" 78.206 + sodipodi:role="line" 78.207 + x="352.7023" 78.208 + y="320.02267">Physical time</tspan></text> 78.209 + <path 78.210 + inkscape:connector-curvature="0" 78.211 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 78.212 + d="m 195.92204,221.37498 c 33.06652,0 33.06652,0 33.06652,0" 78.213 + id="path8095" /> 78.214 + <g 78.215 + id="g8097" 78.216 + transform="translate(-70,-180)" 78.217 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"> 78.218 + <path 78.219 + inkscape:connector-curvature="0" 78.220 + id="path8099" 78.221 + d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279" 78.222 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 78.223 + <text 78.224 + xml:space="preserve" 78.225 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 78.226 + x="298.7023" 78.227 + y="376.52615" 78.228 + id="text8101" 78.229 + sodipodi:linespacing="100%"><tspan 78.230 + style="font-size:10px;text-align:center;text-anchor:middle" 78.231 + sodipodi:role="line" 78.232 + id="tspan8103" 78.233 + x="298.7023" 78.234 + y="376.52615">Suspend</tspan><tspan 78.235 + style="font-size:9px;text-align:center;text-anchor:middle" 78.236 + id="tspan8105" 78.237 + sodipodi:role="line" 78.238 + x="298.7023" 78.239 + y="385.74353">(Point 1.S)</tspan></text> 78.240 + </g> 78.241 + <g 78.242 + id="g8107" 78.243 + transform="translate(-60,-180)" 78.244 + style="stroke-width:1.8;stroke-miterlimit:4;stroke-dasharray:none"> 78.245 + <path 78.246 + inkscape:connector-curvature="0" 78.247 + id="path8109" 78.248 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 78.249 + style="fill:none;stroke:#000000;stroke-width:1.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" /> 78.250 + <text 78.251 + xml:space="preserve" 78.252 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 78.253 + x="378.7023" 78.254 + y="376.52615" 78.255 + id="text8111" 78.256 + sodipodi:linespacing="100%"><tspan 78.257 + style="font-size:9px;text-align:center;text-anchor:middle" 78.258 + sodipodi:role="line" 78.259 + id="tspan8113" 78.260 + x="380.20621" 78.261 + y="376.52615"><tspan 78.262 + id="tspan8115" 78.263 + style="font-size:10px">Resume </tspan></tspan><tspan 78.264 + style="font-size:9px;text-align:center;text-anchor:middle" 78.265 + id="tspan8117" 78.266 + sodipodi:role="line" 78.267 + x="378.7023" 78.268 + y="385.74353">(Point 1.R)</tspan></text> 78.269 + </g> 78.270 + <text 78.271 + xml:space="preserve" 78.272 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 78.273 + x="352.7023" 78.274 + y="225.27441" 78.275 + id="text8119" 78.276 + sodipodi:linespacing="100%"><tspan 78.277 + id="tspan8121" 78.278 + sodipodi:role="line" 78.279 + x="352.7023" 78.280 + y="225.27441">Timeline A</tspan></text> 78.281 + <path 78.282 + id="path8123" 78.283 + d="m 320.08408,221.37498 c 27.45405,0 27.45405,0 27.45405,0" 78.284 + style="fill:none;stroke:#422fac;stroke-width:1.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none" 78.285 + inkscape:connector-curvature="0" /> 78.286 + <path 78.287 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999998, 2.99999998;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 78.288 + d="m 292.57011,280.15667 c 1.60737,-35.06333 -0.1867,-13.69014 2.41106,-33.11537 1.74808,-13.07166 19.28851,-14.93437 19.28851,-14.93437" 78.289 + id="path8125" 78.290 + inkscape:connector-curvature="0" 78.291 + sodipodi:nodetypes="csc" /> 78.292 + <path 78.293 + inkscape:connector-curvature="0" 78.294 + style="fill:#800000;stroke:#800000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 78.295 + d="m 195.48813,523.37498 c 69.82336,0 69.82336,0 69.82336,0" 78.296 + id="path5552" /> 78.297 + <path 78.298 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 78.299 + d="m 266.82881,514.82004 c 0,19.38279 0,19.38279 0,19.38279" 78.300 + id="path5556" 78.301 + inkscape:connector-curvature="0" /> 78.302 + <text 78.303 + sodipodi:linespacing="100%" 78.304 + id="text5558" 78.305 + y="540.52612" 78.306 + x="264.7023" 78.307 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 78.308 + xml:space="preserve"><tspan 78.309 + y="540.52612" 78.310 + x="264.7023" 78.311 + id="tspan5560" 78.312 + sodipodi:role="line" 78.313 + style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan 78.314 + y="549.74353" 78.315 + x="264.7023" 78.316 + sodipodi:role="line" 78.317 + id="tspan5562" 78.318 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 2.S)</tspan></text> 78.319 + <path 78.320 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 78.321 + d="m 318.82881,514.77746 c 0,19.15152 0,19.15152 0,19.15152" 78.322 + id="path5566" 78.323 + inkscape:connector-curvature="0" /> 78.324 + <text 78.325 + sodipodi:linespacing="100%" 78.326 + id="text5568" 78.327 + y="540.52612" 78.328 + x="320.7023" 78.329 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 78.330 + xml:space="preserve"><tspan 78.331 + y="540.52612" 78.332 + x="322.20621" 78.333 + id="tspan5570" 78.334 + sodipodi:role="line" 78.335 + style="font-size:9px;text-align:center;text-anchor:middle"><tspan 78.336 + style="font-size:10px" 78.337 + id="tspan5572">Resume </tspan></tspan><tspan 78.338 + y="549.74353" 78.339 + x="320.7023" 78.340 + sodipodi:role="line" 78.341 + id="tspan5574" 78.342 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 2.R)</tspan></text> 78.343 + <text 78.344 + xml:space="preserve" 78.345 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 78.346 + x="354.7023" 78.347 + y="527.27441" 78.348 + id="text5576" 78.349 + sodipodi:linespacing="100%"><tspan 78.350 + id="tspan5578" 78.351 + sodipodi:role="line" 78.352 + x="354.7023" 78.353 + y="527.27441">Timeline B</tspan></text> 78.354 + <path 78.355 + id="path5580" 78.356 + d="m 320.08409,523.37498 c 28.16395,0 28.16395,0 28.16395,0" 78.357 + style="fill:none;stroke:#800000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 78.358 + inkscape:connector-curvature="0" /> 78.359 + <path 78.360 + inkscape:connector-curvature="0" 78.361 + style="fill:#000000;stroke:#000000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 78.362 + d="m 195.41472,559.37498 c 153.16627,0 153.16627,0 153.16627,0" 78.363 + id="path5582" /> 78.364 + <text 78.365 + sodipodi:linespacing="100%" 78.366 + id="text5584" 78.367 + y="562.02271" 78.368 + x="354.05777" 78.369 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 78.370 + xml:space="preserve"><tspan 78.371 + y="562.02271" 78.372 + x="354.05777" 78.373 + sodipodi:role="line" 78.374 + id="tspan5586">Physical time</tspan></text> 78.375 + <path 78.376 + id="path5588" 78.377 + d="m 195.17378,437.37498 c 33.06652,0 33.06652,0 33.06652,0" 78.378 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 78.379 + inkscape:connector-curvature="0" /> 78.380 + <g 78.381 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 78.382 + transform="translate(-70,36)" 78.383 + id="g5590"> 78.384 + <path 78.385 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 78.386 + d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279" 78.387 + id="path5592" 78.388 + inkscape:connector-curvature="0" /> 78.389 + <text 78.390 + sodipodi:linespacing="100%" 78.391 + id="text5594" 78.392 + y="376.52615" 78.393 + x="298.7023" 78.394 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 78.395 + xml:space="preserve"><tspan 78.396 + y="376.52615" 78.397 + x="298.7023" 78.398 + id="tspan5596" 78.399 + sodipodi:role="line" 78.400 + style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan 78.401 + y="385.74353" 78.402 + x="298.7023" 78.403 + sodipodi:role="line" 78.404 + id="tspan5598" 78.405 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.S)</tspan></text> 78.406 + </g> 78.407 + <g 78.408 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 78.409 + transform="translate(-60,36)" 78.410 + id="g5600"> 78.411 + <path 78.412 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 78.413 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 78.414 + id="path5602" 78.415 + inkscape:connector-curvature="0" /> 78.416 + <text 78.417 + sodipodi:linespacing="100%" 78.418 + id="text5604" 78.419 + y="376.52615" 78.420 + x="378.7023" 78.421 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 78.422 + xml:space="preserve"><tspan 78.423 + y="376.52615" 78.424 + x="380.20621" 78.425 + id="tspan5606" 78.426 + sodipodi:role="line" 78.427 + style="font-size:9px;text-align:center;text-anchor:middle"><tspan 78.428 + style="font-size:10px" 78.429 + id="tspan5608">Resume </tspan></tspan><tspan 78.430 + y="385.74353" 78.431 + x="378.7023" 78.432 + sodipodi:role="line" 78.433 + id="tspan5610" 78.434 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.R)</tspan></text> 78.435 + </g> 78.436 + <text 78.437 + sodipodi:linespacing="100%" 78.438 + id="text5612" 78.439 + y="441.27441" 78.440 + x="354.7023" 78.441 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 78.442 + xml:space="preserve"><tspan 78.443 + y="441.27441" 78.444 + x="354.7023" 78.445 + sodipodi:role="line" 78.446 + id="tspan5614">Timeline A</tspan></text> 78.447 + <path 78.448 + inkscape:connector-curvature="0" 78.449 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 78.450 + d="m 320.08409,437.37498 c 28.16395,0 28.16395,0 28.16395,0" 78.451 + id="path5616" /> 78.452 + <path 78.453 + inkscape:connector-curvature="0" 78.454 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.60000016, 3.60000016;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 78.455 + d="m 196.11806,483.37498 c 152.64336,0 152.64336,0 152.64336,0" 78.456 + id="path3063" /> 78.457 + <path 78.458 + style="fill:none;stroke:#000000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.60000001, 3.60000001;stroke-dashoffset:0;marker-end:url(#Arrow2Send)" 78.459 + d="m 228.82881,449.32353 c 0,29.78359 0,29.78359 0,29.78359" 78.460 + id="path3086" 78.461 + inkscape:connector-curvature="0" /> 78.462 + <path 78.463 + inkscape:connector-curvature="0" 78.464 + id="path5044" 78.465 + d="m 266.82881,516.24027 c 0,-29.74405 0,-29.74405 0,-29.74405" 78.466 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.60000002, 3.60000002;stroke-dashoffset:0;marker-end:url(#Arrow2Send)" /> 78.467 + <path 78.468 + style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 78.469 + d="m 293.31837,481.43892 c 3.87039,-15.03735 4.2342,-21.56492 7.28321,-26.28454 5.73916,-8.88373 15.91289,-10.38025 15.91289,-10.38025" 78.470 + id="path5048" 78.471 + inkscape:connector-curvature="0" 78.472 + sodipodi:nodetypes="csc" /> 78.473 + <path 78.474 + sodipodi:nodetypes="csc" 78.475 + inkscape:connector-curvature="0" 78.476 + id="path5608" 78.477 + d="m 301.54925,484.53107 c 2.49703,15.03735 2.73174,21.56492 4.69884,26.28454 3.70269,8.88373 10.26639,10.38025 10.26639,10.38025" 78.478 + style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" /> 78.479 + <path 78.480 + id="path5610" 78.481 + d="m 196.98465,751.37498 c 69.82336,0 69.82336,0 69.82336,0" 78.482 + style="fill:#800000;stroke:#800000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 78.483 + inkscape:connector-curvature="0" /> 78.484 + <path 78.485 + inkscape:connector-curvature="0" 78.486 + id="path5612" 78.487 + d="m 266.82881,742.82004 c 0,19.38279 0,19.38279 0,19.38279" 78.488 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 78.489 + <text 78.490 + xml:space="preserve" 78.491 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 78.492 + x="264.7023" 78.493 + y="768.52612" 78.494 + id="text5614" 78.495 + sodipodi:linespacing="100%"><tspan 78.496 + style="font-size:10px;text-align:center;text-anchor:middle" 78.497 + sodipodi:role="line" 78.498 + id="tspan5616" 78.499 + x="264.7023" 78.500 + y="768.52612">Suspend</tspan><tspan 78.501 + style="font-size:9px;text-align:center;text-anchor:middle" 78.502 + id="tspan5618" 78.503 + sodipodi:role="line" 78.504 + x="264.7023" 78.505 + y="777.74353">(Point 2.S)</tspan></text> 78.506 + <path 78.507 + inkscape:connector-curvature="0" 78.508 + id="path5620" 78.509 + d="m 318.82881,742.77746 c 0,19.15152 0,19.15152 0,19.15152" 78.510 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 78.511 + <text 78.512 + xml:space="preserve" 78.513 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 78.514 + x="320.7023" 78.515 + y="768.52612" 78.516 + id="text5622" 78.517 + sodipodi:linespacing="100%"><tspan 78.518 + style="font-size:9px;text-align:center;text-anchor:middle" 78.519 + sodipodi:role="line" 78.520 + id="tspan5624" 78.521 + x="322.20621" 78.522 + y="768.52612"><tspan 78.523 + id="tspan5626" 78.524 + style="font-size:10px">Resume </tspan></tspan><tspan 78.525 + style="font-size:9px;text-align:center;text-anchor:middle" 78.526 + id="tspan5628" 78.527 + sodipodi:role="line" 78.528 + x="320.7023" 78.529 + y="777.74353">(Point 2.R)</tspan></text> 78.530 + <text 78.531 + sodipodi:linespacing="100%" 78.532 + id="text5630" 78.533 + y="755.27441" 78.534 + x="352.7023" 78.535 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 78.536 + xml:space="preserve"><tspan 78.537 + y="755.27441" 78.538 + x="352.7023" 78.539 + sodipodi:role="line" 78.540 + id="tspan5632">Timeline B</tspan></text> 78.541 + <path 78.542 + inkscape:connector-curvature="0" 78.543 + style="fill:none;stroke:#800000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 78.544 + d="m 320.08408,751.37498 c 27.45405,0 27.45405,0 27.45405,0" 78.545 + id="path5634" /> 78.546 + <path 78.547 + id="path5636" 78.548 + d="m 195.41471,787.37498 c 151.68424,0 151.68424,0 151.68424,0" 78.549 + style="fill:#000000;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 78.550 + inkscape:connector-curvature="0" /> 78.551 + <text 78.552 + xml:space="preserve" 78.553 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 78.554 + x="352.7023" 78.555 + y="790.02271" 78.556 + id="text5638" 78.557 + sodipodi:linespacing="100%"><tspan 78.558 + id="tspan5640" 78.559 + sodipodi:role="line" 78.560 + x="352.7023" 78.561 + y="790.02271">Physical time</tspan></text> 78.562 + <path 78.563 + inkscape:connector-curvature="0" 78.564 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 78.565 + d="m 195.92204,665.37498 c 33.06652,0 33.06652,0 33.06652,0" 78.566 + id="path5642" /> 78.567 + <g 78.568 + id="g5644" 78.569 + transform="translate(-70,264)" 78.570 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"> 78.571 + <path 78.572 + inkscape:connector-curvature="0" 78.573 + id="path5646" 78.574 + d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279" 78.575 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 78.576 + <text 78.577 + xml:space="preserve" 78.578 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 78.579 + x="298.7023" 78.580 + y="376.52615" 78.581 + id="text5648" 78.582 + sodipodi:linespacing="100%"><tspan 78.583 + style="font-size:10px;text-align:center;text-anchor:middle" 78.584 + sodipodi:role="line" 78.585 + id="tspan5650" 78.586 + x="298.7023" 78.587 + y="376.52615">Suspend</tspan><tspan 78.588 + style="font-size:9px;text-align:center;text-anchor:middle" 78.589 + id="tspan5652" 78.590 + sodipodi:role="line" 78.591 + x="298.7023" 78.592 + y="385.74353">(Point 1.S)</tspan></text> 78.593 + </g> 78.594 + <g 78.595 + id="g5654" 78.596 + transform="translate(-60,264)" 78.597 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"> 78.598 + <path 78.599 + inkscape:connector-curvature="0" 78.600 + id="path5656" 78.601 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 78.602 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 78.603 + <text 78.604 + xml:space="preserve" 78.605 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 78.606 + x="378.7023" 78.607 + y="376.52615" 78.608 + id="text5658" 78.609 + sodipodi:linespacing="100%"><tspan 78.610 + style="font-size:9px;text-align:center;text-anchor:middle" 78.611 + sodipodi:role="line" 78.612 + id="tspan5660" 78.613 + x="380.20621" 78.614 + y="376.52615"><tspan 78.615 + id="tspan5662" 78.616 + style="font-size:10px">Resume </tspan></tspan><tspan 78.617 + style="font-size:9px;text-align:center;text-anchor:middle" 78.618 + id="tspan5664" 78.619 + sodipodi:role="line" 78.620 + x="378.7023" 78.621 + y="385.74353">(Point 1.R)</tspan></text> 78.622 + </g> 78.623 + <text 78.624 + xml:space="preserve" 78.625 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 78.626 + x="352.7023" 78.627 + y="669.27441" 78.628 + id="text5666" 78.629 + sodipodi:linespacing="100%"><tspan 78.630 + id="tspan5668" 78.631 + sodipodi:role="line" 78.632 + x="352.7023" 78.633 + y="669.27441">Timeline A</tspan></text> 78.634 + <path 78.635 + id="path5670" 78.636 + d="m 320.08408,665.37498 c 27.45405,0 27.45405,0 27.45405,0" 78.637 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 78.638 + inkscape:connector-curvature="0" /> 78.639 + <path 78.640 + id="path5672" 78.641 + d="m 227.92204,711.37498 c 15.62732,0 15.62732,0 15.62732,0" 78.642 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.60000014, 3.60000014;stroke-dashoffset:0;marker-end:none" 78.643 + inkscape:connector-curvature="0" /> 78.644 + <path 78.645 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 78.646 + d="m 228.82881,701.32352 c 0,19.38279 0,19.38279 0,19.38279" 78.647 + id="path5674" 78.648 + inkscape:connector-curvature="0" /> 78.649 + <path 78.650 + inkscape:connector-curvature="0" 78.651 + id="path5676" 78.652 + d="m 242.82881,701.32352 c 0,19.38279 0,19.38279 0,19.38279" 78.653 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 78.654 + <path 78.655 + inkscape:connector-curvature="0" 78.656 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.6000001, 3.6000001;stroke-dashoffset:0;marker-end:none" 78.657 + d="m 265.92203,711.37498 c 28.40046,0 28.40046,0 28.40046,0" 78.658 + id="path5678" /> 78.659 + <path 78.660 + inkscape:connector-curvature="0" 78.661 + id="path5680" 78.662 + d="m 266.82881,701.32352 c 0,19.38279 0,19.38279 0,19.38279" 78.663 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 78.664 + <path 78.665 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 78.666 + d="m 294.82881,701.32352 c 0,19.38279 0,19.38279 0,19.38279" 78.667 + id="path5682" 78.668 + inkscape:connector-curvature="0" /> 78.669 + <path 78.670 + inkscape:connector-curvature="0" 78.671 + id="path5684" 78.672 + d="m 228.82881,677.32352 c 0,19.38279 0,19.38279 0,19.38279" 78.673 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.6, 3.6;stroke-dashoffset:0;marker-end:url(#Arrow2Send)" /> 78.674 + <path 78.675 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.6, 3.6;stroke-dashoffset:0;marker-end:url(#Arrow2Send)" 78.676 + d="m 266.82881,744.24025 c 0,-19.38279 0,-19.38279 0,-19.38279" 78.677 + id="path5686" 78.678 + inkscape:connector-curvature="0" /> 78.679 + <path 78.680 + sodipodi:nodetypes="csc" 78.681 + inkscape:connector-curvature="0" 78.682 + id="path5688" 78.683 + d="m 273.86358,709.43892 c 7.11652,-15.03735 7.78546,-21.56492 13.39171,-26.28454 10.55265,-8.88373 29.25918,-10.38025 29.25918,-10.38025" 78.684 + style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" /> 78.685 + <path 78.686 + style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 78.687 + d="m 284.33924,712.53107 c 5.3686,15.03735 5.87324,21.56492 10.10251,26.28454 7.96078,8.88373 22.07272,10.38025 22.07272,10.38025" 78.688 + id="path5690" 78.689 + inkscape:connector-curvature="0" 78.690 + sodipodi:nodetypes="csc" /> 78.691 + <text 78.692 + xml:space="preserve" 78.693 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 78.694 + x="354.7023" 78.695 + y="481.27441" 78.696 + id="text5880" 78.697 + sodipodi:linespacing="100%"><tspan 78.698 + id="tspan5882" 78.699 + sodipodi:role="line" 78.700 + x="354.7023" 78.701 + y="481.27441" 78.702 + style="fill:#ff0000">Hidden</tspan><tspan 78.703 + sodipodi:role="line" 78.704 + x="354.7023" 78.705 + y="491.27441" 78.706 + id="tspan5884" 78.707 + style="fill:#ff0000">Timeline</tspan></text> 78.708 + <text 78.709 + xml:space="preserve" 78.710 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 78.711 + x="248.7023" 78.712 + y="502.52612" 78.713 + id="text5886" 78.714 + sodipodi:linespacing="100%"><tspan 78.715 + style="font-size:10px;text-align:center;text-anchor:middle" 78.716 + id="tspan5890" 78.717 + sodipodi:role="line" 78.718 + x="248.7023" 78.719 + y="502.52612">comm</tspan></text> 78.720 + <text 78.721 + sodipodi:linespacing="100%" 78.722 + id="text5894" 78.723 + y="466.52612" 78.724 + x="244.7023" 78.725 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 78.726 + xml:space="preserve"><tspan 78.727 + y="466.52612" 78.728 + x="244.7023" 78.729 + sodipodi:role="line" 78.730 + id="tspan5896" 78.731 + style="font-size:10px;text-align:center;text-anchor:middle">comm</tspan></text> 78.732 + <text 78.733 + xml:space="preserve" 78.734 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 78.735 + x="314.7023" 78.736 + y="464.52612" 78.737 + id="text5898" 78.738 + sodipodi:linespacing="100%"><tspan 78.739 + style="font-size:10px;text-align:center;text-anchor:middle" 78.740 + id="tspan5900" 78.741 + sodipodi:role="line" 78.742 + x="314.7023" 78.743 + y="464.52612">control</tspan></text> 78.744 + <text 78.745 + sodipodi:linespacing="100%" 78.746 + id="text5902" 78.747 + y="506.52612" 78.748 + x="320.7023" 78.749 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 78.750 + xml:space="preserve"><tspan 78.751 + y="506.52612" 78.752 + x="320.7023" 78.753 + sodipodi:role="line" 78.754 + id="tspan5904" 78.755 + style="font-size:10px;text-align:center;text-anchor:middle">control</tspan></text> 78.756 + </g> 78.757 +</svg>
79.1 Binary file 0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/PR__timeline_dual_w_hidden.pdf has changed
80.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 80.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/PR__timeline_dual_w_hidden.svg Fri Sep 13 11:02:18 2013 -0700 80.3 @@ -0,0 +1,366 @@ 80.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 80.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 80.6 + 80.7 +<svg 80.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 80.9 + xmlns:cc="http://creativecommons.org/ns#" 80.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 80.11 + xmlns:svg="http://www.w3.org/2000/svg" 80.12 + xmlns="http://www.w3.org/2000/svg" 80.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 80.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 80.15 + width="744.09448819" 80.16 + height="1052.3622047" 80.17 + id="svg2" 80.18 + sodipodi:version="0.32" 80.19 + inkscape:version="0.48.2 r9819" 80.20 + sodipodi:docname="PR__timeline_dual_w_hidden.svg" 80.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 80.22 + version="1.1"> 80.23 + <defs 80.24 + id="defs4"> 80.25 + <marker 80.26 + inkscape:stockid="Arrow2Send" 80.27 + orient="auto" 80.28 + refY="0.0" 80.29 + refX="0.0" 80.30 + id="Arrow2Send" 80.31 + style="overflow:visible;"> 80.32 + <path 80.33 + id="path4262" 80.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 80.35 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 80.36 + transform="scale(0.3) rotate(180) translate(-2.3,0)" /> 80.37 + </marker> 80.38 + <marker 80.39 + inkscape:stockid="Arrow1Mend" 80.40 + orient="auto" 80.41 + refY="0.0" 80.42 + refX="0.0" 80.43 + id="Arrow1Mend" 80.44 + style="overflow:visible;"> 80.45 + <path 80.46 + id="path4238" 80.47 + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " 80.48 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;" 80.49 + transform="scale(0.4) rotate(180) translate(10,0)" /> 80.50 + </marker> 80.51 + <marker 80.52 + inkscape:stockid="Arrow2Mend" 80.53 + orient="auto" 80.54 + refY="0.0" 80.55 + refX="0.0" 80.56 + id="Arrow2Mend" 80.57 + style="overflow:visible;"> 80.58 + <path 80.59 + id="path4008" 80.60 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 80.61 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 80.62 + transform="scale(0.6) rotate(180) translate(0,0)" /> 80.63 + </marker> 80.64 + <inkscape:perspective 80.65 + sodipodi:type="inkscape:persp3d" 80.66 + inkscape:vp_x="0 : 526.18109 : 1" 80.67 + inkscape:vp_y="0 : 1000 : 0" 80.68 + inkscape:vp_z="744.09448 : 526.18109 : 1" 80.69 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 80.70 + id="perspective10" /> 80.71 + <inkscape:perspective 80.72 + id="perspective11923" 80.73 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 80.74 + inkscape:vp_z="1 : 0.5 : 1" 80.75 + inkscape:vp_y="0 : 1000 : 0" 80.76 + inkscape:vp_x="0 : 0.5 : 1" 80.77 + sodipodi:type="inkscape:persp3d" /> 80.78 + </defs> 80.79 + <sodipodi:namedview 80.80 + id="base" 80.81 + pagecolor="#ffffff" 80.82 + bordercolor="#666666" 80.83 + borderopacity="1.0" 80.84 + gridtolerance="10000" 80.85 + guidetolerance="10" 80.86 + objecttolerance="10" 80.87 + inkscape:pageopacity="0.0" 80.88 + inkscape:pageshadow="2" 80.89 + inkscape:zoom="1.3364318" 80.90 + inkscape:cx="214.9176" 80.91 + inkscape:cy="603.68563" 80.92 + inkscape:document-units="px" 80.93 + inkscape:current-layer="layer1" 80.94 + showgrid="false" 80.95 + inkscape:window-width="1317" 80.96 + inkscape:window-height="878" 80.97 + inkscape:window-x="7" 80.98 + inkscape:window-y="1" 80.99 + inkscape:window-maximized="0" /> 80.100 + <metadata 80.101 + id="metadata7"> 80.102 + <rdf:RDF> 80.103 + <cc:Work 80.104 + rdf:about=""> 80.105 + <dc:format>image/svg+xml</dc:format> 80.106 + <dc:type 80.107 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 80.108 + <dc:title></dc:title> 80.109 + </cc:Work> 80.110 + </rdf:RDF> 80.111 + </metadata> 80.112 + <g 80.113 + inkscape:label="Layer 1" 80.114 + inkscape:groupmode="layer" 80.115 + id="layer1"> 80.116 + <path 80.117 + inkscape:connector-curvature="0" 80.118 + style="fill:#800000;stroke:#800000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 80.119 + d="m 195.48813,523.37498 c 69.82336,0 69.82336,0 69.82336,0" 80.120 + id="path5552" /> 80.121 + <path 80.122 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 80.123 + d="m 266.82881,514.82004 c 0,19.38279 0,19.38279 0,19.38279" 80.124 + id="path5556" 80.125 + inkscape:connector-curvature="0" /> 80.126 + <text 80.127 + sodipodi:linespacing="100%" 80.128 + id="text5558" 80.129 + y="540.52612" 80.130 + x="264.7023" 80.131 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 80.132 + xml:space="preserve"><tspan 80.133 + y="540.52612" 80.134 + x="264.7023" 80.135 + id="tspan5560" 80.136 + sodipodi:role="line" 80.137 + style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan 80.138 + y="549.74353" 80.139 + x="264.7023" 80.140 + sodipodi:role="line" 80.141 + id="tspan5562" 80.142 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 2.S)</tspan></text> 80.143 + <path 80.144 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 80.145 + d="m 318.82881,514.77746 c 0,19.15152 0,19.15152 0,19.15152" 80.146 + id="path5566" 80.147 + inkscape:connector-curvature="0" /> 80.148 + <text 80.149 + sodipodi:linespacing="100%" 80.150 + id="text5568" 80.151 + y="540.52612" 80.152 + x="320.7023" 80.153 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 80.154 + xml:space="preserve"><tspan 80.155 + y="540.52612" 80.156 + x="322.20621" 80.157 + id="tspan5570" 80.158 + sodipodi:role="line" 80.159 + style="font-size:9px;text-align:center;text-anchor:middle"><tspan 80.160 + style="font-size:10px" 80.161 + id="tspan5572">Resume </tspan></tspan><tspan 80.162 + y="549.74353" 80.163 + x="320.7023" 80.164 + sodipodi:role="line" 80.165 + id="tspan5574" 80.166 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 2.R)</tspan></text> 80.167 + <text 80.168 + xml:space="preserve" 80.169 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 80.170 + x="354.7023" 80.171 + y="527.27441" 80.172 + id="text5576" 80.173 + sodipodi:linespacing="100%"><tspan 80.174 + id="tspan5578" 80.175 + sodipodi:role="line" 80.176 + x="354.7023" 80.177 + y="527.27441">Timeline B</tspan></text> 80.178 + <path 80.179 + id="path5580" 80.180 + d="m 320.08409,523.37498 c 28.16395,0 28.16395,0 28.16395,0" 80.181 + style="fill:none;stroke:#800000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 80.182 + inkscape:connector-curvature="0" /> 80.183 + <path 80.184 + inkscape:connector-curvature="0" 80.185 + style="fill:#000000;stroke:#000000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 80.186 + d="m 195.41472,559.37498 c 153.16627,0 153.16627,0 153.16627,0" 80.187 + id="path5582" /> 80.188 + <text 80.189 + sodipodi:linespacing="100%" 80.190 + id="text5584" 80.191 + y="562.02271" 80.192 + x="354.05777" 80.193 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 80.194 + xml:space="preserve"><tspan 80.195 + y="562.02271" 80.196 + x="354.05777" 80.197 + sodipodi:role="line" 80.198 + id="tspan5586">Physical time</tspan></text> 80.199 + <path 80.200 + id="path5588" 80.201 + d="m 195.17378,437.37498 c 33.06652,0 33.06652,0 33.06652,0" 80.202 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 80.203 + inkscape:connector-curvature="0" /> 80.204 + <g 80.205 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 80.206 + transform="translate(-70,36)" 80.207 + id="g5590"> 80.208 + <path 80.209 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 80.210 + d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279" 80.211 + id="path5592" 80.212 + inkscape:connector-curvature="0" /> 80.213 + <text 80.214 + sodipodi:linespacing="100%" 80.215 + id="text5594" 80.216 + y="376.52615" 80.217 + x="298.7023" 80.218 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 80.219 + xml:space="preserve"><tspan 80.220 + y="376.52615" 80.221 + x="298.7023" 80.222 + id="tspan5596" 80.223 + sodipodi:role="line" 80.224 + style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan 80.225 + y="385.74353" 80.226 + x="298.7023" 80.227 + sodipodi:role="line" 80.228 + id="tspan5598" 80.229 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.S)</tspan></text> 80.230 + </g> 80.231 + <g 80.232 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 80.233 + transform="translate(-60,36)" 80.234 + id="g5600"> 80.235 + <path 80.236 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 80.237 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 80.238 + id="path5602" 80.239 + inkscape:connector-curvature="0" /> 80.240 + <text 80.241 + sodipodi:linespacing="100%" 80.242 + id="text5604" 80.243 + y="376.52615" 80.244 + x="378.7023" 80.245 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 80.246 + xml:space="preserve"><tspan 80.247 + y="376.52615" 80.248 + x="380.20621" 80.249 + id="tspan5606" 80.250 + sodipodi:role="line" 80.251 + style="font-size:9px;text-align:center;text-anchor:middle"><tspan 80.252 + style="font-size:10px" 80.253 + id="tspan5608">Resume </tspan></tspan><tspan 80.254 + y="385.74353" 80.255 + x="378.7023" 80.256 + sodipodi:role="line" 80.257 + id="tspan5610" 80.258 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.R)</tspan></text> 80.259 + </g> 80.260 + <text 80.261 + sodipodi:linespacing="100%" 80.262 + id="text5612" 80.263 + y="441.27441" 80.264 + x="354.7023" 80.265 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 80.266 + xml:space="preserve"><tspan 80.267 + y="441.27441" 80.268 + x="354.7023" 80.269 + sodipodi:role="line" 80.270 + id="tspan5614">Timeline A</tspan></text> 80.271 + <path 80.272 + inkscape:connector-curvature="0" 80.273 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 80.274 + d="m 320.08409,437.37498 c 28.16395,0 28.16395,0 28.16395,0" 80.275 + id="path5616" /> 80.276 + <path 80.277 + inkscape:connector-curvature="0" 80.278 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.60000016, 3.60000016;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 80.279 + d="m 196.11806,483.37498 c 152.64336,0 152.64336,0 152.64336,0" 80.280 + id="path3063" /> 80.281 + <path 80.282 + style="fill:none;stroke:#000000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.60000001, 3.60000001;stroke-dashoffset:0;marker-end:url(#Arrow2Send)" 80.283 + d="m 228.82881,449.32353 c 0,29.78359 0,29.78359 0,29.78359" 80.284 + id="path3086" 80.285 + inkscape:connector-curvature="0" /> 80.286 + <path 80.287 + inkscape:connector-curvature="0" 80.288 + id="path5044" 80.289 + d="m 266.82881,516.24027 c 0,-29.74405 0,-29.74405 0,-29.74405" 80.290 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.60000002, 3.60000002;stroke-dashoffset:0;marker-end:url(#Arrow2Send)" /> 80.291 + <path 80.292 + style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 80.293 + d="m 293.31837,481.43892 c 3.87039,-15.03735 4.2342,-21.56492 7.28321,-26.28454 5.73916,-8.88373 15.91289,-10.38025 15.91289,-10.38025" 80.294 + id="path5048" 80.295 + inkscape:connector-curvature="0" 80.296 + sodipodi:nodetypes="csc" /> 80.297 + <path 80.298 + sodipodi:nodetypes="csc" 80.299 + inkscape:connector-curvature="0" 80.300 + id="path5608" 80.301 + d="m 301.54925,484.53107 c 2.49703,15.03735 2.73174,21.56492 4.69884,26.28454 3.70269,8.88373 10.26639,10.38025 10.26639,10.38025" 80.302 + style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" /> 80.303 + <text 80.304 + xml:space="preserve" 80.305 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 80.306 + x="354.7023" 80.307 + y="481.27441" 80.308 + id="text5880" 80.309 + sodipodi:linespacing="100%"><tspan 80.310 + id="tspan5882" 80.311 + sodipodi:role="line" 80.312 + x="354.7023" 80.313 + y="481.27441" 80.314 + style="fill:#ff0000">Hidden</tspan><tspan 80.315 + sodipodi:role="line" 80.316 + x="354.7023" 80.317 + y="491.27441" 80.318 + id="tspan5884" 80.319 + style="fill:#ff0000">Timeline</tspan></text> 80.320 + <text 80.321 + xml:space="preserve" 80.322 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 80.323 + x="248.7023" 80.324 + y="502.52612" 80.325 + id="text5886" 80.326 + sodipodi:linespacing="100%"><tspan 80.327 + style="font-size:10px;text-align:center;text-anchor:middle" 80.328 + id="tspan5890" 80.329 + sodipodi:role="line" 80.330 + x="248.7023" 80.331 + y="502.52612">comm</tspan></text> 80.332 + <text 80.333 + sodipodi:linespacing="100%" 80.334 + id="text5894" 80.335 + y="466.52612" 80.336 + x="244.7023" 80.337 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 80.338 + xml:space="preserve"><tspan 80.339 + y="466.52612" 80.340 + x="244.7023" 80.341 + sodipodi:role="line" 80.342 + id="tspan5896" 80.343 + style="font-size:10px;text-align:center;text-anchor:middle">comm</tspan></text> 80.344 + <text 80.345 + xml:space="preserve" 80.346 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 80.347 + x="314.7023" 80.348 + y="464.52612" 80.349 + id="text5898" 80.350 + sodipodi:linespacing="100%"><tspan 80.351 + style="font-size:10px;text-align:center;text-anchor:middle" 80.352 + id="tspan5900" 80.353 + sodipodi:role="line" 80.354 + x="314.7023" 80.355 + y="464.52612">control</tspan></text> 80.356 + <text 80.357 + sodipodi:linespacing="100%" 80.358 + id="text5902" 80.359 + y="506.52612" 80.360 + x="320.7023" 80.361 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 80.362 + xml:space="preserve"><tspan 80.363 + y="506.52612" 80.364 + x="320.7023" 80.365 + sodipodi:role="line" 80.366 + id="tspan5904" 80.367 + style="font-size:10px;text-align:center;text-anchor:middle">control</tspan></text> 80.368 + </g> 80.369 +</svg>
81.1 Binary file 0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/PR__timeline_single.pdf has changed
82.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 82.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/PR__timeline_single.svg Fri Sep 13 11:02:18 2013 -0700 82.3 @@ -0,0 +1,306 @@ 82.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 82.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 82.6 + 82.7 +<svg 82.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 82.9 + xmlns:cc="http://creativecommons.org/ns#" 82.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 82.11 + xmlns:svg="http://www.w3.org/2000/svg" 82.12 + xmlns="http://www.w3.org/2000/svg" 82.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 82.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 82.15 + width="744.09448819" 82.16 + height="1052.3622047" 82.17 + id="svg2" 82.18 + sodipodi:version="0.32" 82.19 + inkscape:version="0.48.2 r9819" 82.20 + sodipodi:docname="PR__timeline_single.svg" 82.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 82.22 + version="1.1"> 82.23 + <defs 82.24 + id="defs4"> 82.25 + <marker 82.26 + inkscape:stockid="Arrow2Mend" 82.27 + orient="auto" 82.28 + refY="0.0" 82.29 + refX="0.0" 82.30 + id="Arrow2Mend" 82.31 + style="overflow:visible;"> 82.32 + <path 82.33 + id="path4008" 82.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 82.35 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 82.36 + transform="scale(0.6) rotate(180) translate(0,0)" /> 82.37 + </marker> 82.38 + <inkscape:perspective 82.39 + sodipodi:type="inkscape:persp3d" 82.40 + inkscape:vp_x="0 : 526.18109 : 1" 82.41 + inkscape:vp_y="0 : 1000 : 0" 82.42 + inkscape:vp_z="744.09448 : 526.18109 : 1" 82.43 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 82.44 + id="perspective10" /> 82.45 + <inkscape:perspective 82.46 + id="perspective11923" 82.47 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 82.48 + inkscape:vp_z="1 : 0.5 : 1" 82.49 + inkscape:vp_y="0 : 1000 : 0" 82.50 + inkscape:vp_x="0 : 0.5 : 1" 82.51 + sodipodi:type="inkscape:persp3d" /> 82.52 + </defs> 82.53 + <sodipodi:namedview 82.54 + id="base" 82.55 + pagecolor="#ffffff" 82.56 + bordercolor="#666666" 82.57 + borderopacity="1.0" 82.58 + gridtolerance="10000" 82.59 + guidetolerance="10" 82.60 + objecttolerance="10" 82.61 + inkscape:pageopacity="0.0" 82.62 + inkscape:pageshadow="2" 82.63 + inkscape:zoom="3.5576235" 82.64 + inkscape:cx="283.87197" 82.65 + inkscape:cy="706.58767" 82.66 + inkscape:document-units="px" 82.67 + inkscape:current-layer="layer1" 82.68 + showgrid="false" 82.69 + inkscape:window-width="1600" 82.70 + inkscape:window-height="848" 82.71 + inkscape:window-x="-8" 82.72 + inkscape:window-y="-8" 82.73 + inkscape:window-maximized="0" /> 82.74 + <metadata 82.75 + id="metadata7"> 82.76 + <rdf:RDF> 82.77 + <cc:Work 82.78 + rdf:about=""> 82.79 + <dc:format>image/svg+xml</dc:format> 82.80 + <dc:type 82.81 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 82.82 + <dc:title /> 82.83 + </cc:Work> 82.84 + </rdf:RDF> 82.85 + </metadata> 82.86 + <g 82.87 + inkscape:label="Layer 1" 82.88 + inkscape:groupmode="layer" 82.89 + id="layer1"> 82.90 + <path 82.91 + id="path8089" 82.92 + d="m 195.41471,257.37498 c 151.68424,0 151.68424,0 151.68424,0" 82.93 + style="fill:#000000;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 82.94 + inkscape:connector-curvature="0" /> 82.95 + <text 82.96 + xml:space="preserve" 82.97 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 82.98 + x="352.7023" 82.99 + y="260.77094" 82.100 + id="text8091" 82.101 + sodipodi:linespacing="100%"><tspan 82.102 + id="tspan8093" 82.103 + sodipodi:role="line" 82.104 + x="352.7023" 82.105 + y="260.77094">Physical time</tspan></text> 82.106 + <path 82.107 + inkscape:connector-curvature="0" 82.108 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 82.109 + d="m 195.92204,221.37498 c 33.06652,0 33.06652,0 33.06652,0" 82.110 + id="path8095" /> 82.111 + <g 82.112 + id="g8097" 82.113 + transform="translate(-70,-180)" 82.114 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"> 82.115 + <path 82.116 + inkscape:connector-curvature="0" 82.117 + id="path8099" 82.118 + d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279" 82.119 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 82.120 + <text 82.121 + xml:space="preserve" 82.122 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 82.123 + x="298.7023" 82.124 + y="376.52615" 82.125 + id="text8101" 82.126 + sodipodi:linespacing="100%"><tspan 82.127 + style="font-size:10px;text-align:center;text-anchor:middle" 82.128 + sodipodi:role="line" 82.129 + id="tspan8103" 82.130 + x="298.7023" 82.131 + y="376.52615">Suspend</tspan><tspan 82.132 + style="font-size:9px;text-align:center;text-anchor:middle" 82.133 + id="tspan8105" 82.134 + sodipodi:role="line" 82.135 + x="298.7023" 82.136 + y="385.74353">(Point 1.S)</tspan></text> 82.137 + </g> 82.138 + <g 82.139 + id="g8107" 82.140 + transform="translate(-60,-180)" 82.141 + style="stroke-width:1.8;stroke-miterlimit:4;stroke-dasharray:none"> 82.142 + <path 82.143 + inkscape:connector-curvature="0" 82.144 + id="path8109" 82.145 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 82.146 + style="fill:none;stroke:#000000;stroke-width:1.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" /> 82.147 + <text 82.148 + xml:space="preserve" 82.149 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS;stroke-width:1.8;stroke-miterlimit:4;stroke-dasharray:none" 82.150 + x="378.7023" 82.151 + y="376.52615" 82.152 + id="text8111" 82.153 + sodipodi:linespacing="100%"><tspan 82.154 + style="font-size:9px;text-align:center;text-anchor:middle;stroke-width:1.8;stroke-miterlimit:4;stroke-dasharray:none" 82.155 + sodipodi:role="line" 82.156 + id="tspan8113" 82.157 + x="380.20621" 82.158 + y="376.52615"><tspan 82.159 + id="tspan8115" 82.160 + style="font-size:10px;stroke-width:1.8;stroke-miterlimit:4;stroke-dasharray:none">Resume </tspan></tspan><tspan 82.161 + style="font-size:9px;text-align:center;text-anchor:middle;stroke-width:1.8;stroke-miterlimit:4;stroke-dasharray:none" 82.162 + id="tspan8117" 82.163 + sodipodi:role="line" 82.164 + x="378.7023" 82.165 + y="385.74353">(Point 1.R)</tspan></text> 82.166 + </g> 82.167 + <text 82.168 + xml:space="preserve" 82.169 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 82.170 + x="352.7023" 82.171 + y="224.52615" 82.172 + id="text8119" 82.173 + sodipodi:linespacing="100%"><tspan 82.174 + id="tspan8121" 82.175 + sodipodi:role="line" 82.176 + x="352.7023" 82.177 + y="224.52615">Timeline A</tspan></text> 82.178 + <path 82.179 + id="path8123" 82.180 + d="m 320.08408,221.37498 c 27.45405,0 27.45405,0 27.45405,0" 82.181 + style="fill:none;stroke:#422fac;stroke-width:1.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none" 82.182 + inkscape:connector-curvature="0" /> 82.183 + <path 82.184 + inkscape:connector-curvature="0" 82.185 + style="fill:#000000;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 82.186 + d="m 195.41471,377.37498 c 151.68424,0 151.68424,0 151.68424,0" 82.187 + id="path5836" /> 82.188 + <text 82.189 + sodipodi:linespacing="100%" 82.190 + id="text5838" 82.191 + y="380.77094" 82.192 + x="352.7023" 82.193 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 82.194 + xml:space="preserve"><tspan 82.195 + y="380.77094" 82.196 + x="352.7023" 82.197 + sodipodi:role="line" 82.198 + id="tspan5840">Physical time</tspan></text> 82.199 + <path 82.200 + id="path5842" 82.201 + d="m 195.92204,341.37498 c 33.06652,0 33.06652,0 33.06652,0" 82.202 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 82.203 + inkscape:connector-curvature="0" /> 82.204 + <g 82.205 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 82.206 + transform="translate(-70,-60)" 82.207 + id="g5844"> 82.208 + <path 82.209 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 82.210 + d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279" 82.211 + id="path5846" 82.212 + inkscape:connector-curvature="0" /> 82.213 + <text 82.214 + sodipodi:linespacing="100%" 82.215 + id="text5848" 82.216 + y="376.52615" 82.217 + x="298.7023" 82.218 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 82.219 + xml:space="preserve"><tspan 82.220 + y="376.52615" 82.221 + x="298.7023" 82.222 + id="tspan5850" 82.223 + sodipodi:role="line" 82.224 + style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan 82.225 + y="385.74353" 82.226 + x="298.7023" 82.227 + sodipodi:role="line" 82.228 + id="tspan5852" 82.229 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.S)</tspan></text> 82.230 + </g> 82.231 + <g 82.232 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 82.233 + transform="translate(-60,-60)" 82.234 + id="g5854"> 82.235 + <path 82.236 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 82.237 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 82.238 + id="path5856" 82.239 + inkscape:connector-curvature="0" /> 82.240 + <text 82.241 + sodipodi:linespacing="100%" 82.242 + id="text5858" 82.243 + y="376.52615" 82.244 + x="378.7023" 82.245 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 82.246 + xml:space="preserve"><tspan 82.247 + y="376.52615" 82.248 + x="380.20621" 82.249 + id="tspan5860" 82.250 + sodipodi:role="line" 82.251 + style="font-size:9px;text-align:center;text-anchor:middle"><tspan 82.252 + style="font-size:10px" 82.253 + id="tspan5862">Resume </tspan></tspan><tspan 82.254 + y="385.74353" 82.255 + x="378.7023" 82.256 + sodipodi:role="line" 82.257 + id="tspan5864" 82.258 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.R)</tspan></text> 82.259 + </g> 82.260 + <text 82.261 + sodipodi:linespacing="100%" 82.262 + id="text5866" 82.263 + y="344.52615" 82.264 + x="352.7023" 82.265 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 82.266 + xml:space="preserve"><tspan 82.267 + y="344.52615" 82.268 + x="352.7023" 82.269 + sodipodi:role="line" 82.270 + id="tspan5868">Timeline A</tspan></text> 82.271 + <path 82.272 + inkscape:connector-curvature="0" 82.273 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 82.274 + d="m 320.08408,341.37498 c 27.45405,0 27.45405,0 27.45405,0" 82.275 + id="path5870" /> 82.276 + <path 82.277 + style="fill:none;stroke:#000000;stroke-width:1.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.6,1.8;stroke-dashoffset:0" 82.278 + d="m 248.81439,338.09818 c 0,9.22856 0,9.22856 0,9.22856" 82.279 + id="path5846-1" 82.280 + inkscape:connector-curvature="0" /> 82.281 + <path 82.282 + inkscape:connector-curvature="0" 82.283 + id="path6664" 82.284 + d="m 266.81439,338.09818 c 0,9.22856 0,9.22856 0,9.22856" 82.285 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.6, 1.8;stroke-dashoffset:0" /> 82.286 + <path 82.287 + inkscape:connector-curvature="0" 82.288 + style="fill:none;stroke:#999999;stroke-width:1.79999994999999990;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none;opacity:0.53539822999999997" 82.289 + d="m 249.92204,341.37498 c 16.089,0 16.089,0 16.089,0" 82.290 + id="path6666" /> 82.291 + <text 82.292 + xml:space="preserve" 82.293 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 82.294 + x="244.7023" 82.295 + y="356.52615" 82.296 + id="text6668" 82.297 + sodipodi:linespacing="100%"><tspan 82.298 + sodipodi:role="line" 82.299 + x="244.7023" 82.300 + y="356.52615" 82.301 + style="font-size:8px;fill:#999999" 82.302 + id="tspan6674">Hidden</tspan><tspan 82.303 + sodipodi:role="line" 82.304 + x="244.7023" 82.305 + y="364.52615" 82.306 + id="tspan6672" 82.307 + style="font-size:8px;fill:#999999">meta-comm</tspan></text> 82.308 + </g> 82.309 +</svg>
83.1 Binary file 0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/PR__timeline_sync_def.pdf has changed
84.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 84.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/PR__timeline_sync_def.svg Fri Sep 13 11:02:18 2013 -0700 84.3 @@ -0,0 +1,498 @@ 84.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 84.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 84.6 + 84.7 +<svg 84.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 84.9 + xmlns:cc="http://creativecommons.org/ns#" 84.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 84.11 + xmlns:svg="http://www.w3.org/2000/svg" 84.12 + xmlns="http://www.w3.org/2000/svg" 84.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 84.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 84.15 + width="744.09448819" 84.16 + height="1052.3622047" 84.17 + id="svg2" 84.18 + sodipodi:version="0.32" 84.19 + inkscape:version="0.48.2 r9819" 84.20 + sodipodi:docname="PR__timeline_sync_def.svg" 84.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 84.22 + version="1.1"> 84.23 + <defs 84.24 + id="defs4"> 84.25 + <marker 84.26 + inkscape:stockid="Arrow2Mstart" 84.27 + orient="auto" 84.28 + refY="0.0" 84.29 + refX="0.0" 84.30 + id="Arrow2Mstart" 84.31 + style="overflow:visible"> 84.32 + <path 84.33 + id="path3961" 84.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round" 84.35 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 84.36 + transform="scale(0.6) translate(0,0)" /> 84.37 + </marker> 84.38 + <marker 84.39 + inkscape:stockid="Arrow2Mend" 84.40 + orient="auto" 84.41 + refY="0.0" 84.42 + refX="0.0" 84.43 + id="Arrow2Mend" 84.44 + style="overflow:visible;"> 84.45 + <path 84.46 + id="path4008" 84.47 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 84.48 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 84.49 + transform="scale(0.6) rotate(180) translate(0,0)" /> 84.50 + </marker> 84.51 + <inkscape:perspective 84.52 + sodipodi:type="inkscape:persp3d" 84.53 + inkscape:vp_x="0 : 526.18109 : 1" 84.54 + inkscape:vp_y="0 : 1000 : 0" 84.55 + inkscape:vp_z="744.09448 : 526.18109 : 1" 84.56 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 84.57 + id="perspective10" /> 84.58 + <inkscape:perspective 84.59 + id="perspective11923" 84.60 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 84.61 + inkscape:vp_z="1 : 0.5 : 1" 84.62 + inkscape:vp_y="0 : 1000 : 0" 84.63 + inkscape:vp_x="0 : 0.5 : 1" 84.64 + sodipodi:type="inkscape:persp3d" /> 84.65 + </defs> 84.66 + <sodipodi:namedview 84.67 + id="base" 84.68 + pagecolor="#ffffff" 84.69 + bordercolor="#666666" 84.70 + borderopacity="1.0" 84.71 + gridtolerance="10000" 84.72 + guidetolerance="10" 84.73 + objecttolerance="10" 84.74 + inkscape:pageopacity="0.0" 84.75 + inkscape:pageshadow="2" 84.76 + inkscape:zoom="2.0363696" 84.77 + inkscape:cx="138.31068" 84.78 + inkscape:cy="659.21141" 84.79 + inkscape:document-units="px" 84.80 + inkscape:current-layer="layer1" 84.81 + showgrid="false" 84.82 + inkscape:window-width="1600" 84.83 + inkscape:window-height="848" 84.84 + inkscape:window-x="-8" 84.85 + inkscape:window-y="-8" 84.86 + inkscape:window-maximized="1" /> 84.87 + <metadata 84.88 + id="metadata7"> 84.89 + <rdf:RDF> 84.90 + <cc:Work 84.91 + rdf:about=""> 84.92 + <dc:format>image/svg+xml</dc:format> 84.93 + <dc:type 84.94 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 84.95 + <dc:title></dc:title> 84.96 + </cc:Work> 84.97 + </rdf:RDF> 84.98 + </metadata> 84.99 + <g 84.100 + inkscape:label="Layer 1" 84.101 + inkscape:groupmode="layer" 84.102 + id="layer1"> 84.103 + <g 84.104 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 84.105 + id="g10393" 84.106 + transform="translate(-60,22)"> 84.107 + <path 84.108 + inkscape:connector-curvature="0" 84.109 + id="path10395" 84.110 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 84.111 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 84.112 + </g> 84.113 + <text 84.114 + xml:space="preserve" 84.115 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 84.116 + x="374.7023" 84.117 + y="427.27441" 84.118 + id="text10405" 84.119 + sodipodi:linespacing="100%"><tspan 84.120 + id="tspan10407" 84.121 + sodipodi:role="line" 84.122 + x="374.7023" 84.123 + y="427.27441">Timeline B</tspan></text> 84.124 + <path 84.125 + id="path10409" 84.126 + d="m 320.08409,423.37498 c 48.88494,0 48.88494,0 48.88494,0" 84.127 + style="fill:none;stroke:#800000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 84.128 + inkscape:connector-curvature="0" /> 84.129 + <path 84.130 + id="path10411" 84.131 + d="m 283.92204,381.37498 c 33.06652,0 33.06652,0 33.06652,0" 84.132 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 84.133 + inkscape:connector-curvature="0" /> 84.134 + <g 84.135 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 84.136 + transform="translate(-60,-20)" 84.137 + id="g10423"> 84.138 + <path 84.139 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 84.140 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 84.141 + id="path10425" 84.142 + inkscape:connector-curvature="0" /> 84.143 + <text 84.144 + sodipodi:linespacing="100%" 84.145 + id="text10427" 84.146 + y="380.52615" 84.147 + x="378.7023" 84.148 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 84.149 + xml:space="preserve"><tspan 84.150 + y="380.52615" 84.151 + x="378.7023" 84.152 + sodipodi:role="line" 84.153 + id="tspan10433" 84.154 + style="font-size:9px;text-align:center;text-anchor:middle">Sync</tspan><tspan 84.155 + y="389.52615" 84.156 + x="378.7023" 84.157 + sodipodi:role="line" 84.158 + style="font-size:9px;text-align:center;text-anchor:middle" 84.159 + id="tspan11167">Point</tspan></text> 84.160 + </g> 84.161 + <text 84.162 + sodipodi:linespacing="100%" 84.163 + id="text10435" 84.164 + y="385.27441" 84.165 + x="374.7023" 84.166 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 84.167 + xml:space="preserve"><tspan 84.168 + y="385.27441" 84.169 + x="374.7023" 84.170 + sodipodi:role="line" 84.171 + id="tspan10437">Timeline A</tspan></text> 84.172 + <path 84.173 + inkscape:connector-curvature="0" 84.174 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 84.175 + d="m 320.08409,381.37498 c 48.88494,0 48.88494,0 48.88494,0" 84.176 + id="path10439" /> 84.177 + <path 84.178 + style="fill:none;stroke:#000000;stroke-width:1.29999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.89999986,3.89999986;stroke-dashoffset:0" 84.179 + d="m 318.92887,395.30966 c 0,24.40348 0,24.40348 0,24.40348" 84.180 + id="path10425-2" 84.181 + inkscape:connector-curvature="0" /> 84.182 + <path 84.183 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000004, 3.00000004;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 84.184 + d="m 294.31645,382.21359 c 34.40952,37.45034 2.57725,2.48534 35.69881,39.49989" 84.185 + id="path11081" 84.186 + inkscape:connector-curvature="0" 84.187 + sodipodi:nodetypes="cc" /> 84.188 + <text 84.189 + sodipodi:linespacing="100%" 84.190 + id="text11017-7" 84.191 + y="380.07288" 84.192 + x="289.94116" 84.193 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 84.194 + xml:space="preserve"><tspan 84.195 + y="380.07288" 84.196 + x="289.94116" 84.197 + sodipodi:role="line" 84.198 + id="tspan11021-1" 84.199 + style="font-size:10px;text-align:center;text-anchor:middle">write</tspan></text> 84.200 + <text 84.201 + xml:space="preserve" 84.202 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 84.203 + x="331.94116" 84.204 + y="432.07288" 84.205 + id="text11111" 84.206 + sodipodi:linespacing="100%"><tspan 84.207 + style="font-size:10px;text-align:center;text-anchor:middle" 84.208 + id="tspan11113" 84.209 + sodipodi:role="line" 84.210 + x="331.94116" 84.211 + y="432.07288">read</tspan></text> 84.212 + <g 84.213 + transform="translate(-60,122)" 84.214 + id="g11117" 84.215 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"> 84.216 + <path 84.217 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 84.218 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 84.219 + id="path11119" 84.220 + inkscape:connector-curvature="0" /> 84.221 + </g> 84.222 + <text 84.223 + sodipodi:linespacing="100%" 84.224 + id="text11121" 84.225 + y="527.27441" 84.226 + x="394.7023" 84.227 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 84.228 + xml:space="preserve"><tspan 84.229 + y="527.27441" 84.230 + x="394.7023" 84.231 + sodipodi:role="line" 84.232 + id="tspan11123">Timeline B</tspan></text> 84.233 + <path 84.234 + inkscape:connector-curvature="0" 84.235 + style="fill:none;stroke:#800000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 84.236 + d="m 320.08412,523.37498 c 70.34044,0 70.34044,0 70.34044,0" 84.237 + id="path11125" /> 84.238 + <path 84.239 + inkscape:connector-curvature="0" 84.240 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 84.241 + d="m 283.92204,481.37498 c 33.06652,0 33.06652,0 33.06652,0" 84.242 + id="path11127" /> 84.243 + <g 84.244 + id="g11129" 84.245 + transform="translate(-60,80)" 84.246 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"> 84.247 + <path 84.248 + inkscape:connector-curvature="0" 84.249 + id="path11131" 84.250 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 84.251 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 84.252 + <text 84.253 + xml:space="preserve" 84.254 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 84.255 + x="378.7023" 84.256 + y="380.52615" 84.257 + id="text11133" 84.258 + sodipodi:linespacing="100%"><tspan 84.259 + style="font-size:9px;text-align:center;text-anchor:middle" 84.260 + id="tspan11135" 84.261 + sodipodi:role="line" 84.262 + x="378.7023" 84.263 + y="380.52615">Sync</tspan><tspan 84.264 + style="font-size:9px;text-align:center;text-anchor:middle" 84.265 + sodipodi:role="line" 84.266 + x="378.7023" 84.267 + y="389.52615" 84.268 + id="tspan11165">Point</tspan></text> 84.269 + </g> 84.270 + <text 84.271 + xml:space="preserve" 84.272 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 84.273 + x="394.7023" 84.274 + y="485.27441" 84.275 + id="text11137" 84.276 + sodipodi:linespacing="100%"><tspan 84.277 + id="tspan11139" 84.278 + sodipodi:role="line" 84.279 + x="394.7023" 84.280 + y="485.27441">Timeline A</tspan></text> 84.281 + <path 84.282 + id="path11141" 84.283 + d="m 320.08412,481.37498 c 70.34044,0 70.34044,0 70.34044,0" 84.284 + style="fill:none;stroke:#422fac;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 84.285 + inkscape:connector-curvature="0" /> 84.286 + <path 84.287 + inkscape:connector-curvature="0" 84.288 + id="path11143" 84.289 + d="m 318.92887,495.30966 c 0,24.40348 0,24.40348 0,24.40348" 84.290 + style="fill:none;stroke:#000000;stroke-width:1.29999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.89999986, 3.89999986;stroke-dashoffset:0" /> 84.291 + <path 84.292 + sodipodi:nodetypes="cc" 84.293 + inkscape:connector-curvature="0" 84.294 + id="path11145" 84.295 + d="m 294.31645,482.21359 c 34.40952,37.45034 2.57725,2.48534 35.69881,39.49989" 84.296 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000004, 3.00000004;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 84.297 + <text 84.298 + xml:space="preserve" 84.299 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 84.300 + x="291.94116" 84.301 + y="480.07288" 84.302 + id="text11147" 84.303 + sodipodi:linespacing="100%"><tspan 84.304 + style="font-size:10px;text-align:center;text-anchor:middle" 84.305 + id="tspan11149" 84.306 + sodipodi:role="line" 84.307 + x="291.94116" 84.308 + y="480.07288">write</tspan></text> 84.309 + <text 84.310 + sodipodi:linespacing="100%" 84.311 + id="text11151" 84.312 + y="532.07288" 84.313 + x="331.94116" 84.314 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 84.315 + xml:space="preserve"><tspan 84.316 + y="532.07288" 84.317 + x="331.94116" 84.318 + sodipodi:role="line" 84.319 + id="tspan11153" 84.320 + style="font-size:10px;text-align:center;text-anchor:middle">read</tspan></text> 84.321 + <g 84.322 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 84.323 + transform="translate(-26,80)" 84.324 + id="g11155"> 84.325 + <path 84.326 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 84.327 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 84.328 + id="path11157" 84.329 + inkscape:connector-curvature="0" /> 84.330 + <text 84.331 + sodipodi:linespacing="100%" 84.332 + id="text11159" 84.333 + y="380.52615" 84.334 + x="378.7023" 84.335 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 84.336 + xml:space="preserve"><tspan 84.337 + y="380.52615" 84.338 + x="378.7023" 84.339 + sodipodi:role="line" 84.340 + id="tspan11161" 84.341 + style="font-size:9px;text-align:center;text-anchor:middle">Sync</tspan><tspan 84.342 + y="389.52615" 84.343 + x="378.7023" 84.344 + sodipodi:role="line" 84.345 + style="font-size:9px;text-align:center;text-anchor:middle" 84.346 + id="tspan11163">Point</tspan></text> 84.347 + </g> 84.348 + <text 84.349 + sodipodi:linespacing="100%" 84.350 + id="text11169" 84.351 + y="480.07288" 84.352 + x="369.94116" 84.353 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 84.354 + xml:space="preserve"><tspan 84.355 + y="480.07288" 84.356 + x="369.94116" 84.357 + sodipodi:role="line" 84.358 + id="tspan11171" 84.359 + style="font-size:10px;text-align:center;text-anchor:middle">write</tspan></text> 84.360 + <path 84.361 + style="fill:#ff0000;stroke:#ff0000;stroke-width:0.99999994000000003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000004000000020, 3.00000004000000020;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 84.362 + d="m 370.40555,482.21359 c -34.40952,37.45034 -2.57725,2.48534 -35.69881,39.49989" 84.363 + id="path11173" 84.364 + inkscape:connector-curvature="0" 84.365 + sodipodi:nodetypes="cc" /> 84.366 + <text 84.367 + xml:space="preserve" 84.368 + style="font-size:18.11628723000000100px;font-style:normal;font-weight:bold;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ff0000;fill-opacity:1;stroke:#ff0000;font-family:Sans;-inkscape-font-specification:Sans Bold" 84.369 + x="254.37491" 84.370 + y="686.63239" 84.371 + id="text11175" 84.372 + sodipodi:linespacing="125%" 84.373 + transform="scale(1.3547877,0.73812303)"><tspan 84.374 + sodipodi:role="line" 84.375 + id="tspan11177" 84.376 + x="254.37491" 84.377 + y="686.63239">X</tspan></text> 84.378 + <path 84.379 + inkscape:connector-curvature="0" 84.380 + style="fill:none;stroke:#800000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 84.381 + d="m 258.91945,423.37498 c 58.04959,0 58.04959,0 58.04959,0" 84.382 + id="path11275" /> 84.383 + <path 84.384 + id="path11459" 84.385 + d="m 258.91945,523.37498 c 58.04959,0 58.04959,0 58.04959,0" 84.386 + style="fill:none;stroke:#800000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 84.387 + inkscape:connector-curvature="0" /> 84.388 + <g 84.389 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 84.390 + id="g11557" 84.391 + transform="translate(-26,122)"> 84.392 + <path 84.393 + inkscape:connector-curvature="0" 84.394 + id="path11559" 84.395 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 84.396 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 84.397 + </g> 84.398 + <path 84.399 + style="fill:none;stroke:#000000;stroke-width:1.29999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.89999986, 3.89999986;stroke-dashoffset:0" 84.400 + d="m 352.92887,495.30966 c 0,24.40348 0,24.40348 0,24.40348" 84.401 + id="path11561" 84.402 + inkscape:connector-curvature="0" /> 84.403 + <text 84.404 + sodipodi:linespacing="100%" 84.405 + id="text11625" 84.406 + y="327.27441" 84.407 + x="374.7023" 84.408 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 84.409 + xml:space="preserve"><tspan 84.410 + y="327.27441" 84.411 + x="374.7023" 84.412 + sodipodi:role="line" 84.413 + id="tspan11627">Timeline B</tspan></text> 84.414 + <path 84.415 + inkscape:connector-curvature="0" 84.416 + style="fill:none;stroke:#800000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 84.417 + d="m 258.20925,323.37498 c 110.75976,0 110.75976,0 110.75976,0" 84.418 + id="path11629" /> 84.419 + <text 84.420 + xml:space="preserve" 84.421 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 84.422 + x="374.7023" 84.423 + y="285.27441" 84.424 + id="text11643" 84.425 + sodipodi:linespacing="100%"><tspan 84.426 + id="tspan11645" 84.427 + sodipodi:role="line" 84.428 + x="374.7023" 84.429 + y="285.27441">Timeline A</tspan></text> 84.430 + <path 84.431 + id="path11647" 84.432 + d="m 280.79847,281.37498 c 88.17054,0 88.17054,0 88.17054,0" 84.433 + style="fill:none;stroke:#422fac;stroke-width:1.79999983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 84.434 + inkscape:connector-curvature="0" /> 84.435 + <text 84.436 + xml:space="preserve" 84.437 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 84.438 + x="289.94116" 84.439 + y="280.07288" 84.440 + id="text11653" 84.441 + sodipodi:linespacing="100%"><tspan 84.442 + style="font-size:10px;text-align:center;text-anchor:middle" 84.443 + id="tspan11655" 84.444 + sodipodi:role="line" 84.445 + x="289.94116" 84.446 + y="280.07288">write</tspan></text> 84.447 + <text 84.448 + sodipodi:linespacing="100%" 84.449 + id="text11657" 84.450 + y="332.07288" 84.451 + x="299.94116" 84.452 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 84.453 + xml:space="preserve"><tspan 84.454 + y="332.07288" 84.455 + x="299.94116" 84.456 + sodipodi:role="line" 84.457 + id="tspan11659" 84.458 + style="font-size:10px;text-align:center;text-anchor:middle">read</tspan></text> 84.459 + <text 84.460 + xml:space="preserve" 84.461 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 84.462 + x="319.94116" 84.463 + y="280.07288" 84.464 + id="text11663" 84.465 + sodipodi:linespacing="100%"><tspan 84.466 + style="font-size:10px;text-align:center;text-anchor:middle" 84.467 + id="tspan11665" 84.468 + sodipodi:role="line" 84.469 + x="319.94116" 84.470 + y="280.07288">read</tspan></text> 84.471 + <text 84.472 + sodipodi:linespacing="100%" 84.473 + id="text11667" 84.474 + y="332.07288" 84.475 + x="331.94116" 84.476 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 84.477 + xml:space="preserve"><tspan 84.478 + y="332.07288" 84.479 + x="331.94116" 84.480 + sodipodi:role="line" 84.481 + id="tspan11669" 84.482 + style="font-size:10px;text-align:center;text-anchor:middle">write</tspan></text> 84.483 + <path 84.484 + id="path3158" 84.485 + d="m 278.54842,303.37498 c 74.42058,0 74.42058,0 74.42058,0" 84.486 + style="fill:#000000;stroke:#000000;stroke-width:1.79999994999999990;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:5.39999986000000030, 5.39999986000000030;marker-end:url(#Arrow2Mend);marker-start:url(#Arrow2Mstart);stroke-dashoffset:0" 84.487 + inkscape:connector-curvature="0" /> 84.488 + <text 84.489 + xml:space="preserve" 84.490 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 84.491 + x="315.94116" 84.492 + y="300.07288" 84.493 + id="text4380" 84.494 + sodipodi:linespacing="100%"><tspan 84.495 + style="font-size:10px;text-align:center;text-anchor:middle" 84.496 + id="tspan4382" 84.497 + sodipodi:role="line" 84.498 + x="315.94116" 84.499 + y="300.07288">shift relative to each other</tspan></text> 84.500 + </g> 84.501 +</svg>
85.1 Binary file 0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/PR__timeline_tie_point_ordering.pdf has changed
86.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 86.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/PR__timeline_tie_point_ordering.svg Fri Sep 13 11:02:18 2013 -0700 86.3 @@ -0,0 +1,369 @@ 86.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 86.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 86.6 + 86.7 +<svg 86.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 86.9 + xmlns:cc="http://creativecommons.org/ns#" 86.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 86.11 + xmlns:svg="http://www.w3.org/2000/svg" 86.12 + xmlns="http://www.w3.org/2000/svg" 86.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 86.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 86.15 + width="744.09448819" 86.16 + height="1052.3622047" 86.17 + id="svg2" 86.18 + sodipodi:version="0.32" 86.19 + inkscape:version="0.48.2 r9819" 86.20 + sodipodi:docname="PR__timeline_tie_point_ordering.svg" 86.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 86.22 + version="1.1"> 86.23 + <defs 86.24 + id="defs4"> 86.25 + <marker 86.26 + inkscape:stockid="Arrow2Mend" 86.27 + orient="auto" 86.28 + refY="0.0" 86.29 + refX="0.0" 86.30 + id="Arrow2Mend" 86.31 + style="overflow:visible;"> 86.32 + <path 86.33 + id="path4008" 86.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 86.35 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 86.36 + transform="scale(0.6) rotate(180) translate(0,0)" /> 86.37 + </marker> 86.38 + <inkscape:perspective 86.39 + sodipodi:type="inkscape:persp3d" 86.40 + inkscape:vp_x="0 : 526.18109 : 1" 86.41 + inkscape:vp_y="0 : 1000 : 0" 86.42 + inkscape:vp_z="744.09448 : 526.18109 : 1" 86.43 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 86.44 + id="perspective10" /> 86.45 + <inkscape:perspective 86.46 + id="perspective11923" 86.47 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 86.48 + inkscape:vp_z="1 : 0.5 : 1" 86.49 + inkscape:vp_y="0 : 1000 : 0" 86.50 + inkscape:vp_x="0 : 0.5 : 1" 86.51 + sodipodi:type="inkscape:persp3d" /> 86.52 + </defs> 86.53 + <sodipodi:namedview 86.54 + id="base" 86.55 + pagecolor="#ffffff" 86.56 + bordercolor="#666666" 86.57 + borderopacity="1.0" 86.58 + gridtolerance="10000" 86.59 + guidetolerance="10" 86.60 + objecttolerance="10" 86.61 + inkscape:pageopacity="0.0" 86.62 + inkscape:pageshadow="2" 86.63 + inkscape:zoom="1.3364318" 86.64 + inkscape:cx="214.9176" 86.65 + inkscape:cy="550.40126" 86.66 + inkscape:document-units="px" 86.67 + inkscape:current-layer="layer1" 86.68 + showgrid="false" 86.69 + inkscape:window-width="1317" 86.70 + inkscape:window-height="832" 86.71 + inkscape:window-x="7" 86.72 + inkscape:window-y="0" 86.73 + inkscape:window-maximized="0" /> 86.74 + <metadata 86.75 + id="metadata7"> 86.76 + <rdf:RDF> 86.77 + <cc:Work 86.78 + rdf:about=""> 86.79 + <dc:format>image/svg+xml</dc:format> 86.80 + <dc:type 86.81 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 86.82 + <dc:title /> 86.83 + </cc:Work> 86.84 + </rdf:RDF> 86.85 + </metadata> 86.86 + <g 86.87 + inkscape:label="Layer 1" 86.88 + inkscape:groupmode="layer" 86.89 + id="layer1"> 86.90 + <path 86.91 + inkscape:connector-curvature="0" 86.92 + style="fill:#800000;stroke:#800000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 86.93 + d="m 246.98465,423.37498 c 69.82336,0 69.82336,0 69.82336,0" 86.94 + id="path10381" /> 86.95 + <g 86.96 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 86.97 + id="g10393" 86.98 + transform="translate(-60,22)"> 86.99 + <path 86.100 + inkscape:connector-curvature="0" 86.101 + id="path10395" 86.102 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 86.103 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 86.104 + <text 86.105 + xml:space="preserve" 86.106 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 86.107 + x="378.7023" 86.108 + y="390.52615" 86.109 + id="text10397" 86.110 + sodipodi:linespacing="100%"><tspan 86.111 + style="font-size:9px;text-align:center;text-anchor:middle" 86.112 + id="tspan10403" 86.113 + sodipodi:role="line" 86.114 + x="378.7023" 86.115 + y="390.52615">Tied Point</tspan></text> 86.116 + </g> 86.117 + <text 86.118 + xml:space="preserve" 86.119 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 86.120 + x="352.7023" 86.121 + y="427.27441" 86.122 + id="text10405" 86.123 + sodipodi:linespacing="100%"><tspan 86.124 + id="tspan10407" 86.125 + sodipodi:role="line" 86.126 + x="352.7023" 86.127 + y="427.27441">Timeline B</tspan></text> 86.128 + <path 86.129 + id="path10409" 86.130 + d="m 320.08408,423.37498 c 27.45405,0 27.45405,0 27.45405,0" 86.131 + style="fill:none;stroke:#800000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 86.132 + inkscape:connector-curvature="0" /> 86.133 + <path 86.134 + id="path10411" 86.135 + d="m 283.92204,381.37498 c 33.06652,0 33.06652,0 33.06652,0" 86.136 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 86.137 + inkscape:connector-curvature="0" /> 86.138 + <g 86.139 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 86.140 + transform="translate(-60,-20)" 86.141 + id="g10423"> 86.142 + <path 86.143 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 86.144 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 86.145 + id="path10425" 86.146 + inkscape:connector-curvature="0" /> 86.147 + <text 86.148 + sodipodi:linespacing="100%" 86.149 + id="text10427" 86.150 + y="388.52615" 86.151 + x="378.7023" 86.152 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 86.153 + xml:space="preserve"><tspan 86.154 + y="388.52615" 86.155 + x="378.7023" 86.156 + sodipodi:role="line" 86.157 + id="tspan10433" 86.158 + style="font-size:9px;text-align:center;text-anchor:middle">Tied Point</tspan></text> 86.159 + </g> 86.160 + <text 86.161 + sodipodi:linespacing="100%" 86.162 + id="text10435" 86.163 + y="385.27441" 86.164 + x="352.7023" 86.165 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 86.166 + xml:space="preserve"><tspan 86.167 + y="385.27441" 86.168 + x="352.7023" 86.169 + sodipodi:role="line" 86.170 + id="tspan10437">Timeline A</tspan></text> 86.171 + <path 86.172 + inkscape:connector-curvature="0" 86.173 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 86.174 + d="m 320.08408,381.37498 c 27.45405,0 27.45405,0 27.45405,0" 86.175 + id="path10439" /> 86.176 + <path 86.177 + style="fill:none;stroke:#000000;stroke-width:1.29999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.89999986,3.89999986;stroke-dashoffset:0" 86.178 + d="m 318.92887,395.30966 c 0,24.40348 0,24.40348 0,24.40348" 86.179 + id="path10425-2" 86.180 + inkscape:connector-curvature="0" /> 86.181 + <path 86.182 + inkscape:connector-curvature="0" 86.183 + style="fill:#800000;stroke:#800000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 86.184 + d="m 196.98465,549.37498 c 69.82336,0 69.82336,0 69.82336,0" 86.185 + id="path10981" /> 86.186 + <g 86.187 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 86.188 + id="g10983" 86.189 + transform="translate(-32,148)"> 86.190 + <path 86.191 + inkscape:connector-curvature="0" 86.192 + id="path10985" 86.193 + d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279" 86.194 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 86.195 + </g> 86.196 + <g 86.197 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 86.198 + id="g10993" 86.199 + transform="translate(-60,148)"> 86.200 + <path 86.201 + inkscape:connector-curvature="0" 86.202 + id="path10995" 86.203 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 86.204 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 86.205 + </g> 86.206 + <text 86.207 + xml:space="preserve" 86.208 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 86.209 + x="352.7023" 86.210 + y="553.27441" 86.211 + id="text11005" 86.212 + sodipodi:linespacing="100%"><tspan 86.213 + id="tspan11007" 86.214 + sodipodi:role="line" 86.215 + x="352.7023" 86.216 + y="553.27441">Timeline B</tspan></text> 86.217 + <path 86.218 + id="path11009" 86.219 + d="m 320.08408,549.37498 c 27.45405,0 27.45405,0 27.45405,0" 86.220 + style="fill:none;stroke:#800000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 86.221 + inkscape:connector-curvature="0" /> 86.222 + <path 86.223 + id="path11011" 86.224 + d="m 195.92204,489.37498 c 33.06652,0 33.06652,0 33.06652,0" 86.225 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 86.226 + inkscape:connector-curvature="0" /> 86.227 + <g 86.228 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 86.229 + transform="translate(-70,88)" 86.230 + id="g11013"> 86.231 + <path 86.232 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 86.233 + d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279" 86.234 + id="path11015" 86.235 + inkscape:connector-curvature="0" /> 86.236 + <text 86.237 + sodipodi:linespacing="100%" 86.238 + id="text11017" 86.239 + y="376.52615" 86.240 + x="298.7023" 86.241 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 86.242 + xml:space="preserve"><tspan 86.243 + y="376.52615" 86.244 + x="298.7023" 86.245 + id="tspan11019" 86.246 + sodipodi:role="line" 86.247 + style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan 86.248 + y="385.74353" 86.249 + x="298.7023" 86.250 + sodipodi:role="line" 86.251 + id="tspan11021" 86.252 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.S)</tspan></text> 86.253 + </g> 86.254 + <g 86.255 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 86.256 + transform="translate(-60,88)" 86.257 + id="g11023"> 86.258 + <path 86.259 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 86.260 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 86.261 + id="path11025" 86.262 + inkscape:connector-curvature="0" /> 86.263 + <text 86.264 + sodipodi:linespacing="100%" 86.265 + id="text11027" 86.266 + y="376.52615" 86.267 + x="378.7023" 86.268 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 86.269 + xml:space="preserve"><tspan 86.270 + y="376.52615" 86.271 + x="380.20621" 86.272 + id="tspan11029" 86.273 + sodipodi:role="line" 86.274 + style="font-size:9px;text-align:center;text-anchor:middle"><tspan 86.275 + style="font-size:10px" 86.276 + id="tspan11031">Resume </tspan></tspan><tspan 86.277 + y="385.74353" 86.278 + x="378.7023" 86.279 + sodipodi:role="line" 86.280 + id="tspan11033" 86.281 + style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.R)</tspan></text> 86.282 + </g> 86.283 + <text 86.284 + sodipodi:linespacing="100%" 86.285 + id="text11035" 86.286 + y="493.27441" 86.287 + x="352.7023" 86.288 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 86.289 + xml:space="preserve"><tspan 86.290 + y="493.27441" 86.291 + x="352.7023" 86.292 + sodipodi:role="line" 86.293 + id="tspan11037">Timeline A</tspan></text> 86.294 + <path 86.295 + inkscape:connector-curvature="0" 86.296 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 86.297 + d="m 320.08408,489.37498 c 27.45405,0 27.45405,0 27.45405,0" 86.298 + id="path11039" /> 86.299 + <path 86.300 + sodipodi:nodetypes="cc" 86.301 + inkscape:connector-curvature="0" 86.302 + id="path11041" 86.303 + d="m 248.40878,545.16363 c 79.41657,-49.15176 5.94823,-3.26189 82.39224,-51.8417" 86.304 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999999, 2.99999999;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 86.305 + <path 86.306 + style="fill:#ff0000;stroke:#ff0000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000003, 3.00000003;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 86.307 + d="m 333.77257,501.82974 c -70.11936,42.79661 -5.25188,2.84014 -72.74667,45.13875" 86.308 + id="path11043" 86.309 + inkscape:connector-curvature="0" 86.310 + sodipodi:nodetypes="cc" /> 86.311 + <text 86.312 + xml:space="preserve" 86.313 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 86.314 + x="-20.52177" 86.315 + y="592.72888" 86.316 + id="text11049" 86.317 + sodipodi:linespacing="100%" 86.318 + transform="matrix(0.85476126,-0.51902138,0.51902138,0.85476126,0,0)"><tspan 86.319 + id="tspan11051" 86.320 + sodipodi:role="line" 86.321 + x="-20.52177" 86.322 + y="592.72888">visible</tspan></text> 86.323 + <text 86.324 + transform="matrix(0.85476126,-0.51902138,0.51902138,0.85476126,0,0)" 86.325 + sodipodi:linespacing="100%" 86.326 + id="text11053" 86.327 + y="609.94751" 86.328 + x="-7.578732" 86.329 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#ff0000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 86.330 + xml:space="preserve"><tspan 86.331 + y="609.94751" 86.332 + x="-7.578732" 86.333 + sodipodi:role="line" 86.334 + id="tspan11055">NOT visible</tspan></text> 86.335 + <path 86.336 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000008, 3.00000008;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 86.337 + d="m 319.48246,543.42226 c -109.48644,-45.60627 -8.20044,-3.02659 -113.5888,-48.10218" 86.338 + id="path11057" 86.339 + inkscape:connector-curvature="0" 86.340 + sodipodi:nodetypes="cc" /> 86.341 + <path 86.342 + sodipodi:nodetypes="cc" 86.343 + inkscape:connector-curvature="0" 86.344 + id="path11059" 86.345 + d="m 218.69167,493.82968 c 107.30304,43.503 8.03691,2.88702 111.32359,45.8838" 86.346 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000006, 3.00000006;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 86.347 + <text 86.348 + transform="matrix(0.92037595,0.39103467,-0.39103467,0.92037595,0,0)" 86.349 + sodipodi:linespacing="100%" 86.350 + id="text11061" 86.351 + y="363.98227" 86.352 + x="416.02991" 86.353 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 86.354 + xml:space="preserve"><tspan 86.355 + y="363.98227" 86.356 + x="416.02991" 86.357 + sodipodi:role="line" 86.358 + id="tspan11063">visible</tspan></text> 86.359 + <text 86.360 + xml:space="preserve" 86.361 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#ff0000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 86.362 + x="374.53223" 86.363 + y="404.16913" 86.364 + id="text11065" 86.365 + sodipodi:linespacing="100%" 86.366 + transform="matrix(0.93857354,0.34507928,-0.34507928,0.93857354,0,0)"><tspan 86.367 + id="tspan11067" 86.368 + sodipodi:role="line" 86.369 + x="374.53223" 86.370 + y="404.16913">NOT visible</tspan></text> 86.371 + </g> 86.372 +</svg>
87.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 87.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/PR__timeline_tie_point_ordering_2.svg Fri Sep 13 11:02:18 2013 -0700 87.3 @@ -0,0 +1,324 @@ 87.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 87.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 87.6 + 87.7 +<svg 87.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 87.9 + xmlns:cc="http://creativecommons.org/ns#" 87.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 87.11 + xmlns:svg="http://www.w3.org/2000/svg" 87.12 + xmlns="http://www.w3.org/2000/svg" 87.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 87.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 87.15 + width="744.09448819" 87.16 + height="1052.3622047" 87.17 + id="svg2" 87.18 + sodipodi:version="0.32" 87.19 + inkscape:version="0.48.2 r9819" 87.20 + sodipodi:docname="PR__timeline_tie_point_ordering.svg" 87.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 87.22 + version="1.1"> 87.23 + <defs 87.24 + id="defs4"> 87.25 + <marker 87.26 + inkscape:stockid="Arrow2Mend" 87.27 + orient="auto" 87.28 + refY="0.0" 87.29 + refX="0.0" 87.30 + id="Arrow2Mend" 87.31 + style="overflow:visible;"> 87.32 + <path 87.33 + id="path4008" 87.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 87.35 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 87.36 + transform="scale(0.6) rotate(180) translate(0,0)" /> 87.37 + </marker> 87.38 + <inkscape:perspective 87.39 + sodipodi:type="inkscape:persp3d" 87.40 + inkscape:vp_x="0 : 526.18109 : 1" 87.41 + inkscape:vp_y="0 : 1000 : 0" 87.42 + inkscape:vp_z="744.09448 : 526.18109 : 1" 87.43 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 87.44 + id="perspective10" /> 87.45 + <inkscape:perspective 87.46 + id="perspective11923" 87.47 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 87.48 + inkscape:vp_z="1 : 0.5 : 1" 87.49 + inkscape:vp_y="0 : 1000 : 0" 87.50 + inkscape:vp_x="0 : 0.5 : 1" 87.51 + sodipodi:type="inkscape:persp3d" /> 87.52 + </defs> 87.53 + <sodipodi:namedview 87.54 + id="base" 87.55 + pagecolor="#ffffff" 87.56 + bordercolor="#666666" 87.57 + borderopacity="1.0" 87.58 + gridtolerance="10000" 87.59 + guidetolerance="10" 87.60 + objecttolerance="10" 87.61 + inkscape:pageopacity="0.0" 87.62 + inkscape:pageshadow="2" 87.63 + inkscape:zoom="1.3364318" 87.64 + inkscape:cx="214.9176" 87.65 + inkscape:cy="550.40126" 87.66 + inkscape:document-units="px" 87.67 + inkscape:current-layer="g4513" 87.68 + showgrid="false" 87.69 + inkscape:window-width="1317" 87.70 + inkscape:window-height="832" 87.71 + inkscape:window-x="7" 87.72 + inkscape:window-y="0" 87.73 + inkscape:window-maximized="0" /> 87.74 + <metadata 87.75 + id="metadata7"> 87.76 + <rdf:RDF> 87.77 + <cc:Work 87.78 + rdf:about=""> 87.79 + <dc:format>image/svg+xml</dc:format> 87.80 + <dc:type 87.81 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 87.82 + <dc:title></dc:title> 87.83 + </cc:Work> 87.84 + </rdf:RDF> 87.85 + </metadata> 87.86 + <g 87.87 + inkscape:label="Layer 1" 87.88 + inkscape:groupmode="layer" 87.89 + id="layer1"> 87.90 + <path 87.91 + inkscape:connector-curvature="0" 87.92 + style="fill:#800000;stroke:#800000;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 87.93 + d="m 193.90177,549.37498 c 80.90624,0 80.90624,0 80.90624,0" 87.94 + id="path10981" /> 87.95 + <g 87.96 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 87.97 + id="g10983" 87.98 + transform="translate(-24,148)"> 87.99 + <path 87.100 + inkscape:connector-curvature="0" 87.101 + id="path10985" 87.102 + d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279" 87.103 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 87.104 + </g> 87.105 + <g 87.106 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 87.107 + id="g10993" 87.108 + transform="translate(-38,148)"> 87.109 + <path 87.110 + inkscape:connector-curvature="0" 87.111 + id="path10995" 87.112 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 87.113 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 87.114 + </g> 87.115 + <text 87.116 + xml:space="preserve" 87.117 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 87.118 + x="374.7023" 87.119 + y="551.79181" 87.120 + id="text11005" 87.121 + sodipodi:linespacing="100%"><tspan 87.122 + id="tspan11007" 87.123 + sodipodi:role="line" 87.124 + x="374.7023" 87.125 + y="551.79181">Timeline B</tspan></text> 87.126 + <path 87.127 + id="path11009" 87.128 + d="m 342.08408,549.37498 c 27.45405,0 27.45405,0 27.45405,0" 87.129 + style="fill:none;stroke:#800000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 87.130 + inkscape:connector-curvature="0" /> 87.131 + <path 87.132 + id="path11011" 87.133 + d="m 195.92204,489.37498 c 33.06652,0 33.06652,0 33.06652,0" 87.134 + style="fill:none;stroke:#422fac;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" 87.135 + inkscape:connector-curvature="0" /> 87.136 + <g 87.137 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 87.138 + transform="translate(-70,88)" 87.139 + id="g11013"> 87.140 + <path 87.141 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 87.142 + d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279" 87.143 + id="path11015" 87.144 + inkscape:connector-curvature="0" /> 87.145 + <text 87.146 + sodipodi:linespacing="100%" 87.147 + id="text11017" 87.148 + y="376.52615" 87.149 + x="298.7023" 87.150 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 87.151 + xml:space="preserve"><tspan 87.152 + y="376.52615" 87.153 + x="298.7023" 87.154 + id="tspan11019" 87.155 + sodipodi:role="line" 87.156 + style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan 87.157 + y="385.74353" 87.158 + x="298.7023" 87.159 + sodipodi:role="line" 87.160 + id="tspan11021" 87.161 + style="font-size:9px;text-align:center;text-anchor:middle">(Point A1.S)</tspan></text> 87.162 + </g> 87.163 + <g 87.164 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none" 87.165 + transform="translate(-60,88)" 87.166 + id="g11023"> 87.167 + <path 87.168 + style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 87.169 + d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152" 87.170 + id="path11025" 87.171 + inkscape:connector-curvature="0" /> 87.172 + <text 87.173 + sodipodi:linespacing="100%" 87.174 + id="text11027" 87.175 + y="376.52615" 87.176 + x="378.7023" 87.177 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 87.178 + xml:space="preserve"><tspan 87.179 + y="376.52615" 87.180 + x="380.20621" 87.181 + id="tspan11029" 87.182 + sodipodi:role="line" 87.183 + style="font-size:9px;text-align:center;text-anchor:middle"><tspan 87.184 + style="font-size:10px" 87.185 + id="tspan11031">Resume </tspan></tspan><tspan 87.186 + y="385.74353" 87.187 + x="378.7023" 87.188 + sodipodi:role="line" 87.189 + id="tspan11033" 87.190 + style="font-size:9px;text-align:center;text-anchor:middle">(Point A1.R)</tspan></text> 87.191 + </g> 87.192 + <text 87.193 + sodipodi:linespacing="100%" 87.194 + id="text11035" 87.195 + y="493.27441" 87.196 + x="376.7023" 87.197 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 87.198 + xml:space="preserve"><tspan 87.199 + y="493.27441" 87.200 + x="376.7023" 87.201 + sodipodi:role="line" 87.202 + id="tspan11037">Timeline A</tspan></text> 87.203 + <path 87.204 + inkscape:connector-curvature="0" 87.205 + style="fill:none;stroke:#422fac;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 87.206 + d="m 320.08409,489.37498 c 50.17059,0 50.17059,0 50.17059,0" 87.207 + id="path11039" /> 87.208 + <path 87.209 + sodipodi:nodetypes="cc" 87.210 + inkscape:connector-curvature="0" 87.211 + id="path11041" 87.212 + d="m 248.40878,545.16363 c 79.41657,-49.15176 5.94823,-3.26189 82.39224,-51.8417" 87.213 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999999, 2.99999999;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 87.214 + <path 87.215 + style="fill:#ff0000;stroke:#ff0000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000003, 3.00000003;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 87.216 + d="m 333.77257,501.82974 c -70.11936,42.79661 -5.25188,2.84014 -72.74667,45.13875" 87.217 + id="path11043" 87.218 + inkscape:connector-curvature="0" 87.219 + sodipodi:nodetypes="cc" /> 87.220 + <text 87.221 + xml:space="preserve" 87.222 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 87.223 + x="-20.52177" 87.224 + y="592.72888" 87.225 + id="text11049" 87.226 + sodipodi:linespacing="100%" 87.227 + transform="matrix(0.85476126,-0.51902138,0.51902138,0.85476126,0,0)"><tspan 87.228 + id="tspan11051" 87.229 + sodipodi:role="line" 87.230 + x="-20.52177" 87.231 + y="592.72888">visible</tspan></text> 87.232 + <text 87.233 + transform="matrix(0.85476126,-0.51902138,0.51902138,0.85476126,0,0)" 87.234 + sodipodi:linespacing="100%" 87.235 + id="text11053" 87.236 + y="609.94751" 87.237 + x="-7.578732" 87.238 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#ff0000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 87.239 + xml:space="preserve"><tspan 87.240 + y="609.94751" 87.241 + x="-7.578732" 87.242 + sodipodi:role="line" 87.243 + id="tspan11055">NOT visible</tspan></text> 87.244 + <path 87.245 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.0000001, 3.0000001;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 87.246 + d="M 344.17507,545.66706 C 211.03802,497.93301 334.20322,542.49927 206.0495,495.32066" 87.247 + id="path11057" 87.248 + inkscape:connector-curvature="0" 87.249 + sodipodi:nodetypes="cc" /> 87.250 + <path 87.251 + sodipodi:nodetypes="cc" 87.252 + inkscape:connector-curvature="0" 87.253 + id="path11059" 87.254 + d="m 218.69167,493.82967 c 130.23301,47.05017 9.75435,3.12242 135.11273,49.6251" 87.255 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000003, 3.00000003;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 87.256 + <text 87.257 + transform="matrix(0.92037595,0.39103467,-0.39103467,0.92037595,0,0)" 87.258 + sodipodi:linespacing="100%" 87.259 + id="text11061" 87.260 + y="363.98227" 87.261 + x="416.02991" 87.262 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 87.263 + xml:space="preserve"><tspan 87.264 + y="363.98227" 87.265 + x="416.02991" 87.266 + sodipodi:role="line" 87.267 + id="tspan11063">visible</tspan></text> 87.268 + <text 87.269 + xml:space="preserve" 87.270 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#ff0000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 87.271 + x="374.53223" 87.272 + y="404.16913" 87.273 + id="text11065" 87.274 + sodipodi:linespacing="100%" 87.275 + transform="matrix(0.93857354,0.34507928,-0.34507928,0.93857354,0,0)"><tspan 87.276 + id="tspan11067" 87.277 + sodipodi:role="line" 87.278 + x="374.53223" 87.279 + y="404.16913">NOT visible</tspan></text> 87.280 + <g 87.281 + id="g4503" 87.282 + transform="translate(-22,190)" 87.283 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"> 87.284 + <text 87.285 + xml:space="preserve" 87.286 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 87.287 + x="298.7023" 87.288 + y="376.52615" 87.289 + id="text4507" 87.290 + sodipodi:linespacing="100%"><tspan 87.291 + style="font-size:10px;text-align:center;text-anchor:middle" 87.292 + sodipodi:role="line" 87.293 + id="tspan4509" 87.294 + x="298.7023" 87.295 + y="376.52615">Suspend</tspan><tspan 87.296 + style="font-size:9px;text-align:center;text-anchor:middle" 87.297 + id="tspan4511" 87.298 + sodipodi:role="line" 87.299 + x="298.7023" 87.300 + y="385.74353">(Point B1.S)</tspan></text> 87.301 + </g> 87.302 + <g 87.303 + id="g4513" 87.304 + transform="translate(-38,190)" 87.305 + style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"> 87.306 + <text 87.307 + xml:space="preserve" 87.308 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 87.309 + x="378.7023" 87.310 + y="376.52615" 87.311 + id="text4517" 87.312 + sodipodi:linespacing="100%"><tspan 87.313 + style="font-size:9px;text-align:center;text-anchor:middle" 87.314 + sodipodi:role="line" 87.315 + id="tspan4519" 87.316 + x="380.20621" 87.317 + y="376.52615"><tspan 87.318 + id="tspan4521" 87.319 + style="font-size:10px">Resume </tspan></tspan><tspan 87.320 + style="font-size:9px;text-align:center;text-anchor:middle" 87.321 + id="tspan4523" 87.322 + sodipodi:role="line" 87.323 + x="378.7023" 87.324 + y="385.74353">(Point B1.R)</tspan></text> 87.325 + </g> 87.326 + </g> 87.327 +</svg>
88.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 88.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/PR__what_runtime_does.svg Fri Sep 13 11:02:18 2013 -0700 88.3 @@ -0,0 +1,2211 @@ 88.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 88.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 88.6 + 88.7 +<svg 88.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 88.9 + xmlns:cc="http://creativecommons.org/ns#" 88.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 88.11 + xmlns:svg="http://www.w3.org/2000/svg" 88.12 + xmlns="http://www.w3.org/2000/svg" 88.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 88.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 88.15 + width="744.09448819" 88.16 + height="1052.3622047" 88.17 + id="svg2" 88.18 + sodipodi:version="0.32" 88.19 + inkscape:version="0.48.2 r9819" 88.20 + sodipodi:docname="PR__what_runtime_does.svg" 88.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 88.22 + version="1.1"> 88.23 + <defs 88.24 + id="defs4"> 88.25 + <marker 88.26 + inkscape:stockid="Arrow2Mstart" 88.27 + orient="auto" 88.28 + refY="0.0" 88.29 + refX="0.0" 88.30 + id="Arrow2Mstart" 88.31 + style="overflow:visible"> 88.32 + <path 88.33 + id="path4534" 88.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round" 88.35 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 88.36 + transform="scale(0.6) translate(0,0)" /> 88.37 + </marker> 88.38 + <marker 88.39 + inkscape:stockid="Arrow2Mend" 88.40 + orient="auto" 88.41 + refY="0.0" 88.42 + refX="0.0" 88.43 + id="Arrow2Mend" 88.44 + style="overflow:visible;"> 88.45 + <path 88.46 + id="path4008" 88.47 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 88.48 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 88.49 + transform="scale(0.6) rotate(180) translate(0,0)" /> 88.50 + </marker> 88.51 + <inkscape:perspective 88.52 + sodipodi:type="inkscape:persp3d" 88.53 + inkscape:vp_x="0 : 526.18109 : 1" 88.54 + inkscape:vp_y="0 : 1000 : 0" 88.55 + inkscape:vp_z="744.09448 : 526.18109 : 1" 88.56 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 88.57 + id="perspective10" /> 88.58 + <inkscape:perspective 88.59 + id="perspective12172" 88.60 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 88.61 + inkscape:vp_z="1 : 0.5 : 1" 88.62 + inkscape:vp_y="0 : 1000 : 0" 88.63 + inkscape:vp_x="0 : 0.5 : 1" 88.64 + sodipodi:type="inkscape:persp3d" /> 88.65 + <inkscape:perspective 88.66 + id="perspective12937" 88.67 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 88.68 + inkscape:vp_z="1 : 0.5 : 1" 88.69 + inkscape:vp_y="0 : 1000 : 0" 88.70 + inkscape:vp_x="0 : 0.5 : 1" 88.71 + sodipodi:type="inkscape:persp3d" /> 88.72 + </defs> 88.73 + <sodipodi:namedview 88.74 + id="base" 88.75 + pagecolor="#ffffff" 88.76 + bordercolor="#666666" 88.77 + borderopacity="1.0" 88.78 + gridtolerance="10000" 88.79 + guidetolerance="10" 88.80 + objecttolerance="10" 88.81 + inkscape:pageopacity="0.0" 88.82 + inkscape:pageshadow="2" 88.83 + inkscape:zoom="1.05" 88.84 + inkscape:cx="142.1644" 88.85 + inkscape:cy="472.51234" 88.86 + inkscape:document-units="px" 88.87 + inkscape:current-layer="layer1" 88.88 + showgrid="false" 88.89 + inkscape:window-width="1600" 88.90 + inkscape:window-height="848" 88.91 + inkscape:window-x="-8" 88.92 + inkscape:window-y="-8" 88.93 + inkscape:window-maximized="1" /> 88.94 + <metadata 88.95 + id="metadata7"> 88.96 + <rdf:RDF> 88.97 + <cc:Work 88.98 + rdf:about=""> 88.99 + <dc:format>image/svg+xml</dc:format> 88.100 + <dc:type 88.101 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 88.102 + <dc:title></dc:title> 88.103 + </cc:Work> 88.104 + </rdf:RDF> 88.105 + </metadata> 88.106 + <g 88.107 + inkscape:label="Layer 1" 88.108 + inkscape:groupmode="layer" 88.109 + id="layer1"> 88.110 + <text 88.111 + sodipodi:linespacing="100%" 88.112 + id="text12979" 88.113 + y="353.76575" 88.114 + x="326.92542" 88.115 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.116 + xml:space="preserve"><tspan 88.117 + y="353.76575" 88.118 + x="326.92542" 88.119 + id="tspan12981" 88.120 + sodipodi:role="line" 88.121 + style="text-align:center;text-anchor:middle">Master</tspan><tspan 88.122 + y="362.20053" 88.123 + x="326.92542" 88.124 + sodipodi:role="line" 88.125 + id="tspan3291" 88.126 + style="font-size:8px;text-align:center;text-anchor:middle">(runtime system)</tspan><tspan 88.127 + y="370.20053" 88.128 + x="326.92542" 88.129 + sodipodi:role="line" 88.130 + style="font-size:8px;text-align:center;text-anchor:middle" 88.131 + id="tspan8409">on core 1</tspan></text> 88.132 + <g 88.133 + id="g9336" 88.134 + transform="translate(44.002789,-48)"> 88.135 + <rect 88.136 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 88.137 + id="rect3293" 88.138 + width="65.276405" 88.139 + height="37.165791" 88.140 + x="346.40247" 88.141 + y="389.58255" /> 88.142 + <text 88.143 + sodipodi:linespacing="100%" 88.144 + id="text3295" 88.145 + y="400.15268" 88.146 + x="379.00162" 88.147 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.148 + xml:space="preserve"><tspan 88.149 + id="tspan3301" 88.150 + y="400.15268" 88.151 + x="379.00162" 88.152 + sodipodi:role="line" 88.153 + style="text-align:center;text-anchor:middle;fill:#008000">Seed VP</tspan><tspan 88.154 + y="408.58746" 88.155 + x="379.00162" 88.156 + sodipodi:role="line" 88.157 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000" 88.158 + id="tspan9389">(created at</tspan><tspan 88.159 + y="416.58746" 88.160 + x="379.00162" 88.161 + sodipodi:role="line" 88.162 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000" 88.163 + id="tspan9391">app startup,</tspan><tspan 88.164 + y="424.58746" 88.165 + x="379.00162" 88.166 + sodipodi:role="line" 88.167 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000" 88.168 + id="tspan9744">on core 1)</tspan></text> 88.169 + </g> 88.170 + <text 88.171 + xml:space="preserve" 88.172 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.173 + x="517.16797" 88.174 + y="307.42465" 88.175 + id="text3318-1" 88.176 + sodipodi:linespacing="100%"><tspan 88.177 + style="text-align:center;text-anchor:middle;fill:#008000" 88.178 + sodipodi:role="line" 88.179 + x="517.16797" 88.180 + y="307.42465" 88.181 + id="tspan3322-5">Application Code</tspan></text> 88.182 + <text 88.183 + sodipodi:linespacing="100%" 88.184 + id="text3376" 88.185 + y="379.42465" 88.186 + x="517.16797" 88.187 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.188 + xml:space="preserve"><tspan 88.189 + id="tspan3378" 88.190 + y="379.42465" 88.191 + x="517.16797" 88.192 + sodipodi:role="line" 88.193 + style="text-align:center;text-anchor:middle;fill:#008000">Seed_Fn</tspan></text> 88.194 + <text 88.195 + xml:space="preserve" 88.196 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.197 + x="517.16797" 88.198 + y="599.42468" 88.199 + id="text3380" 88.200 + sodipodi:linespacing="100%"><tspan 88.201 + style="text-align:center;text-anchor:middle;fill:#008000" 88.202 + sodipodi:role="line" 88.203 + x="517.16797" 88.204 + y="599.42468" 88.205 + id="tspan3382">Work_Fn</tspan></text> 88.206 + <text 88.207 + sodipodi:linespacing="100%" 88.208 + id="text3388" 88.209 + y="307.42465" 88.210 + x="604.63812" 88.211 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.212 + xml:space="preserve"><tspan 88.213 + id="tspan3390" 88.214 + y="307.42465" 88.215 + x="606.14203" 88.216 + sodipodi:role="line" 88.217 + style="text-align:center;text-anchor:middle;fill:#800000">Language </tspan><tspan 88.218 + y="317.42465" 88.219 + x="604.63812" 88.220 + sodipodi:role="line" 88.221 + style="text-align:center;text-anchor:middle;fill:#800000" 88.222 + id="tspan5106">Wrapper-Lib</tspan><tspan 88.223 + y="327.42465" 88.224 + x="604.63812" 88.225 + sodipodi:role="line" 88.226 + style="text-align:center;text-anchor:middle;fill:#800000" 88.227 + id="tspan3392">Code</tspan></text> 88.228 + <text 88.229 + xml:space="preserve" 88.230 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.231 + x="669.16797" 88.232 + y="307.42465" 88.233 + id="text3394" 88.234 + sodipodi:linespacing="100%"><tspan 88.235 + style="text-align:center;text-anchor:middle;fill:#000080" 88.236 + sodipodi:role="line" 88.237 + x="669.16797" 88.238 + y="307.42465" 88.239 + id="tspan3396">Proto-Runtime</tspan><tspan 88.240 + style="text-align:center;text-anchor:middle;fill:#000080" 88.241 + sodipodi:role="line" 88.242 + x="669.16797" 88.243 + y="317.42465" 88.244 + id="tspan4998">Primitive</tspan><tspan 88.245 + id="tspan3398" 88.246 + style="text-align:center;text-anchor:middle;fill:#000080" 88.247 + sodipodi:role="line" 88.248 + x="669.16797" 88.249 + y="327.42465">Code</tspan></text> 88.250 + <text 88.251 + xml:space="preserve" 88.252 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.253 + x="137.31689" 88.254 + y="411.42465" 88.255 + id="text3412" 88.256 + sodipodi:linespacing="100%"><tspan 88.257 + style="text-align:center;text-anchor:middle;fill:#800000" 88.258 + sodipodi:role="line" 88.259 + x="137.31689" 88.260 + y="411.42465" 88.261 + id="tspan3414">Lang Handler</tspan><tspan 88.262 + style="text-align:center;text-anchor:middle;fill:#800000" 88.263 + sodipodi:role="line" 88.264 + x="137.31689" 88.265 + y="421.42465" 88.266 + id="tspan3422">for create VP</tspan></text> 88.267 + <text 88.268 + xml:space="preserve" 88.269 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.270 + x="137.68066" 88.271 + y="459.42468" 88.272 + id="text3444" 88.273 + sodipodi:linespacing="100%"><tspan 88.274 + style="text-align:center;text-anchor:middle;fill:#800000" 88.275 + sodipodi:role="line" 88.276 + x="137.68066" 88.277 + y="459.42468" 88.278 + id="tspan3450">Assigner Fn</tspan></text> 88.279 + <text 88.280 + xml:space="preserve" 88.281 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.282 + x="327.16797" 88.283 + y="309.42465" 88.284 + id="text3456" 88.285 + sodipodi:linespacing="100%"><tspan 88.286 + style="text-align:center;text-anchor:middle" 88.287 + sodipodi:role="line" 88.288 + x="328.67188" 88.289 + y="309.42465" 88.290 + id="tspan3458">Instances of </tspan><tspan 88.291 + style="text-align:center;text-anchor:middle" 88.292 + sodipodi:role="line" 88.293 + x="327.16797" 88.294 + y="319.42465" 88.295 + id="tspan8405">runtime system</tspan><tspan 88.296 + style="font-size:8px;text-align:center;text-anchor:middle" 88.297 + sodipodi:role="line" 88.298 + x="327.16797" 88.299 + y="327.85944" 88.300 + id="tspan9383">(data structs</tspan><tspan 88.301 + style="font-size:8px;text-align:center;text-anchor:middle" 88.302 + sodipodi:role="line" 88.303 + x="327.16797" 88.304 + y="335.85944" 88.305 + id="tspan9385">on heap)</tspan><tspan 88.306 + id="tspan3460" 88.307 + style="text-align:center;text-anchor:middle" 88.308 + sodipodi:role="line" 88.309 + x="327.16797" 88.310 + y="343.85944" /></text> 88.311 + <text 88.312 + sodipodi:linespacing="100%" 88.313 + id="text3462" 88.314 + y="307.42465" 88.315 + x="423.16797" 88.316 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.317 + xml:space="preserve"><tspan 88.318 + id="tspan3464" 88.319 + y="307.42465" 88.320 + x="423.16797" 88.321 + sodipodi:role="line" 88.322 + style="text-align:center;text-anchor:middle">Instances of</tspan><tspan 88.323 + y="317.42465" 88.324 + x="423.16797" 88.325 + sodipodi:role="line" 88.326 + style="text-align:center;text-anchor:middle" 88.327 + id="tspan3468">Virtual Processors</tspan><tspan 88.328 + y="325.85944" 88.329 + x="423.16797" 88.330 + sodipodi:role="line" 88.331 + style="font-size:8px;text-align:center;text-anchor:middle" 88.332 + id="tspan3466">(data structs</tspan><tspan 88.333 + y="333.85944" 88.334 + x="423.16797" 88.335 + sodipodi:role="line" 88.336 + style="font-size:8px;text-align:center;text-anchor:middle" 88.337 + id="tspan9387">on heap)</tspan></text> 88.338 + <path 88.339 + inkscape:connector-curvature="0" 88.340 + id="path4796" 88.341 + d="m 457.32649,376.02605 c 38.42351,0 38.42351,0 38.42351,0" 88.342 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999996, 2.99999996;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 88.343 + <text 88.344 + xml:space="preserve" 88.345 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.346 + x="604.78461" 88.347 + y="373.42465" 88.348 + id="text4988" 88.349 + sodipodi:linespacing="100%"><tspan 88.350 + style="text-align:center;text-anchor:middle;fill:#800000" 88.351 + sodipodi:role="line" 88.352 + x="604.78461" 88.353 + y="373.42465" 88.354 + id="tspan4990">create VP</tspan><tspan 88.355 + style="text-align:center;text-anchor:middle;fill:#800000" 88.356 + sodipodi:role="line" 88.357 + x="604.78461" 88.358 + y="383.42465" 88.359 + id="tspan5104">wrapper Fn</tspan></text> 88.360 + <text 88.361 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 88.362 + xml:space="preserve" 88.363 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.364 + x="638.25385" 88.365 + y="404.96878" 88.366 + id="text5064" 88.367 + sodipodi:linespacing="100%"><tspan 88.368 + style="font-size:8px;text-align:center;text-anchor:middle" 88.369 + sodipodi:role="line" 88.370 + x="638.25385" 88.371 + y="404.96878" 88.372 + id="tspan5066">Call to dyn lib</tspan></text> 88.373 + <path 88.374 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000003, 3.00000003;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 88.375 + d="m 291.99816,376.02605 c -63.44071,0 -63.44071,0 -63.44071,0" 88.376 + id="path5068" 88.377 + inkscape:connector-curvature="0" /> 88.378 + <text 88.379 + sodipodi:linespacing="100%" 88.380 + id="text5070" 88.381 + y="415.78891" 88.382 + x="180.73463" 88.383 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.384 + xml:space="preserve" 88.385 + transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"><tspan 88.386 + id="tspan5072" 88.387 + y="415.78891" 88.388 + x="180.73463" 88.389 + sodipodi:role="line" 88.390 + style="font-size:8px;text-align:center;text-anchor:middle">Top Level Fn</tspan></text> 88.391 + <text 88.392 + transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)" 88.393 + xml:space="preserve" 88.394 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.395 + x="400.64069" 88.396 + y="458.46729" 88.397 + id="text5074" 88.398 + sodipodi:linespacing="100%"><tspan 88.399 + style="font-size:8px;text-align:center;text-anchor:middle" 88.400 + sodipodi:role="line" 88.401 + x="400.64069" 88.402 + y="458.46729" 88.403 + id="tspan5076">Top Level Fn</tspan></text> 88.404 + <text 88.405 + sodipodi:linespacing="100%" 88.406 + id="text5078" 88.407 + y="674.45374" 88.408 + x="358.75928" 88.409 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.410 + xml:space="preserve" 88.411 + transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"><tspan 88.412 + id="tspan5080" 88.413 + y="674.45374" 88.414 + x="358.75928" 88.415 + sodipodi:role="line" 88.416 + style="font-size:8px;text-align:center;text-anchor:middle">Top Level Fn</tspan></text> 88.417 + <path 88.418 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999996, 2.99999996;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 88.419 + d="m 458.9835,596.02605 c 36.7665,0 36.7665,0 36.7665,0" 88.420 + id="path5082" 88.421 + inkscape:connector-curvature="0" /> 88.422 + <path 88.423 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 88.424 + d="m 514.02904,382.01894 c 0,5.6572 0,5.6572 0,5.6572" 88.425 + id="path5092" 88.426 + inkscape:connector-curvature="0" 88.427 + sodipodi:nodetypes="cc" /> 88.428 + <path 88.429 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 88.430 + d="m 514.24714,388.02605 c 85.56237,0 85.56237,0 85.56237,0" 88.431 + id="path5094" 88.432 + inkscape:connector-curvature="0" /> 88.433 + <path 88.434 + inkscape:connector-curvature="0" 88.435 + id="path5096" 88.436 + d="m 602.77166,496.02605 c -88.41298,0 -88.41298,0 -88.41298,0" 88.437 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 88.438 + <path 88.439 + sodipodi:nodetypes="cc" 88.440 + inkscape:connector-curvature="0" 88.441 + id="path5140" 88.442 + d="m 514.02904,496.31987 c 0,26.21842 0,26.21842 0,26.21842" 88.443 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 88.444 + <path 88.445 + inkscape:connector-curvature="0" 88.446 + id="path5142" 88.447 + d="m 514.2471,522.02605 c 87.58783,0 87.58783,0 87.58783,0" 88.448 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 88.449 + <text 88.450 + sodipodi:linespacing="100%" 88.451 + id="text5157" 88.452 + y="508.71182" 88.453 + x="604.78461" 88.454 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.455 + xml:space="preserve"><tspan 88.456 + id="tspan5161" 88.457 + y="508.71182" 88.458 + x="604.78461" 88.459 + sodipodi:role="line" 88.460 + style="text-align:center;text-anchor:middle;fill:#800000">end VP</tspan><tspan 88.461 + y="518.71179" 88.462 + x="604.78461" 88.463 + sodipodi:role="line" 88.464 + style="text-align:center;text-anchor:middle;fill:#800000" 88.465 + id="tspan5207">wrapper Fn</tspan></text> 88.466 + <path 88.467 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 88.468 + d="m 602.26584,528.02605 c 63.99676,0 63.99676,0 63.99676,0" 88.469 + id="path5165" 88.470 + inkscape:connector-curvature="0" /> 88.471 + <path 88.472 + sodipodi:nodetypes="cc" 88.473 + inkscape:connector-curvature="0" 88.474 + id="path5179" 88.475 + d="m 514.02904,602.01895 c 0,5.6572 0,5.6572 0,5.6572" 88.476 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 88.477 + <path 88.478 + sodipodi:nodetypes="cc" 88.479 + inkscape:connector-curvature="0" 88.480 + id="path5209" 88.481 + d="m 602.02904,520.31985 c 0,7.35629 0,7.35629 0,7.35629" 88.482 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 88.483 + <text 88.484 + xml:space="preserve" 88.485 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.486 + x="497.16797" 88.487 + y="399.42468" 88.488 + id="text5211" 88.489 + sodipodi:linespacing="100%"><tspan 88.490 + style="text-align:center;text-anchor:middle" 88.491 + sodipodi:role="line" 88.492 + x="497.16797" 88.493 + y="399.42468" 88.494 + id="tspan5215" /></text> 88.495 + <path 88.496 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 88.497 + d="m 602.02904,388.21843 c 0,19.4577 0,19.4577 0,19.4577" 88.498 + id="path5217" 88.499 + inkscape:connector-curvature="0" 88.500 + sodipodi:nodetypes="cc" /> 88.501 + <path 88.502 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 88.503 + d="m 602.24714,408.02605 c 64.71029,0 64.71029,0 64.71029,0" 88.504 + id="path5219" 88.505 + inkscape:connector-curvature="0" /> 88.506 + <path 88.507 + inkscape:connector-curvature="0" 88.508 + id="path5221" 88.509 + d="m 666.85635,492.02605 c -65.78483,0 -65.78483,0 -65.78483,0" 88.510 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 88.511 + <path 88.512 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 88.513 + d="m 668.02904,406.63925 c 0,13.68455 0,13.68455 0,13.68455" 88.514 + id="path5223" 88.515 + inkscape:connector-curvature="0" 88.516 + sodipodi:nodetypes="cc" /> 88.517 + <path 88.518 + sodipodi:nodetypes="cc" 88.519 + inkscape:connector-curvature="0" 88.520 + id="path5229" 88.521 + d="m 602.02904,491.22687 c 0,5.5885 0,5.5885 0,5.5885" 88.522 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 88.523 + <path 88.524 + sodipodi:nodetypes="cc" 88.525 + inkscape:connector-curvature="0" 88.526 + id="path5235" 88.527 + d="m 668.02904,478.63925 c 0,13.68455 0,13.68455 0,13.68455" 88.528 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 88.529 + <text 88.530 + sodipodi:linespacing="100%" 88.531 + id="text5239" 88.532 + y="770.82495" 88.533 + x="188.36783" 88.534 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.535 + xml:space="preserve" 88.536 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 88.537 + id="tspan5241" 88.538 + y="770.82495" 88.539 + x="188.36783" 88.540 + sodipodi:role="line" 88.541 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan 88.542 + y="778.82495" 88.543 + x="188.36783" 88.544 + sodipodi:role="line" 88.545 + style="font-size:8px;text-align:center;text-anchor:middle" 88.546 + id="tspan5243">and switch</tspan><tspan 88.547 + y="786.82495" 88.548 + x="188.36783" 88.549 + sodipodi:role="line" 88.550 + style="font-size:8px;text-align:center;text-anchor:middle" 88.551 + id="tspan5245">to runtime</tspan></text> 88.552 + <path 88.553 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 88.554 + d="m 271.03421,480.02605 c 193.92439,0 193.92439,0 193.92439,0" 88.555 + id="path5247" 88.556 + inkscape:connector-curvature="0" /> 88.557 + <text 88.558 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 88.559 + xml:space="preserve" 88.560 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.561 + x="157.7636" 88.562 + y="802.43799" 88.563 + id="text5249" 88.564 + sodipodi:linespacing="100%"><tspan 88.565 + id="tspan5255" 88.566 + style="font-size:8px;text-align:center;text-anchor:middle" 88.567 + sodipodi:role="line" 88.568 + x="157.7636" 88.569 + y="802.43799">return</tspan><tspan 88.570 + style="font-size:8px;text-align:center;text-anchor:middle" 88.571 + sodipodi:role="line" 88.572 + x="157.7636" 88.573 + y="810.43799" 88.574 + id="tspan5261">from</tspan><tspan 88.575 + style="font-size:8px;text-align:center;text-anchor:middle" 88.576 + sodipodi:role="line" 88.577 + x="157.7636" 88.578 + y="818.43799" 88.579 + id="tspan5263">suspend</tspan></text> 88.580 + <text 88.581 + sodipodi:linespacing="100%" 88.582 + id="text5345" 88.583 + y="395.42465" 88.584 + x="667.38037" 88.585 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.586 + xml:space="preserve"><tspan 88.587 + id="tspan5349" 88.588 + y="395.42465" 88.589 + x="667.38037" 88.590 + sodipodi:role="line" 88.591 + style="text-align:center;text-anchor:middle;fill:#000080">PR primitive Fn</tspan><tspan 88.592 + y="405.42465" 88.593 + x="667.38037" 88.594 + sodipodi:role="line" 88.595 + style="text-align:center;text-anchor:middle;fill:#000080" 88.596 + id="tspan5353">to send request</tspan></text> 88.597 + <text 88.598 + sodipodi:linespacing="100%" 88.599 + id="text5355" 88.600 + y="392.71429" 88.601 + x="555.29077" 88.602 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.603 + xml:space="preserve" 88.604 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 88.605 + id="tspan5357" 88.606 + y="392.71429" 88.607 + x="555.29077" 88.608 + sodipodi:role="line" 88.609 + style="font-size:8px;text-align:center;text-anchor:middle">normal call</tspan></text> 88.610 + <path 88.611 + sodipodi:nodetypes="cc" 88.612 + inkscape:connector-curvature="0" 88.613 + id="path5359" 88.614 + d="m 668.02904,527.28283 c 0,13.68455 0,13.68455 0,13.68455" 88.615 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 88.616 + <text 88.617 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 88.618 + xml:space="preserve" 88.619 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.620 + x="107.72998" 88.621 + y="856.99628" 88.622 + id="text5363" 88.623 + sodipodi:linespacing="100%"><tspan 88.624 + style="font-size:8px;text-align:center;text-anchor:middle" 88.625 + sodipodi:role="line" 88.626 + x="107.72998" 88.627 + y="856.99628" 88.628 + id="tspan5365">suspend</tspan><tspan 88.629 + id="tspan5367" 88.630 + style="font-size:8px;text-align:center;text-anchor:middle" 88.631 + sodipodi:role="line" 88.632 + x="107.72998" 88.633 + y="864.99628">and switch</tspan><tspan 88.634 + id="tspan5369" 88.635 + style="font-size:8px;text-align:center;text-anchor:middle" 88.636 + sodipodi:role="line" 88.637 + x="107.72998" 88.638 + y="872.99628">to runtime</tspan></text> 88.639 + <text 88.640 + sodipodi:linespacing="100%" 88.641 + id="text5371" 88.642 + y="593.42468" 88.643 + x="604.59662" 88.644 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.645 + xml:space="preserve"><tspan 88.646 + id="tspan5373" 88.647 + y="593.42468" 88.648 + x="604.59662" 88.649 + sodipodi:role="line" 88.650 + style="text-align:center;text-anchor:middle;fill:#800000">Mutex Acquire</tspan><tspan 88.651 + id="tspan5375" 88.652 + y="603.42468" 88.653 + x="604.59662" 88.654 + sodipodi:role="line" 88.655 + style="text-align:center;text-anchor:middle;fill:#800000">wrapper Fn</tspan></text> 88.656 + <path 88.657 + inkscape:connector-curvature="0" 88.658 + id="path5379" 88.659 + d="m 514.24714,608.02605 c 85.56237,0 85.56237,0 85.56237,0" 88.660 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 88.661 + <path 88.662 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 88.663 + d="m 602.77166,708.02605 c -88.41298,0 -88.41298,0 -88.41298,0" 88.664 + id="path5381" 88.665 + inkscape:connector-curvature="0" /> 88.666 + <text 88.667 + xml:space="preserve" 88.668 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.669 + x="604.78461" 88.670 + y="720.71179" 88.671 + id="text5387" 88.672 + sodipodi:linespacing="100%"><tspan 88.673 + style="text-align:center;text-anchor:middle;fill:#800000" 88.674 + sodipodi:role="line" 88.675 + x="604.78461" 88.676 + y="720.71179" 88.677 + id="tspan5389">end VP</tspan><tspan 88.678 + id="tspan5391" 88.679 + style="text-align:center;text-anchor:middle;fill:#800000" 88.680 + sodipodi:role="line" 88.681 + x="604.78461" 88.682 + y="730.71179">wrapper Fn</tspan></text> 88.683 + <path 88.684 + inkscape:connector-curvature="0" 88.685 + id="path5393" 88.686 + d="m 602.289,740.02605 c 65.24023,0 65.24023,0 65.24023,0" 88.687 + style="fill:none;stroke:#000000;stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 88.688 + <path 88.689 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 88.690 + d="m 602.02904,732.31985 c 0,7.35629 0,7.35629 0,7.35629" 88.691 + id="path5401" 88.692 + inkscape:connector-curvature="0" 88.693 + sodipodi:nodetypes="cc" /> 88.694 + <path 88.695 + sodipodi:nodetypes="cc" 88.696 + inkscape:connector-curvature="0" 88.697 + id="path5403" 88.698 + d="m 602.02904,608.21843 c 0,19.4577 0,19.4577 0,19.4577" 88.699 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 88.700 + <path 88.701 + inkscape:connector-curvature="0" 88.702 + id="path5405" 88.703 + d="m 602.6148,628.02605 c 64.1779,0 64.1779,0 64.1779,0" 88.704 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 88.705 + <path 88.706 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 88.707 + d="m 668.13452,704.02605 c -67.06305,0 -67.06305,0 -67.06305,0" 88.708 + id="path5407" 88.709 + inkscape:connector-curvature="0" /> 88.710 + <path 88.711 + sodipodi:nodetypes="cc" 88.712 + inkscape:connector-curvature="0" 88.713 + id="path5409" 88.714 + d="m 668.02904,626.63925 c 0,13.68455 0,13.68455 0,13.68455" 88.715 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 88.716 + <path 88.717 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 88.718 + d="m 602.02904,703.22687 c 0,5.5885 0,5.5885 0,5.5885" 88.719 + id="path5411" 88.720 + inkscape:connector-curvature="0" 88.721 + sodipodi:nodetypes="cc" /> 88.722 + <path 88.723 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 88.724 + d="m 668.02904,690.63925 c 0,13.68455 0,13.68455 0,13.68455" 88.725 + id="path5417" 88.726 + inkscape:connector-curvature="0" 88.727 + sodipodi:nodetypes="cc" /> 88.728 + <text 88.729 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 88.730 + xml:space="preserve" 88.731 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.732 + x="38.175541" 88.733 + y="928.84552" 88.734 + id="text5421" 88.735 + sodipodi:linespacing="100%"><tspan 88.736 + style="font-size:8px;text-align:center;text-anchor:middle" 88.737 + sodipodi:role="line" 88.738 + x="38.175541" 88.739 + y="928.84552" 88.740 + id="tspan5423">suspend</tspan><tspan 88.741 + id="tspan5425" 88.742 + style="font-size:8px;text-align:center;text-anchor:middle" 88.743 + sodipodi:role="line" 88.744 + x="38.175541" 88.745 + y="936.84552">and switch</tspan><tspan 88.746 + id="tspan5427" 88.747 + style="font-size:8px;text-align:center;text-anchor:middle" 88.748 + sodipodi:role="line" 88.749 + x="38.175541" 88.750 + y="944.84552">to runtime</tspan></text> 88.751 + <text 88.752 + sodipodi:linespacing="100%" 88.753 + id="text5431" 88.754 + y="954.75671" 88.755 + x="10.307833" 88.756 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.757 + xml:space="preserve" 88.758 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 88.759 + y="954.75671" 88.760 + x="10.307833" 88.761 + sodipodi:role="line" 88.762 + style="font-size:8px;text-align:center;text-anchor:middle" 88.763 + id="tspan5433">return</tspan><tspan 88.764 + id="tspan5435" 88.765 + y="962.75671" 88.766 + x="10.307833" 88.767 + sodipodi:role="line" 88.768 + style="font-size:8px;text-align:center;text-anchor:middle">from</tspan><tspan 88.769 + id="tspan5437" 88.770 + y="970.75671" 88.771 + x="10.307833" 88.772 + sodipodi:role="line" 88.773 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text> 88.774 + <text 88.775 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 88.776 + xml:space="preserve" 88.777 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.778 + x="556.25635" 88.779 + y="612.71143" 88.780 + id="text5445" 88.781 + sodipodi:linespacing="100%"><tspan 88.782 + style="font-size:8px;text-align:center;text-anchor:middle" 88.783 + sodipodi:role="line" 88.784 + x="556.25635" 88.785 + y="612.71143" 88.786 + id="tspan5447">normal call</tspan></text> 88.787 + <path 88.788 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 88.789 + d="m 668.02904,739.28283 c 0,13.68455 0,13.68455 0,13.68455" 88.790 + id="path5449" 88.791 + inkscape:connector-curvature="0" 88.792 + sodipodi:nodetypes="cc" /> 88.793 + <text 88.794 + sodipodi:linespacing="100%" 88.795 + id="text5453" 88.796 + y="1012.1439" 88.797 + x="-39.679813" 88.798 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.799 + xml:space="preserve" 88.800 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 88.801 + id="tspan5455" 88.802 + y="1012.1439" 88.803 + x="-39.679813" 88.804 + sodipodi:role="line" 88.805 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan 88.806 + y="1020.1439" 88.807 + x="-39.679813" 88.808 + sodipodi:role="line" 88.809 + style="font-size:8px;text-align:center;text-anchor:middle" 88.810 + id="tspan5457">and switch</tspan><tspan 88.811 + y="1028.144" 88.812 + x="-39.679813" 88.813 + sodipodi:role="line" 88.814 + style="font-size:8px;text-align:center;text-anchor:middle" 88.815 + id="tspan5459">to runtime</tspan></text> 88.816 + <path 88.817 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 88.818 + d="m 514.02904,708.31987 c 0,26.21842 0,26.21842 0,26.21842" 88.819 + id="path5461" 88.820 + inkscape:connector-curvature="0" 88.821 + sodipodi:nodetypes="cc" /> 88.822 + <path 88.823 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 88.824 + d="m 514.2471,734.02605 c 87.58783,0 87.58783,0 87.58783,0" 88.825 + id="path5463" 88.826 + inkscape:connector-curvature="0" /> 88.827 + <text 88.828 + sodipodi:linespacing="100%" 88.829 + id="text5465" 88.830 + y="526.71161" 88.831 + x="555.8786" 88.832 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.833 + xml:space="preserve" 88.834 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 88.835 + id="tspan5467" 88.836 + y="526.71161" 88.837 + x="555.8786" 88.838 + sodipodi:role="line" 88.839 + style="font-size:8px;text-align:center;text-anchor:middle">normal call</tspan></text> 88.840 + <text 88.841 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 88.842 + xml:space="preserve" 88.843 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.844 + x="556.80994" 88.845 + y="738.711" 88.846 + id="text5469" 88.847 + sodipodi:linespacing="100%"><tspan 88.848 + style="font-size:8px;text-align:center;text-anchor:middle" 88.849 + sodipodi:role="line" 88.850 + x="556.80994" 88.851 + y="738.711" 88.852 + id="tspan5471">normal call</tspan></text> 88.853 + <g 88.854 + transform="matrix(1,0,0,0.71130685,-16,120.52913)" 88.855 + id="g8395"> 88.856 + <rect 88.857 + y="313.58255" 88.858 + x="310.40247" 88.859 + height="52.250008" 88.860 + width="65.276405" 88.861 + id="rect8397" 88.862 + style="fill:none;stroke:#000000;stroke-width:1.28076112;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 88.863 + </g> 88.864 + <path 88.865 + sodipodi:nodetypes="cc" 88.866 + inkscape:connector-curvature="0" 88.867 + id="path9273" 88.868 + d="m 514.02904,496.31987 c 0,26.21842 0,26.21842 0,26.21842" 88.869 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 88.870 + <path 88.871 + sodipodi:nodetypes="cc" 88.872 + inkscape:connector-curvature="0" 88.873 + id="path9275" 88.874 + d="m 476.02904,382.79398 c 0,35.61575 0,35.61575 0,35.61575" 88.875 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" /> 88.876 + <path 88.877 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 88.878 + d="m 468.24715,418.02605 c 13.34137,0 13.34137,0 13.34137,0" 88.879 + id="path9277" 88.880 + inkscape:connector-curvature="0" /> 88.881 + <path 88.882 + inkscape:connector-curvature="0" 88.883 + id="path9279" 88.884 + d="m 481.57781,480.02605 c -13.14022,0 -13.14022,0 -13.14022,0" 88.885 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 88.886 + <path 88.887 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 88.888 + d="m 476.02904,480.3113 c 0,57.40944 0,57.40944 0,57.40944" 88.889 + id="path9281" 88.890 + inkscape:connector-curvature="0" 88.891 + sodipodi:nodetypes="cc" /> 88.892 + <path 88.893 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 88.894 + d="m 481.57781,539.27417 c -13.14022,0 -13.14022,0 -13.14022,0" 88.895 + id="path9283" 88.896 + inkscape:connector-curvature="0" /> 88.897 + <text 88.898 + transform="matrix(-0.01875541,0.9998241,-0.9998241,-0.01875541,0,0)" 88.899 + xml:space="preserve" 88.900 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.901 + x="453.93332" 88.902 + y="-466.39136" 88.903 + id="text9285" 88.904 + sodipodi:linespacing="100%"><tspan 88.905 + style="text-align:center;text-anchor:middle;fill:#008000" 88.906 + sodipodi:role="line" 88.907 + x="453.93332" 88.908 + y="-466.39136" 88.909 + id="tspan9287">Timeline of SeedVP</tspan></text> 88.910 + <text 88.911 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 88.912 + xml:space="preserve" 88.913 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.914 + x="485.39722" 88.915 + y="417.02103" 88.916 + id="text9289" 88.917 + sodipodi:linespacing="100%"><tspan 88.918 + style="font-size:8px;text-align:start;text-anchor:start" 88.919 + sodipodi:role="line" 88.920 + x="485.39722" 88.921 + y="417.02103" 88.922 + id="tspan9291">suspend</tspan></text> 88.923 + <text 88.924 + sodipodi:linespacing="100%" 88.925 + id="text9293" 88.926 + y="481.02048" 88.927 + x="485.67838" 88.928 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.929 + xml:space="preserve" 88.930 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 88.931 + id="tspan9295" 88.932 + y="481.02048" 88.933 + x="485.67838" 88.934 + sodipodi:role="line" 88.935 + style="font-size:8px;text-align:start;text-anchor:start">resume</tspan></text> 88.936 + <text 88.937 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 88.938 + xml:space="preserve" 88.939 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.940 + x="485.92978" 88.941 + y="538.22565" 88.942 + id="text9297" 88.943 + sodipodi:linespacing="100%"><tspan 88.944 + style="font-size:8px;text-align:start;text-anchor:start" 88.945 + sodipodi:role="line" 88.946 + x="485.92978" 88.947 + y="538.22565" 88.948 + id="tspan9299">end</tspan></text> 88.949 + <text 88.950 + sodipodi:linespacing="100%" 88.951 + id="text9301" 88.952 + y="307.42465" 88.953 + x="63.167969" 88.954 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.955 + xml:space="preserve"><tspan 88.956 + id="tspan9303" 88.957 + y="307.42465" 88.958 + x="63.167969" 88.959 + sodipodi:role="line" 88.960 + style="text-align:center;text-anchor:middle;fill:#000080">Proto-Runtime</tspan><tspan 88.961 + id="tspan9305" 88.962 + y="317.42465" 88.963 + x="63.167969" 88.964 + sodipodi:role="line" 88.965 + style="text-align:center;text-anchor:middle;fill:#000080">Primitive</tspan><tspan 88.966 + y="327.42465" 88.967 + x="63.167969" 88.968 + sodipodi:role="line" 88.969 + style="text-align:center;text-anchor:middle;fill:#000080" 88.970 + id="tspan9307">Code</tspan></text> 88.971 + <text 88.972 + xml:space="preserve" 88.973 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.974 + x="65.380371" 88.975 + y="423.42465" 88.976 + id="text9309" 88.977 + sodipodi:linespacing="100%"><tspan 88.978 + id="tspan9313" 88.979 + style="text-align:center;text-anchor:middle;fill:#000080" 88.980 + sodipodi:role="line" 88.981 + x="65.380371" 88.982 + y="423.42465">PR primitive Fn</tspan><tspan 88.983 + style="text-align:center;text-anchor:middle;fill:#000080" 88.984 + sodipodi:role="line" 88.985 + x="65.380371" 88.986 + y="433.42465" 88.987 + id="tspan9317">to create VP</tspan></text> 88.988 + <path 88.989 + inkscape:connector-curvature="0" 88.990 + id="path9321" 88.991 + d="m 101.87628,425.85467 c 83.54552,12.98474 93.01032,9.74762 154.91834,33.79457 83.60123,32.47325 132.79902,111.74825 132.79902,111.74825" 88.992 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000006, 3.00000006;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 88.993 + sodipodi:nodetypes="csc" /> 88.994 + <g 88.995 + id="g9341" 88.996 + transform="translate(44.002789,174)"> 88.997 + <rect 88.998 + y="389.58255" 88.999 + x="346.40247" 88.1000 + height="37.165791" 88.1001 + width="65.276405" 88.1002 + id="rect9343" 88.1003 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 88.1004 + <text 88.1005 + xml:space="preserve" 88.1006 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.1007 + x="379.35806" 88.1008 + y="400.72159" 88.1009 + id="text9345" 88.1010 + sodipodi:linespacing="100%"><tspan 88.1011 + style="text-align:center;text-anchor:middle;fill:#008000" 88.1012 + sodipodi:role="line" 88.1013 + x="379.35806" 88.1014 + y="400.72159" 88.1015 + id="tspan9347">VP 1</tspan><tspan 88.1016 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000" 88.1017 + sodipodi:role="line" 88.1018 + x="379.35806" 88.1019 + y="409.15637" 88.1020 + id="tspan9349">(created by</tspan><tspan 88.1021 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000" 88.1022 + sodipodi:role="line" 88.1023 + x="379.35806" 88.1024 + y="417.15637" 88.1025 + id="tspan9355">application,</tspan><tspan 88.1026 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000" 88.1027 + sodipodi:role="line" 88.1028 + x="379.35806" 88.1029 + y="425.15637" 88.1030 + id="tspan9746">on core 2)</tspan></text> 88.1031 + </g> 88.1032 + <g 88.1033 + transform="translate(44.002789,370)" 88.1034 + id="g9371" /> 88.1035 + <text 88.1036 + xml:space="preserve" 88.1037 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.1038 + x="202.41257" 88.1039 + y="379.42465" 88.1040 + id="text9512" 88.1041 + sodipodi:linespacing="100%"><tspan 88.1042 + style="text-align:center;text-anchor:middle;fill:#000080" 88.1043 + sodipodi:role="line" 88.1044 + x="202.41257" 88.1045 + y="379.42465" 88.1046 + id="tspan9514">Master Fn</tspan></text> 88.1047 + <path 88.1048 + sodipodi:nodetypes="cc" 88.1049 + inkscape:connector-curvature="0" 88.1050 + id="path9522" 88.1051 + d="m 205.27805,418.31985 c 0,7.35629 0,7.35629 0,7.35629" 88.1052 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 88.1053 + <path 88.1054 + inkscape:connector-curvature="0" 88.1055 + id="path9524" 88.1056 + d="m 205.05995,424.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 88.1057 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 88.1058 + <path 88.1059 + sodipodi:nodetypes="cc" 88.1060 + inkscape:connector-curvature="0" 88.1061 + id="path9548" 88.1062 + d="m 137.27805,423.85824 c 0,11.43122 0,11.43122 0,11.43122" 88.1063 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 88.1064 + <path 88.1065 + inkscape:connector-curvature="0" 88.1066 + id="path9550" 88.1067 + d="m 137.57123,436.02605 c -69.22157,0 -69.22157,0 -69.22157,0" 88.1068 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 88.1069 + <path 88.1070 + sodipodi:nodetypes="cc" 88.1071 + inkscape:connector-curvature="0" 88.1072 + id="path9554" 88.1073 + d="m 205.27805,474.63925 c 0,4.54718 0,4.54718 0,4.54718" 88.1074 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 88.1075 + <text 88.1076 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 88.1077 + xml:space="preserve" 88.1078 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.1079 + x="-187.67645" 88.1080 + y="493.07611" 88.1081 + id="text9566" 88.1082 + sodipodi:linespacing="100%"><tspan 88.1083 + style="font-size:8px;text-align:center;text-anchor:middle" 88.1084 + sodipodi:role="line" 88.1085 + x="-187.67645" 88.1086 + y="493.07611" 88.1087 + id="tspan9568">suspend</tspan><tspan 88.1088 + id="tspan9570" 88.1089 + style="font-size:8px;text-align:center;text-anchor:middle" 88.1090 + sodipodi:role="line" 88.1091 + x="-187.67645" 88.1092 + y="501.07611">and switch</tspan><tspan 88.1093 + id="tspan9572" 88.1094 + style="font-size:8px;text-align:center;text-anchor:middle" 88.1095 + sodipodi:role="line" 88.1096 + x="-187.67645" 88.1097 + y="509.07611">to app VP</tspan></text> 88.1098 + <path 88.1099 + sodipodi:nodetypes="cc" 88.1100 + inkscape:connector-curvature="0" 88.1101 + id="path9614" 88.1102 + d="m 205.27805,418.31985 c 0,7.35629 0,7.35629 0,7.35629" 88.1103 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 88.1104 + <path 88.1105 + sodipodi:nodetypes="cc" 88.1106 + inkscape:connector-curvature="0" 88.1107 + id="path9616" 88.1108 + d="m 205.27805,418.31985 c 0,7.35629 0,7.35629 0,7.35629" 88.1109 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 88.1110 + <path 88.1111 + inkscape:connector-curvature="0" 88.1112 + id="path9648" 88.1113 + d="m 468.24715,383.42364 c 13.34137,0 13.34137,0 13.34137,0" 88.1114 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 88.1115 + <text 88.1116 + sodipodi:linespacing="100%" 88.1117 + id="text9654" 88.1118 + y="385.02261" 88.1119 + x="485.25659" 88.1120 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.1121 + xml:space="preserve" 88.1122 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 88.1123 + id="tspan9656" 88.1124 + y="385.02261" 88.1125 + x="485.25659" 88.1126 + sodipodi:role="line" 88.1127 + style="font-size:8px;text-align:start;text-anchor:start">start</tspan></text> 88.1128 + <path 88.1129 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" 88.1130 + d="m 476.02904,602.79398 c 0,35.61575 0,35.61575 0,35.61575" 88.1131 + id="path9658" 88.1132 + inkscape:connector-curvature="0" 88.1133 + sodipodi:nodetypes="cc" /> 88.1134 + <path 88.1135 + inkscape:connector-curvature="0" 88.1136 + id="path9660" 88.1137 + d="m 468.24715,638.02605 c 13.34137,0 13.34137,0 13.34137,0" 88.1138 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 88.1139 + <path 88.1140 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 88.1141 + d="m 481.57781,692.02605 c -13.14022,0 -13.14022,0 -13.14022,0" 88.1142 + id="path9662" 88.1143 + inkscape:connector-curvature="0" /> 88.1144 + <text 88.1145 + sodipodi:linespacing="100%" 88.1146 + id="text9668" 88.1147 + y="-464.48126" 88.1148 + x="672.00745" 88.1149 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.1150 + xml:space="preserve" 88.1151 + transform="matrix(-0.01875541,0.9998241,-0.9998241,-0.01875541,0,0)"><tspan 88.1152 + y="-464.48126" 88.1153 + x="672.00745" 88.1154 + sodipodi:role="line" 88.1155 + style="text-align:center;text-anchor:middle;fill:#008000" 88.1156 + id="tspan9740">Timeline of VP 1</tspan></text> 88.1157 + <text 88.1158 + sodipodi:linespacing="100%" 88.1159 + id="text9672" 88.1160 + y="637.01904" 88.1161 + x="486.36292" 88.1162 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.1163 + xml:space="preserve" 88.1164 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 88.1165 + id="tspan9674" 88.1166 + y="637.01904" 88.1167 + x="486.36292" 88.1168 + sodipodi:role="line" 88.1169 + style="font-size:8px;text-align:start;text-anchor:start">suspend</tspan></text> 88.1170 + <text 88.1171 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 88.1172 + xml:space="preserve" 88.1173 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.1174 + x="486.6088" 88.1175 + y="693.01855" 88.1176 + id="text9676" 88.1177 + sodipodi:linespacing="100%"><tspan 88.1178 + style="font-size:8px;text-align:start;text-anchor:start" 88.1179 + sodipodi:role="line" 88.1180 + x="486.6088" 88.1181 + y="693.01855" 88.1182 + id="tspan9678">resume</tspan></text> 88.1183 + <path 88.1184 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 88.1185 + d="m 468.24715,603.42364 c 13.34137,0 13.34137,0 13.34137,0" 88.1186 + id="path9684" 88.1187 + inkscape:connector-curvature="0" /> 88.1188 + <text 88.1189 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 88.1190 + xml:space="preserve" 88.1191 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.1192 + x="486.22229" 88.1193 + y="605.02063" 88.1194 + id="text9686" 88.1195 + sodipodi:linespacing="100%"><tspan 88.1196 + style="font-size:8px;text-align:start;text-anchor:start" 88.1197 + sodipodi:role="line" 88.1198 + x="486.22229" 88.1199 + y="605.02063" 88.1200 + id="tspan9688">start</tspan></text> 88.1201 + <path 88.1202 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" 88.1203 + d="m 266.02904,417.4311 c 0,61.88904 0,61.88904 0,61.88904" 88.1204 + id="path9690" 88.1205 + inkscape:connector-curvature="0" 88.1206 + sodipodi:nodetypes="cc" /> 88.1207 + <path 88.1208 + inkscape:connector-curvature="0" 88.1209 + id="path9692" 88.1210 + d="m 258.24715,418.02605 c 13.34137,0 13.34137,0 13.34137,0" 88.1211 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 88.1212 + <path 88.1213 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 88.1214 + d="m 271.57781,480.02605 c -13.14022,0 -13.14022,0 -13.14022,0" 88.1215 + id="path9694" 88.1216 + inkscape:connector-curvature="0" /> 88.1217 + <text 88.1218 + sodipodi:linespacing="100%" 88.1219 + id="text9700" 88.1220 + y="-276.70538" 88.1221 + x="463.34042" 88.1222 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.1223 + xml:space="preserve" 88.1224 + transform="matrix(0.00239328,0.99999714,-0.99999714,0.00239328,0,0)"><tspan 88.1225 + y="-276.70538" 88.1226 + x="463.34042" 88.1227 + sodipodi:role="line" 88.1228 + style="text-align:center;text-anchor:middle;fill:#000080" 88.1229 + id="tspan9736">Timeline of Master on core 1</tspan></text> 88.1230 + <text 88.1231 + sodipodi:linespacing="100%" 88.1232 + id="text9704" 88.1233 + y="480.12692" 88.1234 + x="261.37079" 88.1235 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.1236 + xml:space="preserve" 88.1237 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 88.1238 + id="tspan9706" 88.1239 + y="480.12692" 88.1240 + x="261.37079" 88.1241 + sodipodi:role="line" 88.1242 + style="font-size:8px;text-align:end;text-anchor:end">suspend</tspan></text> 88.1243 + <text 88.1244 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 88.1245 + xml:space="preserve" 88.1246 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.1247 + x="258.65039" 88.1248 + y="420.12738" 88.1249 + id="text9708" 88.1250 + sodipodi:linespacing="100%"><tspan 88.1251 + style="font-size:8px;text-align:end;text-anchor:end" 88.1252 + sodipodi:role="line" 88.1253 + x="258.65039" 88.1254 + y="420.12738" 88.1255 + id="tspan9710">resume</tspan></text> 88.1256 + <path 88.1257 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 88.1258 + d="m 258.24715,383.42364 c 13.34137,0 13.34137,0 13.34137,0" 88.1259 + id="path9716" 88.1260 + inkscape:connector-curvature="0" /> 88.1261 + <text 88.1262 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 88.1263 + xml:space="preserve" 88.1264 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.1265 + x="257.70789" 88.1266 + y="386.09387" 88.1267 + id="text9718" 88.1268 + sodipodi:linespacing="100%"><tspan 88.1269 + style="font-size:8px;text-align:end;text-anchor:end" 88.1270 + sodipodi:role="line" 88.1271 + x="257.70789" 88.1272 + y="386.09387" 88.1273 + id="tspan9720">start</tspan></text> 88.1274 + <path 88.1275 + sodipodi:nodetypes="cc" 88.1276 + inkscape:connector-curvature="0" 88.1277 + id="path9722" 88.1278 + d="m 266.02904,537.43112 c 0,10.33165 0,10.33165 0,10.33165" 88.1279 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 88.1280 + <path 88.1281 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 88.1282 + d="m 258.24715,538.02605 c 13.34137,0 13.34137,0 13.34137,0" 88.1283 + id="path9724" 88.1284 + inkscape:connector-curvature="0" /> 88.1285 + <text 88.1286 + sodipodi:linespacing="100%" 88.1287 + id="text9936" 88.1288 + y="624.93951" 88.1289 + x="641.89471" 88.1290 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.1291 + xml:space="preserve" 88.1292 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 88.1293 + id="tspan9938" 88.1294 + y="624.93951" 88.1295 + x="641.89471" 88.1296 + sodipodi:role="line" 88.1297 + style="font-size:8px;text-align:center;text-anchor:middle">Call to dyn lib</tspan></text> 88.1298 + <text 88.1299 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 88.1300 + xml:space="preserve" 88.1301 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.1302 + x="643.74738" 88.1303 + y="736.927" 88.1304 + id="text9940" 88.1305 + sodipodi:linespacing="100%"><tspan 88.1306 + style="font-size:8px;text-align:center;text-anchor:middle" 88.1307 + sodipodi:role="line" 88.1308 + x="643.74738" 88.1309 + y="736.927" 88.1310 + id="tspan9942">Call to dyn lib</tspan></text> 88.1311 + <text 88.1312 + sodipodi:linespacing="100%" 88.1313 + id="text9944" 88.1314 + y="524.9541" 88.1315 + x="640.23999" 88.1316 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.1317 + xml:space="preserve" 88.1318 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 88.1319 + id="tspan9946" 88.1320 + y="524.9541" 88.1321 + x="640.23999" 88.1322 + sodipodi:role="line" 88.1323 + style="font-size:8px;text-align:center;text-anchor:middle">Call to dyn lib</tspan></text> 88.1324 + <text 88.1325 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 88.1326 + xml:space="preserve" 88.1327 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.1328 + x="112.79035" 88.1329 + y="441.66806" 88.1330 + id="text9948" 88.1331 + sodipodi:linespacing="100%"><tspan 88.1332 + style="font-size:8px;text-align:center;text-anchor:middle" 88.1333 + sodipodi:role="line" 88.1334 + x="112.79035" 88.1335 + y="441.66806" 88.1336 + id="tspan9950">call to dyn lib</tspan></text> 88.1337 + <path 88.1338 + inkscape:connector-curvature="0" 88.1339 + id="path9952" 88.1340 + d="m 701.67453,480.02605 c -669.895225,0 -669.895225,0 -669.895225,0" 88.1341 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" /> 88.1342 + <path 88.1343 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" 88.1344 + d="m 701.67453,417.52981 c -669.895225,0 -669.895225,0 -669.895225,0" 88.1345 + id="path9954" 88.1346 + inkscape:connector-curvature="0" /> 88.1347 + <text 88.1348 + xml:space="preserve" 88.1349 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.1350 + x="326.92542" 88.1351 + y="577.76575" 88.1352 + id="text9956" 88.1353 + sodipodi:linespacing="100%"><tspan 88.1354 + style="text-align:center;text-anchor:middle" 88.1355 + sodipodi:role="line" 88.1356 + id="tspan9958" 88.1357 + x="326.92542" 88.1358 + y="577.76575">Master</tspan><tspan 88.1359 + style="font-size:8px;text-align:center;text-anchor:middle" 88.1360 + id="tspan9960" 88.1361 + sodipodi:role="line" 88.1362 + x="326.92542" 88.1363 + y="586.2005">(runtime system)</tspan><tspan 88.1364 + id="tspan9962" 88.1365 + style="font-size:8px;text-align:center;text-anchor:middle" 88.1366 + sodipodi:role="line" 88.1367 + x="326.92542" 88.1368 + y="594.2005">on core 2</tspan></text> 88.1369 + <path 88.1370 + inkscape:connector-curvature="0" 88.1371 + id="path9970" 88.1372 + d="m 291.99816,596.02605 c -63.44071,0 -63.44071,0 -63.44071,0" 88.1373 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000003, 3.00000003;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 88.1374 + <g 88.1375 + id="g9972" 88.1376 + transform="matrix(1,0,0,0.71130685,-16,342.52913)"> 88.1377 + <rect 88.1378 + style="fill:none;stroke:#000000;stroke-width:1.28076112;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 88.1379 + id="rect9974" 88.1380 + width="65.276405" 88.1381 + height="52.250008" 88.1382 + x="310.40247" 88.1383 + y="313.58255" /> 88.1384 + </g> 88.1385 + <text 88.1386 + sodipodi:linespacing="100%" 88.1387 + id="text9982" 88.1388 + y="599.42468" 88.1389 + x="202.41257" 88.1390 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.1391 + xml:space="preserve"><tspan 88.1392 + id="tspan9984" 88.1393 + y="599.42468" 88.1394 + x="202.41257" 88.1395 + sodipodi:role="line" 88.1396 + style="text-align:center;text-anchor:middle;fill:#000080">Master Fn</tspan></text> 88.1397 + <path 88.1398 + sodipodi:nodetypes="cc" 88.1399 + inkscape:connector-curvature="0" 88.1400 + id="path10010" 88.1401 + d="m 266.02904,637.43113 c 0,54.93536 0,54.93536 0,54.93536" 88.1402 + style="fill:none;stroke:#000000;stroke-width:0.99999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" /> 88.1403 + <path 88.1404 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 88.1405 + d="m 258.24715,638.02605 c 13.34137,0 13.34137,0 13.34137,0" 88.1406 + id="path10012" 88.1407 + inkscape:connector-curvature="0" /> 88.1408 + <path 88.1409 + inkscape:connector-curvature="0" 88.1410 + id="path10014" 88.1411 + d="m 271.57781,692.02605 c -13.14022,0 -13.14022,0 -13.14022,0" 88.1412 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 88.1413 + <text 88.1414 + transform="matrix(0.00962718,0.99995366,-0.99995366,0.00962718,0,0)" 88.1415 + xml:space="preserve" 88.1416 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.1417 + x="675.3847" 88.1418 + y="-275.31226" 88.1419 + id="text10018" 88.1420 + sodipodi:linespacing="100%"><tspan 88.1421 + id="tspan10020" 88.1422 + style="text-align:center;text-anchor:middle;fill:#000080" 88.1423 + sodipodi:role="line" 88.1424 + x="675.3847" 88.1425 + y="-275.31226">Timeline of Master on core 2</tspan></text> 88.1426 + <path 88.1427 + inkscape:connector-curvature="0" 88.1428 + id="path10030" 88.1429 + d="m 258.24715,603.42364 c 13.34137,0 13.34137,0 13.34137,0" 88.1430 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 88.1431 + <path 88.1432 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000002, 3.00000002;stroke-dashoffset:0" 88.1433 + d="m 205.27805,381.45805 c 0,3.23577 0,3.23577 0,3.23577" 88.1434 + id="path10054" 88.1435 + inkscape:connector-curvature="0" 88.1436 + sodipodi:nodetypes="cc" /> 88.1437 + <path 88.1438 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" 88.1439 + d="m 701.67453,692.02605 c -669.895225,0 -669.895225,0 -669.895225,0" 88.1440 + id="path10056" 88.1441 + inkscape:connector-curvature="0" /> 88.1442 + <path 88.1443 + inkscape:connector-curvature="0" 88.1444 + id="path10058" 88.1445 + d="m 701.67453,637.52981 c -669.895225,0 -669.895225,0 -669.895225,0" 88.1446 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" /> 88.1447 + <text 88.1448 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 88.1449 + xml:space="preserve" 88.1450 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.1451 + x="-135.75337" 88.1452 + y="434.7803" 88.1453 + id="text10062" 88.1454 + sodipodi:linespacing="100%"><tspan 88.1455 + id="tspan10068" 88.1456 + style="font-size:8px;text-align:center;text-anchor:middle" 88.1457 + sodipodi:role="line" 88.1458 + x="-135.75337" 88.1459 + y="434.7803">return from</tspan><tspan 88.1460 + style="font-size:8px;text-align:center;text-anchor:middle" 88.1461 + sodipodi:role="line" 88.1462 + x="-135.75337" 88.1463 + y="442.7803" 88.1464 + id="tspan10074">suspend</tspan></text> 88.1465 + <path 88.1466 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" 88.1467 + d="m 701.67453,538.02605 c -669.895225,0 -669.895225,0 -669.895225,0" 88.1468 + id="path10076" 88.1469 + inkscape:connector-curvature="0" /> 88.1470 + <text 88.1471 + xml:space="preserve" 88.1472 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.1473 + x="667.38037" 88.1474 + y="515.42468" 88.1475 + id="text10082" 88.1476 + sodipodi:linespacing="100%"><tspan 88.1477 + style="text-align:center;text-anchor:middle;fill:#000080" 88.1478 + sodipodi:role="line" 88.1479 + x="667.38037" 88.1480 + y="515.42468" 88.1481 + id="tspan10084">PR primitive Fn</tspan><tspan 88.1482 + id="tspan10086" 88.1483 + style="text-align:center;text-anchor:middle;fill:#000080" 88.1484 + sodipodi:role="line" 88.1485 + x="667.38037" 88.1486 + y="525.42468">to send request</tspan></text> 88.1487 + <text 88.1488 + sodipodi:linespacing="100%" 88.1489 + id="text10088" 88.1490 + y="615.42468" 88.1491 + x="667.38037" 88.1492 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.1493 + xml:space="preserve"><tspan 88.1494 + id="tspan10090" 88.1495 + y="615.42468" 88.1496 + x="667.38037" 88.1497 + sodipodi:role="line" 88.1498 + style="text-align:center;text-anchor:middle;fill:#000080">PR primitive Fn</tspan><tspan 88.1499 + y="625.42468" 88.1500 + x="667.38037" 88.1501 + sodipodi:role="line" 88.1502 + style="text-align:center;text-anchor:middle;fill:#000080" 88.1503 + id="tspan10092">to send request</tspan></text> 88.1504 + <text 88.1505 + xml:space="preserve" 88.1506 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.1507 + x="667.38037" 88.1508 + y="727.42468" 88.1509 + id="text10094" 88.1510 + sodipodi:linespacing="100%"><tspan 88.1511 + style="text-align:center;text-anchor:middle;fill:#000080" 88.1512 + sodipodi:role="line" 88.1513 + x="667.38037" 88.1514 + y="727.42468" 88.1515 + id="tspan10096">PR primitive Fn</tspan><tspan 88.1516 + id="tspan10098" 88.1517 + style="text-align:center;text-anchor:middle;fill:#000080" 88.1518 + sodipodi:role="line" 88.1519 + x="667.38037" 88.1520 + y="737.42468">to send request</tspan></text> 88.1521 + <path 88.1522 + sodipodi:nodetypes="cc" 88.1523 + inkscape:connector-curvature="0" 88.1524 + id="path10100" 88.1525 + d="m 476.02904,692.3113 c 0,57.40944 0,57.40944 0,57.40944" 88.1526 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 88.1527 + <path 88.1528 + inkscape:connector-curvature="0" 88.1529 + id="path10102" 88.1530 + d="m 481.57781,751.27417 c -13.14022,0 -13.14022,0 -13.14022,0" 88.1531 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 88.1532 + <text 88.1533 + sodipodi:linespacing="100%" 88.1534 + id="text10104" 88.1535 + y="750.22363" 88.1536 + x="486.86038" 88.1537 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.1538 + xml:space="preserve" 88.1539 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 88.1540 + id="tspan10106" 88.1541 + y="750.22363" 88.1542 + x="486.86038" 88.1543 + sodipodi:role="line" 88.1544 + style="font-size:8px;text-align:start;text-anchor:start">end</tspan></text> 88.1545 + <path 88.1546 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 88.1547 + d="m 266.02904,749.43112 c 0,10.33165 0,10.33165 0,10.33165" 88.1548 + id="path10108" 88.1549 + inkscape:connector-curvature="0" 88.1550 + sodipodi:nodetypes="cc" /> 88.1551 + <path 88.1552 + inkscape:connector-curvature="0" 88.1553 + id="path10110" 88.1554 + d="m 258.24715,750.02605 c 13.34137,0 13.34137,0 13.34137,0" 88.1555 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 88.1556 + <path 88.1557 + inkscape:connector-curvature="0" 88.1558 + id="path10116" 88.1559 + d="m 701.67453,750.02605 c -669.895225,0 -669.895225,0 -669.895225,0" 88.1560 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" /> 88.1561 + <text 88.1562 + sodipodi:linespacing="100%" 88.1563 + id="text10118" 88.1564 + y="540.12653" 88.1565 + x="259.17728" 88.1566 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.1567 + xml:space="preserve" 88.1568 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 88.1569 + id="tspan10120" 88.1570 + y="540.12653" 88.1571 + x="259.17728" 88.1572 + sodipodi:role="line" 88.1573 + style="font-size:8px;text-align:end;text-anchor:end">resume</tspan></text> 88.1574 + <text 88.1575 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 88.1576 + xml:space="preserve" 88.1577 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.1578 + x="259.61627" 88.1579 + y="640.12561" 88.1580 + id="text10122" 88.1581 + sodipodi:linespacing="100%"><tspan 88.1582 + style="font-size:8px;text-align:end;text-anchor:end" 88.1583 + sodipodi:role="line" 88.1584 + x="259.61627" 88.1585 + y="640.12561" 88.1586 + id="tspan10124">resume</tspan></text> 88.1587 + <text 88.1588 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 88.1589 + xml:space="preserve" 88.1590 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.1591 + x="262.3013" 88.1592 + y="692.12494" 88.1593 + id="text10126" 88.1594 + sodipodi:linespacing="100%"><tspan 88.1595 + style="font-size:8px;text-align:end;text-anchor:end" 88.1596 + sodipodi:role="line" 88.1597 + x="262.3013" 88.1598 + y="692.12494" 88.1599 + id="tspan10128">suspend</tspan></text> 88.1600 + <text 88.1601 + sodipodi:linespacing="100%" 88.1602 + id="text10130" 88.1603 + y="606.09192" 88.1604 + x="258.67368" 88.1605 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.1606 + xml:space="preserve" 88.1607 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 88.1608 + id="tspan10132" 88.1609 + y="606.09192" 88.1610 + x="258.67368" 88.1611 + sodipodi:role="line" 88.1612 + style="font-size:8px;text-align:end;text-anchor:end">start</tspan></text> 88.1613 + <text 88.1614 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 88.1615 + xml:space="preserve" 88.1616 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.1617 + x="260.10779" 88.1618 + y="752.12427" 88.1619 + id="text10134" 88.1620 + sodipodi:linespacing="100%"><tspan 88.1621 + style="font-size:8px;text-align:end;text-anchor:end" 88.1622 + sodipodi:role="line" 88.1623 + x="260.10779" 88.1624 + y="752.12427" 88.1625 + id="tspan10136">resume</tspan></text> 88.1626 + <text 88.1627 + xml:space="preserve" 88.1628 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.1629 + x="136.99219" 88.1630 + y="307.42465" 88.1631 + id="text10146" 88.1632 + sodipodi:linespacing="100%"><tspan 88.1633 + style="text-align:center;text-anchor:middle;fill:#800000" 88.1634 + sodipodi:role="line" 88.1635 + x="138.49609" 88.1636 + y="307.42465" 88.1637 + id="tspan10148">Language </tspan><tspan 88.1638 + id="tspan10150" 88.1639 + style="text-align:center;text-anchor:middle;fill:#800000" 88.1640 + sodipodi:role="line" 88.1641 + x="136.99219" 88.1642 + y="317.42465">Plugin</tspan><tspan 88.1643 + id="tspan10152" 88.1644 + style="text-align:center;text-anchor:middle;fill:#800000" 88.1645 + sodipodi:role="line" 88.1646 + x="136.99219" 88.1647 + y="327.42465">Code</tspan></text> 88.1648 + <text 88.1649 + xml:space="preserve" 88.1650 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.1651 + x="203.16797" 88.1652 + y="307.42465" 88.1653 + id="text10154" 88.1654 + sodipodi:linespacing="100%"><tspan 88.1655 + style="text-align:center;text-anchor:middle;fill:#000080" 88.1656 + sodipodi:role="line" 88.1657 + x="203.16797" 88.1658 + y="307.42465" 88.1659 + id="tspan10156">Proto-Runtime</tspan><tspan 88.1660 + style="text-align:center;text-anchor:middle;fill:#000080" 88.1661 + sodipodi:role="line" 88.1662 + x="203.16797" 88.1663 + y="317.42465" 88.1664 + id="tspan10158">Master</tspan><tspan 88.1665 + id="tspan10160" 88.1666 + style="text-align:center;text-anchor:middle;fill:#000080" 88.1667 + sodipodi:role="line" 88.1668 + x="203.16797" 88.1669 + y="327.42465">Code</tspan></text> 88.1670 + <path 88.1671 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 88.1672 + d="m 205.05995,424.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 88.1673 + id="path10162" 88.1674 + inkscape:connector-curvature="0" /> 88.1675 + <path 88.1676 + inkscape:connector-curvature="0" 88.1677 + id="path10164" 88.1678 + d="m 137.04459,474.02605 c 67.19099,0 67.19099,0 67.19099,0" 88.1679 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 88.1680 + <path 88.1681 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 88.1682 + d="m 67.525286,448.02605 c 69.221574,0 69.221574,0 69.221574,0" 88.1683 + id="path10166" 88.1684 + inkscape:connector-curvature="0" /> 88.1685 + <path 88.1686 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 88.1687 + d="m 67.27805,435.85824 c 0,13.94668 0,13.94668 0,13.94668" 88.1688 + id="path10168" 88.1689 + inkscape:connector-curvature="0" 88.1690 + sodipodi:nodetypes="cc" /> 88.1691 + <path 88.1692 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 88.1693 + d="m 137.04459,450.02605 c 67.19099,0 67.19099,0 67.19099,0" 88.1694 + id="path10172" 88.1695 + inkscape:connector-curvature="0" /> 88.1696 + <path 88.1697 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 88.1698 + d="m 205.27805,450.63926 c 0,11.23237 0,11.23237 0,11.23237" 88.1699 + id="path10174" 88.1700 + inkscape:connector-curvature="0" 88.1701 + sodipodi:nodetypes="cc" /> 88.1702 + <path 88.1703 + inkscape:connector-curvature="0" 88.1704 + id="path10176" 88.1705 + d="m 205.05995,462.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 88.1706 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 88.1707 + <text 88.1708 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 88.1709 + xml:space="preserve" 88.1710 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.1711 + x="189.17583" 88.1712 + y="464.4057" 88.1713 + id="text10178" 88.1714 + sodipodi:linespacing="100%"><tspan 88.1715 + style="font-size:7px;text-align:center;text-anchor:middle" 88.1716 + sodipodi:role="line" 88.1717 + x="189.17583" 88.1718 + y="464.4057" 88.1719 + id="tspan10180">call via Ptr to Dyn Lib Fn</tspan></text> 88.1720 + <path 88.1721 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 88.1722 + d="m 137.27805,461.85824 c 0,11.43122 0,11.43122 0,11.43122" 88.1723 + id="path10182" 88.1724 + inkscape:connector-curvature="0" 88.1725 + sodipodi:nodetypes="cc" /> 88.1726 + <text 88.1727 + sodipodi:linespacing="100%" 88.1728 + id="text10184" 88.1729 + y="426.41092" 88.1730 + x="188.54729" 88.1731 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.1732 + xml:space="preserve" 88.1733 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 88.1734 + id="tspan10186" 88.1735 + y="426.41092" 88.1736 + x="188.54729" 88.1737 + sodipodi:role="line" 88.1738 + style="font-size:7px;text-align:center;text-anchor:middle">call via Ptr to Dyn Lib Fn</tspan></text> 88.1739 + <text 88.1740 + sodipodi:linespacing="100%" 88.1741 + id="text10188" 88.1742 + y="629.42468" 88.1743 + x="137.31689" 88.1744 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.1745 + xml:space="preserve"><tspan 88.1746 + id="tspan10190" 88.1747 + y="629.42468" 88.1748 + x="137.31689" 88.1749 + sodipodi:role="line" 88.1750 + style="text-align:center;text-anchor:middle;fill:#800000">Lang Handler</tspan><tspan 88.1751 + id="tspan10192" 88.1752 + y="639.42468" 88.1753 + x="137.31689" 88.1754 + sodipodi:role="line" 88.1755 + style="text-align:center;text-anchor:middle;fill:#800000">for acq Mutex</tspan></text> 88.1756 + <path 88.1757 + sodipodi:nodetypes="cc" 88.1758 + inkscape:connector-curvature="0" 88.1759 + id="path10230" 88.1760 + d="m 205.27805,601.45805 c 0,3.23576 0,3.23576 0,3.23576" 88.1761 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 88.1762 + <path 88.1763 + inkscape:connector-curvature="0" 88.1764 + id="path4879" 88.1765 + d="m 465.78297,538.02605 c -193.92439,0 -193.92439,0 -193.92439,0" 88.1766 + style="fill:none;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 88.1767 + <path 88.1768 + inkscape:connector-curvature="0" 88.1769 + id="path5395" 88.1770 + d="m 466.19516,418.02605 c -193.92439,0 -193.92439,0 -193.92439,0" 88.1771 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 88.1772 + <path 88.1773 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 88.1774 + d="m 466.19516,638.02605 c -193.92439,0 -193.92439,0 -193.92439,0" 88.1775 + id="path5397" 88.1776 + inkscape:connector-curvature="0" /> 88.1777 + <path 88.1778 + inkscape:connector-curvature="0" 88.1779 + id="path5399" 88.1780 + d="m 466.19516,750.02605 c -193.92439,0 -193.92439,0 -193.92439,0" 88.1781 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 88.1782 + <path 88.1783 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 88.1784 + d="m 271.03421,692.02605 c 193.92439,0 193.92439,0 193.92439,0" 88.1785 + id="path5402" 88.1786 + inkscape:connector-curvature="0" /> 88.1787 + <text 88.1788 + sodipodi:linespacing="100%" 88.1789 + id="text5410" 88.1790 + y="671.42468" 88.1791 + x="137.68066" 88.1792 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.1793 + xml:space="preserve"><tspan 88.1794 + id="tspan5412" 88.1795 + y="671.42468" 88.1796 + x="137.68066" 88.1797 + sodipodi:role="line" 88.1798 + style="text-align:center;text-anchor:middle;fill:#800000">Assigner Fn</tspan></text> 88.1799 + <path 88.1800 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 88.1801 + d="m 205.27805,638.31985 c 0,7.35629 0,7.35629 0,7.35629" 88.1802 + id="path5420" 88.1803 + inkscape:connector-curvature="0" 88.1804 + sodipodi:nodetypes="cc" /> 88.1805 + <path 88.1806 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 88.1807 + d="m 205.05995,644.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 88.1808 + id="path5422" 88.1809 + inkscape:connector-curvature="0" /> 88.1810 + <path 88.1811 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 88.1812 + d="m 137.27805,643.85824 c 0,11.43122 0,11.43122 0,11.43122" 88.1813 + id="path5424" 88.1814 + inkscape:connector-curvature="0" 88.1815 + sodipodi:nodetypes="cc" /> 88.1816 + <path 88.1817 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 88.1818 + d="m 205.27805,686.63925 c 0,4.54718 0,4.54718 0,4.54718" 88.1819 + id="path5428" 88.1820 + inkscape:connector-curvature="0" 88.1821 + sodipodi:nodetypes="cc" /> 88.1822 + <text 88.1823 + sodipodi:linespacing="100%" 88.1824 + id="text5430" 88.1825 + y="645.39423" 88.1826 + x="-335.13254" 88.1827 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.1828 + xml:space="preserve" 88.1829 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 88.1830 + id="tspan5432" 88.1831 + y="645.39423" 88.1832 + x="-335.13254" 88.1833 + sodipodi:role="line" 88.1834 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan 88.1835 + y="653.39423" 88.1836 + x="-335.13254" 88.1837 + sodipodi:role="line" 88.1838 + style="font-size:8px;text-align:center;text-anchor:middle" 88.1839 + id="tspan5434">and switch</tspan><tspan 88.1840 + y="661.39423" 88.1841 + x="-335.13254" 88.1842 + sodipodi:role="line" 88.1843 + style="font-size:8px;text-align:center;text-anchor:middle" 88.1844 + id="tspan5436">to app VP</tspan></text> 88.1845 + <path 88.1846 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 88.1847 + d="m 205.27805,638.31985 c 0,7.35629 0,7.35629 0,7.35629" 88.1848 + id="path5438" 88.1849 + inkscape:connector-curvature="0" 88.1850 + sodipodi:nodetypes="cc" /> 88.1851 + <path 88.1852 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 88.1853 + d="m 205.27805,638.31985 c 0,7.35629 0,7.35629 0,7.35629" 88.1854 + id="path5440" 88.1855 + inkscape:connector-curvature="0" 88.1856 + sodipodi:nodetypes="cc" /> 88.1857 + <text 88.1858 + sodipodi:linespacing="100%" 88.1859 + id="text5446" 88.1860 + y="592.84631" 88.1861 + x="-288.77386" 88.1862 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.1863 + xml:space="preserve" 88.1864 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 88.1865 + y="592.84631" 88.1866 + x="-288.77386" 88.1867 + sodipodi:role="line" 88.1868 + style="font-size:8px;text-align:center;text-anchor:middle" 88.1869 + id="tspan5448">return from</tspan><tspan 88.1870 + id="tspan5450" 88.1871 + y="600.84631" 88.1872 + x="-288.77386" 88.1873 + sodipodi:role="line" 88.1874 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text> 88.1875 + <path 88.1876 + inkscape:connector-curvature="0" 88.1877 + id="path5452" 88.1878 + d="m 205.05995,644.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 88.1879 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 88.1880 + <path 88.1881 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 88.1882 + d="m 137.04459,686.02605 c 67.19099,0 67.19099,0 67.19099,0" 88.1883 + id="path5454" 88.1884 + inkscape:connector-curvature="0" /> 88.1885 + <path 88.1886 + inkscape:connector-curvature="0" 88.1887 + id="path5460" 88.1888 + d="m 137.04459,658.02605 c 67.19099,0 67.19099,0 67.19099,0" 88.1889 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 88.1890 + <path 88.1891 + sodipodi:nodetypes="cc" 88.1892 + inkscape:connector-curvature="0" 88.1893 + id="path5462" 88.1894 + d="m 205.27805,658.63927 c 0,14.88618 0,14.88618 0,14.88618" 88.1895 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 88.1896 + <path 88.1897 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 88.1898 + d="m 205.05995,674.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 88.1899 + id="path5464" 88.1900 + inkscape:connector-curvature="0" /> 88.1901 + <text 88.1902 + sodipodi:linespacing="100%" 88.1903 + id="text5466" 88.1904 + y="676.37714" 88.1905 + x="192.68279" 88.1906 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.1907 + xml:space="preserve" 88.1908 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 88.1909 + id="tspan5468" 88.1910 + y="676.37714" 88.1911 + x="192.68279" 88.1912 + sodipodi:role="line" 88.1913 + style="font-size:7px;text-align:center;text-anchor:middle">call via Ptr to Dyn Lib Fn</tspan></text> 88.1914 + <path 88.1915 + sodipodi:nodetypes="cc" 88.1916 + inkscape:connector-curvature="0" 88.1917 + id="path5470" 88.1918 + d="m 137.27805,673.85824 c 0,11.43122 0,11.43122 0,11.43122" 88.1919 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 88.1920 + <text 88.1921 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 88.1922 + xml:space="preserve" 88.1923 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.1924 + x="192.18657" 88.1925 + y="646.38098" 88.1926 + id="text5472" 88.1927 + sodipodi:linespacing="100%"><tspan 88.1928 + style="font-size:7px;text-align:center;text-anchor:middle" 88.1929 + sodipodi:role="line" 88.1930 + x="192.18657" 88.1931 + y="646.38098" 88.1932 + id="tspan5474">call via Ptr to Dyn Lib Fn</tspan></text> 88.1933 + <text 88.1934 + sodipodi:linespacing="100%" 88.1935 + id="text5476" 88.1936 + y="597.08801" 88.1937 + x="-60.107929" 88.1938 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.1939 + xml:space="preserve" 88.1940 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 88.1941 + y="597.08801" 88.1942 + x="-60.107929" 88.1943 + sodipodi:role="line" 88.1944 + style="font-size:18px;text-align:center;text-anchor:middle" 88.1945 + id="tspan5482">core 1</tspan></text> 88.1946 + <text 88.1947 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 88.1948 + xml:space="preserve" 88.1949 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.1950 + x="-208.35422" 88.1951 + y="748.6394" 88.1952 + id="text5488" 88.1953 + sodipodi:linespacing="100%"><tspan 88.1954 + id="tspan5490" 88.1955 + style="font-size:18px;text-align:center;text-anchor:middle" 88.1956 + sodipodi:role="line" 88.1957 + x="-208.35422" 88.1958 + y="748.6394">core 2</tspan></text> 88.1959 + <path 88.1960 + sodipodi:nodetypes="cc" 88.1961 + inkscape:connector-curvature="0" 88.1962 + id="path5492" 88.1963 + d="m 205.27805,752.31985 c 0,7.35629 0,7.35629 0,7.35629" 88.1964 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 88.1965 + <path 88.1966 + sodipodi:nodetypes="cc" 88.1967 + inkscape:connector-curvature="0" 88.1968 + id="path5494" 88.1969 + d="m 205.27805,752.31985 c 0,7.35629 0,7.35629 0,7.35629" 88.1970 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 88.1971 + <path 88.1972 + sodipodi:nodetypes="cc" 88.1973 + inkscape:connector-curvature="0" 88.1974 + id="path5496" 88.1975 + d="m 205.27805,752.31985 c 0,7.35629 0,7.35629 0,7.35629" 88.1976 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 88.1977 + <text 88.1978 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 88.1979 + xml:space="preserve" 88.1980 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.1981 + x="-368.06558" 88.1982 + y="674.7525" 88.1983 + id="text5498" 88.1984 + sodipodi:linespacing="100%"><tspan 88.1985 + id="tspan5500" 88.1986 + style="font-size:8px;text-align:center;text-anchor:middle" 88.1987 + sodipodi:role="line" 88.1988 + x="-368.06558" 88.1989 + y="674.7525">return from</tspan><tspan 88.1990 + style="font-size:8px;text-align:center;text-anchor:middle" 88.1991 + sodipodi:role="line" 88.1992 + x="-368.06558" 88.1993 + y="682.7525" 88.1994 + id="tspan5502">suspend</tspan></text> 88.1995 + <path 88.1996 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 88.1997 + d="m 205.27805,538.31985 c 0,7.35629 0,7.35629 0,7.35629" 88.1998 + id="path5504" 88.1999 + inkscape:connector-curvature="0" 88.2000 + sodipodi:nodetypes="cc" /> 88.2001 + <path 88.2002 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 88.2003 + d="m 205.27805,538.31985 c 0,7.35629 0,7.35629 0,7.35629" 88.2004 + id="path5506" 88.2005 + inkscape:connector-curvature="0" 88.2006 + sodipodi:nodetypes="cc" /> 88.2007 + <path 88.2008 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 88.2009 + d="m 205.27805,538.31985 c 0,7.35629 0,7.35629 0,7.35629" 88.2010 + id="path5508" 88.2011 + inkscape:connector-curvature="0" 88.2012 + sodipodi:nodetypes="cc" /> 88.2013 + <text 88.2014 + sodipodi:linespacing="100%" 88.2015 + id="text5510" 88.2016 + y="520.99878" 88.2017 + x="-219.21922" 88.2018 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 88.2019 + xml:space="preserve" 88.2020 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 88.2021 + y="520.99878" 88.2022 + x="-219.21922" 88.2023 + sodipodi:role="line" 88.2024 + style="font-size:8px;text-align:center;text-anchor:middle" 88.2025 + id="tspan5512">return from</tspan><tspan 88.2026 + id="tspan5514" 88.2027 + y="528.99878" 88.2028 + x="-219.21922" 88.2029 + sodipodi:role="line" 88.2030 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text> 88.2031 + <path 88.2032 + inkscape:connector-curvature="0" 88.2033 + id="path5516" 88.2034 + d="m 271.03421,604.02605 c 193.92439,0 193.92439,0 193.92439,0" 88.2035 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 88.2036 + <path 88.2037 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 88.2038 + d="m 271.03421,384.02605 c 193.92439,0 193.92439,0 193.92439,0" 88.2039 + id="path5518" 88.2040 + inkscape:connector-curvature="0" /> 88.2041 + <path 88.2042 + sodipodi:type="arc" 88.2043 + style="fill:none;stroke:#000000;stroke-width:3.17508554;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 88.2044 + id="path4107" 88.2045 + sodipodi:cx="-177.61905" 88.2046 + sodipodi:cy="432.36218" 88.2047 + sodipodi:rx="21.428572" 88.2048 + sodipodi:ry="21.904762" 88.2049 + d="m -156.19048,432.36218 a 21.428572,21.904762 0 1 1 -42.85714,0 21.428572,21.904762 0 1 1 42.85714,0 z" 88.2050 + transform="matrix(0.46666667,0,0,0.47826088,-94.15873,438.15169)" /> 88.2051 + <path 88.2052 + transform="matrix(0.46666667,0,0,0.47826088,-94.15873,478.15169)" 88.2053 + d="m -156.19048,432.36218 a 21.428572,21.904762 0 1 1 -42.85714,0 21.428572,21.904762 0 1 1 42.85714,0 z" 88.2054 + sodipodi:ry="21.904762" 88.2055 + sodipodi:rx="21.428572" 88.2056 + sodipodi:cy="432.36218" 88.2057 + sodipodi:cx="-177.61905" 88.2058 + id="path4109" 88.2059 + style="fill:none;stroke:#000000;stroke-width:3.17508554;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 88.2060 + sodipodi:type="arc" /> 88.2061 + <path 88.2062 + sodipodi:type="arc" 88.2063 + style="fill:none;stroke:#000000;stroke-width:3.17508554;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 88.2064 + id="path4111" 88.2065 + sodipodi:cx="-177.61905" 88.2066 + sodipodi:cy="432.36218" 88.2067 + sodipodi:rx="21.428572" 88.2068 + sodipodi:ry="21.904762" 88.2069 + d="m -156.19048,432.36218 a 21.428572,21.904762 0 1 1 -42.85714,0 21.428572,21.904762 0 1 1 42.85714,0 z" 88.2070 + transform="matrix(0.46666667,0,0,0.47826088,-54.15873,478.15169)" /> 88.2071 + <path 88.2072 + transform="matrix(0.46666667,0,0,0.47826088,-134.15873,478.15169)" 88.2073 + d="m -156.19048,432.36218 a 21.428572,21.904762 0 1 1 -42.85714,0 21.428572,21.904762 0 1 1 42.85714,0 z" 88.2074 + sodipodi:ry="21.904762" 88.2075 + sodipodi:rx="21.428572" 88.2076 + sodipodi:cy="432.36218" 88.2077 + sodipodi:cx="-177.61905" 88.2078 + id="path4113" 88.2079 + style="fill:none;stroke:#000000;stroke-width:3.17508554;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 88.2080 + sodipodi:type="arc" /> 88.2081 + <path 88.2082 + sodipodi:type="arc" 88.2083 + style="fill:none;stroke:#000000;stroke-width:3.17508554;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 88.2084 + id="path4115" 88.2085 + sodipodi:cx="-177.61905" 88.2086 + sodipodi:cy="432.36218" 88.2087 + sodipodi:rx="21.428572" 88.2088 + sodipodi:ry="21.904762" 88.2089 + d="m -156.19048,432.36218 a 21.428572,21.904762 0 1 1 -42.85714,0 21.428572,21.904762 0 1 1 42.85714,0 z" 88.2090 + transform="matrix(0.46666667,0,0,0.47826088,-174.15873,478.15169)" /> 88.2091 + <path 88.2092 + transform="matrix(0.46666667,0,0,0.47826088,-134.15873,438.15169)" 88.2093 + d="m -156.19048,432.36218 a 21.428572,21.904762 0 1 1 -42.85714,0 21.428572,21.904762 0 1 1 42.85714,0 z" 88.2094 + sodipodi:ry="21.904762" 88.2095 + sodipodi:rx="21.428572" 88.2096 + sodipodi:cy="432.36218" 88.2097 + sodipodi:cx="-177.61905" 88.2098 + id="path4117" 88.2099 + style="fill:none;stroke:#000000;stroke-width:3.17508554;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 88.2100 + sodipodi:type="arc" /> 88.2101 + <path 88.2102 + style="fill:none;stroke:#000000;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 88.2103 + d="m -200.95238,433.31456 c -11.42857,21.90477 -11.42857,21.90477 -11.42857,21.90477" 88.2104 + id="path4121" 88.2105 + inkscape:connector-curvature="0" /> 88.2106 + <path 88.2107 + inkscape:connector-curvature="0" 88.2108 + id="path4305" 88.2109 + d="m -192.50586,433.31456 c 11.42857,21.90477 11.42857,21.90477 11.42857,21.90477" 88.2110 + style="fill:none;stroke:#000000;stroke-width:1.20000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" /> 88.2111 + <path 88.2112 + inkscape:connector-curvature="0" 88.2113 + id="path4307" 88.2114 + d="m -225.71428,651.40978 c -26.50192,23.74125 -26.50192,23.74125 -26.50192,23.74125" 88.2115 + style="fill:none;stroke:#000000;stroke-width:1.20000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" /> 88.2116 + <path 88.2117 + style="fill:none;stroke:#000000;stroke-width:1.20000017;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 88.2118 + d="m -217.42015,655.21934 c -0.30787,19.83147 -0.30787,19.83147 -0.30787,19.83147" 88.2119 + id="path4309" 88.2120 + inkscape:connector-curvature="0" /> 88.2121 + <path 88.2122 + style="fill:none;stroke:#000000;stroke-width:1.20000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 88.2123 + d="m -168.4046,651.40978 c 26.50192,23.74125 26.50192,23.74125 26.50192,23.74125" 88.2124 + id="path4311" 88.2125 + inkscape:connector-curvature="0" /> 88.2126 + <path 88.2127 + inkscape:connector-curvature="0" 88.2128 + id="path4313" 88.2129 + d="m -176.69873,655.21934 c 0.30787,19.83147 0.30787,19.83147 0.30787,19.83147" 88.2130 + style="fill:none;stroke:#000000;stroke-width:1.20000017;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" /> 88.2131 + <path 88.2132 + transform="matrix(0.46666667,0,0,0.47826088,-94.15873,258.15169)" 88.2133 + d="m -156.19048,432.36218 a 21.428572,21.904762 0 1 1 -42.85714,0 21.428572,21.904762 0 1 1 42.85714,0 z" 88.2134 + sodipodi:ry="21.904762" 88.2135 + sodipodi:rx="21.428572" 88.2136 + sodipodi:cy="432.36218" 88.2137 + sodipodi:cx="-177.61905" 88.2138 + id="path4315" 88.2139 + style="fill:none;stroke:#000000;stroke-width:3.17508554;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 88.2140 + sodipodi:type="arc" /> 88.2141 + <path 88.2142 + sodipodi:type="arc" 88.2143 + style="fill:none;stroke:#000000;stroke-width:3.17508554;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 88.2144 + id="path4317" 88.2145 + sodipodi:cx="-177.61905" 88.2146 + sodipodi:cy="432.36218" 88.2147 + sodipodi:rx="21.428572" 88.2148 + sodipodi:ry="21.904762" 88.2149 + d="m -156.19048,432.36218 a 21.428572,21.904762 0 1 1 -42.85714,0 21.428572,21.904762 0 1 1 42.85714,0 z" 88.2150 + transform="matrix(0.46666667,0,0,0.47826088,-134.15873,258.15169)" /> 88.2151 + <path 88.2152 + transform="matrix(0.46666667,0,0,0.47826088,-114.15873,298.15169)" 88.2153 + d="m -156.19048,432.36218 a 21.428572,21.904762 0 1 1 -42.85714,0 21.428572,21.904762 0 1 1 42.85714,0 z" 88.2154 + sodipodi:ry="21.904762" 88.2155 + sodipodi:rx="21.428572" 88.2156 + sodipodi:cy="432.36218" 88.2157 + sodipodi:cx="-177.61905" 88.2158 + id="path4319" 88.2159 + style="fill:none;stroke:#000000;stroke-width:3.17508554;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 88.2160 + sodipodi:type="arc" /> 88.2161 + <path 88.2162 + inkscape:connector-curvature="0" 88.2163 + id="path4321" 88.2164 + d="M -200.95238,496.03367 C -212.38095,474.1289 -212.38095,474.1289 -212.38095,474.1289" 88.2165 + style="fill:none;stroke:#000000;stroke-width:1.20000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow2Mstart);marker-end:none" /> 88.2166 + <path 88.2167 + style="fill:none;stroke:#000000;stroke-width:1.20000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow2Mstart);marker-end:none" 88.2168 + d="m -192.50586,496.03367 c 11.42857,-21.90477 11.42857,-21.90477 11.42857,-21.90477" 88.2169 + id="path4323" 88.2170 + inkscape:connector-curvature="0" /> 88.2171 + <path 88.2172 + style="fill:none;stroke:#000000;stroke-width:1.20000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 88.2173 + d="M -225.71428,716.04005 C -252.2162,692.2988 -252.2162,692.2988 -252.2162,692.2988" 88.2174 + id="path4953" 88.2175 + inkscape:connector-curvature="0" /> 88.2176 + <path 88.2177 + inkscape:connector-curvature="0" 88.2178 + id="path4955" 88.2179 + d="m -217.42015,712.23049 c -0.30787,-19.83147 -0.30787,-19.83147 -0.30787,-19.83147" 88.2180 + style="fill:none;stroke:#000000;stroke-width:1.20000017;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" /> 88.2181 + <path 88.2182 + inkscape:connector-curvature="0" 88.2183 + id="path4957" 88.2184 + d="m -168.4046,716.04005 c 26.50192,-23.74125 26.50192,-23.74125 26.50192,-23.74125" 88.2185 + style="fill:none;stroke:#000000;stroke-width:1.20000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" /> 88.2186 + <path 88.2187 + style="fill:none;stroke:#000000;stroke-width:1.20000017;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 88.2188 + d="m -176.69873,712.23049 c 0.30787,-19.83147 0.30787,-19.83147 0.30787,-19.83147" 88.2189 + id="path4959" 88.2190 + inkscape:connector-curvature="0" /> 88.2191 + <path 88.2192 + sodipodi:nodetypes="ccc" 88.2193 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 88.2194 + d="m -197.36182,516.33087 c -13.85073,9.59482 -52.96579,-1.16125 -54.75298,-45.56715 0.82351,-52.26625 16.71934,-80.84752 48.43875,-56.61916" 88.2195 + id="path4961" 88.2196 + inkscape:connector-curvature="0" /> 88.2197 + <path 88.2198 + style="fill:none;stroke:#000000;stroke-width:1.20000017;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" 88.2199 + d="m -196.69873,395.21934 c 0.30787,19.83147 0.30787,19.83147 0.30787,19.83147" 88.2200 + id="path4963" 88.2201 + inkscape:connector-curvature="0" /> 88.2202 + <g 88.2203 + id="g4965" 88.2204 + transform="matrix(0.33573247,0,0,0.33475494,-311.95371,310.77262)"> 88.2205 + <rect 88.2206 + style="fill:none;stroke:#000000;stroke-width:3.22208095;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 88.2207 + id="rect4967" 88.2208 + width="65.276405" 88.2209 + height="52.250008" 88.2210 + x="310.40247" 88.2211 + y="313.58255" /> 88.2212 + </g> 88.2213 + </g> 88.2214 +</svg>
89.1 Binary file 0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/Portability_stack_combined.pdf has changed
90.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 90.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/Portability_stack_combined.svg Fri Sep 13 11:02:18 2013 -0700 90.3 @@ -0,0 +1,2691 @@ 90.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 90.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 90.6 + 90.7 +<svg 90.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 90.9 + xmlns:cc="http://creativecommons.org/ns#" 90.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 90.11 + xmlns:svg="http://www.w3.org/2000/svg" 90.12 + xmlns="http://www.w3.org/2000/svg" 90.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 90.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 90.15 + width="744.09448819" 90.16 + height="1052.3622047" 90.17 + id="svg2" 90.18 + version="1.1" 90.19 + inkscape:version="0.48.1 " 90.20 + sodipodi:docname="Portability_stack_combined.svg"> 90.21 + <defs 90.22 + id="defs4"> 90.23 + <marker 90.24 + inkscape:stockid="Arrow2Mend" 90.25 + orient="auto" 90.26 + refY="0.0" 90.27 + refX="0.0" 90.28 + id="Arrow2Mend" 90.29 + style="overflow:visible;"> 90.30 + <path 90.31 + id="path12287" 90.32 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 90.33 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 90.34 + transform="scale(0.6) rotate(180) translate(0,0)" /> 90.35 + </marker> 90.36 + <marker 90.37 + inkscape:stockid="Arrow1Mend" 90.38 + orient="auto" 90.39 + refY="0.0" 90.40 + refX="0.0" 90.41 + id="Arrow1Mend" 90.42 + style="overflow:visible;"> 90.43 + <path 90.44 + id="path12269" 90.45 + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " 90.46 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;" 90.47 + transform="scale(0.4) rotate(180) translate(10,0)" /> 90.48 + </marker> 90.49 + </defs> 90.50 + <sodipodi:namedview 90.51 + id="base" 90.52 + pagecolor="#ffffff" 90.53 + bordercolor="#666666" 90.54 + borderopacity="1.0" 90.55 + inkscape:pageopacity="0.0" 90.56 + inkscape:pageshadow="2" 90.57 + inkscape:zoom="2.34" 90.58 + inkscape:cx="402.79936" 90.59 + inkscape:cy="516.17556" 90.60 + inkscape:document-units="px" 90.61 + inkscape:current-layer="layer1" 90.62 + showgrid="false" 90.63 + inkscape:window-width="1600" 90.64 + inkscape:window-height="848" 90.65 + inkscape:window-x="-8" 90.66 + inkscape:window-y="-8" 90.67 + inkscape:window-maximized="1" /> 90.68 + <metadata 90.69 + id="metadata7"> 90.70 + <rdf:RDF> 90.71 + <cc:Work 90.72 + rdf:about=""> 90.73 + <dc:format>image/svg+xml</dc:format> 90.74 + <dc:type 90.75 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 90.76 + <dc:title /> 90.77 + </cc:Work> 90.78 + </rdf:RDF> 90.79 + </metadata> 90.80 + <g 90.81 + inkscape:label="Layer 1" 90.82 + inkscape:groupmode="layer" 90.83 + id="layer1"> 90.84 + <path 90.85 + inkscape:connector-curvature="0" 90.86 + id="2" 90.87 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.88 + d="m 328.84735,601.52932 -0.33945,0 -1.77003,-5.30122 0.7274,0 1.23662,3.85381 1.16384,-3.85381 0.70317,0 -1.72155,5.30122 z" /> 90.89 + <path 90.90 + inkscape:connector-curvature="0" 90.91 + id="3" 90.92 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.93 + d="m 334.69087,601.45696 -0.55766,-3.34721 -1.04263,3.41957 -0.16972,0 -1.06688,-3.41957 -0.53343,3.34721 -0.63042,0 0.89713,-5.22886 0.26672,0 1.13961,3.81761 1.06687,-3.81761 0.29096,0 0.96988,5.22886 -0.63043,0 z" /> 90.94 + <path 90.95 + inkscape:connector-curvature="0" 90.96 + id="4" 90.97 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.98 + d="m 335.63652,601.22177 0,0 0.21822,-0.65137 0,0 0,0 c 0.12123,0.0905 0.29096,0.16284 0.46069,0.23522 l 0,0 0,0 c 0.19397,0.0723 0.33945,0.0905 0.48494,0.0905 l 0,0 0,0 c 0.26671,0 0.46068,-0.0723 0.63041,-0.2171 l 0,0 0,0 c 0.14548,-0.16285 0.21823,-0.34378 0.21823,-0.57898 l 0,0 0,0 c 0,-0.18093 -0.0242,-0.34377 -0.12123,-0.48851 l 0,0 0,0 c -0.097,-0.16283 -0.29096,-0.32568 -0.65468,-0.50661 l 0,0 -0.38795,-0.19902 0,0 0,0 c -0.3152,-0.16284 -0.55768,-0.36186 -0.67891,-0.57897 l 0,0 0,0 c -0.12124,-0.23522 -0.19397,-0.5066 -0.19397,-0.83228 l 0,0 0,0 c 0,-0.37995 0.12123,-0.70562 0.38795,-0.95891 l 0,0 0,0 c 0.24246,-0.27142 0.58191,-0.39806 0.96988,-0.39806 l 0,0 0,0 c 0.53343,0 0.87288,0.10858 1.06686,0.28949 l 0,0 -0.16973,0.61517 0,0 0,0 c -0.0727,-0.0723 -0.21822,-0.1267 -0.38795,-0.19902 l 0,0 0,0 c -0.16973,-0.0544 -0.33945,-0.0905 -0.48493,-0.0905 l 0,0 0,0 c -0.24248,0 -0.41222,0.0723 -0.53345,0.19903 l 0,0 0,0 c -0.12122,0.14474 -0.19397,0.32567 -0.19397,0.54279 l 0,0 0,0 c 0,0.1267 0.0242,0.25331 0.0727,0.36187 l 0,0 0,0 c 0.0485,0.10858 0.097,0.19902 0.19397,0.27139 l 0,0 0,0 c 0.0727,0.0723 0.24247,0.18091 0.48495,0.30758 l 0,0 0.41218,0.19902 0,0 0,0 c 0.31522,0.18092 0.53343,0.37995 0.65467,0.61515 l 0,0 0,0 c 0.12125,0.23522 0.19398,0.52471 0.19398,0.88656 l 0,0 0,0 c 0,0.39805 -0.14548,0.72373 -0.43645,0.99511 l 0,0 0,0 c -0.26672,0.2714 -0.65466,0.41613 -1.11536,0.41613 l 0,0 0,0 c -0.43644,0 -0.80015,-0.10857 -1.0911,-0.32564 z" /> 90.99 + <path 90.100 + inkscape:connector-curvature="0" 90.101 + id="5" 90.102 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.103 + d="m 302.22417,590.2936 0,0 c 0,-0.0904 0.0242,-0.16282 0.0727,-0.2352 0.0485,-0.0723 0.12123,-0.1267 0.21821,-0.16284 0.097,-0.0362 0.19399,-0.0543 0.31522,-0.0543 l 0,0 0,0.45232 -0.60618,0 z" /> 90.104 + <path 90.105 + inkscape:connector-curvature="0" 90.106 + id="6" 90.107 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.108 + d="m 302.83035,589.84127 59.40509,0 0,0.45233 0,0.47042 -59.40509,0 0,-0.47042 0,-0.45233 z" /> 90.109 + <path 90.110 + inkscape:connector-curvature="0" 90.111 + id="7" 90.112 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.113 + d="m 362.23544,589.84127 0,0 c 0.12124,0 0.21823,0.0181 0.31521,0.0544 0.097,0.0362 0.16973,0.0905 0.21823,0.16284 0.0485,0.0723 0.097,0.14474 0.097,0.2352 l 0,0 0,0 -0.63042,0 0,-0.45233 z" /> 90.114 + <path 90.115 + inkscape:connector-curvature="0" 90.116 + id="8" 90.117 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.118 + d="m 362.86586,590.2936 0,23.26755 -0.63042,0 -0.58192,0 0,-23.26755 0.58192,0 0.63042,0 z" /> 90.119 + <path 90.120 + inkscape:connector-curvature="0" 90.121 + id="9" 90.122 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.123 + d="m 362.86586,613.56115 0,0 c 0,0.0905 -0.0485,0.16282 -0.097,0.23519 -0.0485,0.0723 -0.12123,0.1267 -0.21823,0.16285 -0.097,0.0362 -0.19397,0.0723 -0.31521,0.0723 l 0,0 0,-0.47041 0.63042,0 z" /> 90.124 + <path 90.125 + inkscape:connector-curvature="0" 90.126 + id="10" 90.127 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.128 + d="m 362.23544,614.03156 -59.40509,0 0,-0.47041 0,-0.45234 59.40509,0 0,0.45234 0,0.47041 z" /> 90.129 + <path 90.130 + inkscape:connector-curvature="0" 90.131 + id="11" 90.132 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.133 + d="m 302.83035,614.03156 0,0 c -0.12123,0 -0.21822,-0.0361 -0.31522,-0.0723 -0.097,-0.0362 -0.16971,-0.0905 -0.21821,-0.16285 -0.0485,-0.0723 -0.0727,-0.14473 -0.0727,-0.23519 l 0,0 0.60618,0 0,0.4704 z" /> 90.134 + <path 90.135 + inkscape:connector-curvature="0" 90.136 + id="12" 90.137 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.138 + d="m 302.22417,613.56115 0,-23.26755 0.60618,0 0.63042,0 0,23.26755 -0.63042,0 -0.60618,0 z" /> 90.139 + <path 90.140 + inkscape:connector-curvature="0" 90.141 + id="13" 90.142 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.143 + d="m 320.06994,612.6384 0,-2.24352 -1.81851,0 0,2.24352 -0.58193,0 0,-4.64989 0.58193,0 0,1.86358 1.81851,0 0,-1.86358 0.58193,0 0,4.64989 -0.58193,0 z" /> 90.144 + <path 90.145 + inkscape:connector-curvature="0" 90.146 + id="14" 90.147 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.148 + d="m 323.2463,612.25845 0,0 0,0 c -0.21822,0.28949 -0.55768,0.45232 -1.01836,0.45232 l 0,0 0,0 c -0.24249,0 -0.4607,-0.10858 -0.63044,-0.28948 l 0,0 0,0 c -0.16973,-0.19903 -0.26671,-0.43424 -0.26671,-0.72373 l 0,0 0,0 c 0,-0.34375 0.14548,-0.63324 0.4122,-0.88655 l 0,0 0,0 c 0.26671,-0.23519 0.63043,-0.34375 1.04261,-0.34375 l 0,0 0,0 c 0.12125,0 0.26673,0.0181 0.41222,0.0723 l 0,0 0,0 c 0,-0.5428 -0.21824,-0.81418 -0.67892,-0.81418 l 0,0 0,0 c -0.33946,0 -0.60618,0.0905 -0.80015,0.30758 l 0,0 -0.21823,-0.52469 0,0 0,0 c 0.097,-0.0905 0.24247,-0.18093 0.4122,-0.23522 l 0,0 0,0 c 0.19397,-0.0723 0.3637,-0.10858 0.53343,-0.10858 l 0,0 0,0 c 0.4607,0 0.80015,0.10858 0.96988,0.34378 l 0,0 0,0 c 0.19397,0.23522 0.31522,0.59706 0.31522,1.08558 l 0,0 0,1.21222 0,0 0,0 c 0,0.28948 0.0727,0.48851 0.24246,0.59706 l 0,0 0,0.28949 0,0 0,0 c -0.24246,0 -0.41219,-0.0181 -0.50919,-0.0905 l 0,0 0,0 c -0.12122,-0.0723 -0.19397,-0.19902 -0.21822,-0.34376 z m -0.0485,-1.2846 0,0 0,0 c -0.16974,-0.0362 -0.29097,-0.0723 -0.36372,-0.0723 l 0,0 0,0 c -0.29095,0 -0.50918,0.0904 -0.67891,0.2352 l 0,0 0,0 c -0.19397,0.16284 -0.26672,0.34378 -0.26672,0.56088 l 0,0 0,0 c 0,0.36187 0.16973,0.52469 0.55768,0.52469 l 0,0 0,0 c 0.29097,0 0.53343,-0.14473 0.75167,-0.43422 l 0,-0.81419 z" /> 90.149 + <path 90.150 + inkscape:connector-curvature="0" 90.151 + id="15" 90.152 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.153 + d="m 326.25293,609.834 0,0 0,0 c -0.12124,-0.0905 -0.24247,-0.14475 -0.3637,-0.14475 l 0,0 0,0 c -0.16974,0 -0.33947,0.0905 -0.48494,0.28949 l 0,0 0,0 c -0.14548,0.19901 -0.21823,0.43423 -0.21823,0.72372 l 0,0 0,1.93594 -0.55768,0 0,-3.40146 0.55768,0 0,0.54277 0,0 0,0 c 0.19398,-0.41615 0.50918,-0.61517 0.8729,-0.61517 l 0,0 0,0 c 0.097,0 0.24247,0.0181 0.43643,0.0544 l -0.24246,0.61517 z" /> 90.154 + <path 90.155 + inkscape:connector-curvature="0" 90.156 + id="16" 90.157 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.158 + d="m 328.84735,612.6384 0,0 0,-0.25329 0,0 0,0 c -0.19396,0.21709 -0.4607,0.30757 -0.82438,0.30757 l 0,0 0,0 c -0.38796,0 -0.70316,-0.14474 -0.94565,-0.45232 l 0,0 0,0 c -0.24246,-0.30758 -0.3637,-0.70562 -0.3637,-1.21223 l 0,0 0,0 c 0,-0.5066 0.12124,-0.94084 0.4122,-1.3027 l 0,0 0,0 c 0.26672,-0.37996 0.60617,-0.56089 0.99413,-0.56089 l 0,0 0,0 c 0.3152,0 0.55769,0.0905 0.7274,0.25331 l 0,0 0,-1.5741 0.55768,0 0,4.79465 -0.55768,0 z m 0,-2.60538 0,0 0,0 c -0.12123,-0.23522 -0.3152,-0.34377 -0.55768,-0.34377 l 0,0 0,0 c -0.3152,0 -0.53343,0.1267 -0.7274,0.36186 l 0,0 0,0 c -0.19398,0.2352 -0.26671,0.54279 -0.26671,0.92274 l 0,0 0,0 c 0,0.81418 0.33945,1.23031 1.01836,1.23031 l 0,0 0,0 c 0.0727,0 0.19398,-0.0362 0.31522,-0.0905 l 0,0 0,0 c 0.12123,-0.0723 0.19398,-0.1267 0.21821,-0.19902 l 0,-1.88167 z" /> 90.159 + <path 90.160 + inkscape:connector-curvature="0" 90.161 + id="17" 90.162 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.163 + d="m 333.04208,612.71077 -0.14547,0 -0.89715,-2.31589 -0.89715,2.31589 -0.14546,0 -1.11537,-3.49194 0.60617,0 0.65466,2.24354 0.80017,-2.24354 0.14548,0 0.84865,2.24354 0.7274,-2.24354 0.53343,0 -1.11536,3.49194 z" /> 90.164 + <path 90.165 + inkscape:connector-curvature="0" 90.166 + id="18" 90.167 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.168 + d="m 336.36392,612.25845 0,0 0,0 c -0.21822,0.28949 -0.55768,0.45232 -1.01838,0.45232 l 0,0 0,0 c -0.24247,0 -0.46069,-0.10858 -0.63042,-0.28948 l 0,0 0,0 c -0.19398,-0.19903 -0.26671,-0.43424 -0.26671,-0.72373 l 0,0 0,0 c 0,-0.34375 0.12123,-0.63324 0.41219,-0.88655 l 0,0 0,0 c 0.26672,-0.23519 0.63044,-0.34375 1.04262,-0.34375 l 0,0 0,0 c 0.12123,0 0.26673,0.0181 0.41221,0.0723 l 0,0 0,0 c 0,-0.5428 -0.24248,-0.81418 -0.67891,-0.81418 l 0,0 0,0 c -0.33947,0 -0.60618,0.0905 -0.80017,0.30758 l 0,0 -0.24246,-0.52469 0,0 0,0 c 0.12123,-0.0905 0.26671,-0.18093 0.43645,-0.23522 l 0,0 0,0 c 0.19396,-0.0723 0.3637,-0.10858 0.53343,-0.10858 l 0,0 0,0 c 0.46068,0 0.77591,0.10858 0.99413,0.34378 l 0,0 0,0 c 0.19397,0.23522 0.3152,0.59706 0.3152,1.08558 l 0,0 0,1.21222 0,0 0,0 c 0,0.28948 0.0727,0.48851 0.24248,0.59706 l 0,0 0,0.28949 0,0 0,0 c -0.24248,0 -0.41221,-0.0181 -0.5092,-0.0905 l 0,0 0,0 c -0.12123,-0.0723 -0.19396,-0.19902 -0.24246,-0.34376 z m -0.0485,-1.2846 0,0 0,0 c -0.16973,-0.0362 -0.29098,-0.0723 -0.36371,-0.0723 l 0,0 0,0 c -0.29095,0 -0.50918,0.0904 -0.70317,0.2352 l 0,0 0,0 c -0.16971,0.16284 -0.24246,0.34378 -0.24246,0.56088 l 0,0 0,0 c 0,0.36187 0.16973,0.52469 0.55768,0.52469 l 0,0 0,0 c 0.29097,0 0.53343,-0.14473 0.75166,-0.43422 l 0,-0.81419 z" /> 90.169 + <path 90.170 + inkscape:connector-curvature="0" 90.171 + id="19" 90.172 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.173 + d="m 339.39479,609.834 0,0 0,0 c -0.12123,-0.0905 -0.24246,-0.14475 -0.3637,-0.14475 l 0,0 0,0 c -0.19398,0 -0.36371,0.0905 -0.50919,0.28949 l 0,0 0,0 c -0.14547,0.19901 -0.21822,0.43423 -0.21822,0.72372 l 0,0 0,1.93594 -0.53343,0 0,-3.40146 0.53343,0 0,0.54277 0,0 0,0 c 0.19398,-0.41615 0.50918,-0.61517 0.89713,-0.61517 l 0,0 0,0 c 0.097,0 0.24247,0.0181 0.43645,0.0544 l -0.24247,0.61517 z" /> 90.174 + <path 90.175 + inkscape:connector-curvature="0" 90.176 + id="20" 90.177 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.178 + d="m 342.64389,611.01003 0,0 -2.25497,0 0,0 0,0 c 0,0.39805 0.12124,0.68753 0.3152,0.90466 l 0,0 0,0 c 0.16974,0.18091 0.38797,0.28947 0.67892,0.28947 l 0,0 0,0 c 0.31521,0 0.58193,-0.10857 0.7759,-0.30755 l 0,0 0.24248,0.43421 0,0 0,0 c -0.0727,0.0905 -0.21823,0.18093 -0.38795,0.23522 l 0,0 0,0 c -0.21823,0.0904 -0.4607,0.14473 -0.75166,0.14473 l 0,0 0,0 c -0.38795,0 -0.70315,-0.14473 -0.99414,-0.43424 l 0,0 0,0 c -0.29094,-0.32566 -0.46068,-0.7599 -0.46068,-1.28459 l 0,0 0,0 c 0,-0.56088 0.16974,-1.0132 0.48493,-1.37507 l 0,0 0,0 c 0.26674,-0.30757 0.60619,-0.45233 0.99414,-0.45233 l 0,0 0,0 c 0.43644,0 0.77589,0.14476 1.04261,0.41615 l 0,0 0,0 c 0.24248,0.2714 0.36372,0.61517 0.36372,1.04939 l 0,0 0,0 c 0,0.14474 -0.0242,0.25332 -0.0485,0.37995 z m -1.33358,-1.32078 0,0 0,0 c -0.24247,0 -0.4607,0.0905 -0.63044,0.25328 l 0,0 0,0 c -0.14546,0.18095 -0.24246,0.37998 -0.2667,0.61517 l 0,0 1.72153,0 0,0 0,0 c 0,-0.23519 -0.0727,-0.43422 -0.21821,-0.59706 l 0,0 0,0 c -0.14549,-0.18093 -0.33947,-0.27139 -0.60618,-0.27139 z" /> 90.179 + <path 90.180 + inkscape:connector-curvature="0" 90.181 + id="21" 90.182 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.183 + d="m 344.85036,612.6384 0,0 0,-0.12669 1.33358,-2.22544 0,0 0,0 c 0.26672,-0.4704 0.4122,-0.88655 0.4122,-1.21223 l 0,0 0,0 c 0,-0.41611 -0.21823,-0.63325 -0.67891,-0.63325 l 0,0 0,0 c -0.14549,0 -0.29097,0.0362 -0.43645,0.12669 l 0,0 0,0 c -0.12123,0.0905 -0.24247,0.19902 -0.29097,0.34377 l 0,0 -0.38795,-0.34377 0,0 0,0 c 0.0728,-0.19902 0.19399,-0.36186 0.38795,-0.48851 l 0,0 0,0 c 0.19399,-0.12669 0.43645,-0.18093 0.70317,-0.18093 l 0,0 0,0 c 0.4122,0 0.72741,0.10858 0.96988,0.30758 l 0,0 0,0 c 0.21821,0.19902 0.33946,0.50661 0.33946,0.86847 l 0,0 0,0 c 0,0.36187 -0.1455,0.81418 -0.46069,1.33888 l 0,0 -0.94564,1.66455 1.67305,0 0,0.56088 -2.61868,0 z" /> 90.184 + <path 90.185 + inkscape:connector-curvature="0" 90.186 + id="22" 90.187 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.188 + d="m 303.36378,606.39634 58.36248,0.34376 0,0.43423 0,0.43423 -58.36248,-0.34378 0,-0.43423 0,-0.43421 z" /> 90.189 + <path 90.190 + inkscape:connector-curvature="0" 90.191 + id="23" 90.192 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.193 + d="m 217.38401,539.83236 0,0 0,0 c 0,-0.74179 0.19397,-1.37506 0.53343,-1.88165 l 0,0 0,0 c 0.33945,-0.50662 0.80015,-0.75991 1.38207,-0.75991 l 0,0 0,0 c 0.65468,0 1.16386,0.23521 1.52756,0.70562 l 0,0 0,0 c 0.3637,0.47043 0.53343,1.12177 0.53343,1.93594 l 0,0 0,0 c 0,0.86846 -0.16973,1.53792 -0.53343,2.02642 l 0,0 0,0 c -0.3637,0.47042 -0.87288,0.72371 -1.52756,0.72371 l 0,0 0,0 c -0.60617,0 -1.04262,-0.25329 -1.40632,-0.778 l 0,0 0,0 c -0.33946,-0.50661 -0.50918,-1.15794 -0.50918,-1.97213 z m 0.70315,0 0,0 0,0 c 0,0.59708 0.097,1.10368 0.29096,1.50172 l 0,0 0,0 c 0.21822,0.39804 0.53344,0.59706 0.92139,0.59706 l 0,0 0,0 c 0.43644,0 0.77591,-0.18091 1.01838,-0.54278 l 0,0 0,0 c 0.24246,-0.36186 0.3637,-0.88656 0.3637,-1.556 l 0,0 0,0 c 0,-1.32077 -0.46069,-1.99021 -1.38208,-1.99021 l 0,0 0,0 c -0.4122,0 -0.70317,0.18092 -0.92139,0.54278 l 0,0 0,0 c -0.19398,0.36186 -0.29096,0.85037 -0.29096,1.44743 z" /> 90.194 + <path 90.195 + inkscape:connector-curvature="0" 90.196 + id="24" 90.197 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.198 + d="m 222.69408,542.27492 0,0 0,1.71883 -0.63041,0 0,-5.30125 0.63041,0 0,0.30758 0,0 0,0 c 0.21823,-0.25329 0.50918,-0.37995 0.84865,-0.37995 l 0,0 0,0 c 0.48495,0 0.84865,0.16284 1.13961,0.50661 l 0,0 0,0 c 0.26672,0.34376 0.4122,0.81418 0.4122,1.46555 l 0,0 0,0 c 0,0.57897 -0.14548,1.04937 -0.4122,1.41123 l 0,0 0,0 c -0.29096,0.37996 -0.67891,0.56089 -1.1881,0.56089 l 0,0 0,0 c -0.14548,0 -0.31521,-0.0362 -0.48494,-0.0904 l 0,0 0,0 c -0.16974,-0.0542 -0.26672,-0.1267 -0.31522,-0.19901 z m 0,-2.76823 0,0 0,2.20734 0,0 0,0 c 0.0242,0.0723 0.12125,0.1267 0.24248,0.19902 l 0,0 0,0 c 0.12124,0.0544 0.24247,0.0723 0.3637,0.0723 l 0,0 0,0 c 0.7759,0 1.13962,-0.47041 1.13962,-1.41123 l 0,0 0,0 c 0,-0.48853 -0.097,-0.83228 -0.24247,-1.04939 l 0,0 0,0 c -0.19398,-0.21713 -0.48495,-0.32569 -0.89715,-0.32569 l 0,0 0,0 c -0.0728,0 -0.19398,0.0181 -0.31521,0.0905 l 0,0 0,0 c -0.12124,0.0723 -0.21822,0.14475 -0.29097,0.21712 z" /> 90.199 + <path 90.200 + inkscape:connector-curvature="0" 90.201 + id="25" 90.202 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.203 + d="m 228.70733,540.64655 0,0 -2.52167,0 0,0 0,0 c 0,0.45231 0.12123,0.79609 0.33944,1.03131 l 0,0 0,0 c 0.19399,0.2171 0.4607,0.30756 0.7759,0.30756 l 0,0 0,0 c 0.33947,0 0.65468,-0.10858 0.8729,-0.32566 l 0,0 0.26672,0.48851 0,0 0,0 c -0.097,0.0905 -0.24247,0.18093 -0.43645,0.27138 l 0,0 0,0 c -0.24247,0.0905 -0.53343,0.14476 -0.82438,0.14476 l 0,0 0,0 c -0.43645,0 -0.8244,-0.16285 -1.11538,-0.48851 l 0,0 0,0 c -0.36369,-0.36187 -0.53342,-0.85038 -0.53342,-1.44744 l 0,0 0,0 c 0,-0.63326 0.19397,-1.12177 0.53342,-1.50172 l 0,0 0,0 c 0.31523,-0.34377 0.67893,-0.50661 1.11538,-0.50661 l 0,0 0,0 c 0.50918,0 0.89713,0.14475 1.16384,0.45232 l 0,0 0,0 c 0.29097,0.30761 0.4122,0.66945 0.4122,1.15797 l 0,0 0,0 c 0,0.16282 0,0.28947 -0.0485,0.41613 z m -1.50331,-1.44745 0,0 0,0 c -0.26672,0 -0.50918,0.0905 -0.67892,0.2895 l 0,0 0,0 c -0.19396,0.18092 -0.29095,0.39804 -0.3152,0.66945 l 0,0 1.93975,0 0,0 0,0 c 0,-0.27141 -0.0727,-0.48853 -0.24247,-0.66945 l 0,0 0,0 c -0.16971,-0.19902 -0.41219,-0.2895 -0.70316,-0.2895 z" /> 90.204 + <path 90.205 + inkscape:connector-curvature="0" 90.206 + id="26" 90.207 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.208 + d="m 231.54423,542.49203 0,0 0,-2.22544 0,0 0,0 c 0,-0.39803 -0.0485,-0.66943 -0.16972,-0.83227 l 0,0 0,0 c -0.097,-0.16282 -0.29097,-0.23522 -0.55768,-0.23522 l 0,0 0,0 c -0.14549,0 -0.29097,0.0362 -0.43645,0.1267 l 0,0 0,0 c -0.14548,0.0905 -0.26672,0.21711 -0.33947,0.34375 l 0,0 0,2.82251 -0.63041,0 0,-3.79953 0.43645,0 0.19396,0.48851 0,0 0,0 c 0.19399,-0.37995 0.5092,-0.56088 0.96988,-0.56088 l 0,0 0,0 c 0.77592,0 1.16387,0.50661 1.16387,1.50172 l 0,0 0,2.37018 -0.63043,0 z" /> 90.209 + <path 90.210 + inkscape:connector-curvature="0" 90.211 + id="27" 90.212 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.213 + d="m 236.6846,542.49203 -0.53344,-3.32909 -1.04263,3.40147 -0.16973,0 -1.0911,-3.40147 -0.53343,3.32909 -0.63043,0 0.89713,-5.21078 0.29098,0 1.1396,3.79954 1.06686,-3.79954 0.26672,0 0.96988,5.21078 -0.63041,0 z" /> 90.214 + <path 90.215 + inkscape:connector-curvature="0" 90.216 + id="28" 90.217 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.218 + d="m 238.47886,540.48371 0,0 0,2.00832 -0.65467,0 0,-5.21078 0,0 0,0 c 0.5092,-0.0181 0.80017,-0.0362 0.89715,-0.0362 l 0,0 0,0 c 1.40633,0 2.08525,0.5066 2.08525,1.51979 l 0,0 0,0 c 0,1.15796 -0.60619,1.75502 -1.84278,1.75502 l 0,0 0,0 c -0.0727,0 -0.21822,-0.0181 -0.48495,-0.0362 z m 0,-2.55109 0,0 0,1.89974 0,0 0,0 c 0.29098,0.0362 0.43646,0.0362 0.43646,0.0362 l 0,0 0,0 c 0.82439,0 1.2366,-0.32567 1.2366,-1.01321 l 0,0 0,0 c 0,-0.65135 -0.43646,-0.95893 -1.30935,-0.95893 l 0,0 0,0 c -0.097,0 -0.19398,0 -0.36371,0.0362 z" /> 90.219 + <path 90.220 + inkscape:connector-curvature="0" 90.221 + id="29" 90.222 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.223 + d="m 243.06155,539.97712 1.13961,0 0,0.50659 -1.13961,0 0,1.23032 -0.4607,0 0,-1.23032 -1.11535,0 0,-0.50659 1.11535,0 0,-1.21224 0.4607,0 0,1.21224 z" /> 90.224 + <path 90.225 + inkscape:connector-curvature="0" 90.226 + id="30" 90.227 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.228 + d="m 245.72872,540.48371 0,0 0,2.00832 -0.65466,0 0,-5.21078 0,0 0,0 c 0.48493,-0.0181 0.80013,-0.0362 0.89713,-0.0362 l 0,0 0,0 c 1.35783,0 2.06098,0.5066 2.06098,1.51979 l 0,0 0,0 c 0,1.15796 -0.63042,1.75502 -1.84276,1.75502 l 0,0 0,0 c -0.0727,0 -0.21822,-0.0181 -0.46069,-0.0362 z m 0,-2.55109 0,0 0,1.89974 0,0 0,0 c 0.2667,0.0362 0.38795,0.0362 0.41219,0.0362 l 0,0 0,0 c 0.80016,0 1.21234,-0.32567 1.21234,-1.01321 l 0,0 0,0 c 0,-0.65135 -0.43643,-0.95893 -1.26083,-0.95893 l 0,0 0,0 c -0.097,0 -0.21823,0 -0.3637,0.0362 z" /> 90.229 + <path 90.230 + inkscape:connector-curvature="0" 90.231 + id="31" 90.232 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.233 + d="m 224.73083,547.77517 0,0 0,1.99023 -0.63042,0 0,-5.19268 0,0 0,0 c 0.46068,-0.0181 0.75166,-0.0362 0.8729,-0.0362 l 0,0 0,0 c 1.38208,0 2.08524,0.50661 2.08524,1.51981 l 0,0 0,0 c 0,1.17605 -0.63043,1.75502 -1.84278,1.75502 l 0,0 0,0 c -0.0727,0 -0.24246,0 -0.48494,-0.0362 z m 0,-2.56919 0,0 0,1.93593 0,0 0,0 c 0.26673,0.0181 0.41219,0.0362 0.43644,0.0362 l 0,0 0,0 c 0.80015,0 1.21237,-0.34377 1.21237,-1.04941 l 0,0 0,0 c 0,-0.63323 -0.43647,-0.95892 -1.30935,-0.95892 l 0,0 0,0 c -0.0727,0 -0.19398,0.0181 -0.33946,0.0362 z" /> 90.234 + <path 90.235 + inkscape:connector-curvature="0" 90.236 + id="32" 90.237 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.238 + d="m 227.8102,548.71599 0,0 0,-4.30612 0.63042,0 0,4.17948 0,0 0,0 c 0,0.21713 0.0485,0.37995 0.14548,0.48851 l 0,0 0,0 c 0.12123,0.10858 0.26672,0.16283 0.43645,0.16283 l 0,0 0,0.59707 0,0 0,0 c -0.80015,0 -1.21235,-0.37995 -1.21235,-1.12177 z" /> 90.239 + <path 90.240 + inkscape:connector-curvature="0" 90.241 + id="33" 90.242 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.243 + d="m 230.30764,545.96588 0,0 0,2.44253 0,0 0,0 c 0,0.59707 0.21822,0.86847 0.70315,0.86847 l 0,0 0,0 c 0.19399,0 0.38795,-0.0723 0.55769,-0.18092 l 0,0 0,0 c 0.16973,-0.1267 0.29096,-0.2714 0.33946,-0.43424 l 0,0 0,-2.69584 0.63042,0 0,3.79952 -0.63042,0 0,-0.52471 0,0 0,0 c -0.0727,0.16285 -0.21823,0.2895 -0.4122,0.41614 l 0,0 0,0 c -0.21821,0.1267 -0.43645,0.18093 -0.63043,0.18093 l 0,0 0,0 c -0.38793,0 -0.65466,-0.10857 -0.84863,-0.34376 l 0,0 0,0 c -0.21822,-0.25331 -0.31522,-0.57897 -0.31522,-1.0132 l 0,0 0,-2.51492 0.60618,0 z" /> 90.244 + <path 90.245 + inkscape:connector-curvature="0" 90.246 + id="34" 90.247 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.248 + d="m 233.24152,550.81479 0,0 0.33945,-0.54279 0,0 0,0 c 0.36372,0.2714 0.70317,0.39804 1.01838,0.39804 l 0,0 0,0 c 0.26672,0 0.48493,-0.0542 0.65467,-0.16284 l 0,0 0,0 c 0.16973,-0.0905 0.24248,-0.2352 0.24248,-0.37993 l 0,0 0,0 c 0,-0.30759 -0.19398,-0.47044 -0.60618,-0.47044 l 0,0 0,0 c -0.0728,0 -0.19397,0.0181 -0.38795,0.0544 l 0,0 0,0 c -0.19398,0.0361 -0.31522,0.0542 -0.43645,0.0542 l 0,0 0,0 c -0.48495,0 -0.72742,-0.19902 -0.72742,-0.61517 l 0,0 0,0 c 0,-0.10857 0.0485,-0.21711 0.16974,-0.32567 l 0,0 0,0 c 0.12123,-0.0905 0.26671,-0.16284 0.43645,-0.2171 l 0,0 0,0 c -0.50919,-0.25332 -0.75165,-0.68754 -0.75165,-1.3027 l 0,0 0,0 c 0,-0.39805 0.12123,-0.74182 0.38793,-0.99513 l 0,0 0,0 c 0.26673,-0.27138 0.58193,-0.39802 0.94565,-0.39802 l 0,0 0,0 c 0.33945,0 0.60616,0.0723 0.80015,0.2171 l 0,0 0.3152,-0.39805 0.41221,0.41615 -0.38796,0.30758 0,0 0,0 c 0.16973,0.21712 0.24248,0.5247 0.24248,0.88656 l 0,0 0,0 c 0,0.37996 -0.097,0.70562 -0.31522,0.95893 l 0,0 0,0 c -0.21821,0.27138 -0.5092,0.41612 -0.8729,0.45231 l 0,0 -0.50918,0.0544 0,0 0,0 c -0.0727,0.0181 -0.14548,0.0361 -0.24246,0.0905 l 0,0 0,0 c -0.12124,0.0362 -0.16974,0.0905 -0.16974,0.16283 l 0,0 0,0 c 0,0.0723 0.12124,0.1267 0.33945,0.1267 l 0,0 0,0 c 0.0727,0 0.21823,-0.0181 0.43645,-0.0544 l 0,0 0,0 c 0.19398,-0.0362 0.33947,-0.0362 0.43645,-0.0362 l 0,0 0,0 c 0.33947,0 0.60617,0.0723 0.80015,0.25329 l 0,0 0,0 c 0.19398,0.18094 0.29096,0.43424 0.29096,0.74182 l 0,0 0,0 c 0,0.36185 -0.14548,0.63326 -0.43644,0.85036 l 0,0 0,0 c -0.29095,0.21712 -0.65467,0.32567 -1.09112,0.32567 l 0,0 0,0 c -0.21822,0 -0.46068,-0.0362 -0.7274,-0.12669 l 0,0 0,0 c -0.24248,-0.0905 -0.43645,-0.19904 -0.60618,-0.32568 z m 1.33358,-4.3604 0,0 0,0 c -0.21822,0 -0.38795,0.0723 -0.53343,0.2352 l 0,0 0,0 c -0.14548,0.18093 -0.19397,0.37995 -0.19397,0.61517 l 0,0 0,0 c 0,0.27139 0.0485,0.48851 0.19397,0.66944 l 0,0 0,0 c 0.12123,0.16284 0.29097,0.25328 0.53343,0.25328 l 0,0 0,0 c 0.21823,0 0.38795,-0.0905 0.50918,-0.25328 l 0,0 0,0 c 0.12125,-0.16285 0.19399,-0.39805 0.19399,-0.66944 l 0,0 0,0 c 0,-0.23522 -0.0727,-0.43424 -0.21822,-0.61517 l 0,0 0,0 c -0.12125,-0.16283 -0.29097,-0.2352 -0.48495,-0.2352 z" /> 90.249 + <path 90.250 + inkscape:connector-curvature="0" 90.251 + id="35" 90.252 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.253 + d="m 237.36351,544.53653 0,0 0,0 c 0.097,0 0.19397,0.0362 0.26672,0.10857 l 0,0 0,0 c 0.0727,0.0905 0.12123,0.18093 0.12123,0.30758 l 0,0 0,0 c 0,0.10858 -0.0485,0.21712 -0.12123,0.2895 l 0,0 0,0 c -0.0728,0.0905 -0.16974,0.12669 -0.26672,0.12669 l 0,0 0,0 c -0.12123,0 -0.19398,-0.0362 -0.26672,-0.12669 l 0,0 0,0 c -0.0727,-0.0723 -0.12123,-0.18093 -0.12123,-0.2895 l 0,0 0,0 c 0,-0.12669 0.0485,-0.21711 0.12123,-0.30758 l 0,0 0,0 c 0.0727,-0.0723 0.14549,-0.10857 0.26672,-0.10857 z m -0.33946,5.22887 0,0 0,-3.22055 -0.48494,0 0,-0.57897 1.09112,0 0,3.79952 -0.60618,0 z" /> 90.254 + <path 90.255 + inkscape:connector-curvature="0" 90.256 + id="36" 90.257 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.258 + d="m 240.78234,549.7654 0,0 0,-2.18925 0,0 0,0 c 0,-0.41614 -0.0485,-0.68752 -0.16974,-0.85037 l 0,0 0,0 c -0.12123,-0.16284 -0.29096,-0.2533 -0.55768,-0.2533 l 0,0 0,0 c -0.14548,0 -0.29096,0.0542 -0.46068,0.14473 l 0,0 0,0 c -0.14548,0.0905 -0.26673,0.19904 -0.33947,0.34378 l 0,0 0,2.80441 -0.63041,0 0,-3.79952 0.43643,0 0.19398,0.5066 0,0 0,0 c 0.19399,-0.37995 0.53344,-0.56088 0.99413,-0.56088 l 0,0 0,0 c 0.7759,0 1.16385,0.50659 1.16385,1.5198 l 0,0 0,2.334 -0.63041,0 z" /> 90.259 + <path 90.260 + inkscape:connector-curvature="0" 90.261 + id="38" 90.262 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.263 + d="m 213.3105,532.19714 39.06189,0 0,0.45232 0,0.47042 -39.06189,0 0,-0.47042 0,-0.45232 z" /> 90.264 + <path 90.265 + inkscape:connector-curvature="0" 90.266 + id="39" 90.267 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.268 + d="m 252.37239,532.19714 0,0 c 0.12123,0 0.21822,0.0181 0.31522,0.0542 0.097,0.0362 0.16971,0.0905 0.21821,0.16285 0.0485,0.0723 0.097,0.14473 0.097,0.23519 l 0,0 0,0 -0.63042,0 0,-0.45231 z" /> 90.269 + <path 90.270 + inkscape:connector-curvature="0" 90.271 + id="40" 90.272 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.273 + d="m 253.00281,532.64946 0,23.24944 -0.63042,0 -0.60618,0 0,-23.24944 0.60618,0 0.63042,0 z" /> 90.274 + <path 90.275 + inkscape:connector-curvature="0" 90.276 + id="41" 90.277 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.278 + d="m 253.00281,555.8989 0,0 c 0,0.0905 -0.0485,0.16285 -0.097,0.23522 -0.0485,0.0723 -0.12123,0.12669 -0.21821,0.16285 -0.097,0.0362 -0.19399,0.0723 -0.31522,0.0723 l 0,0 0,-0.47044 0.63042,0 z" /> 90.279 + <path 90.280 + inkscape:connector-curvature="0" 90.281 + id="42" 90.282 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.283 + d="m 252.37239,556.36933 -39.06189,0 0,-0.47043 0,-0.45232 39.06189,0 0,0.45232 0,0.47043 z" /> 90.284 + <path 90.285 + inkscape:connector-curvature="0" 90.286 + id="43" 90.287 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.288 + d="m 213.3105,556.36933 0,0 c -0.12123,0 -0.21821,-0.0362 -0.31521,-0.0723 -0.097,-0.0362 -0.16974,-0.0905 -0.21822,-0.16285 -0.0485,-0.0723 -0.0727,-0.14473 -0.0727,-0.23521 l 0,0 0.60616,0 0,0.47043 z" /> 90.289 + <path 90.290 + inkscape:connector-curvature="0" 90.291 + id="44" 90.292 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.293 + d="m 212.70434,555.8989 0,-23.24944 0.60616,0 0.63044,0 0,23.24944 -0.63044,0 -0.60616,0 z" /> 90.294 + <path 90.295 + inkscape:connector-curvature="0" 90.296 + id="45" 90.297 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.298 + d="m 287.28804,542.49203 -0.58193,-3.32909 -1.04262,3.40147 -0.16973,0 -1.04261,-3.40147 -0.53344,3.32909 -0.63043,0 0.8729,-5.21078 0.31522,0 1.11534,3.79954 1.04263,-3.79954 0.29095,0 0.9699,5.21078 -0.60618,0 z" /> 90.299 + <path 90.300 + inkscape:connector-curvature="0" 90.301 + id="46" 90.302 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.303 + d="m 289.08232,540.48371 0,0 0,2.00832 -0.65467,0 0,-5.21078 0,0 0,0 c 0.48493,-0.0181 0.80015,-0.0362 0.89713,-0.0362 l 0,0 0,0 c 1.35783,0 2.061,0.5066 2.061,1.51979 l 0,0 0,0 c 0,1.15796 -0.63042,1.75502 -1.81853,1.75502 l 0,0 0,0 c -0.0727,0 -0.24247,-0.0181 -0.48493,-0.0362 z m 0,-2.55109 0,0 0,1.89974 0,0 0,0 c 0.26671,0.0362 0.4122,0.0362 0.43643,0.0362 l 0,0 0,0 c 0.77591,0 1.18811,-0.32567 1.18811,-1.01321 l 0,0 0,0 c 0,-0.65135 -0.43645,-0.95893 -1.26084,-0.95893 l 0,0 0,0 c -0.097,0 -0.21822,0 -0.3637,0.0362 z" /> 90.304 + <path 90.305 + inkscape:connector-curvature="0" 90.306 + id="47" 90.307 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.308 + d="m 292.25866,542.49203 0,-5.21078 0.65468,0 0,5.21078 -0.65468,0 z" /> 90.309 + <path 90.310 + inkscape:connector-curvature="0" 90.311 + id="48" 90.312 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.313 + d="m 295.53202,539.97712 1.11535,0 0,0.50659 -1.11535,0 0,1.23032 -0.48495,0 0,-1.23032 -1.11536,0 0,-0.50659 1.11536,0 0,-1.21224 0.48495,0 0,1.21224 z" /> 90.314 + <path 90.315 + inkscape:connector-curvature="0" 90.316 + id="49" 90.317 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.318 + d="m 298.15068,540.48371 0,0 0,2.00832 -0.65467,0 0,-5.21078 0,0 0,0 c 0.50919,-0.0181 0.80015,-0.0362 0.89715,-0.0362 l 0,0 0,0 c 1.40631,0 2.10948,0.5066 2.10948,1.51979 l 0,0 0,0 c 0,1.15796 -0.63042,1.75502 -1.86703,1.75502 l 0,0 0,0 c -0.0727,0 -0.21822,-0.0181 -0.48493,-0.0362 z m 0,-2.55109 0,0 0,1.89974 0,0 0,0 c 0.29096,0.0362 0.43645,0.0362 0.4607,0.0362 l 0,0 0,0 c 0.80015,0 1.21234,-0.32567 1.21234,-1.01321 l 0,0 0,0 c 0,-0.65135 -0.43644,-0.95893 -1.30934,-0.95893 l 0,0 0,0 c -0.0727,0 -0.19397,0 -0.3637,0.0362 z" /> 90.319 + <path 90.320 + inkscape:connector-curvature="0" 90.321 + id="50" 90.322 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.323 + d="m 284.03893,547.77517 0,0 0,1.99023 -0.65467,0 0,-5.19268 0,0 0,0 c 0.48495,-0.0181 0.75167,-0.0362 0.8729,-0.0362 l 0,0 0,0 c 1.35783,0 2.061,0.50661 2.061,1.51981 l 0,0 0,0 c 0,1.17605 -0.63042,1.75502 -1.81852,1.75502 l 0,0 0,0 c -0.0727,0 -0.24248,0 -0.46071,-0.0362 z m 0,-2.56919 0,0 0,1.93593 0,0 0,0 c 0.24248,0.0181 0.38797,0.0362 0.41222,0.0362 l 0,0 0,0 c 0.77589,0 1.18809,-0.34377 1.18809,-1.04941 l 0,0 0,0 c 0,-0.63323 -0.43645,-0.95892 -1.28509,-0.95892 l 0,0 0,0 c -0.0727,0 -0.19397,0.0181 -0.31522,0.0362 z" /> 90.324 + <path 90.325 + inkscape:connector-curvature="0" 90.326 + id="51" 90.327 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.328 + d="m 287.06982,548.71599 0,0 0,-4.30612 0.63042,0 0,4.17948 0,0 0,0 c 0,0.21713 0.0485,0.37995 0.14548,0.48851 l 0,0 0,0 c 0.12123,0.10858 0.26672,0.16283 0.43643,0.16283 l 0,0 0,0.59707 0,0 0,0 c -0.80015,0 -1.21233,-0.37995 -1.21233,-1.12177 z" /> 90.329 + <path 90.330 + inkscape:connector-curvature="0" 90.331 + id="52" 90.332 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.333 + d="m 289.5915,545.96588 0,0 0,2.44253 0,0 0,0 c 0,0.59707 0.21822,0.86847 0.67891,0.86847 l 0,0 0,0 c 0.19399,0 0.38795,-0.0723 0.55769,-0.18092 l 0,0 0,0 c 0.16971,-0.1267 0.29096,-0.2714 0.33945,-0.43424 l 0,0 0,-2.69584 0.60618,0 0,3.79952 -0.60618,0 0,-0.52471 0,0 0,0 c -0.0727,0.16285 -0.21822,0.2895 -0.43644,0.41614 l 0,0 0,0 c -0.19398,0.1267 -0.41221,0.18093 -0.60618,0.18093 l 0,0 0,0 c -0.3637,0 -0.65466,-0.10857 -0.84863,-0.34376 l 0,0 0,0 c -0.21823,-0.25331 -0.31523,-0.57897 -0.31523,-1.0132 l 0,0 0,-2.51492 0.63043,0 z" /> 90.334 + <path 90.335 + inkscape:connector-curvature="0" 90.336 + id="53" 90.337 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.338 + d="m 292.50114,550.81479 0,0 0.33945,-0.54279 0,0 0,0 c 0.3637,0.2714 0.70317,0.39804 0.99413,0.39804 l 0,0 0,0 c 0.29097,0 0.50918,-0.0542 0.67892,-0.16284 l 0,0 0,0 c 0.16973,-0.0905 0.24246,-0.2352 0.24246,-0.37993 l 0,0 0,0 c 0,-0.30759 -0.21821,-0.47044 -0.60616,-0.47044 l 0,0 0,0 c -0.0728,0 -0.21823,0.0181 -0.38797,0.0544 l 0,0 0,0 c -0.19396,0.0361 -0.33945,0.0542 -0.43643,0.0542 l 0,0 0,0 c -0.48495,0 -0.75166,-0.19902 -0.75166,-0.61517 l 0,0 0,0 c 0,-0.10857 0.0728,-0.21711 0.19398,-0.32567 l 0,0 0,0 c 0.12123,-0.0905 0.24246,-0.16284 0.43643,-0.2171 l 0,0 0,0 c -0.50918,-0.25332 -0.75165,-0.68754 -0.75165,-1.3027 l 0,0 0,0 c 0,-0.39805 0.12124,-0.74182 0.38795,-0.99513 l 0,0 0,0 c 0.24247,-0.27138 0.55768,-0.39802 0.94563,-0.39802 l 0,0 0,0 c 0.33947,0 0.60618,0.0723 0.80015,0.2171 l 0,0 0.31522,-0.39805 0.4122,0.41615 -0.38795,0.30758 0,0 0,0 c 0.16971,0.21712 0.24246,0.5247 0.24246,0.88656 l 0,0 0,0 c 0,0.37996 -0.097,0.70562 -0.3152,0.95893 l 0,0 0,0 c -0.24248,0.27138 -0.5092,0.41612 -0.87289,0.45231 l 0,0 -0.50919,0.0544 0,0 0,0 c -0.0727,0.0181 -0.14548,0.0361 -0.24248,0.0905 l 0,0 0,0 c -0.12123,0.0362 -0.16973,0.0905 -0.16973,0.16283 l 0,0 0,0 c 0,0.0723 0.12125,0.1267 0.31521,0.1267 l 0,0 0,0 c 0.097,0 0.24247,-0.0181 0.43645,-0.0544 l 0,0 0,0 c 0.21823,-0.0362 0.36372,-0.0362 0.4607,-0.0362 l 0,0 0,0 c 0.33945,0 0.60617,0.0723 0.80015,0.25329 l 0,0 0,0 c 0.19397,0.18094 0.29097,0.43424 0.29097,0.74182 l 0,0 0,0 c 0,0.36185 -0.14549,0.63326 -0.43645,0.85036 l 0,0 0,0 c -0.29097,0.21712 -0.65467,0.32567 -1.09112,0.32567 l 0,0 0,0 c -0.24246,0 -0.4607,-0.0362 -0.72741,-0.12669 l 0,0 0,0 c -0.24247,-0.0905 -0.43644,-0.19904 -0.60617,-0.32568 z m 1.33358,-4.3604 0,0 0,0 c -0.21823,0 -0.4122,0.0723 -0.53343,0.2352 l 0,0 0,0 c -0.14548,0.18093 -0.21823,0.37995 -0.21823,0.61517 l 0,0 0,0 c 0,0.27139 0.0727,0.48851 0.21823,0.66944 l 0,0 0,0 c 0.12123,0.16284 0.29097,0.25328 0.53343,0.25328 l 0,0 0,0 c 0.21822,0 0.38795,-0.0905 0.50918,-0.25328 l 0,0 0,0 c 0.12124,-0.16285 0.19399,-0.39805 0.19399,-0.66944 l 0,0 0,0 c 0,-0.23522 -0.0727,-0.43424 -0.21824,-0.61517 l 0,0 0,0 c -0.12123,-0.16283 -0.29095,-0.2352 -0.48493,-0.2352 z" /> 90.339 + <path 90.340 + inkscape:connector-curvature="0" 90.341 + id="54" 90.342 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.343 + d="m 296.62312,544.53653 0,0 0,0 c 0.097,0 0.19398,0.0362 0.26673,0.10857 l 0,0 0,0 c 0.0727,0.0905 0.12123,0.18093 0.12123,0.30758 l 0,0 0,0 c 0,0.10858 -0.0485,0.21712 -0.12123,0.2895 l 0,0 0,0 c -0.0728,0.0905 -0.16973,0.12669 -0.26673,0.12669 l 0,0 0,0 c -0.12124,0 -0.19397,-0.0362 -0.26672,-0.12669 l 0,0 0,0 c -0.097,-0.0723 -0.12122,-0.18093 -0.12122,-0.2895 l 0,0 0,0 c 0,-0.12669 0.0242,-0.21711 0.097,-0.30758 l 0,0 0,0 c 0.097,-0.0723 0.16971,-0.10857 0.29095,-0.10857 z m -0.33945,5.22887 0,0 0,-3.22055 -0.4607,0 0,-0.57897 1.06688,0 0,3.79952 -0.60618,0 z" /> 90.344 + <path 90.345 + inkscape:connector-curvature="0" 90.346 + id="55" 90.347 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.348 + d="m 300.04194,549.7654 0,0 0,-2.18925 0,0 0,0 c 0,-0.41614 -0.0485,-0.68752 -0.16972,-0.85037 l 0,0 0,0 c -0.12123,-0.16284 -0.29096,-0.2533 -0.55769,-0.2533 l 0,0 0,0 c -0.14547,0 -0.29095,0.0542 -0.46069,0.14473 l 0,0 0,0 c -0.14548,0.0905 -0.26671,0.19904 -0.33946,0.34378 l 0,0 0,2.80441 -0.63042,0 0,-3.79952 0.43645,0 0.19397,0.5066 0,0 0,0 c 0.19398,-0.37995 0.53345,-0.56088 0.99413,-0.56088 l 0,0 0,0 c 0.77591,0 1.16386,0.50659 1.16386,1.5198 l 0,0 0,2.334 -0.63043,0 z" /> 90.349 + <path 90.350 + inkscape:connector-curvature="0" 90.351 + id="56" 90.352 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.353 + d="m 272.01244,532.64946 0,0 c 0,-0.0905 0.0242,-0.16283 0.0727,-0.23519 0.0242,-0.0723 0.097,-0.1267 0.19398,-0.16285 0.097,-0.0362 0.19396,-0.0542 0.31521,-0.0542 l 0,0 0,0.45231 -0.58193,0 z" /> 90.354 + <path 90.355 + inkscape:connector-curvature="0" 90.356 + id="57" 90.357 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.358 + d="m 272.59437,532.19714 39.06188,0 0,0.45232 0,0.47042 -39.06188,0 0,-0.47042 0,-0.45232 z" /> 90.359 + <path 90.360 + inkscape:connector-curvature="0" 90.361 + id="58" 90.362 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.363 + d="m 311.65625,532.19714 0,0 c 0.12123,0 0.21823,0.0181 0.31521,0.0542 0.097,0.0362 0.16973,0.0905 0.21822,0.16285 0.0485,0.0723 0.097,0.14473 0.097,0.23519 l 0,0 0,0 -0.63043,0 0,-0.45231 z" /> 90.364 + <path 90.365 + inkscape:connector-curvature="0" 90.366 + id="59" 90.367 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.368 + d="m 312.28668,532.64946 0,23.24944 -0.63043,0 -0.60619,0 0,-23.24944 0.60619,0 0.63043,0 z" /> 90.369 + <path 90.370 + inkscape:connector-curvature="0" 90.371 + id="60" 90.372 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.373 + d="m 312.28668,555.8989 0,0 c 0,0.0905 -0.0485,0.16285 -0.097,0.23522 -0.0485,0.0723 -0.12124,0.12669 -0.21822,0.16285 -0.097,0.0362 -0.19398,0.0723 -0.31521,0.0723 l 0,0 0,-0.47044 0.63043,0 z" /> 90.374 + <path 90.375 + inkscape:connector-curvature="0" 90.376 + id="61" 90.377 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.378 + d="m 311.65625,556.36933 -39.06188,0 0,-0.47043 0,-0.45232 39.06188,0 0,0.45232 0,0.47043 z" /> 90.379 + <path 90.380 + inkscape:connector-curvature="0" 90.381 + id="62" 90.382 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.383 + d="m 272.59437,556.36933 0,0 c -0.12125,0 -0.21823,-0.0362 -0.31521,-0.0723 -0.097,-0.0362 -0.16973,-0.0905 -0.19398,-0.16285 -0.0485,-0.0723 -0.0727,-0.14473 -0.0727,-0.23521 l 0,0 0.58193,0 0,0.47043 z" /> 90.384 + <path 90.385 + inkscape:connector-curvature="0" 90.386 + id="63" 90.387 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.388 + d="m 272.01244,555.8989 0,-23.24944 0.58193,0 0.63042,0 0,23.24944 -0.63042,0 -0.58193,0 z" /> 90.389 + <path 90.390 + inkscape:connector-curvature="0" 90.391 + id="64" 90.392 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.393 + d="m 337.84298,542.56441 -2.47319,-3.79953 0,3.72715 -0.60617,0 0,-5.21078 0.26672,0 2.40044,3.60052 0,-3.60052 0.60618,0 0,5.28316 -0.19398,0 z" /> 90.394 + <path 90.395 + inkscape:connector-curvature="0" 90.396 + id="65" 90.397 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.398 + d="m 341.91649,540.64655 0,0 -2.5217,0 0,0 0,0 c 0,0.45231 0.097,0.79609 0.33947,1.03131 l 0,0 0,0 c 0.19397,0.2171 0.43643,0.30756 0.75165,0.30756 l 0,0 0,0 c 0.3637,0 0.65466,-0.10858 0.89713,-0.32566 l 0,0 0.26671,0.48851 0,0 0,0 c -0.097,0.0905 -0.24246,0.18093 -0.43643,0.27138 l 0,0 0,0 c -0.26673,0.0905 -0.53345,0.14476 -0.84865,0.14476 l 0,0 0,0 c -0.43644,0 -0.80014,-0.16285 -1.11536,-0.48851 l 0,0 0,0 c -0.33947,-0.36187 -0.5092,-0.85038 -0.5092,-1.44744 l 0,0 0,0 c 0,-0.63326 0.16973,-1.12177 0.53345,-1.50172 l 0,0 0,0 c 0.3152,-0.34377 0.67892,-0.50661 1.11536,-0.50661 l 0,0 0,0 c 0.48494,0 0.87289,0.14475 1.16385,0.45232 l 0,0 0,0 c 0.26672,0.30761 0.4122,0.66945 0.4122,1.15797 l 0,0 0,0 c 0,0.16282 -0.0242,0.28947 -0.0485,0.41613 z m -1.50332,-1.44745 0,0 0,0 c -0.29098,0 -0.50919,0.0905 -0.70316,0.2895 l 0,0 0,0 c -0.16973,0.18092 -0.29098,0.39804 -0.31522,0.66945 l 0,0 1.93977,0 0,0 0,0 c 0,-0.27141 -0.0727,-0.48853 -0.21824,-0.66945 l 0,0 0,0 c -0.16973,-0.19902 -0.4122,-0.2895 -0.70315,-0.2895 z" /> 90.399 + <path 90.400 + inkscape:connector-curvature="0" 90.401 + id="66" 90.402 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.403 + d="m 345.82024,542.56441 -0.14548,0 -1.04261,-2.60541 -0.99413,2.60541 -0.16974,0 -1.23659,-3.88999 0.65466,0 0.75167,2.49684 0.89713,-2.49684 0.16973,0 0.96988,2.49684 0.80015,-2.49684 0.60616,0 -1.26083,3.88999 z" /> 90.404 + <path 90.405 + inkscape:connector-curvature="0" 90.406 + id="67" 90.407 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.408 + d="m 347.61452,542.49203 0,-5.21078 0.65467,0 0,4.55943 2.15798,0 0,0.65135 -2.81265,0 z" /> 90.409 + <path 90.410 + inkscape:connector-curvature="0" 90.411 + id="68" 90.412 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.413 + d="m 352.92461,542.05781 0,0 0,0 c -0.24248,0.34375 -0.63041,0.5066 -1.13961,0.5066 l 0,0 0,0 c -0.29097,0 -0.50919,-0.10857 -0.72742,-0.32568 l 0,0 0,0 c -0.19396,-0.21712 -0.29095,-0.4885 -0.29095,-0.81419 l 0,0 0,0 c 0,-0.37994 0.14549,-0.70563 0.46068,-0.97701 l 0,0 0,0 c 0.31522,-0.27139 0.70317,-0.39804 1.1881,-0.39804 l 0,0 0,0 c 0.12123,0 0.29097,0.0181 0.43645,0.0905 l 0,0 0,0 c 0,-0.59707 -0.24247,-0.92274 -0.75165,-0.92274 l 0,0 0,0 c -0.38795,0 -0.67891,0.12669 -0.89715,0.34377 l 0,0 -0.26671,-0.5609 0,0 0,0 c 0.12123,-0.10857 0.29096,-0.19902 0.48495,-0.27138 l 0,0 0,0 c 0.21821,-0.0723 0.4122,-0.10858 0.60616,-0.10858 l 0,0 0,0 c 0.50918,0 0.8729,0.1267 1.11537,0.37995 l 0,0 0,0 c 0.21821,0.25331 0.33946,0.65134 0.33946,1.17606 l 0,0 0,1.37506 0,0 0,0 c 0,0.32565 0.097,0.56087 0.26672,0.66943 l 0,0 0,0.34378 0,0 0,0 c -0.24247,0 -0.43645,-0.0362 -0.55768,-0.1267 l 0,0 0,0 c -0.12124,-0.0723 -0.21822,-0.19902 -0.26672,-0.37993 z m -0.0727,-1.44744 0,0 0,0 c -0.19397,-0.0362 -0.31522,-0.0723 -0.4122,-0.0723 l 0,0 0,0 c -0.3152,0 -0.55768,0.0904 -0.75165,0.27138 l 0,0 0,0 c -0.19398,0.18093 -0.31521,0.37997 -0.31521,0.61516 l 0,0 0,0 c 0,0.39805 0.21823,0.59707 0.65466,0.59707 l 0,0 0,0 c 0.31522,0 0.58193,-0.16284 0.8244,-0.48851 l 0,-0.92274 z" /> 90.414 + <path 90.415 + inkscape:connector-curvature="0" 90.416 + id="69" 90.417 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.418 + d="m 356.5859,542.49203 0,0 0,-2.22544 0,0 0,0 c 0,-0.39803 -0.0485,-0.66943 -0.16973,-0.83227 l 0,0 0,0 c -0.097,-0.16282 -0.29096,-0.23522 -0.55768,-0.23522 l 0,0 0,0 c -0.12124,0 -0.26672,0.0362 -0.4122,0.1267 l 0,0 0,0 c -0.16974,0.0905 -0.29097,0.21711 -0.3637,0.34375 l 0,0 0,2.82251 -0.63042,0 0,-3.79953 0.43644,0 0.19398,0.48851 0,0 0,0 c 0.19396,-0.37995 0.53343,-0.56088 0.96988,-0.56088 l 0,0 0,0 c 0.7759,0 1.16385,0.50661 1.16385,1.50172 l 0,0 0,2.37018 -0.63042,0 z" /> 90.419 + <path 90.420 + inkscape:connector-curvature="0" 90.421 + id="70" 90.422 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.423 + d="m 357.96797,543.54142 0,0 0.33946,-0.5428 0,0 0,0 c 0.36371,0.25331 0.70317,0.39807 0.99413,0.39807 l 0,0 0,0 c 0.29097,0 0.50918,-0.0544 0.67891,-0.16285 l 0,0 0,0 c 0.16973,-0.10858 0.24248,-0.23522 0.24248,-0.39804 l 0,0 0,0 c 0,-0.30758 -0.21823,-0.47042 -0.60617,-0.47042 l 0,0 0,0 c -0.0727,0 -0.21823,0.0362 -0.38796,0.0723 l 0,0 0,0 c -0.19398,0.0362 -0.33946,0.0543 -0.43645,0.0543 l 0,0 0,0 c -0.48494,0 -0.75165,-0.21711 -0.75165,-0.61518 l 0,0 0,0 c 0,-0.12655 0.0727,-0.23519 0.19398,-0.34375 l 0,0 0,0 c 0.097,-0.10857 0.24246,-0.18093 0.43644,-0.21711 l 0,0 0,0 c -0.50919,-0.25329 -0.75165,-0.68753 -0.75165,-1.32079 l 0,0 0,0 c 0,-0.37995 0.12123,-0.70562 0.38794,-0.97701 l 0,0 0,0 c 0.24248,-0.2714 0.55769,-0.39805 0.94564,-0.39805 l 0,0 0,0 c 0.33946,0 0.60617,0.0723 0.80015,0.23521 l 0,0 0.31521,-0.41613 0.4122,0.41613 -0.38795,0.30759 0,0 0,0 c 0.16972,0.2352 0.24247,0.52469 0.24247,0.86846 l 0,0 0,0 c 0,0.37995 -0.097,0.70562 -0.31522,0.97702 l 0,0 0,0 c -0.24246,0.2533 -0.50919,0.41612 -0.87288,0.45232 l 0,0 -0.50919,0.0542 0,0 0,0 c -0.0727,0 -0.14549,0.0362 -0.26672,0.0723 l 0,0 0,0 c -0.097,0.0362 -0.14548,0.10858 -0.14548,0.18095 l 0,0 0,0 c 0,0.0905 0.12123,0.14473 0.31521,0.14473 l 0,0 0,0 c 0.097,0 0.24247,-0.0181 0.43645,-0.0542 l 0,0 0,0 c 0.21821,-0.0362 0.3637,-0.0544 0.46069,-0.0544 l 0,0 0,0 c 0.33946,0 0.60617,0.0723 0.80014,0.25333 l 0,0 0,0 c 0.19398,0.18091 0.29097,0.43422 0.29097,0.75988 l 0,0 0,0 c 0,0.34378 -0.14548,0.63326 -0.43644,0.85037 l 0,0 0,0 c -0.29097,0.21713 -0.65467,0.32569 -1.09112,0.32569 l 0,0 0,0 c -0.24247,0 -0.48494,-0.0544 -0.72741,-0.14475 l 0,0 0,0 c -0.24247,-0.0723 -0.46069,-0.18094 -0.60618,-0.30758 z m 1.33359,-4.37848 0,0 0,0 c -0.21822,0 -0.4122,0.0904 -0.53343,0.25329 l 0,0 0,0 c -0.14549,0.16285 -0.21822,0.34377 -0.21822,0.57897 l 0,0 0,0 c 0,0.27139 0.0727,0.48851 0.19397,0.66945 l 0,0 0,0 c 0.14548,0.18092 0.31521,0.2533 0.55768,0.2533 l 0,0 0,0 c 0.21822,0 0.38795,-0.0723 0.50918,-0.2533 l 0,0 0,0 c 0.12124,-0.16285 0.19398,-0.37995 0.19398,-0.66945 l 0,0 0,0 c 0,-0.2352 -0.0727,-0.41612 -0.21822,-0.57897 l 0,0 0,0 c -0.12124,-0.16284 -0.29097,-0.25329 -0.48494,-0.25329 z" /> 90.424 + <path 90.425 + inkscape:connector-curvature="0" 90.426 + id="71" 90.427 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.428 + d="m 362.96286,539.97712 1.1396,0 0,0.50659 -1.1396,0 0,1.23032 -0.46069,0 0,-1.23032 -1.09112,0 0,-0.50659 1.09112,0 0,-1.21224 0.46069,0 0,1.21224 z" /> 90.429 + <path 90.430 + inkscape:connector-curvature="0" 90.431 + id="72" 90.432 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.433 + d="m 365.63002,540.48371 0,0 0,2.00832 -0.65467,0 0,-5.21078 0,0 0,0 c 0.50919,-0.0181 0.80015,-0.0362 0.89714,-0.0362 l 0,0 0,0 c 1.40632,0 2.061,0.5066 2.061,1.51979 l 0,0 0,0 c 0,1.15796 -0.58193,1.75502 -1.81853,1.75502 l 0,0 0,0 c -0.0727,0 -0.21822,-0.0181 -0.48494,-0.0362 z m 0,-2.55109 0,0 0,1.89974 0,0 0,0 c 0.29096,0.0362 0.43645,0.0362 0.43645,0.0362 l 0,0 0,0 c 0.8244,0 1.23659,-0.32567 1.23659,-1.01321 l 0,0 0,0 c 0,-0.65135 -0.43644,-0.95893 -1.30933,-0.95893 l 0,0 0,0 c -0.097,0 -0.19398,0 -0.36371,0.0362 z" /> 90.434 + <path 90.435 + inkscape:connector-curvature="0" 90.436 + id="73" 90.437 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.438 + d="m 343.27432,547.77517 0,0 0,1.99023 -0.63043,0 0,-5.19268 0,0 0,0 c 0.48494,-0.0181 0.77589,-0.0362 0.87289,-0.0362 l 0,0 0,0 c 1.38207,0 2.08523,0.50661 2.08523,1.51981 l 0,0 0,0 c 0,1.17605 -0.63041,1.75502 -1.84276,1.75502 l 0,0 0,0 c -0.0727,0 -0.21823,0 -0.48493,-0.0362 z m 0,-2.56919 0,0 0,1.93593 0,0 0,0 c 0.29095,0.0181 0.43643,0.0362 0.46068,0.0362 l 0,0 0,0 c 0.7759,0 1.1881,-0.34377 1.1881,-1.04941 l 0,0 0,0 c 0,-0.63323 -0.43644,-0.95892 -1.28508,-0.95892 l 0,0 0,0 c -0.0727,0 -0.19399,0.0181 -0.3637,0.0362 z" /> 90.439 + <path 90.440 + inkscape:connector-curvature="0" 90.441 + id="74" 90.442 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.443 + d="m 346.35368,548.71599 0,0 0,-4.30612 0.60616,0 0,4.17948 0,0 0,0 c 0,0.21713 0.0728,0.37995 0.16973,0.48851 l 0,0 0,0 c 0.12124,0.10858 0.24249,0.16283 0.43645,0.16283 l 0,0 0,0.59707 0,0 0,0 c -0.82439,0 -1.21234,-0.37995 -1.21234,-1.12177 z" /> 90.444 + <path 90.445 + inkscape:connector-curvature="0" 90.446 + id="75" 90.447 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.448 + d="m 348.87537,545.96588 0,0 0,2.44253 0,0 0,0 c 0,0.59707 0.21822,0.86847 0.70315,0.86847 l 0,0 0,0 c 0.19398,0 0.36371,-0.0723 0.53345,-0.18092 l 0,0 0,0 c 0.16971,-0.1267 0.2667,-0.2714 0.33945,-0.43424 l 0,0 0,-2.69584 0.60616,0 0,3.79952 -0.60616,0 0,-0.52471 0,0 0,0 c -0.0727,0.16285 -0.21822,0.2895 -0.43645,0.41614 l 0,0 0,0 c -0.19399,0.1267 -0.38795,0.18093 -0.58192,0.18093 l 0,0 0,0 c -0.38796,0 -0.67891,-0.10857 -0.8729,-0.34376 l 0,0 0,0 c -0.21823,-0.25331 -0.31521,-0.57897 -0.31521,-1.0132 l 0,0 0,-2.51492 0.63043,0 z" /> 90.449 + <path 90.450 + inkscape:connector-curvature="0" 90.451 + id="76" 90.452 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.453 + d="m 351.785,550.81479 0,0 0.33946,-0.54279 0,0 0,0 c 0.3637,0.2714 0.70317,0.39804 0.99412,0.39804 l 0,0 0,0 c 0.29096,0 0.5092,-0.0542 0.67891,-0.16284 l 0,0 0,0 c 0.14548,-0.0905 0.24247,-0.2352 0.24247,-0.37993 l 0,0 0,0 c 0,-0.30759 -0.21822,-0.47044 -0.63042,-0.47044 l 0,0 0,0 c -0.0485,0 -0.19398,0.0181 -0.3637,0.0544 l 0,0 0,0 c -0.19398,0.0361 -0.33946,0.0542 -0.43645,0.0542 l 0,0 0,0 c -0.48493,0 -0.75166,-0.19902 -0.75166,-0.61517 l 0,0 0,0 c 0,-0.10857 0.0727,-0.21711 0.19398,-0.32567 l 0,0 0,0 c 0.097,-0.0905 0.24249,-0.16284 0.4122,-0.2171 l 0,0 0,0 c -0.48493,-0.25332 -0.72741,-0.68754 -0.72741,-1.3027 l 0,0 0,0 c 0,-0.39805 0.12123,-0.74182 0.38796,-0.99513 l 0,0 0,0 c 0.24247,-0.27138 0.55767,-0.39802 0.94563,-0.39802 l 0,0 0,0 c 0.33945,0 0.60617,0.0723 0.80015,0.2171 l 0,0 0.31522,-0.39805 0.41218,0.41615 -0.38795,0.30758 0,0 0,0 c 0.16973,0.21712 0.24248,0.5247 0.24248,0.88656 l 0,0 0,0 c 0,0.37996 -0.097,0.70562 -0.33946,0.95893 l 0,0 0,0 c -0.21824,0.27138 -0.50918,0.41612 -0.84865,0.45231 l 0,0 -0.50918,0.0544 0,0 0,0 c -0.0728,0.0181 -0.14549,0.0361 -0.26672,0.0905 l 0,0 0,0 c -0.097,0.0362 -0.14548,0.0905 -0.14548,0.16283 l 0,0 0,0 c 0,0.0723 0.097,0.1267 0.31521,0.1267 l 0,0 0,0 c 0.097,0 0.24247,-0.0181 0.43644,-0.0544 l 0,0 0,0 c 0.21823,-0.0362 0.36371,-0.0362 0.4607,-0.0362 l 0,0 0,0 c 0.33944,0 0.60618,0.0723 0.80014,0.25329 l 0,0 0,0 c 0.19399,0.18094 0.29097,0.43424 0.29097,0.74182 l 0,0 0,0 c 0,0.36185 -0.14548,0.63326 -0.43645,0.85036 l 0,0 0,0 c -0.29097,0.21712 -0.65466,0.32567 -1.09111,0.32567 l 0,0 0,0 c -0.24247,0 -0.48494,-0.0362 -0.7274,-0.12669 l 0,0 0,0 c -0.24247,-0.0905 -0.4607,-0.19904 -0.60618,-0.32568 z m 1.33358,-4.3604 0,0 0,0 c -0.21822,0 -0.4122,0.0723 -0.53344,0.2352 l 0,0 0,0 c -0.14548,0.18093 -0.21821,0.37995 -0.21821,0.61517 l 0,0 0,0 c 0,0.27139 0.0727,0.48851 0.19396,0.66944 l 0,0 0,0 c 0.14549,0.16284 0.31522,0.25328 0.55769,0.25328 l 0,0 0,0 c 0.21823,0 0.38796,-0.0905 0.5092,-0.25328 l 0,0 0,0 c 0.12123,-0.16285 0.19396,-0.39805 0.19396,-0.66944 l 0,0 0,0 c 0,-0.23522 -0.0727,-0.43424 -0.21821,-0.61517 l 0,0 0,0 c -0.12124,-0.16283 -0.29097,-0.2352 -0.48495,-0.2352 z" /> 90.454 + <path 90.455 + inkscape:connector-curvature="0" 90.456 + id="77" 90.457 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.458 + d="m 355.90699,544.53653 0,0 0,0 c 0.097,0 0.19396,0.0362 0.26671,0.10857 l 0,0 0,0 c 0.0727,0.0905 0.097,0.18093 0.097,0.30758 l 0,0 0,0 c 0,0.10858 -0.0242,0.21712 -0.097,0.2895 l 0,0 0,0 c -0.0727,0.0905 -0.16973,0.12669 -0.26671,0.12669 l 0,0 0,0 c -0.12124,0 -0.19397,-0.0362 -0.26672,-0.12669 l 0,0 0,0 c -0.0727,-0.0723 -0.097,-0.18093 -0.097,-0.2895 l 0,0 0,0 c 0,-0.12669 0.0242,-0.21711 0.097,-0.30758 l 0,0 0,0 c 0.0727,-0.0723 0.14548,-0.10857 0.26672,-0.10857 z m -0.33947,5.22887 0,0 0,-3.22055 -0.46068,0 0,-0.57897 1.06686,0 0,3.79952 -0.60618,0 z" /> 90.459 + <path 90.460 + inkscape:connector-curvature="0" 90.461 + id="78" 90.462 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.463 + d="m 359.3258,549.7654 0,0 0,-2.18925 0,0 0,0 c 0,-0.41614 -0.0727,-0.68752 -0.16972,-0.85037 l 0,0 0,0 c -0.12124,-0.16284 -0.31521,-0.2533 -0.55768,-0.2533 l 0,0 0,0 c -0.14549,0 -0.29097,0.0542 -0.4607,0.14473 l 0,0 0,0 c -0.14548,0.0905 -0.26671,0.19904 -0.3637,0.34378 l 0,0 0,2.80441 -0.60617,0 0,-3.79952 0.4122,0 0.19397,0.5066 0,0 0,0 c 0.21822,-0.37995 0.55768,-0.56088 1.01837,-0.56088 l 0,0 0,0 c 0.77591,0 1.13961,0.50659 1.13961,1.5198 l 0,0 0,2.334 -0.60618,0 z" /> 90.464 + <path 90.465 + inkscape:connector-curvature="0" 90.466 + id="79" 90.467 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.468 + d="m 331.27205,532.64946 0,0 c 0,-0.0905 0.0242,-0.16283 0.0728,-0.23519 0.0485,-0.0723 0.12123,-0.1267 0.21821,-0.16285 0.097,-0.0362 0.19399,-0.0542 0.29097,-0.0542 l 0,0 0,0.45231 -0.58193,0 z" /> 90.469 + <path 90.470 + inkscape:connector-curvature="0" 90.471 + id="80" 90.472 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.473 + d="m 331.85398,532.19714 39.06188,0 0,0.45232 0,0.47042 -39.06188,0 0,-0.47042 0,-0.45232 z" /> 90.474 + <path 90.475 + inkscape:connector-curvature="0" 90.476 + id="81" 90.477 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.478 + d="m 370.91586,532.19714 0,0 c 0.12123,0 0.21823,0.0181 0.31521,0.0542 0.097,0.0362 0.16973,0.0905 0.21823,0.16285 0.0485,0.0723 0.097,0.14473 0.097,0.23519 l 0,0 0,0 -0.63042,0 0,-0.45231 z" /> 90.479 + <path 90.480 + inkscape:connector-curvature="0" 90.481 + id="82" 90.482 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.483 + d="m 371.54628,532.64946 0,23.17707 -0.63042,0 -0.60617,0 0,-23.17707 0.60617,0 0.63042,0 z" /> 90.484 + <path 90.485 + inkscape:connector-curvature="0" 90.486 + id="83" 90.487 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.488 + d="m 371.54628,555.82653 0,0 c 0,0.0905 -0.0485,0.16285 -0.097,0.23522 -0.0485,0.0723 -0.12123,0.12669 -0.21823,0.16282 -0.097,0.0362 -0.19398,0.0723 -0.31521,0.0723 l 0,0 0,-0.47043 0.63042,0 z" /> 90.489 + <path 90.490 + inkscape:connector-curvature="0" 90.491 + id="84" 90.492 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.493 + d="m 370.91586,556.29697 -39.06188,0 0,-0.47044 0,-0.45233 39.06188,0 0,0.45233 0,0.47044 z" /> 90.494 + <path 90.495 + inkscape:connector-curvature="0" 90.496 + id="85" 90.497 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.498 + d="m 331.85398,556.29697 0,0 c -0.097,0 -0.19397,-0.0362 -0.29097,-0.0723 -0.097,-0.0362 -0.16971,-0.0905 -0.21821,-0.16283 -0.0485,-0.0723 -0.0728,-0.14476 -0.0728,-0.23521 l 0,0 0.58193,0 0,0.47043 z" /> 90.499 + <path 90.500 + inkscape:connector-curvature="0" 90.501 + id="86" 90.502 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.503 + d="m 331.27205,555.82653 0,-23.17707 0.58193,0 0.63041,0 0,23.17707 -0.63041,0 -0.58193,0 z" /> 90.504 + <path 90.505 + inkscape:connector-curvature="0" 90.506 + id="87" 90.507 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.508 + d="m 422.36795,539.83236 0,0 0,0 c 0,-0.74179 0.16973,-1.37506 0.50919,-1.88165 l 0,0 0,0 c 0.3637,-0.50662 0.82439,-0.75991 1.40632,-0.75991 l 0,0 0,0 c 0.67892,0 1.1881,0.23521 1.55181,0.70562 l 0,0 0,0 c 0.33946,0.47043 0.50919,1.12177 0.50919,1.93594 l 0,0 0,0 c 0,0.86846 -0.16973,1.53792 -0.53344,2.02642 l 0,0 0,0 c -0.33946,0.47042 -0.84864,0.72371 -1.52756,0.72371 l 0,0 0,0 c -0.58193,0 -1.06687,-0.25329 -1.40632,-0.778 l 0,0 0,0 c -0.33946,-0.50661 -0.50919,-1.15794 -0.50919,-1.97213 z m 0.67891,0 0,0 0,0 c 0,0.59708 0.12124,1.10368 0.33946,1.50172 l 0,0 0,0 c 0.21823,0.39804 0.50919,0.59706 0.89714,0.59706 l 0,0 0,0 c 0.46069,0 0.80015,-0.18091 1.04262,-0.54278 l 0,0 0,0 c 0.21823,-0.36186 0.33946,-0.88656 0.33946,-1.556 l 0,0 0,0 c 0,-1.32077 -0.46069,-1.99021 -1.38208,-1.99021 l 0,0 0,0 c -0.38795,0 -0.70316,0.18092 -0.92139,0.54278 l 0,0 0,0 c -0.19397,0.36186 -0.31521,0.85037 -0.31521,1.44743 z" /> 90.509 + <path 90.510 + inkscape:connector-curvature="0" 90.511 + id="88" 90.512 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.513 + d="m 427.65379,542.27492 0,0 0,1.71883 -0.60617,0 0,-5.30125 0.60617,0 0,0.30758 0,0 0,0 c 0.24247,-0.25329 0.53344,-0.37995 0.84864,-0.37995 l 0,0 0,0 c 0.50919,0 0.89715,0.16284 1.16386,0.50661 l 0,0 0,0 c 0.29097,0.34376 0.4122,0.81418 0.4122,1.46555 l 0,0 0,0 c 0,0.57897 -0.12123,1.04937 -0.4122,1.41123 l 0,0 0,0 c -0.26671,0.37996 -0.67892,0.56089 -1.21235,0.56089 l 0,0 0,0 c -0.14548,0 -0.29096,-0.0362 -0.46069,-0.0904 l 0,0 0,0 c -0.16973,-0.0542 -0.29096,-0.1267 -0.33946,-0.19901 z m 0,-2.76823 0,0 0,2.20734 0,0 0,0 c 0.0485,0.0723 0.12123,0.1267 0.24247,0.19902 l 0,0 0,0 c 0.14548,0.0544 0.26672,0.0723 0.38795,0.0723 l 0,0 0,0 c 0.75166,0 1.13961,-0.47041 1.13961,-1.41123 l 0,0 0,0 c 0,-0.48853 -0.0727,-0.83228 -0.26672,-1.04939 l 0,0 0,0 c -0.19397,-0.21713 -0.48494,-0.32569 -0.87289,-0.32569 l 0,0 0,0 c -0.097,0 -0.19397,0.0181 -0.31521,0.0905 l 0,0 0,0 c -0.14548,0.0723 -0.24247,0.14475 -0.31521,0.21712 z" /> 90.514 + <path 90.515 + inkscape:connector-curvature="0" 90.516 + id="89" 90.517 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.518 + d="m 433.69129,540.64655 0,0 -2.49744,0 0,0 0,0 c 0,0.45231 0.097,0.79609 0.33946,1.03131 l 0,0 0,0 c 0.19397,0.2171 0.43645,0.30756 0.75166,0.30756 l 0,0 0,0 c 0.3637,0 0.65466,-0.10858 0.89714,-0.32566 l 0,0 0.24246,0.48851 0,0 0,0 c -0.0727,0.0905 -0.21822,0.18093 -0.41219,0.27138 l 0,0 0,0 c -0.26672,0.0905 -0.53344,0.14476 -0.84865,0.14476 l 0,0 0,0 c -0.43645,0 -0.80015,-0.16285 -1.11536,-0.48851 l 0,0 0,0 c -0.33946,-0.36187 -0.50919,-0.85038 -0.50919,-1.44744 l 0,0 0,0 c 0,-0.63326 0.16973,-1.12177 0.53343,-1.50172 l 0,0 0,0 c 0.31521,-0.34377 0.67892,-0.50661 1.11537,-0.50661 l 0,0 0,0 c 0.48494,0 0.87289,0.14475 1.16385,0.45232 l 0,0 0,0 c 0.24247,0.30761 0.38795,0.66945 0.38795,1.15797 l 0,0 0,0 c 0,0.16282 -0.0242,0.28947 -0.0485,0.41613 z m -1.47907,-1.44745 0,0 0,0 c -0.29096,0 -0.50919,0.0905 -0.70316,0.2895 l 0,0 0,0 c -0.16973,0.18092 -0.29096,0.39804 -0.31521,0.66945 l 0,0 1.93976,0 0,0 0,0 c 0,-0.27141 -0.0727,-0.48853 -0.21823,-0.66945 l 0,0 0,0 c -0.16972,-0.19902 -0.41219,-0.2895 -0.70316,-0.2895 z" /> 90.519 + <path 90.520 + inkscape:connector-curvature="0" 90.521 + id="90" 90.522 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.523 + d="m 436.55243,542.49203 0,0 0,-2.22544 0,0 0,0 c 0,-0.39803 -0.0727,-0.66943 -0.16972,-0.83227 l 0,0 0,0 c -0.12124,-0.16282 -0.31521,-0.23522 -0.55769,-0.23522 l 0,0 0,0 c -0.14548,0 -0.29096,0.0362 -0.46069,0.1267 l 0,0 0,0 c -0.14548,0.0905 -0.26672,0.21711 -0.3637,0.34375 l 0,0 0,2.82251 -0.60617,0 0,-3.79953 0.41219,0 0.19398,0.48851 0,0 0,0 c 0.21822,-0.37995 0.55768,-0.56088 1.01837,-0.56088 l 0,0 0,0 c 0.7759,0 1.13961,0.50661 1.13961,1.50172 l 0,0 0,2.37018 -0.60618,0 z" /> 90.524 + <path 90.525 + inkscape:connector-curvature="0" 90.526 + id="91" 90.527 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.528 + d="m 441.66855,542.49203 -0.58193,-3.32909 -1.04262,3.40147 -0.16973,0 -1.01838,-3.40147 -0.55767,3.32909 -0.63043,0 0.89714,-5.21078 0.31521,0 1.09112,3.79954 1.04262,-3.79954 0.29096,0 0.96988,5.21078 -0.60617,0 z" /> 90.529 + <path 90.530 + inkscape:connector-curvature="0" 90.531 + id="92" 90.532 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.533 + d="m 443.46282,540.48371 0,0 0,2.00832 -0.65467,0 0,-5.21078 0,0 0,0 c 0.48494,-0.0181 0.80015,-0.0362 0.89714,-0.0362 l 0,0 0,0 c 1.38208,0 2.061,0.5066 2.061,1.51979 l 0,0 0,0 c 0,1.15796 -0.58193,1.75502 -1.81853,1.75502 l 0,0 0,0 c -0.0727,0 -0.24247,-0.0181 -0.48494,-0.0362 z m 0,-2.55109 0,0 0,1.89974 0,0 0,0 c 0.26672,0.0362 0.4122,0.0362 0.43645,0.0362 l 0,0 0,0 c 0.80015,0 1.21234,-0.32567 1.21234,-1.01321 l 0,0 0,0 c 0,-0.65135 -0.43644,-0.95893 -1.28508,-0.95893 l 0,0 0,0 c -0.097,0 -0.21823,0 -0.36371,0.0362 z" /> 90.534 + <path 90.535 + inkscape:connector-curvature="0" 90.536 + id="93" 90.537 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.538 + d="m 448.02125,539.97712 1.13962,0 0,0.50659 -1.13962,0 0,1.23032 -0.46069,0 0,-1.23032 -1.1396,0 0,-0.50659 1.1396,0 0,-1.21224 0.46069,0 0,1.21224 z" /> 90.539 + <path 90.540 + inkscape:connector-curvature="0" 90.541 + id="94" 90.542 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.543 + d="m 450.68843,540.48371 0,0 0,2.00832 -0.65468,0 0,-5.21078 0,0 0,0 c 0.50919,-0.0181 0.80015,-0.0362 0.89714,-0.0362 l 0,0 0,0 c 1.38208,0 2.06099,0.5066 2.06099,1.51979 l 0,0 0,0 c 0,1.15796 -0.60617,1.75502 -1.81852,1.75502 l 0,0 0,0 c -0.0727,0 -0.21822,-0.0181 -0.48493,-0.0362 z m 0,-2.55109 0,0 0,1.89974 0,0 0,0 c 0.29096,0.0362 0.43644,0.0362 0.43644,0.0362 l 0,0 0,0 c 0.80014,0 1.21235,-0.32567 1.21235,-1.01321 l 0,0 0,0 c 0,-0.65135 -0.43645,-0.95893 -1.2851,-0.95893 l 0,0 0,0 c -0.097,0 -0.19397,0 -0.36369,0.0362 z" /> 90.544 + <path 90.545 + inkscape:connector-curvature="0" 90.546 + id="95" 90.547 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.548 + d="m 429.71478,547.77517 0,0 0,1.99023 -0.65466,0 0,-5.19268 0,0 0,0 c 0.50918,-0.0181 0.80014,-0.0362 0.89714,-0.0362 l 0,0 0,0 c 1.40632,0 2.08523,0.50661 2.08523,1.51981 l 0,0 0,0 c 0,1.17605 -0.60617,1.75502 -1.84277,1.75502 l 0,0 0,0 c -0.0727,0 -0.24246,0 -0.48494,-0.0362 z m 0,-2.56919 0,0 0,1.93593 0,0 0,0 c 0.29097,0.0181 0.43645,0.0362 0.43645,0.0362 l 0,0 0,0 c 0.8244,0 1.23659,-0.34377 1.23659,-1.04941 l 0,0 0,0 c 0,-0.63323 -0.43644,-0.95892 -1.30933,-0.95892 l 0,0 0,0 c -0.097,0 -0.21823,0.0181 -0.36371,0.0362 z" /> 90.549 + <path 90.550 + inkscape:connector-curvature="0" 90.551 + id="96" 90.552 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.553 + d="m 432.8184,548.71599 0,0 0,-4.30612 0.58192,0 0,4.17948 0,0 0,0 c 0,0.21713 0.0485,0.37995 0.16973,0.48851 l 0,0 0,0 c 0.097,0.10858 0.24247,0.16283 0.4122,0.16283 l 0,0 0,0.59707 0,0 0,0 c -0.7759,0 -1.16385,-0.37995 -1.16385,-1.12177 z" /> 90.554 + <path 90.555 + inkscape:connector-curvature="0" 90.556 + id="97" 90.557 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.558 + d="m 435.29159,545.96588 0,0 0,2.44253 0,0 0,0 c 0,0.59707 0.24247,0.86847 0.70316,0.86847 l 0,0 0,0 c 0.21823,0 0.4122,-0.0723 0.58193,-0.18092 l 0,0 0,0 c 0.16973,-0.1267 0.26672,-0.2714 0.31521,-0.43424 l 0,0 0,-2.69584 0.63042,0 0,3.79952 -0.63042,0 0,-0.52471 0,0 0,0 c -0.0485,0.16285 -0.19398,0.2895 -0.4122,0.41614 l 0,0 0,0 c -0.21822,0.1267 -0.41219,0.18093 -0.60617,0.18093 l 0,0 0,0 c -0.38795,0 -0.67892,-0.10857 -0.89714,-0.34376 l 0,0 0,0 c -0.19398,-0.25331 -0.29096,-0.57897 -0.29096,-1.0132 l 0,0 0,-2.51492 0.60617,0 z" /> 90.559 + <path 90.560 + inkscape:connector-curvature="0" 90.561 + id="98" 90.562 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.563 + d="m 438.24972,550.81479 0,0 0.33946,-0.54279 0,0 0,0 c 0.36371,0.2714 0.65467,0.39804 0.94563,0.39804 l 0,0 0,0 c 0.29097,0 0.50919,-0.0542 0.67891,-0.16284 l 0,0 0,0 c 0.14549,-0.0905 0.24248,-0.2352 0.24248,-0.37993 l 0,0 0,0 c 0,-0.30759 -0.21823,-0.47044 -0.63042,-0.47044 l 0,0 0,0 c -0.0727,0 -0.19398,0.0181 -0.36371,0.0544 l 0,0 0,0 c -0.16973,0.0361 -0.31521,0.0542 -0.4122,0.0542 l 0,0 0,0 c -0.48494,0 -0.72741,-0.19902 -0.72741,-0.61517 l 0,0 0,0 c 0,-0.10857 0.0727,-0.21711 0.16973,-0.32567 l 0,0 0,0 c 0.12124,-0.0905 0.26672,-0.16284 0.43645,-0.2171 l 0,0 0,0 c -0.48494,-0.25332 -0.72741,-0.68754 -0.72741,-1.3027 l 0,0 0,0 c 0,-0.39805 0.12123,-0.74182 0.38795,-0.99513 l 0,0 0,0 c 0.24247,-0.27138 0.53344,-0.39802 0.89714,-0.39802 l 0,0 0,0 c 0.33946,0 0.60617,0.0723 0.80015,0.2171 l 0,0 0.31521,-0.39805 0.38795,0.41615 -0.3637,0.30758 0,0 0,0 c 0.16973,0.21712 0.24246,0.5247 0.24246,0.88656 l 0,0 0,0 c 0,0.37996 -0.12123,0.70562 -0.33946,0.95893 l 0,0 0,0 c -0.21821,0.27138 -0.50918,0.41612 -0.87288,0.45231 l 0,0 -0.48495,0.0544 0,0 0,0 c -0.0485,0.0181 -0.14548,0.0361 -0.21821,0.0905 l 0,0 0,0 c -0.097,0.0362 -0.14548,0.0905 -0.14548,0.16283 l 0,0 0,0 c 0,0.0723 0.097,0.1267 0.29096,0.1267 l 0,0 0,0 c 0.097,0 0.24246,-0.0181 0.41219,-0.0544 l 0,0 0,0 c 0.19398,-0.0362 0.33946,-0.0362 0.43645,-0.0362 l 0,0 0,0 c 0.36371,0 0.63042,0.0723 0.8244,0.25329 l 0,0 0,0 c 0.19397,0.18094 0.29096,0.43424 0.29096,0.74182 l 0,0 0,0 c 0,0.36185 -0.14548,0.63326 -0.43644,0.85036 l 0,0 0,0 c -0.29096,0.21712 -0.65467,0.32567 -1.11537,0.32567 l 0,0 0,0 c -0.19397,0 -0.43644,-0.0362 -0.65467,-0.12669 l 0,0 0,0 c -0.24246,-0.0905 -0.46069,-0.19904 -0.60617,-0.32568 z m 1.26084,-4.3604 0,0 0,0 c -0.19397,0 -0.3637,0.0723 -0.50919,0.2352 l 0,0 0,0 c -0.097,0.18093 -0.16972,0.37995 -0.16972,0.61517 l 0,0 0,0 c 0,0.27139 0.0727,0.48851 0.16972,0.66944 l 0,0 0,0 c 0.14549,0.16284 0.31522,0.25328 0.50919,0.25328 l 0,0 0,0 c 0.21823,0 0.38795,-0.0905 0.53344,-0.25328 l 0,0 0,0 c 0.12124,-0.16285 0.16972,-0.39805 0.16972,-0.66944 l 0,0 0,0 c 0,-0.23522 -0.0727,-0.43424 -0.19397,-0.61517 l 0,0 0,0 c -0.14548,-0.16283 -0.29096,-0.2352 -0.50919,-0.2352 z" /> 90.564 + <path 90.565 + inkscape:connector-curvature="0" 90.566 + id="99" 90.567 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.568 + d="m 442.32322,544.53653 0,0 0,0 c 0.12123,0 0.19397,0.0362 0.29096,0.10857 l 0,0 0,0 c 0.0727,0.0905 0.097,0.18093 0.097,0.30758 l 0,0 0,0 c 0,0.10858 -0.0242,0.21712 -0.097,0.2895 l 0,0 0,0 c -0.097,0.0905 -0.16973,0.12669 -0.29096,0.12669 l 0,0 0,0 c -0.097,0 -0.19398,-0.0362 -0.26673,-0.12669 l 0,0 0,0 c -0.0727,-0.0723 -0.12123,-0.18093 -0.12123,-0.2895 l 0,0 0,0 c 0,-0.12669 0.0485,-0.21711 0.12123,-0.30758 l 0,0 0,0 c 0.0727,-0.0723 0.16973,-0.10857 0.26673,-0.10857 z m -0.33946,5.22887 0,0 0,-3.22055 -0.48494,0 0,-0.57897 1.11536,0 0,3.79952 -0.63042,0 z" /> 90.569 + <path 90.570 + inkscape:connector-curvature="0" 90.571 + id="100" 90.572 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.573 + d="m 445.74204,549.7654 0,0 0,-2.18925 0,0 0,0 c 0,-0.41614 -0.0727,-0.68752 -0.16973,-0.85037 l 0,0 0,0 c -0.12124,-0.16284 -0.29097,-0.2533 -0.55768,-0.2533 l 0,0 0,0 c -0.14548,0 -0.29096,0.0542 -0.43644,0.14473 l 0,0 0,0 c -0.14549,0.0905 -0.26673,0.19904 -0.36371,0.34378 l 0,0 0,2.80441 -0.60618,0 0,-3.79952 0.4122,0 0.19398,0.5066 0,0 0,0 c 0.21822,-0.37995 0.55767,-0.56088 1.01837,-0.56088 l 0,0 0,0 c 0.72741,0 1.11536,0.50659 1.11536,1.5198 l 0,0 0,2.334 -0.60617,0 z" /> 90.574 + <path 90.575 + inkscape:connector-curvature="0" 90.576 + id="101" 90.577 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.578 + d="m 417.71253,532.64946 0,0 c 0,-0.0905 0.0242,-0.16283 0.0727,-0.23519 0.0485,-0.0723 0.12124,-0.1267 0.21823,-0.16285 0.097,-0.0362 0.19397,-0.0542 0.3152,-0.0542 l 0,0 0,0.45231 -0.60617,0 z" /> 90.579 + <path 90.580 + inkscape:connector-curvature="0" 90.581 + id="102" 90.582 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.583 + d="m 418.3187,532.19714 39.0134,0 0,0.45232 0,0.47042 -39.0134,0 0,-0.47042 0,-0.45232 z" /> 90.584 + <path 90.585 + inkscape:connector-curvature="0" 90.586 + id="103" 90.587 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.588 + d="m 457.3321,532.19714 0,0 c 0.12123,0 0.21821,0.0181 0.31521,0.0542 0.097,0.0362 0.16973,0.0905 0.21821,0.16285 0.0485,0.0723 0.097,0.14473 0.097,0.23519 l 0,0 0,0 -0.63042,0 0,-0.45231 z" /> 90.589 + <path 90.590 + inkscape:connector-curvature="0" 90.591 + id="104" 90.592 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.593 + d="m 457.96252,532.64946 0,23.24944 -0.63042,0 -0.58193,0 0,-23.24944 0.58193,0 0.63042,0 z" /> 90.594 + <path 90.595 + inkscape:connector-curvature="0" 90.596 + id="105" 90.597 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.598 + d="m 457.96252,555.8989 0,0 c 0,0.0905 -0.0485,0.16285 -0.097,0.23522 -0.0485,0.0723 -0.12123,0.12669 -0.21821,0.16285 -0.097,0.0362 -0.19398,0.0723 -0.31521,0.0723 l 0,0 0,-0.47044 0.63042,0 z" /> 90.599 + <path 90.600 + inkscape:connector-curvature="0" 90.601 + id="106" 90.602 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.603 + d="m 457.3321,556.36933 -39.0134,0 0,-0.47043 0,-0.45232 39.0134,0 0,0.45232 0,0.47043 z" /> 90.604 + <path 90.605 + inkscape:connector-curvature="0" 90.606 + id="107" 90.607 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.608 + d="m 418.3187,556.36933 0,0 c -0.12123,0 -0.21822,-0.0362 -0.3152,-0.0723 -0.097,-0.0362 -0.16973,-0.0905 -0.21823,-0.16285 -0.0485,-0.0723 -0.0727,-0.14473 -0.0727,-0.23521 l 0,0 0.60617,0 0,0.47043 z" /> 90.609 + <path 90.610 + inkscape:connector-curvature="0" 90.611 + id="108" 90.612 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.613 + d="m 417.71253,555.8989 0,-23.24944 0.60617,0 0.63042,0 0,23.24944 -0.63042,0 -0.60617,0 z" /> 90.614 + <path 90.615 + inkscape:connector-curvature="0" 90.616 + id="109" 90.617 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.618 + d="m 492.27199,542.49203 -0.55768,-3.32909 -1.04262,3.40147 -0.16973,0 -1.09111,-3.40147 -0.53344,3.32909 -0.63042,0 0.89714,-5.21078 0.29097,0 1.1396,3.79954 1.06687,-3.79954 0.29096,0 0.96988,5.21078 -0.63042,0 z" /> 90.619 + <path 90.620 + inkscape:connector-curvature="0" 90.621 + id="110" 90.622 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.623 + d="m 494.04201,540.48371 0,0 0,2.00832 -0.65466,0 0,-5.21078 0,0 0,0 c 0.50918,-0.0181 0.80015,-0.0362 0.89714,-0.0362 l 0,0 0,0 c 1.40632,0 2.08524,0.5066 2.08524,1.51979 l 0,0 0,0 c 0,1.15796 -0.60618,1.75502 -1.84277,1.75502 l 0,0 0,0 c -0.0727,0 -0.21822,-0.0181 -0.48495,-0.0362 z m 0,-2.55109 0,0 0,1.89974 0,0 0,0 c 0.29097,0.0362 0.43645,0.0362 0.43645,0.0362 l 0,0 0,0 c 0.8244,0 1.2366,-0.32567 1.2366,-1.01321 l 0,0 0,0 c 0,-0.65135 -0.43645,-0.95893 -1.30934,-0.95893 l 0,0 0,0 c -0.097,0 -0.19398,0 -0.36371,0.0362 z" /> 90.624 + <path 90.625 + inkscape:connector-curvature="0" 90.626 + id="111" 90.627 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.628 + d="m 497.24262,542.49203 0,-5.21078 0.65467,0 0,5.21078 -0.65467,0 z" /> 90.629 + <path 90.630 + inkscape:connector-curvature="0" 90.631 + id="112" 90.632 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.633 + d="m 500.49172,539.97712 1.1396,0 0,0.50659 -1.1396,0 0,1.23032 -0.4607,0 0,-1.23032 -1.11536,0 0,-0.50659 1.11536,0 0,-1.21224 0.4607,0 0,1.21224 z" /> 90.634 + <path 90.635 + inkscape:connector-curvature="0" 90.636 + id="113" 90.637 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.638 + d="m 503.15888,540.48371 0,0 0,2.00832 -0.65466,0 0,-5.21078 0,0 0,0 c 0.48493,-0.0181 0.80014,-0.0362 0.89713,-0.0362 l 0,0 0,0 c 1.38208,0 2.06099,0.5066 2.06099,1.51979 l 0,0 0,0 c 0,1.15796 -0.58192,1.75502 -1.81852,1.75502 l 0,0 0,0 c -0.0727,0 -0.24247,-0.0181 -0.48494,-0.0362 z m 0,-2.55109 0,0 0,1.89974 0,0 0,0 c 0.26672,0.0362 0.4122,0.0362 0.43644,0.0362 l 0,0 0,0 c 0.80016,0 1.21235,-0.32567 1.21235,-1.01321 l 0,0 0,0 c 0,-0.65135 -0.43644,-0.95893 -1.28508,-0.95893 l 0,0 0,0 c -0.097,0 -0.21823,0 -0.36371,0.0362 z" /> 90.639 + <path 90.640 + inkscape:connector-curvature="0" 90.641 + id="114" 90.642 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.643 + d="m 488.9744,547.77517 0,0 0,1.99023 -0.65467,0 0,-5.19268 0,0 0,0 c 0.50919,-0.0181 0.80015,-0.0362 0.89714,-0.0362 l 0,0 0,0 c 1.38208,0 2.08524,0.50661 2.08524,1.51981 l 0,0 0,0 c 0,1.17605 -0.60618,1.75502 -1.84278,1.75502 l 0,0 0,0 c -0.0727,0 -0.24246,0 -0.48493,-0.0362 z m 0,-2.56919 0,0 0,1.93593 0,0 0,0 c 0.29097,0.0181 0.43645,0.0362 0.43645,0.0362 l 0,0 0,0 c 0.82439,0 1.21235,-0.34377 1.21235,-1.04941 l 0,0 0,0 c 0,-0.63323 -0.41221,-0.95892 -1.2851,-0.95892 l 0,0 0,0 c -0.097,0 -0.21822,0.0181 -0.3637,0.0362 z" /> 90.644 + <path 90.645 + inkscape:connector-curvature="0" 90.646 + id="115" 90.647 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.648 + d="m 492.05376,548.71599 0,0 0,-4.30612 0.63042,0 0,4.17948 0,0 0,0 c 0,0.21713 0.0485,0.37995 0.16973,0.48851 l 0,0 0,0 c 0.097,0.10858 0.24248,0.16283 0.38796,0.16283 l 0,0 0,0.59707 0,0 0,0 c -0.7759,0 -1.18811,-0.37995 -1.18811,-1.12177 z" /> 90.649 + <path 90.650 + inkscape:connector-curvature="0" 90.651 + id="116" 90.652 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.653 + d="m 494.5512,545.96588 0,0 0,2.44253 0,0 0,0 c 0,0.59707 0.24247,0.86847 0.70316,0.86847 l 0,0 0,0 c 0.21823,0 0.38796,-0.0723 0.55769,-0.18092 l 0,0 0,0 c 0.16973,-0.1267 0.29096,-0.2714 0.33946,-0.43424 l 0,0 0,-2.69584 0.63041,0 0,3.79952 -0.63041,0 0,-0.52471 0,0 0,0 c -0.0727,0.16285 -0.19398,0.2895 -0.4122,0.41614 l 0,0 0,0 c -0.21823,0.1267 -0.4122,0.18093 -0.60618,0.18093 l 0,0 0,0 c -0.38795,0 -0.67891,-0.10857 -0.89714,-0.34376 l 0,0 0,0 c -0.19398,-0.25331 -0.29096,-0.57897 -0.29096,-1.0132 l 0,0 0,-2.51492 0.60617,0 z" /> 90.654 + <path 90.655 + inkscape:connector-curvature="0" 90.656 + id="117" 90.657 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.658 + d="m 497.50934,550.81479 0,0 0.33945,-0.54279 0,0 0,0 c 0.36371,0.2714 0.67892,0.39804 0.99413,0.39804 l 0,0 0,0 c 0.26672,0 0.48494,-0.0542 0.63043,-0.16284 l 0,0 0,0 c 0.16972,-0.0905 0.24246,-0.2352 0.24246,-0.37993 l 0,0 0,0 c 0,-0.30759 -0.19398,-0.47044 -0.60617,-0.47044 l 0,0 0,0 c -0.0485,0 -0.16973,0.0181 -0.36371,0.0544 l 0,0 0,0 c -0.16973,0.0361 -0.31521,0.0542 -0.4122,0.0542 l 0,0 0,0 c -0.50919,0 -0.75165,-0.19902 -0.75165,-0.61517 l 0,0 0,0 c 0,-0.10857 0.0485,-0.21711 0.16973,-0.32567 l 0,0 0,0 c 0.12123,-0.0905 0.26671,-0.16284 0.43644,-0.2171 l 0,0 0,0 c -0.48494,-0.25332 -0.72741,-0.68754 -0.72741,-1.3027 l 0,0 0,0 c 0,-0.39805 0.12124,-0.74182 0.3637,-0.99513 l 0,0 0,0 c 0.26673,-0.27138 0.58194,-0.39802 0.94564,-0.39802 l 0,0 0,0 c 0.33946,0 0.60617,0.0723 0.80015,0.2171 l 0,0 0.31521,-0.39805 0.38795,0.41615 -0.3637,0.30758 0,0 0,0 c 0.14548,0.21712 0.24247,0.5247 0.24247,0.88656 l 0,0 0,0 c 0,0.37996 -0.12124,0.70562 -0.33946,0.95893 l 0,0 0,0 c -0.21822,0.27138 -0.50918,0.41612 -0.84864,0.45231 l 0,0 -0.50919,0.0544 0,0 0,0 c -0.0485,0.0181 -0.14549,0.0361 -0.24247,0.0905 l 0,0 0,0 c -0.097,0.0362 -0.14548,0.0905 -0.14548,0.16283 l 0,0 0,0 c 0,0.0723 0.097,0.1267 0.31521,0.1267 l 0,0 0,0 c 0.097,0 0.24247,-0.0181 0.43644,-0.0544 l 0,0 0,0 c 0.19398,-0.0362 0.31522,-0.0362 0.4122,-0.0362 l 0,0 0,0 c 0.33946,0 0.63042,0.0723 0.80015,0.25329 l 0,0 0,0 c 0.19398,0.18094 0.29097,0.43424 0.29097,0.74182 l 0,0 0,0 c 0,0.36185 -0.14549,0.63326 -0.4122,0.85036 l 0,0 0,0 c -0.29096,0.21712 -0.65467,0.32567 -1.09112,0.32567 l 0,0 0,0 c -0.21822,0 -0.46069,-0.0362 -0.70315,-0.12669 l 0,0 0,0 c -0.26673,-0.0905 -0.4607,-0.19904 -0.60618,-0.32568 z m 1.30933,-4.3604 0,0 0,0 c -0.21822,0 -0.38795,0.0723 -0.53343,0.2352 l 0,0 0,0 c -0.12124,0.18093 -0.19397,0.37995 -0.19397,0.61517 l 0,0 0,0 c 0,0.27139 0.0727,0.48851 0.19397,0.66944 l 0,0 0,0 c 0.14548,0.16284 0.31521,0.25328 0.53343,0.25328 l 0,0 0,0 c 0.21822,0 0.36371,-0.0905 0.48495,-0.25328 l 0,0 0,0 c 0.14548,-0.16285 0.19397,-0.39805 0.19397,-0.66944 l 0,0 0,0 c 0,-0.23522 -0.0727,-0.43424 -0.19397,-0.61517 l 0,0 0,0 c -0.14549,-0.16283 -0.29097,-0.2352 -0.48495,-0.2352 z" /> 90.659 + <path 90.660 + inkscape:connector-curvature="0" 90.661 + id="118" 90.662 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.663 + d="m 501.60707,544.53653 0,0 0,0 c 0.12124,0 0.19398,0.0362 0.26672,0.10857 l 0,0 0,0 c 0.097,0.0905 0.12124,0.18093 0.12124,0.30758 l 0,0 0,0 c 0,0.10858 -0.0242,0.21712 -0.12124,0.2895 l 0,0 0,0 c -0.0727,0.0905 -0.14548,0.12669 -0.26672,0.12669 l 0,0 0,0 c -0.097,0 -0.19397,-0.0362 -0.26671,-0.12669 l 0,0 0,0 c -0.0727,-0.0723 -0.12124,-0.18093 -0.12124,-0.2895 l 0,0 0,0 c 0,-0.12669 0.0485,-0.21711 0.12124,-0.30758 l 0,0 0,0 c 0.0727,-0.0723 0.16973,-0.10857 0.26671,-0.10857 z m -0.33945,5.22887 0,0 0,-3.22055 -0.48494,0 0,-0.57897 1.11536,0 0,3.79952 -0.63042,0 z" /> 90.664 + <path 90.665 + inkscape:connector-curvature="0" 90.666 + id="119" 90.667 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.668 + d="m 505.0259,549.7654 0,0 0,-2.18925 0,0 0,0 c 0,-0.41614 -0.0485,-0.68752 -0.16973,-0.85037 l 0,0 0,0 c -0.097,-0.16284 -0.29096,-0.2533 -0.55768,-0.2533 l 0,0 0,0 c -0.14548,0 -0.29096,0.0542 -0.43644,0.14473 l 0,0 0,0 c -0.16973,0.0905 -0.26673,0.19904 -0.36371,0.34378 l 0,0 0,2.80441 -0.63042,0 0,-3.79952 0.43644,0 0.19398,0.5066 0,0 0,0 c 0.21823,-0.37995 0.53344,-0.56088 1.01837,-0.56088 l 0,0 0,0 c 0.72742,0 1.11536,0.50659 1.11536,1.5198 l 0,0 0,2.334 -0.60617,0 z" /> 90.669 + <path 90.670 + inkscape:connector-curvature="0" 90.671 + id="120" 90.672 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.673 + d="m 476.97215,532.64946 0,0 c 0,-0.0905 0.0242,-0.16283 0.0727,-0.23519 0.0485,-0.0723 0.12123,-0.1267 0.21822,-0.16285 0.097,-0.0362 0.19397,-0.0542 0.31521,-0.0542 l 0,0 0,0.45231 -0.60617,0 z" /> 90.674 + <path 90.675 + inkscape:connector-curvature="0" 90.676 + id="121" 90.677 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.678 + d="m 477.57832,532.19714 39.03764,0 0,0.45232 0,0.47042 -39.03764,0 0,-0.47042 0,-0.45232 z" /> 90.679 + <path 90.680 + inkscape:connector-curvature="0" 90.681 + id="122" 90.682 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.683 + d="m 516.61596,532.19714 0,0 c 0.12123,0 0.21821,0.0181 0.31521,0.0542 0.0727,0.0362 0.14548,0.0905 0.19397,0.16285 0.0485,0.0723 0.097,0.14473 0.097,0.23519 l 0,0 0,0 -0.60617,0 0,-0.45231 z" /> 90.684 + <path 90.685 + inkscape:connector-curvature="0" 90.686 + id="123" 90.687 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.688 + d="m 517.22213,532.64946 0,23.24944 -0.60617,0 -0.60618,0 0,-23.24944 0.60618,0 0.60617,0 z" /> 90.689 + <path 90.690 + inkscape:connector-curvature="0" 90.691 + id="124" 90.692 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.693 + d="m 517.22213,555.8989 0,0 c 0,0.0905 -0.0485,0.16285 -0.097,0.23522 -0.0485,0.0723 -0.12124,0.12669 -0.19397,0.16285 -0.097,0.0362 -0.19398,0.0723 -0.31521,0.0723 l 0,0 0,-0.47044 0.60617,0 z" /> 90.694 + <path 90.695 + inkscape:connector-curvature="0" 90.696 + id="125" 90.697 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.698 + d="m 516.61596,556.36933 -39.03764,0 0,-0.47043 0,-0.45232 39.03764,0 0,0.45232 0,0.47043 z" /> 90.699 + <path 90.700 + inkscape:connector-curvature="0" 90.701 + id="126" 90.702 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.703 + d="m 477.57832,556.36933 0,0 c -0.12124,0 -0.21822,-0.0362 -0.31521,-0.0723 -0.097,-0.0362 -0.16973,-0.0905 -0.21822,-0.16285 -0.0485,-0.0723 -0.0727,-0.14473 -0.0727,-0.23521 l 0,0 0.60617,0 0,0.47043 z" /> 90.704 + <path 90.705 + inkscape:connector-curvature="0" 90.706 + id="127" 90.707 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.708 + d="m 476.97215,555.8989 0,-23.24944 0.60617,0 0.63042,0 0,23.24944 -0.63042,0 -0.60617,0 z" /> 90.709 + <path 90.710 + inkscape:connector-curvature="0" 90.711 + id="128" 90.712 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.713 + d="m 542.82693,542.56441 -2.44894,-3.79953 0,3.72715 -0.63041,0 0,-5.21078 0.26671,0 2.40045,3.60052 0,-3.60052 0.60617,0 0,5.28316 -0.19398,0 z" /> 90.714 + <path 90.715 + inkscape:connector-curvature="0" 90.716 + id="129" 90.717 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.718 + d="m 546.87619,540.64655 0,0 -2.49745,0 0,0 0,0 c 0,0.45231 0.12124,0.79609 0.33946,1.03131 l 0,0 0,0 c 0.19398,0.2171 0.4607,0.30756 0.77591,0.30756 l 0,0 0,0 c 0.33946,0 0.65467,-0.10858 0.87289,-0.32566 l 0,0 0.26671,0.48851 0,0 0,0 c -0.097,0.0905 -0.24247,0.18093 -0.43644,0.27138 l 0,0 0,0 c -0.24247,0.0905 -0.53343,0.14476 -0.8244,0.14476 l 0,0 0,0 c -0.43644,0 -0.8244,-0.16285 -1.11536,-0.48851 l 0,0 0,0 c -0.36371,-0.36187 -0.53344,-0.85038 -0.53344,-1.44744 l 0,0 0,0 c 0,-0.63326 0.19398,-1.12177 0.53344,-1.50172 l 0,0 0,0 c 0.31521,-0.34377 0.67892,-0.50661 1.11536,-0.50661 l 0,0 0,0 c 0.50918,0 0.89714,0.14475 1.1881,0.45232 l 0,0 0,0 c 0.26672,0.30761 0.38795,0.66945 0.38795,1.15797 l 0,0 0,0 c 0,0.16282 -0.0242,0.28947 -0.0727,0.41613 z m -1.47907,-1.44745 0,0 0,0 c -0.26672,0 -0.50919,0.0905 -0.67892,0.2895 l 0,0 0,0 c -0.19398,0.18092 -0.29096,0.39804 -0.31521,0.66945 l 0,0 1.93976,0 0,0 0,0 c 0,-0.27141 -0.0727,-0.48853 -0.24247,-0.66945 l 0,0 0,0 c -0.16973,-0.19902 -0.38795,-0.2895 -0.70316,-0.2895 z" /> 90.719 + <path 90.720 + inkscape:connector-curvature="0" 90.721 + id="130" 90.722 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.723 + d="m 550.82844,542.56441 -0.16973,0 -1.01837,-2.60541 -1.01838,2.60541 -0.16973,0 -1.26083,-3.88999 0.67891,0 0.7274,2.49684 0.94564,-2.49684 0.16973,0 0.94563,2.49684 0.80016,-2.49684 0.63041,0 -1.26084,3.88999 z" /> 90.724 + <path 90.725 + inkscape:connector-curvature="0" 90.726 + id="131" 90.727 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.728 + d="m 552.62272,542.49203 0,-5.21078 0.63042,0 0,4.55943 2.13373,0 0,0.65135 -2.76415,0 z" /> 90.729 + <path 90.730 + inkscape:connector-curvature="0" 90.731 + id="132" 90.732 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.733 + d="m 557.88431,542.05781 0,0 0,0 c -0.24247,0.34375 -0.63042,0.5066 -1.13961,0.5066 l 0,0 0,0 c -0.26671,0 -0.50919,-0.10857 -0.70316,-0.32568 l 0,0 0,0 c -0.21822,-0.21712 -0.31521,-0.4885 -0.31521,-0.81419 l 0,0 0,0 c 0,-0.37994 0.16972,-0.70563 0.48494,-0.97701 l 0,0 0,0 c 0.29096,-0.27139 0.70316,-0.39804 1.1881,-0.39804 l 0,0 0,0 c 0.12124,0 0.26672,0.0181 0.43645,0.0905 l 0,0 0,0 c 0,-0.59707 -0.26672,-0.92274 -0.75166,-0.92274 l 0,0 0,0 c -0.38795,0 -0.70316,0.12669 -0.89714,0.34377 l 0,0 -0.26672,-0.5609 0,0 0,0 c 0.12124,-0.10857 0.26672,-0.19902 0.48494,-0.27138 l 0,0 0,0 c 0.21823,-0.0723 0.4122,-0.10858 0.60618,-0.10858 l 0,0 0,0 c 0.50919,0 0.87289,0.1267 1.09112,0.37995 l 0,0 0,0 c 0.24246,0.25331 0.3637,0.65134 0.3637,1.17606 l 0,0 0,1.37506 0,0 0,0 c 0,0.32565 0.0727,0.56087 0.26672,0.66943 l 0,0 0,0.34378 0,0 0,0 c -0.26672,0 -0.43645,-0.0362 -0.58193,-0.1267 l 0,0 0,0 c -0.12124,-0.0723 -0.19398,-0.19902 -0.26672,-0.37993 z m -0.0485,-1.44744 0,0 0,0 c -0.19398,-0.0362 -0.33946,-0.0723 -0.41221,-0.0723 l 0,0 0,0 c -0.3152,0 -0.58192,0.0904 -0.7759,0.27138 l 0,0 0,0 c -0.19397,0.18093 -0.29096,0.37997 -0.29096,0.61516 l 0,0 0,0 c 0,0.39805 0.21822,0.59707 0.63042,0.59707 l 0,0 0,0 c 0.31521,0 0.60618,-0.16284 0.84865,-0.48851 l 0,-0.92274 z" /> 90.734 + <path 90.735 + inkscape:connector-curvature="0" 90.736 + id="133" 90.737 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.738 + d="m 561.56985,542.49203 0,0 0,-2.22544 0,0 0,0 c 0,-0.39803 -0.0727,-0.66943 -0.16973,-0.83227 l 0,0 0,0 c -0.12123,-0.16282 -0.31521,-0.23522 -0.55768,-0.23522 l 0,0 0,0 c -0.14548,0 -0.29096,0.0362 -0.46069,0.1267 l 0,0 0,0 c -0.14548,0.0905 -0.26671,0.21711 -0.36371,0.34375 l 0,0 0,2.82251 -0.60617,0 0,-3.79953 0.4122,0 0.19397,0.48851 0,0 0,0 c 0.21823,-0.37995 0.55769,-0.56088 1.01838,-0.56088 l 0,0 0,0 c 0.77591,0 1.13961,0.50661 1.13961,1.50172 l 0,0 0,2.37018 -0.60618,0 z" /> 90.739 + <path 90.740 + inkscape:connector-curvature="0" 90.741 + id="134" 90.742 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.743 + d="m 562.95193,543.54142 0,0 0.33946,-0.5428 0,0 0,0 c 0.3637,0.25331 0.67891,0.39807 0.99412,0.39807 l 0,0 0,0 c 0.26672,0 0.48494,-0.0544 0.63042,-0.16285 l 0,0 0,0 c 0.16973,-0.10858 0.24248,-0.23522 0.24248,-0.39804 l 0,0 0,0 c 0,-0.30758 -0.19398,-0.47042 -0.58194,-0.47042 l 0,0 0,0 c -0.0727,0 -0.19396,0.0362 -0.38794,0.0723 l 0,0 0,0 c -0.16973,0.0362 -0.31521,0.0543 -0.4122,0.0543 l 0,0 0,0 c -0.50919,0 -0.75166,-0.21711 -0.75166,-0.61518 l 0,0 0,0 c 0,-0.12655 0.0485,-0.23519 0.16973,-0.34375 l 0,0 0,0 c 0.12124,-0.10857 0.26672,-0.18093 0.43645,-0.21711 l 0,0 0,0 c -0.48494,-0.25329 -0.72742,-0.68753 -0.72742,-1.32079 l 0,0 0,0 c 0,-0.37995 0.12124,-0.70562 0.36371,-0.97701 l 0,0 0,0 c 0.26672,-0.2714 0.58193,-0.39805 0.94564,-0.39805 l 0,0 0,0 c 0.36369,0 0.60617,0.0723 0.80014,0.23521 l 0,0 0.29097,-0.41613 0.4122,0.41613 -0.36371,0.30759 0,0 0,0 c 0.14548,0.2352 0.24247,0.52469 0.24247,0.86846 l 0,0 0,0 c 0,0.37995 -0.12124,0.70562 -0.33946,0.97702 l 0,0 0,0 c -0.21822,0.2533 -0.48494,0.41612 -0.84865,0.45232 l 0,0 -0.50918,0.0542 0,0 0,0 c -0.0485,0 -0.14548,0.0362 -0.24247,0.0723 l 0,0 0,0 c -0.097,0.0362 -0.14548,0.10858 -0.14548,0.18095 l 0,0 0,0 c 0,0.0905 0.097,0.14473 0.31521,0.14473 l 0,0 0,0 c 0.097,0 0.24247,-0.0181 0.43644,-0.0542 l 0,0 0,0 c 0.19398,-0.0362 0.33946,-0.0544 0.43645,-0.0544 l 0,0 0,0 c 0.31521,0 0.58193,0.0723 0.7759,0.25333 l 0,0 0,0 c 0.19398,0.18091 0.29097,0.43422 0.29097,0.75988 l 0,0 0,0 c 0,0.34378 -0.14549,0.63326 -0.43645,0.85037 l 0,0 0,0 c -0.26671,0.21713 -0.63042,0.32569 -1.06687,0.32569 l 0,0 0,0 c -0.21821,0 -0.46069,-0.0544 -0.70316,-0.14475 l 0,0 0,0 c -0.26671,-0.0723 -0.46069,-0.18094 -0.60617,-0.30758 z m 1.30933,-4.37848 0,0 0,0 c -0.21821,0 -0.38794,0.0904 -0.53343,0.25329 l 0,0 0,0 c -0.12123,0.16285 -0.19397,0.34377 -0.19397,0.57897 l 0,0 0,0 c 0,0.27139 0.0727,0.48851 0.19397,0.66945 l 0,0 0,0 c 0.12124,0.18092 0.31522,0.2533 0.53343,0.2533 l 0,0 0,0 c 0.21823,0 0.38796,-0.0723 0.50919,-0.2533 l 0,0 0,0 c 0.12124,-0.16285 0.16973,-0.37995 0.16973,-0.66945 l 0,0 0,0 c 0,-0.2352 -0.0727,-0.41612 -0.16973,-0.57897 l 0,0 0,0 c -0.14548,-0.16284 -0.31521,-0.25329 -0.50919,-0.25329 z" /> 90.744 + <path 90.745 + inkscape:connector-curvature="0" 90.746 + id="135" 90.747 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.748 + d="m 567.97105,539.97712 1.13961,0 0,0.50659 -1.13961,0 0,1.23032 -0.46069,0 0,-1.23032 -1.13961,0 0,-0.50659 1.13961,0 0,-1.21224 0.46069,0 0,1.21224 z" /> 90.749 + <path 90.750 + inkscape:connector-curvature="0" 90.751 + id="136" 90.752 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.753 + d="m 570.63822,540.48371 0,0 0,2.00832 -0.65466,0 0,-5.21078 0,0 0,0 c 0.48494,-0.0181 0.7759,-0.0362 0.87288,-0.0362 l 0,0 0,0 c 1.38208,0 2.08524,0.5066 2.08524,1.51979 l 0,0 0,0 c 0,1.15796 -0.63042,1.75502 -1.84277,1.75502 l 0,0 0,0 c -0.0727,0 -0.24247,-0.0181 -0.46069,-0.0362 z m 0,-2.55109 0,0 0,1.89974 0,0 0,0 c 0.24247,0.0362 0.38795,0.0362 0.4122,0.0362 l 0,0 0,0 c 0.80015,0 1.21235,-0.32567 1.21235,-1.01321 l 0,0 0,0 c 0,-0.65135 -0.43644,-0.95893 -1.28509,-0.95893 l 0,0 0,0 c -0.097,0 -0.21822,0 -0.33946,0.0362 z" /> 90.754 + <path 90.755 + inkscape:connector-curvature="0" 90.756 + id="137" 90.757 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.758 + d="m 548.25826,547.77517 0,0 0,1.99023 -0.65467,0 0,-5.19268 0,0 0,0 c 0.48494,-0.0181 0.80016,-0.0362 0.89714,-0.0362 l 0,0 0,0 c 1.38208,0 2.08524,0.50661 2.08524,1.51981 l 0,0 0,0 c 0,1.17605 -0.60618,1.75502 -1.84277,1.75502 l 0,0 0,0 c -0.0727,0 -0.24247,0 -0.48494,-0.0362 z m 0,-2.56919 0,0 0,1.93593 0,0 0,0 c 0.26672,0.0181 0.4122,0.0362 0.43645,0.0362 l 0,0 0,0 c 0.82439,0 1.21235,-0.34377 1.21235,-1.04941 l 0,0 0,0 c 0,-0.63323 -0.43645,-0.95892 -1.2851,-0.95892 l 0,0 0,0 c -0.097,0 -0.21821,0.0181 -0.3637,0.0362 z" /> 90.759 + <path 90.760 + inkscape:connector-curvature="0" 90.761 + id="138" 90.762 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.763 + d="m 551.33762,548.71599 0,0 0,-4.30612 0.63043,0 0,4.17948 0,0 0,0 c 0,0.21713 0.0485,0.37995 0.16973,0.48851 l 0,0 0,0 c 0.097,0.10858 0.24247,0.16283 0.41219,0.16283 l 0,0 0,0.59707 0,0 0,0 c -0.80014,0 -1.21235,-0.37995 -1.21235,-1.12177 z" /> 90.764 + <path 90.765 + inkscape:connector-curvature="0" 90.766 + id="139" 90.767 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.768 + d="m 553.83507,545.96588 0,0 0,2.44253 0,0 0,0 c 0,0.59707 0.24246,0.86847 0.70315,0.86847 l 0,0 0,0 c 0.19398,0 0.36371,-0.0723 0.53344,-0.18092 l 0,0 0,0 c 0.16973,-0.1267 0.29097,-0.2714 0.33946,-0.43424 l 0,0 0,-2.69584 0.63042,0 0,3.79952 -0.63042,0 0,-0.52471 0,0 0,0 c -0.0727,0.16285 -0.19398,0.2895 -0.4122,0.41614 l 0,0 0,0 c -0.21822,0.1267 -0.38795,0.18093 -0.60618,0.18093 l 0,0 0,0 c -0.3637,0 -0.67891,-0.10857 -0.87289,-0.34376 l 0,0 0,0 c -0.19397,-0.25331 -0.31521,-0.57897 -0.31521,-1.0132 l 0,0 0,-2.51492 0.63043,0 z" /> 90.769 + <path 90.770 + inkscape:connector-curvature="0" 90.771 + id="140" 90.772 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.773 + d="m 556.76895,550.81479 0,0 0.33946,-0.54279 0,0 0,0 c 0.33945,0.2714 0.67891,0.39804 0.99413,0.39804 l 0,0 0,0 c 0.26671,0 0.50918,-0.0542 0.65467,-0.16284 l 0,0 0,0 c 0.14548,-0.0905 0.21821,-0.2352 0.21821,-0.37993 l 0,0 0,0 c 0,-0.30759 -0.16973,-0.47044 -0.58192,-0.47044 l 0,0 0,0 c -0.0727,0 -0.19398,0.0181 -0.38796,0.0544 l 0,0 0,0 c -0.16972,0.0361 -0.3152,0.0542 -0.41219,0.0542 l 0,0 0,0 c -0.50919,0 -0.75166,-0.19902 -0.75166,-0.61517 l 0,0 0,0 c 0,-0.10857 0.0485,-0.21711 0.16973,-0.32567 l 0,0 0,0 c 0.12123,-0.0905 0.26671,-0.16284 0.43644,-0.2171 l 0,0 0,0 c -0.48494,-0.25332 -0.75165,-0.68754 -0.75165,-1.3027 l 0,0 0,0 c 0,-0.39805 0.14548,-0.74182 0.38795,-0.99513 l 0,0 0,0 c 0.26672,-0.27138 0.58193,-0.39802 0.94563,-0.39802 l 0,0 0,0 c 0.33946,0 0.63042,0.0723 0.80015,0.2171 l 0,0 0.29097,-0.39805 0.41219,0.41615 -0.3637,0.30758 0,0 0,0 c 0.14548,0.21712 0.24247,0.5247 0.24247,0.88656 l 0,0 0,0 c 0,0.37996 -0.12123,0.70562 -0.33945,0.95893 l 0,0 0,0 c -0.21823,0.27138 -0.48494,0.41612 -0.84865,0.45231 l 0,0 -0.50919,0.0544 0,0 0,0 c -0.0485,0.0181 -0.14548,0.0361 -0.24247,0.0905 l 0,0 0,0 c -0.097,0.0362 -0.14548,0.0905 -0.14548,0.16283 l 0,0 0,0 c 0,0.0723 0.097,0.1267 0.31521,0.1267 l 0,0 0,0 c 0.097,0 0.24247,-0.0181 0.43645,-0.0544 l 0,0 0,0 c 0.19398,-0.0362 0.33946,-0.0362 0.43644,-0.0362 l 0,0 0,0 c 0.31521,0 0.58193,0.0723 0.77591,0.25329 l 0,0 0,0 c 0.19397,0.18094 0.29096,0.43424 0.29096,0.74182 l 0,0 0,0 c 0,0.36185 -0.14548,0.63326 -0.43645,0.85036 l 0,0 0,0 c -0.29096,0.21712 -0.63042,0.32567 -1.06686,0.32567 l 0,0 0,0 c -0.21822,0 -0.4607,-0.0362 -0.70316,-0.12669 l 0,0 0,0 c -0.26672,-0.0905 -0.4607,-0.19904 -0.60618,-0.32568 z m 1.30934,-4.3604 0,0 0,0 c -0.21822,0 -0.38795,0.0723 -0.53343,0.2352 l 0,0 0,0 c -0.12125,0.18093 -0.19398,0.37995 -0.19398,0.61517 l 0,0 0,0 c 0,0.27139 0.0727,0.48851 0.19398,0.66944 l 0,0 0,0 c 0.12123,0.16284 0.31521,0.25328 0.53343,0.25328 l 0,0 0,0 c 0.21822,0 0.38795,-0.0905 0.50919,-0.25328 l 0,0 0,0 c 0.12123,-0.16285 0.19397,-0.39805 0.19397,-0.66944 l 0,0 0,0 c 0,-0.23522 -0.0727,-0.43424 -0.19397,-0.61517 l 0,0 0,0 c -0.14548,-0.16283 -0.31521,-0.2352 -0.50919,-0.2352 z" /> 90.774 + <path 90.775 + inkscape:connector-curvature="0" 90.776 + id="141" 90.777 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.778 + d="m 560.86669,544.53653 0,0 0,0 c 0.097,0 0.19397,0.0362 0.26672,0.10857 l 0,0 0,0 c 0.0727,0.0905 0.12123,0.18093 0.12123,0.30758 l 0,0 0,0 c 0,0.10858 -0.0485,0.21712 -0.12123,0.2895 l 0,0 0,0 c -0.0728,0.0905 -0.16973,0.12669 -0.26672,0.12669 l 0,0 0,0 c -0.097,0 -0.19398,-0.0362 -0.26672,-0.12669 l 0,0 0,0 c -0.0727,-0.0723 -0.12123,-0.18093 -0.12123,-0.2895 l 0,0 0,0 c 0,-0.12669 0.0485,-0.21711 0.12123,-0.30758 l 0,0 0,0 c 0.0727,-0.0723 0.16973,-0.10857 0.26672,-0.10857 z m -0.33946,5.22887 0,0 0,-3.22055 -0.48494,0 0,-0.57897 1.11537,0 0,3.79952 -0.63043,0 z" /> 90.779 + <path 90.780 + inkscape:connector-curvature="0" 90.781 + id="142" 90.782 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.783 + d="m 564.28551,549.7654 0,0 0,-2.18925 0,0 0,0 c 0,-0.41614 -0.0485,-0.68752 -0.16973,-0.85037 l 0,0 0,0 c -0.097,-0.16284 -0.29096,-0.2533 -0.55768,-0.2533 l 0,0 0,0 c -0.14548,0 -0.29096,0.0542 -0.43644,0.14473 l 0,0 0,0 c -0.16973,0.0905 -0.29096,0.19904 -0.36371,0.34378 l 0,0 0,2.80441 -0.63042,0 0,-3.79952 0.43645,0 0.19397,0.5066 0,0 0,0 c 0.19398,-0.37995 0.53344,-0.56088 0.99413,-0.56088 l 0,0 0,0 c 0.77591,0 1.13961,0.50659 1.13961,1.5198 l 0,0 0,2.334 -0.60618,0 z" /> 90.784 + <path 90.785 + inkscape:connector-curvature="0" 90.786 + id="143" 90.787 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.788 + d="m 536.23176,532.64946 0,0 c 0,-0.0905 0.0242,-0.16283 0.0727,-0.23519 0.0485,-0.0723 0.12123,-0.1267 0.21822,-0.16285 0.097,-0.0362 0.19398,-0.0542 0.31522,-0.0542 l 0,0 0,0.45231 -0.60618,0 z" /> 90.789 + <path 90.790 + inkscape:connector-curvature="0" 90.791 + id="144" 90.792 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.793 + d="m 536.83794,532.19714 39.06188,0 0,0.45232 0,0.47042 -39.06188,0 0,-0.47042 0,-0.45232 z" /> 90.794 + <path 90.795 + inkscape:connector-curvature="0" 90.796 + id="145" 90.797 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.798 + d="m 575.89982,532.19714 0,0 c 0.12123,0 0.21822,0.0181 0.31521,0.0542 0.097,0.0362 0.16973,0.0905 0.21822,0.16285 0.0485,0.0723 0.097,0.14473 0.097,0.23519 l 0,0 0,0 -0.63042,0 0,-0.45231 z" /> 90.799 + <path 90.800 + inkscape:connector-curvature="0" 90.801 + id="146" 90.802 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.803 + d="m 576.53024,532.64946 0,23.17707 -0.63042,0 -0.60618,0 0,-23.17707 0.60618,0 0.63042,0 z" /> 90.804 + <path 90.805 + inkscape:connector-curvature="0" 90.806 + id="147" 90.807 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.808 + d="m 576.53024,555.82653 0,0 c 0,0.0905 -0.0485,0.16285 -0.097,0.23522 -0.0485,0.0723 -0.12124,0.12669 -0.21822,0.16282 -0.097,0.0362 -0.19398,0.0723 -0.31521,0.0723 l 0,0 0,-0.47043 0.63042,0 z" /> 90.809 + <path 90.810 + inkscape:connector-curvature="0" 90.811 + id="148" 90.812 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.813 + d="m 575.89982,556.29697 -39.06188,0 0,-0.47044 0,-0.45233 39.06188,0 0,0.45233 0,0.47044 z" /> 90.814 + <path 90.815 + inkscape:connector-curvature="0" 90.816 + id="149" 90.817 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.818 + d="m 536.83794,556.29697 0,0 c -0.12124,0 -0.21823,-0.0362 -0.31522,-0.0723 -0.097,-0.0362 -0.16973,-0.0905 -0.21822,-0.16283 -0.0485,-0.0723 -0.0727,-0.14476 -0.0727,-0.23521 l 0,0 0.60618,0 0,0.47043 z" /> 90.819 + <path 90.820 + inkscape:connector-curvature="0" 90.821 + id="150" 90.822 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.823 + d="m 536.23176,555.82653 0,-23.17707 0.60618,0 0.63042,0 0,23.17707 -0.63042,0 -0.60618,0 z" /> 90.824 + <path 90.825 + inkscape:connector-curvature="0" 90.826 + id="151" 90.827 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.828 + d="m 234.30839,556.22457 16.00301,17.17023 -0.48494,0.25328 -0.48495,0.2533 -16.00301,-17.1702 0.48495,-0.2533 0.48494,-0.25331 z" /> 90.829 + <path 90.830 + inkscape:connector-curvature="0" 90.831 + id="152" 90.832 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.833 + d="m 248.6626,568.79917 0,0 2.03674,5.75357 -6.49818,-3.40148 0,0 0,0 c 1.98825,0.0542 3.80677,-0.92273 4.46144,-2.35209 z" /> 90.834 + <path 90.835 + inkscape:connector-curvature="0" 90.836 + id="153" 90.837 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.838 + d="m 350.88787,556.64072 -9.43208,17.17021 -0.53343,-0.16285 -0.53344,-0.16283 9.43206,-17.17021 0.53345,0.16284 0.53344,0.16284 z" /> 90.839 + <path 90.840 + inkscape:connector-curvature="0" 90.841 + id="154" 90.842 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.843 + d="m 345.72324,570.28282 0,0 -5.35857,4.39658 0.29097,-5.95259 0,0 0,0 c 1.06686,1.28459 3.10361,1.93593 5.0676,1.55601 z" /> 90.844 + <path 90.845 + inkscape:connector-curvature="0" 90.846 + id="190" 90.847 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.848 + d="m 262.58037,442.96271 20.70691,11.39855 -0.33945,0.34377 -0.33946,0.34377 -20.70692,-11.39856 0.33947,-0.34377 0.33945,-0.34376 z" /> 90.849 + <path 90.850 + inkscape:connector-curvature="0" 90.851 + id="191" 90.852 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.853 + d="m 279.77147,450.38082 0,0 4.38871,4.97556 -7.61357,-1.64646 0,0 0,0 c 1.89128,-0.47041 3.20061,-1.80929 3.22486,-3.3291 z" /> 90.854 + <path 90.855 + inkscape:connector-curvature="0" 90.856 + id="192" 90.857 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.858 + d="m 292.67087,443.30647 -0.0727,11.39856 -0.58194,0 -0.58191,0 0.0727,-11.39856 0.58193,0 0.58193,0 z" /> 90.859 + <path 90.860 + inkscape:connector-curvature="0" 90.861 + id="193" 90.862 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.863 + d="m 294.8046,450.23607 0,0 -2.78841,5.57264 -2.69141,-5.59073 0,0 0,0 c 1.6003,0.90464 3.83103,0.90464 5.47982,0.0181 z" /> 90.864 + <path 90.865 + inkscape:connector-curvature="0" 90.866 + id="194" 90.867 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.868 + d="m 322.20369,443.65024 -20.68269,11.39856 -0.33945,-0.34377 -0.33946,-0.34377 20.68268,-11.39855 0.33947,0.34376 0.33945,0.34377 z" /> 90.869 + <path 90.870 + inkscape:connector-curvature="0" 90.871 + id="195" 90.872 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.873 + d="m 307.60701,453.72802 0,0 -7.6378,1.64645 4.36445,-4.97556 0,0 0,0 c 0,1.50172 1.33358,2.8406 3.27335,3.32911 z" /> 90.874 + <path 90.875 + inkscape:connector-curvature="0" 90.876 + id="220" 90.877 + style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.878 + d="m 257.22178,441.15341 -0.3637,-1.21223 -1.98825,0 -0.38796,1.21223 -0.80015,0 2.15798,-5.86212 0.19398,0 1.98825,5.86212 -0.80015,0 z m -1.33358,-4.34231 -0.8244,2.53302 1.57606,0 -0.75166,-2.53302 z" /> 90.879 + <path 90.880 + inkscape:connector-curvature="0" 90.881 + id="221" 90.882 + style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.883 + d="m 259.23427,440.9182 0,0 0,1.89976 -0.70316,0 0,-5.8983 0.70316,0 0,0.34377 0,0 0,0 c 0.24249,-0.28949 0.58194,-0.43424 0.94565,-0.43424 l 0,0 0,0 c 0.53343,0 0.94563,0.19904 1.26083,0.56089 l 0,0 0,0 c 0.31522,0.37995 0.4607,0.94083 0.4607,1.66455 l 0,0 0,0 c 0,0.63325 -0.14548,1.15795 -0.4607,1.57408 l 0,0 0,0 c -0.3152,0.39806 -0.75165,0.61517 -1.33358,0.61517 l 0,0 0,0 c -0.14548,0 -0.33945,-0.0362 -0.50918,-0.10858 l 0,0 0,0 c -0.19398,-0.0542 -0.31522,-0.12669 -0.36372,-0.21711 z m 0,-3.09389 0,0 0,2.47874 0,0 0,0 c 0.0242,0.0723 0.12125,0.14473 0.26674,0.19902 l 0,0 0,0 c 0.14548,0.0723 0.29095,0.10858 0.41218,0.10858 l 0,0 0,0 c 0.8244,0 1.26085,-0.54279 1.26085,-1.59218 l 0,0 0,0 c 0,-0.54279 -0.097,-0.92274 -0.3152,-1.17604 l 0,0 0,0 c -0.19399,-0.2533 -0.5092,-0.37995 -0.94565,-0.37995 l 0,0 0,0 c -0.097,0 -0.21822,0.0362 -0.3637,0.12669 l 0,0 0,0 c -0.12123,0.0723 -0.24247,0.14475 -0.31522,0.23521 z" /> 90.884 + <path 90.885 + inkscape:connector-curvature="0" 90.886 + id="222" 90.887 + style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.888 + d="m 263.35626,440.9182 0,0 0,1.89976 -0.70316,0 0,-5.8983 0.70316,0 0,0.34377 0,0 0,0 c 0.24249,-0.28949 0.55769,-0.43424 0.94563,-0.43424 l 0,0 0,0 c 0.53344,0 0.96989,0.19904 1.2851,0.56089 l 0,0 0,0 c 0.31522,0.37995 0.46068,0.94083 0.46068,1.66455 l 0,0 0,0 c 0,0.63325 -0.14546,1.15795 -0.46068,1.57408 l 0,0 0,0 c -0.31521,0.39806 -0.7759,0.61517 -1.35783,0.61517 l 0,0 0,0 c -0.16973,0 -0.33946,-0.0362 -0.53343,-0.10858 l 0,0 0,0 c -0.16973,-0.0542 -0.29097,-0.12669 -0.33947,-0.21711 z m 0,-3.09389 0,0 0,2.47874 0,0 0,0 c 0.0242,0.0723 0.12124,0.14473 0.26672,0.19902 l 0,0 0,0 c 0.14548,0.0723 0.26672,0.10858 0.4122,0.10858 l 0,0 0,0 c 0.84865,0 1.2851,-0.54279 1.2851,-1.59218 l 0,0 0,0 c 0,-0.54279 -0.097,-0.92274 -0.31522,-1.17604 l 0,0 0,0 c -0.19397,-0.2533 -0.50918,-0.37995 -0.96988,-0.37995 l 0,0 0,0 c -0.097,0 -0.21822,0.0362 -0.3637,0.12669 l 0,0 0,0 c -0.12123,0.0723 -0.24247,0.14475 -0.31522,0.23521 z" /> 90.889 + <path 90.890 + inkscape:connector-curvature="0" 90.891 + id="223" 90.892 + style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.893 + d="m 270.3394,441.15341 0,0 0,-4.43277 -1.09112,0.72372 0,-0.72372 0,0 0,0 c 0.26672,-0.14474 0.55768,-0.36185 0.8729,-0.61516 l 0,0 0,0 c 0.3152,-0.27139 0.55768,-0.5247 0.7274,-0.7599 l 0,0 0.21823,0 0,5.80783 -0.72741,0 z" /> 90.894 + <path 90.895 + inkscape:connector-curvature="0" 90.896 + id="224" 90.897 + style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.898 + d="m 286.85159,441.15341 -0.3637,-1.21223 -1.96401,0 -0.38795,1.21223 -0.80015,0 2.13373,-5.86212 0.19398,0 1.98825,5.86212 -0.80015,0 z m -1.33358,-4.34231 -0.8244,2.53302 1.57605,0 -0.75165,-2.53302 z" /> 90.899 + <path 90.900 + inkscape:connector-curvature="0" 90.901 + id="225" 90.902 + style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.903 + d="m 288.86408,440.9182 0,0 0,1.89976 -0.70316,0 0,-5.8983 0.70316,0 0,0.34377 0,0 0,0 c 0.24249,-0.28949 0.55769,-0.43424 0.94564,-0.43424 l 0,0 0,0 c 0.53343,0 0.94564,0.19904 1.26084,0.56089 l 0,0 0,0 c 0.31522,0.37995 0.4607,0.94083 0.4607,1.66455 l 0,0 0,0 c 0,0.63325 -0.14548,1.15795 -0.4607,1.57408 l 0,0 0,0 c -0.3152,0.39806 -0.75166,0.61517 -1.33358,0.61517 l 0,0 0,0 c -0.14548,0 -0.33945,-0.0362 -0.50918,-0.10858 l 0,0 0,0 c -0.19398,-0.0542 -0.31522,-0.12669 -0.36372,-0.21711 z m 0,-3.09389 0,0 0,2.47874 0,0 0,0 c 0.0242,0.0723 0.12124,0.14473 0.26672,0.19902 l 0,0 0,0 c 0.1455,0.0723 0.26673,0.10858 0.4122,0.10858 l 0,0 0,0 c 0.8244,0 1.26085,-0.54279 1.26085,-1.59218 l 0,0 0,0 c 0,-0.54279 -0.097,-0.92274 -0.31522,-1.17604 l 0,0 0,0 c -0.19397,-0.2533 -0.48493,-0.37995 -0.94563,-0.37995 l 0,0 0,0 c -0.097,0 -0.21822,0.0362 -0.3637,0.12669 l 0,0 0,0 c -0.12123,0.0723 -0.24247,0.14475 -0.31522,0.23521 z" /> 90.904 + <path 90.905 + inkscape:connector-curvature="0" 90.906 + id="226" 90.907 + style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.908 + d="m 292.96182,440.9182 0,0 0,1.89976 -0.67891,0 0,-5.8983 0.67891,0 0,0.34377 0,0 0,0 c 0.26672,-0.28949 0.58194,-0.43424 0.96989,-0.43424 l 0,0 0,0 c 0.53343,0 0.96988,0.19904 1.28509,0.56089 l 0,0 0,0 c 0.31522,0.37995 0.46068,0.94083 0.46068,1.66455 l 0,0 0,0 c 0,0.63325 -0.16971,1.15795 -0.46068,1.57408 l 0,0 0,0 c -0.31521,0.39806 -0.77591,0.61517 -1.35783,0.61517 l 0,0 0,0 c -0.16973,0 -0.33946,-0.0362 -0.53343,-0.10858 l 0,0 0,0 c -0.16973,-0.0542 -0.29097,-0.12669 -0.36372,-0.21711 z m 0,-3.09389 0,0 0,2.47874 0,0 0,0 c 0.0485,0.0723 0.14549,0.14473 0.29097,0.19902 l 0,0 0,0 c 0.14548,0.0723 0.26672,0.10858 0.4122,0.10858 l 0,0 0,0 c 0.84865,0 1.2851,-0.54279 1.2851,-1.59218 l 0,0 0,0 c 0,-0.54279 -0.097,-0.92274 -0.31522,-1.17604 l 0,0 0,0 c -0.19398,-0.2533 -0.53343,-0.37995 -0.96988,-0.37995 l 0,0 0,0 c -0.097,0 -0.21822,0.0362 -0.3637,0.12669 l 0,0 0,0 c -0.14548,0.0723 -0.24248,0.14475 -0.33947,0.23521 z" /> 90.909 + <path 90.910 + inkscape:connector-curvature="0" 90.911 + id="227" 90.912 + style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.913 + d="m 298.39316,441.15341 0,0 0,-0.16283 1.67303,-2.76823 0,0 0,0 c 0.36372,-0.59706 0.53343,-1.08557 0.53343,-1.48362 l 0,0 0,0 c 0,-0.52469 -0.29095,-0.79609 -0.84863,-0.79609 l 0,0 0,0 c -0.19398,0 -0.36371,0.0544 -0.53345,0.16284 l 0,0 0,0 c -0.16971,0.12669 -0.3152,0.25331 -0.38795,0.43423 l 0,0 -0.46068,-0.41614 0,0 0,0 c 0.0727,-0.27139 0.24247,-0.47041 0.48493,-0.61515 l 0,0 0,0 c 0.24247,-0.16284 0.53344,-0.23522 0.8729,-0.23522 l 0,0 0,0 c 0.50918,0 0.89713,0.12669 1.1881,0.37996 l 0,0 0,0 c 0.29096,0.2533 0.43645,0.61515 0.43645,1.08557 l 0,0 0,0 c 0,0.43423 -0.19399,0.97701 -0.55768,1.64646 l 0,0 -1.21235,2.06259 2.08524,0 0,0.70563 -3.27334,0 z" /> 90.914 + <path 90.915 + inkscape:connector-curvature="0" 90.916 + id="228" 90.917 + style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.918 + d="m 316.50565,441.15341 -0.36372,-1.21223 -1.98824,0 -0.36372,1.21223 -0.82438,0 2.15798,-5.86212 0.16972,0 2.01251,5.86212 -0.80015,0 z m -1.3336,-4.34231 -0.82438,2.53302 1.57605,0 -0.75167,-2.53302 z" /> 90.919 + <path 90.920 + inkscape:connector-curvature="0" 90.921 + id="229" 90.922 + style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.923 + d="m 318.51814,440.9182 0,0 0,1.89976 -0.70316,0 0,-5.8983 0.70316,0 0,0.34377 0,0 0,0 c 0.24247,-0.28949 0.55769,-0.43424 0.94564,-0.43424 l 0,0 0,0 c 0.50918,0 0.94563,0.19904 1.26084,0.56089 l 0,0 0,0 c 0.31522,0.37995 0.4607,0.94083 0.4607,1.66455 l 0,0 0,0 c 0,0.63325 -0.14548,1.15795 -0.4607,1.57408 l 0,0 0,0 c -0.31521,0.39806 -0.77591,0.61517 -1.33359,0.61517 l 0,0 0,0 c -0.16972,0 -0.33945,-0.0362 -0.53344,-0.10858 l 0,0 0,0 c -0.16973,-0.0542 -0.29096,-0.12669 -0.33945,-0.21711 z m 0,-3.09389 0,0 0,2.47874 0,0 0,0 c 0.0242,0.0723 0.12124,0.14473 0.26672,0.19902 l 0,0 0,0 c 0.14548,0.0723 0.26672,0.10858 0.4122,0.10858 l 0,0 0,0 c 0.8244,0 1.26085,-0.54279 1.26085,-1.59218 l 0,0 0,0 c 0,-0.54279 -0.097,-0.92274 -0.31522,-1.17604 l 0,0 0,0 c -0.19398,-0.2533 -0.48493,-0.37995 -0.94563,-0.37995 l 0,0 0,0 c -0.097,0 -0.21822,0.0362 -0.3637,0.12669 l 0,0 0,0 c -0.12125,0.0723 -0.24248,0.14475 -0.31522,0.23521 z" /> 90.924 + <path 90.925 + inkscape:connector-curvature="0" 90.926 + id="230" 90.927 + style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.928 + d="m 322.61588,440.9182 0,0 0,1.89976 -0.67891,0 0,-5.8983 0.67891,0 0,0.34377 0,0 0,0 c 0.26672,-0.28949 0.58194,-0.43424 0.94564,-0.43424 l 0,0 0,0 c 0.53343,0 0.96988,0.19904 1.28508,0.56089 l 0,0 0,0 c 0.29096,0.37995 0.46069,0.94083 0.46069,1.66455 l 0,0 0,0 c 0,0.63325 -0.16973,1.15795 -0.46069,1.57408 l 0,0 0,0 c -0.3152,0.39806 -0.7759,0.61517 -1.35783,0.61517 l 0,0 0,0 c -0.16972,0 -0.3152,-0.0362 -0.50919,-0.10858 l 0,0 0,0 c -0.16973,-0.0542 -0.29096,-0.12669 -0.3637,-0.21711 z m 0,-3.09389 0,0 0,2.47874 0,0 0,0 c 0.0485,0.0723 0.14549,0.14473 0.29097,0.19902 l 0,0 0,0 c 0.14548,0.0723 0.26672,0.10858 0.38795,0.10858 l 0,0 0,0 c 0.84865,0 1.2851,-0.54279 1.2851,-1.59218 l 0,0 0,0 c 0,-0.54279 -0.097,-0.92274 -0.31522,-1.17604 l 0,0 0,0 c -0.19398,-0.2533 -0.53343,-0.37995 -0.96988,-0.37995 l 0,0 0,0 c -0.0727,0 -0.19398,0.0362 -0.33947,0.12669 l 0,0 0,0 c -0.14548,0.0723 -0.24246,0.14475 -0.33945,0.23521 z" /> 90.929 + <path 90.930 + inkscape:connector-curvature="0" 90.931 + id="231" 90.932 + style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.933 + d="m 328.16844,440.73727 0,0 0.36371,-0.59706 0,0 0,0 c 0.21822,0.28948 0.53342,0.41613 0.89713,0.41613 l 0,0 0,0 c 0.67892,0 1.01837,-0.34376 1.01837,-1.06748 l 0,0 0,0 c 0,-0.32567 -0.12123,-0.59707 -0.3152,-0.79609 l 0,0 0,0 c -0.19398,-0.21711 -0.43645,-0.30758 -0.7759,-0.30758 l 0,0 -0.0485,0 0,-0.65134 0.0242,0 0,0 0,0 c 0.60617,0 0.92138,-0.28949 0.92138,-0.88657 l 0,0 0,0 c 0,-0.59706 -0.29096,-0.90464 -0.87288,-0.90464 l 0,0 0,0 c -0.31523,0 -0.55768,0.10858 -0.75166,0.34377 l 0,0 -0.31522,-0.54279 0,0 0,0 c 0.21823,-0.30758 0.60618,-0.47042 1.13961,-0.47042 l 0,0 0,0 c 0.46069,0 0.8244,0.12669 1.1396,0.39805 l 0,0 0,0 c 0.29097,0.27139 0.43645,0.61516 0.43645,1.04939 l 0,0 0,0 c 0,0.30759 -0.097,0.57897 -0.24247,0.83228 l 0,0 0,0 c -0.16973,0.2533 -0.36371,0.41613 -0.58193,0.5066 l 0,0 0,0 c 0.29097,0.10858 0.53345,0.28948 0.72742,0.54279 l 0,0 0,0 c 0.16971,0.27139 0.26671,0.57897 0.26671,0.94083 l 0,0 0,0 c 0,0.54278 -0.14548,0.95893 -0.46068,1.24841 l 0,0 0,0 c -0.31523,0.30758 -0.75166,0.45233 -1.3336,0.45233 l 0,0 0,0 c -0.21821,0 -0.46069,-0.0542 -0.67891,-0.14475 l 0,0 0,0 c -0.24247,-0.10857 -0.4122,-0.21711 -0.55768,-0.36186 z" /> 90.934 + <path 90.935 + inkscape:connector-curvature="0" 90.936 + id="264" 90.937 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.938 + d="m 364.80562,442.96271 20.73117,11.39855 -0.33946,0.34377 -0.33945,0.34377 -20.73117,-11.39856 0.33946,-0.34377 0.33945,-0.34376 z" /> 90.939 + <path 90.940 + inkscape:connector-curvature="0" 90.941 + id="265" 90.942 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.943 + d="m 382.02098,450.38082 0,0 4.36445,4.97556 -7.61354,-1.64646 0,0 0,0 c 1.91551,-0.47041 3.22484,-1.80929 3.24909,-3.3291 z" /> 90.944 + <path 90.945 + inkscape:connector-curvature="0" 90.946 + id="266" 90.947 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.948 + d="m 394.92037,443.30647 -0.0485,11.39856 -0.58193,0 -0.58193,0 0.0485,-11.39856 0.58192,0 0.58193,0 z" /> 90.949 + <path 90.950 + inkscape:connector-curvature="0" 90.951 + id="267" 90.952 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.953 + d="m 397.07835,450.23607 0,0 -2.7884,5.57264 -2.71566,-5.59073 0,0 0,0 c 1.6003,0.90464 3.83102,0.90464 5.50406,0.0181 z" /> 90.954 + <path 90.955 + inkscape:connector-curvature="0" 90.956 + id="268" 90.957 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.958 + d="m 424.45319,443.65024 -20.73117,11.39856 -0.31521,-0.34377 -0.33945,-0.34377 20.70692,-11.39855 0.33945,0.34376 0.33946,0.34377 z" /> 90.959 + <path 90.960 + inkscape:connector-curvature="0" 90.961 + id="269" 90.962 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.963 + d="m 409.80801,453.72802 0,0 -7.61355,1.64645 4.38871,-4.97556 0,0 0,0 c 0,1.50172 1.30933,2.8406 3.22484,3.32911 z" /> 90.964 + <path 90.965 + inkscape:connector-curvature="0" 90.966 + id="294" 90.967 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.968 + d="m 359.49553,441.15341 -0.38794,-1.21223 -1.96401,0 -0.38796,1.21223 -0.82438,0 2.15798,-5.86212 0.19396,0 2.01251,5.86212 -0.80016,0 z m -1.33358,-4.34231 -0.82439,2.53302 1.57605,0 -0.75166,-2.53302 z" /> 90.969 + <path 90.970 + inkscape:connector-curvature="0" 90.971 + id="295" 90.972 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.973 + d="m 361.48379,440.9182 0,0 0,1.89976 -0.67891,0 0,-5.8983 0.67891,0 0,0.34377 0,0 0,0 c 0.24247,-0.28949 0.53343,-0.43424 0.89713,-0.43424 l 0,0 0,0 c 0.55769,0 0.99413,0.19904 1.30935,0.56089 l 0,0 0,0 c 0.29096,0.37995 0.46069,0.94083 0.46069,1.66455 l 0,0 0,0 c 0,0.63325 -0.16973,1.15795 -0.48494,1.57408 l 0,0 0,0 c -0.29097,0.39806 -0.75166,0.61517 -1.33358,0.61517 l 0,0 0,0 c -0.16973,0 -0.33946,-0.0362 -0.53344,-0.10858 l 0,0 0,0 c -0.14548,-0.0542 -0.26672,-0.12669 -0.31521,-0.21711 z m 0,-3.09389 0,0 0,2.47874 0,0 0,0 c 0.0485,0.0723 0.14548,0.14473 0.26672,0.19902 l 0,0 0,0 c 0.097,0.0723 0.24247,0.10858 0.38795,0.10858 l 0,0 0,0 c 0.84864,0 1.28509,-0.54279 1.28509,-1.59218 l 0,0 0,0 c 0,-0.54279 -0.12124,-0.92274 -0.31521,-1.17604 l 0,0 0,0 c -0.19398,-0.2533 -0.53344,-0.37995 -0.96988,-0.37995 l 0,0 0,0 c -0.097,0 -0.21823,0.0362 -0.33946,0.12669 l 0,0 0,0 c -0.12124,0.0723 -0.21822,0.14475 -0.31521,0.23521 z" /> 90.974 + <path 90.975 + inkscape:connector-curvature="0" 90.976 + id="296" 90.977 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.978 + d="m 365.58152,440.9182 0,0 0,1.89976 -0.67891,0 0,-5.8983 0.67891,0 0,0.34377 0,0 0,0 c 0.26673,-0.28949 0.58193,-0.43424 0.94564,-0.43424 l 0,0 0,0 c 0.55768,0 0.99413,0.19904 1.26084,0.56089 l 0,0 0,0 c 0.31522,0.37995 0.4607,0.94083 0.4607,1.66455 l 0,0 0,0 c 0,0.63325 -0.14548,1.15795 -0.4607,1.57408 l 0,0 0,0 c -0.29096,0.39806 -0.7274,0.61517 -1.30933,0.61517 l 0,0 0,0 c -0.16973,0 -0.33946,-0.0362 -0.53344,-0.10858 l 0,0 0,0 c -0.19398,-0.0542 -0.31521,-0.12669 -0.36371,-0.21711 z m 0,-3.09389 0,0 0,2.47874 0,0 0,0 c 0.0485,0.0723 0.14549,0.14473 0.26673,0.19902 l 0,0 0,0 c 0.14548,0.0723 0.29096,0.10858 0.41219,0.10858 l 0,0 0,0 c 0.87289,0 1.28509,-0.54279 1.28509,-1.59218 l 0,0 0,0 c 0,-0.54279 -0.097,-0.92274 -0.29096,-1.17604 l 0,0 0,0 c -0.21822,-0.2533 -0.53343,-0.37995 -0.96988,-0.37995 l 0,0 0,0 c -0.097,0 -0.21822,0.0362 -0.36371,0.12669 l 0,0 0,0 c -0.14548,0.0723 -0.26671,0.14475 -0.33946,0.23521 z" /> 90.979 + <path 90.980 + inkscape:connector-curvature="0" 90.981 + id="297" 90.982 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.983 + d="m 373.94673,439.57932 0,1.57409 -0.67891,0 0,-1.57409 -2.42469,0 0,-0.45231 2.83689,-3.78143 0.26671,0 0,3.61859 0.53344,0 0,0.61515 -0.53344,0 z m -0.67891,-2.65966 -1.55181,2.04451 1.55181,0 0,-2.04451 z" /> 90.984 + <path 90.985 + inkscape:connector-curvature="0" 90.986 + id="298" 90.987 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.988 + d="m 389.12534,441.15341 -0.38795,-1.21223 -1.964,0 -0.38796,1.21223 -0.80014,0 2.13373,-5.86212 0.19397,0 2.0125,5.86212 -0.80015,0 z m -1.33358,-4.34231 -0.82439,2.53302 1.57604,0 -0.75165,-2.53302 z" /> 90.989 + <path 90.990 + inkscape:connector-curvature="0" 90.991 + id="299" 90.992 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.993 + d="m 391.11359,440.9182 0,0 0,1.89976 -0.67891,0 0,-5.8983 0.67891,0 0,0.34377 0,0 0,0 c 0.26673,-0.28949 0.55769,-0.43424 0.92139,-0.43424 l 0,0 0,0 c 0.55769,0 0.99413,0.19904 1.28509,0.56089 l 0,0 0,0 c 0.31521,0.37995 0.4607,0.94083 0.4607,1.66455 l 0,0 0,0 c 0,0.63325 -0.14549,1.15795 -0.4607,1.57408 l 0,0 0,0 c -0.29096,0.39806 -0.75165,0.61517 -1.33358,0.61517 l 0,0 0,0 c -0.16973,0 -0.33946,-0.0362 -0.50919,-0.10858 l 0,0 0,0 c -0.19398,-0.0542 -0.31521,-0.12669 -0.36371,-0.21711 z m 0,-3.09389 0,0 0,2.47874 0,0 0,0 c 0.0485,0.0723 0.14548,0.14473 0.29097,0.19902 l 0,0 0,0 c 0.12124,0.0723 0.24247,0.10858 0.3637,0.10858 l 0,0 0,0 c 0.87289,0 1.30934,-0.54279 1.30934,-1.59218 l 0,0 0,0 c 0,-0.54279 -0.12124,-0.92274 -0.3152,-1.17604 l 0,0 0,0 c -0.19398,-0.2533 -0.53344,-0.37995 -0.96989,-0.37995 l 0,0 0,0 c -0.097,0 -0.21822,0.0362 -0.33946,0.12669 l 0,0 0,0 c -0.14548,0.0723 -0.24246,0.14475 -0.33946,0.23521 z" /> 90.994 + <path 90.995 + inkscape:connector-curvature="0" 90.996 + id="300" 90.997 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.998 + d="m 395.23558,440.9182 0,0 0,1.89976 -0.67891,0 0,-5.8983 0.67891,0 0,0.34377 0,0 0,0 c 0.26672,-0.28949 0.58193,-0.43424 0.94563,-0.43424 l 0,0 0,0 c 0.55768,0 0.99413,0.19904 1.2851,0.56089 l 0,0 0,0 c 0.29096,0.37995 0.43644,0.94083 0.43644,1.66455 l 0,0 0,0 c 0,0.63325 -0.14548,1.15795 -0.43644,1.57408 l 0,0 0,0 c -0.31521,0.39806 -0.75166,0.61517 -1.33359,0.61517 l 0,0 0,0 c -0.16973,0 -0.33946,-0.0362 -0.53343,-0.10858 l 0,0 0,0 c -0.19398,-0.0542 -0.31521,-0.12669 -0.36371,-0.21711 z m 0,-3.09389 0,0 0,2.47874 0,0 0,0 c 0.0485,0.0723 0.14548,0.14473 0.26672,0.19902 l 0,0 0,0 c 0.14549,0.0723 0.29096,0.10858 0.4122,0.10858 l 0,0 0,0 c 0.87289,0 1.28508,-0.54279 1.28508,-1.59218 l 0,0 0,0 c 0,-0.54279 -0.097,-0.92274 -0.29096,-1.17604 l 0,0 0,0 c -0.21822,-0.2533 -0.53343,-0.37995 -0.99412,-0.37995 l 0,0 0,0 c -0.097,0 -0.19398,0.0362 -0.33946,0.12669 l 0,0 0,0 c -0.14548,0.0723 -0.26671,0.14475 -0.33946,0.23521 z" /> 90.999 + <path 90.1000 + inkscape:connector-curvature="0" 90.1001 + id="301" 90.1002 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1003 + d="m 401.22459,438.33091 0,0 -0.24247,-0.19902 0,-2.78631 2.61867,0 0,0.66944 -1.91551,0 0,1.39316 0,0 0,0 c 0.16973,-0.14475 0.38795,-0.21712 0.67891,-0.21712 l 0,0 0,0 c 0.48494,0 0.8729,0.16284 1.11536,0.4885 l 0,0 0,0 c 0.24247,0.32568 0.38796,0.77801 0.38796,1.37507 l 0,0 0,0 c 0,1.44744 -0.58193,2.18925 -1.77003,2.18925 l 0,0 0,0 c -0.50919,0 -0.92139,-0.16284 -1.2366,-0.45233 l 0,0 0.29096,-0.66944 0,0 0,0 c 0.31521,0.28949 0.63042,0.43423 0.94564,0.43423 l 0,0 0,0 c 0.67892,0 1.01837,-0.45232 1.01837,-1.39315 l 0,0 0,0 c 0,-0.86846 -0.33945,-1.28461 -1.01837,-1.28461 l 0,0 0,0 c -0.31522,0 -0.60618,0.14475 -0.87289,0.45233 z" /> 90.1004 + <path 90.1005 + inkscape:connector-curvature="0" 90.1006 + id="302" 90.1007 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1008 + d="m 418.73091,441.15341 -0.36371,-1.21223 -1.96401,0 -0.41219,1.21223 -0.77591,0 2.13374,-5.86212 0.19397,0 2.0125,5.86212 -0.82439,0 z m -1.30935,-4.34231 -0.82439,2.53302 1.57605,0 -0.75166,-2.53302 z" /> 90.1009 + <path 90.1010 + inkscape:connector-curvature="0" 90.1011 + id="303" 90.1012 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1013 + d="m 420.74341,440.9182 0,0 0,1.89976 -0.67892,0 0,-5.8983 0.67892,0 0,0.34377 0,0 0,0 c 0.26671,-0.28949 0.58192,-0.43424 0.92137,-0.43424 l 0,0 0,0 c 0.55769,0 0.99414,0.19904 1.2851,0.56089 l 0,0 0,0 c 0.31521,0.37995 0.46069,0.94083 0.46069,1.66455 l 0,0 0,0 c 0,0.63325 -0.14548,1.15795 -0.46069,1.57408 l 0,0 0,0 c -0.31521,0.39806 -0.75166,0.61517 -1.33358,0.61517 l 0,0 0,0 c -0.16973,0 -0.31521,-0.0362 -0.50919,-0.10858 l 0,0 0,0 c -0.19398,-0.0542 -0.31521,-0.12669 -0.3637,-0.21711 z m 0,-3.09389 0,0 0,2.47874 0,0 0,0 c 0.0485,0.0723 0.14548,0.14473 0.26671,0.19902 l 0,0 0,0 c 0.14548,0.0723 0.29097,0.10858 0.4122,0.10858 l 0,0 0,0 c 0.84864,0 1.26084,-0.54279 1.26084,-1.59218 l 0,0 0,0 c 0,-0.54279 -0.097,-0.92274 -0.29096,-1.17604 l 0,0 0,0 c -0.21823,-0.2533 -0.53344,-0.37995 -0.96988,-0.37995 l 0,0 0,0 c -0.0727,0 -0.19398,0.0362 -0.33946,0.12669 l 0,0 0,0 c -0.14548,0.0723 -0.26672,0.14475 -0.33945,0.23521 z" /> 90.1014 + <path 90.1015 + inkscape:connector-curvature="0" 90.1016 + id="304" 90.1017 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1018 + d="m 424.86539,440.9182 0,0 0,1.89976 -0.70316,0 0,-5.8983 0.70316,0 0,0.34377 0,0 0,0 c 0.26672,-0.28949 0.58193,-0.43424 0.94563,-0.43424 l 0,0 0,0 c 0.55768,0 0.99413,0.19904 1.28509,0.56089 l 0,0 0,0 c 0.31522,0.37995 0.43645,0.94083 0.43645,1.66455 l 0,0 0,0 c 0,0.63325 -0.12123,1.15795 -0.43645,1.57408 l 0,0 0,0 c -0.31521,0.39806 -0.75165,0.61517 -1.33359,0.61517 l 0,0 0,0 c -0.16972,0 -0.33945,-0.0362 -0.53343,-0.10858 l 0,0 0,0 c -0.19397,-0.0542 -0.31521,-0.12669 -0.3637,-0.21711 z m 0,-3.09389 0,0 0,2.47874 0,0 0,0 c 0.0485,0.0723 0.14548,0.14473 0.26672,0.19902 l 0,0 0,0 c 0.14548,0.0723 0.29096,0.10858 0.4122,0.10858 l 0,0 0,0 c 0.87288,0 1.28508,-0.54279 1.28508,-1.59218 l 0,0 0,0 c 0,-0.54279 -0.097,-0.92274 -0.29096,-1.17604 l 0,0 0,0 c -0.21822,-0.2533 -0.53343,-0.37995 -0.99412,-0.37995 l 0,0 0,0 c -0.097,0 -0.19398,0.0362 -0.33946,0.12669 l 0,0 0,0 c -0.14549,0.0723 -0.26672,0.14475 -0.33946,0.23521 z" /> 90.1019 + <path 90.1020 + inkscape:connector-curvature="0" 90.1021 + id="305" 90.1022 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1023 + d="m 432.47894,435.2732 0,0 0.36371,0.41614 0,0 0,0 c -0.21823,0.0905 -0.53344,0.41614 -0.92139,0.94083 l 0,0 0,0 c -0.4122,0.50661 -0.63042,0.92275 -0.67892,1.21223 l 0,0 0,0 c 0.19398,-0.21711 0.48494,-0.32568 0.84865,-0.32568 l 0,0 0,0 c 0.46069,0 0.82439,0.18093 1.11536,0.50661 l 0,0 0,0 c 0.26672,0.32567 0.4122,0.778 0.4122,1.33888 l 0,0 0,0 c 0,0.57897 -0.14548,1.0313 -0.4122,1.37506 l 0,0 0,0 c -0.29097,0.34377 -0.67891,0.5247 -1.11536,0.5247 l 0,0 0,0 c -1.16385,0 -1.74579,-0.85037 -1.74579,-2.53302 l 0,0 0,0 c 0,-0.70562 0.21823,-1.42934 0.67892,-2.13496 l 0,0 0,0 c 0.4607,-0.74181 0.94564,-1.17605 1.45482,-1.32079 z m -1.35783,4.07092 0,0 0,0 c 0,0.83228 0.29096,1.23032 0.92138,1.23032 l 0,0 0,0 c 0.26672,0 0.4607,-0.0905 0.63043,-0.30759 l 0,0 0,0 c 0.14548,-0.21711 0.21822,-0.5066 0.21822,-0.86846 l 0,0 0,0 c 0,-0.36186 -0.0727,-0.65133 -0.24247,-0.86846 l 0,0 0,0 c -0.16973,-0.21711 -0.3637,-0.32567 -0.60618,-0.32567 l 0,0 0,0 c -0.63042,0 -0.92138,0.37996 -0.92138,1.13986 z" /> 90.1024 + <path 90.1025 + inkscape:connector-curvature="0" 90.1026 + id="366" 90.1027 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1028 + d="m 461.81778,441.15341 -0.3637,-1.21223 -1.964,0 -0.41221,1.21223 -0.80014,0 2.15797,-5.86212 0.19398,0 2.0125,5.86212 -0.8244,0 z m -1.30933,-4.34231 -0.8244,2.53302 1.57605,0 -0.75165,-2.53302 z" /> 90.1029 + <path 90.1030 + inkscape:connector-curvature="0" 90.1031 + id="367" 90.1032 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1033 + d="m 463.80603,440.9182 0,0 0,1.89976 -0.65466,0 0,-5.8983 0.65466,0 0,0.34377 0,0 0,0 c 0.26672,-0.28949 0.58193,-0.43424 0.94564,-0.43424 l 0,0 0,0 c 0.55768,0 0.99412,0.19904 1.28509,0.56089 l 0,0 0,0 c 0.31521,0.37995 0.46069,0.94083 0.46069,1.66455 l 0,0 0,0 c 0,0.63325 -0.14548,1.15795 -0.46069,1.57408 l 0,0 0,0 c -0.31521,0.39806 -0.75166,0.61517 -1.33359,0.61517 l 0,0 0,0 c -0.16973,0 -0.33946,-0.0362 -0.53343,-0.10858 l 0,0 0,0 c -0.19398,-0.0542 -0.31521,-0.12669 -0.36371,-0.21711 z m 0,-3.09389 0,0 0,2.47874 0,0 0,0 c 0.0485,0.0723 0.14549,0.14473 0.26672,0.19902 l 0,0 0,0 c 0.14549,0.0723 0.29096,0.10858 0.4122,0.10858 l 0,0 0,0 c 0.87289,0 1.28509,-0.54279 1.28509,-1.59218 l 0,0 0,0 c 0,-0.54279 -0.097,-0.92274 -0.29096,-1.17604 l 0,0 0,0 c -0.21822,-0.2533 -0.53343,-0.37995 -0.96988,-0.37995 l 0,0 0,0 c -0.097,0 -0.21822,0.0362 -0.36371,0.12669 l 0,0 0,0 c -0.14548,0.0723 -0.26671,0.14475 -0.33946,0.23521 z" /> 90.1034 + <path 90.1035 + inkscape:connector-curvature="0" 90.1036 + id="368" 90.1037 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1038 + d="m 467.95227,440.9182 0,0 0,1.89976 -0.70316,0 0,-5.8983 0.70316,0 0,0.34377 0,0 0,0 c 0.26671,-0.28949 0.58193,-0.43424 0.94563,-0.43424 l 0,0 0,0 c 0.53343,0 0.96988,0.19904 1.26084,0.56089 l 0,0 0,0 c 0.31521,0.37995 0.46069,0.94083 0.46069,1.66455 l 0,0 0,0 c 0,0.63325 -0.14548,1.15795 -0.46069,1.57408 l 0,0 0,0 c -0.31521,0.39806 -0.75166,0.61517 -1.30933,0.61517 l 0,0 0,0 c -0.16973,0 -0.33946,-0.0362 -0.53343,-0.10858 l 0,0 0,0 c -0.19398,-0.0542 -0.31521,-0.12669 -0.36371,-0.21711 z m 0,-3.09389 0,0 0,2.47874 0,0 0,0 c 0.0485,0.0723 0.14548,0.14473 0.26671,0.19902 l 0,0 0,0 c 0.14549,0.0723 0.29097,0.10858 0.4122,0.10858 l 0,0 0,0 c 0.84865,0 1.26085,-0.54279 1.26085,-1.59218 l 0,0 0,0 c 0,-0.54279 -0.097,-0.92274 -0.29097,-1.17604 l 0,0 0,0 c -0.21822,-0.2533 -0.50919,-0.37995 -0.96988,-0.37995 l 0,0 0,0 c -0.097,0 -0.19397,0.0362 -0.33945,0.12669 l 0,0 0,0 c -0.14548,0.0723 -0.26672,0.14475 -0.33946,0.23521 z" /> 90.1039 + <path 90.1040 + inkscape:connector-curvature="0" 90.1041 + id="369" 90.1042 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1043 + d="m 474.69293,441.15341 0,0 -0.8244,0 0,0 0,0 c 0.19398,-0.61516 0.48494,-1.42934 0.92139,-2.46064 l 0,0 0,0 c 0.38795,-1.01321 0.7759,-1.88167 1.1396,-2.58729 l 0,0 -2.49743,0 0,-0.7599 3.41882,0 0,0.30758 -0.46069,1.01319 0,0 0,0 c -0.14549,0.32568 -0.31522,0.68755 -0.48494,1.10368 l 0,0 0,0 c -0.16973,0.39804 -0.33946,0.81419 -0.50919,1.24841 l 0,0 0,0 c -0.16973,0.41615 -0.29096,0.81419 -0.41219,1.17605 l 0,0 0,0 c -0.12124,0.36185 -0.21823,0.66944 -0.29097,0.95892 z" /> 90.1044 + <path 90.1045 + inkscape:connector-curvature="0" 90.1046 + id="370" 90.1047 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1048 + d="m 491.44759,441.15341 -0.3637,-1.21223 -1.96401,0 -0.4122,1.21223 -0.80014,0 2.15797,-5.86212 0.19398,0 2.0125,5.86212 -0.8244,0 z m -1.30934,-4.34231 -0.84864,2.53302 1.6003,0 -0.75166,-2.53302 z" /> 90.1049 + <path 90.1050 + inkscape:connector-curvature="0" 90.1051 + id="371" 90.1052 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1053 + d="m 493.43584,440.9182 0,0 0,1.89976 -0.67891,0 0,-5.8983 0.67891,0 0,0.34377 0,0 0,0 c 0.26672,-0.28949 0.58193,-0.43424 0.94563,-0.43424 l 0,0 0,0 c 0.55768,0 0.99414,0.19904 1.2851,0.56089 l 0,0 0,0 c 0.31521,0.37995 0.46069,0.94083 0.46069,1.66455 l 0,0 0,0 c 0,0.63325 -0.14548,1.15795 -0.46069,1.57408 l 0,0 0,0 c -0.31521,0.39806 -0.75166,0.61517 -1.33359,0.61517 l 0,0 0,0 c -0.16973,0 -0.33945,-0.0362 -0.53343,-0.10858 l 0,0 0,0 c -0.19398,-0.0542 -0.31521,-0.12669 -0.36371,-0.21711 z m 0,-3.09389 0,0 0,2.47874 0,0 0,0 c 0.0485,0.0723 0.14548,0.14473 0.26672,0.19902 l 0,0 0,0 c 0.14549,0.0723 0.29097,0.10858 0.4122,0.10858 l 0,0 0,0 c 0.87289,0 1.28509,-0.54279 1.28509,-1.59218 l 0,0 0,0 c 0,-0.54279 -0.097,-0.92274 -0.29097,-1.17604 l 0,0 0,0 c -0.21821,-0.2533 -0.53343,-0.37995 -0.99412,-0.37995 l 0,0 0,0 c -0.097,0 -0.19398,0.0362 -0.33946,0.12669 l 0,0 0,0 c -0.14548,0.0723 -0.26671,0.14475 -0.33946,0.23521 z" /> 90.1054 + <path 90.1055 + inkscape:connector-curvature="0" 90.1056 + id="372" 90.1057 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1058 + d="m 497.58208,440.9182 0,0 0,1.89976 -0.70316,0 0,-5.8983 0.70316,0 0,0.34377 0,0 0,0 c 0.26671,-0.28949 0.58192,-0.43424 0.94563,-0.43424 l 0,0 0,0 c 0.53343,0 0.96988,0.19904 1.26084,0.56089 l 0,0 0,0 c 0.31521,0.37995 0.46069,0.94083 0.46069,1.66455 l 0,0 0,0 c 0,0.63325 -0.14548,1.15795 -0.46069,1.57408 l 0,0 0,0 c -0.3152,0.39806 -0.72741,0.61517 -1.30934,0.61517 l 0,0 0,0 c -0.16973,0 -0.33946,-0.0362 -0.53342,-0.10858 l 0,0 0,0 c -0.19398,-0.0542 -0.31522,-0.12669 -0.36371,-0.21711 z m 0,-3.09389 0,0 0,2.47874 0,0 0,0 c 0.0485,0.0723 0.12123,0.14473 0.26671,0.19902 l 0,0 0,0 c 0.14548,0.0723 0.29096,0.10858 0.4122,0.10858 l 0,0 0,0 c 0.84865,0 1.26084,-0.54279 1.26084,-1.59218 l 0,0 0,0 c 0,-0.54279 -0.097,-0.92274 -0.29096,-1.17604 l 0,0 0,0 c -0.19398,-0.2533 -0.50918,-0.37995 -0.96988,-0.37995 l 0,0 0,0 c -0.097,0 -0.21822,0.0362 -0.33945,0.12669 l 0,0 0,0 c -0.14548,0.0723 -0.26672,0.14475 -0.33946,0.23521 z" /> 90.1059 + <path 90.1060 + inkscape:connector-curvature="0" 90.1061 + id="373" 90.1062 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1063 + d="m 504.03178,437.93287 0,0 0,0 c -0.21823,-0.12669 -0.41221,-0.32567 -0.55769,-0.56088 l 0,0 0,0 c -0.12123,-0.23521 -0.19397,-0.47042 -0.19397,-0.70564 l 0,0 0,0 c 0,-0.43422 0.12123,-0.77799 0.38795,-1.01319 l 0,0 0,0 c 0.26671,-0.25331 0.63042,-0.37996 1.04262,-0.37996 l 0,0 0,0 c 0.43644,0 0.80015,0.12669 1.04262,0.37996 l 0,0 0,0 c 0.24247,0.2352 0.38795,0.57897 0.38795,1.01319 l 0,0 0,0 c 0,0.23522 -0.097,0.50661 -0.24247,0.75992 l 0,0 0,0 c -0.14548,0.27138 -0.33945,0.45231 -0.53343,0.57897 l 0,0 0,0 c 0.65467,0.39805 0.96987,0.90464 0.96987,1.5379 l 0,0 0,0 c 0,0.54278 -0.14548,0.95893 -0.46069,1.24841 l 0,0 0,0 c -0.29096,0.28949 -0.67891,0.45233 -1.1881,0.45233 l 0,0 0,0 c -1.06687,0 -1.6003,-0.56088 -1.6003,-1.70074 l 0,0 0,0 c 0,-0.32568 0.0727,-0.63326 0.26672,-0.95892 l 0,0 0,0 c 0.19398,-0.30758 0.41219,-0.5247 0.67892,-0.65135 z m 0.89713,-0.25331 0,0 0,0 c 0.31522,-0.32566 0.4607,-0.68753 0.4607,-1.0313 l 0,0 0,0 c 0,-0.21711 -0.0485,-0.37995 -0.19398,-0.5066 l 0,0 0,0 c -0.12123,-0.1267 -0.26672,-0.19902 -0.48494,-0.19902 l 0,0 0,0 c -0.48494,0 -0.70316,0.23522 -0.70316,0.72371 l 0,0 0,0 c 0,0.32568 0.29096,0.66945 0.92138,1.01321 z m -0.31521,0.59708 0,0 0,0 c -0.53344,0.30758 -0.80015,0.7418 -0.80015,1.2665 l 0,0 0,0 c 0,0.28949 0.0727,0.54278 0.24247,0.72371 l 0,0 0,0 c 0.16973,0.19902 0.3637,0.28949 0.63042,0.28949 l 0,0 0,0 c 0.26672,0 0.48494,-0.0904 0.65467,-0.2714 l 0,0 0,0 c 0.16973,-0.19902 0.26671,-0.43422 0.26671,-0.7418 l 0,0 0,0 c 0,-0.19902 -0.0727,-0.41613 -0.19397,-0.59706 l 0,0 0,0 c -0.12124,-0.18093 -0.3637,-0.41615 -0.80015,-0.66944 z" /> 90.1064 + <path 90.1065 + inkscape:connector-curvature="0" 90.1066 + id="374" 90.1067 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1068 + d="m 521.0774,441.15341 -0.3637,-1.21223 -1.98826,0 -0.38795,1.21223 -0.80015,0 2.15799,-5.86212 0.19396,0 2.01251,5.86212 -0.8244,0 z m -1.33359,-4.34231 -0.82439,2.53302 1.6003,0 -0.77591,-2.53302 z" /> 90.1069 + <path 90.1070 + inkscape:connector-curvature="0" 90.1071 + id="375" 90.1072 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1073 + d="m 523.06565,440.9182 0,0 0,1.89976 -0.67891,0 0,-5.8983 0.67891,0 0,0.34377 0,0 0,0 c 0.26672,-0.28949 0.58193,-0.43424 0.94563,-0.43424 l 0,0 0,0 c 0.55768,0 0.99413,0.19904 1.2851,0.56089 l 0,0 0,0 c 0.31521,0.37995 0.46069,0.94083 0.46069,1.66455 l 0,0 0,0 c 0,0.63325 -0.14548,1.15795 -0.46069,1.57408 l 0,0 0,0 c -0.31522,0.39806 -0.75166,0.61517 -1.33359,0.61517 l 0,0 0,0 c -0.16973,0 -0.33946,-0.0362 -0.53343,-0.10858 l 0,0 0,0 c -0.19398,-0.0542 -0.31522,-0.12669 -0.36371,-0.21711 z m 0,-3.09389 0,0 0,2.47874 0,0 0,0 c 0.0485,0.0723 0.14548,0.14473 0.26672,0.19902 l 0,0 0,0 c 0.14548,0.0723 0.29096,0.10858 0.4122,0.10858 l 0,0 0,0 c 0.87289,0 1.28508,-0.54279 1.28508,-1.59218 l 0,0 0,0 c 0,-0.54279 -0.097,-0.92274 -0.29096,-1.17604 l 0,0 0,0 c -0.21822,-0.2533 -0.53343,-0.37995 -0.99412,-0.37995 l 0,0 0,0 c -0.097,0 -0.19398,0.0362 -0.33946,0.12669 l 0,0 0,0 c -0.14548,0.0723 -0.26672,0.14475 -0.33946,0.23521 z" /> 90.1074 + <path 90.1075 + inkscape:connector-curvature="0" 90.1076 + id="376" 90.1077 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1078 + d="m 527.21188,440.9182 0,0 0,1.89976 -0.70316,0 0,-5.8983 0.70316,0 0,0.34377 0,0 0,0 c 0.26672,-0.28949 0.58193,-0.43424 0.94564,-0.43424 l 0,0 0,0 c 0.55767,0 0.94563,0.19904 1.26084,0.56089 l 0,0 0,0 c 0.31521,0.37995 0.4607,0.94083 0.4607,1.66455 l 0,0 0,0 c 0,0.63325 -0.14549,1.15795 -0.4607,1.57408 l 0,0 0,0 c -0.31521,0.39806 -0.72741,0.61517 -1.30934,0.61517 l 0,0 0,0 c -0.16973,0 -0.3637,-0.0362 -0.53343,-0.10858 l 0,0 0,0 c -0.19398,-0.0542 -0.31521,-0.12669 -0.36371,-0.21711 z m 0,-3.09389 0,0 0,2.47874 0,0 0,0 c 0.0485,0.0723 0.12124,0.14473 0.26672,0.19902 l 0,0 0,0 c 0.14548,0.0723 0.29096,0.10858 0.4122,0.10858 l 0,0 0,0 c 0.87289,0 1.26084,-0.54279 1.26084,-1.59218 l 0,0 0,0 c 0,-0.54279 -0.097,-0.92274 -0.26672,-1.17604 l 0,0 0,0 c -0.21821,-0.2533 -0.53342,-0.37995 -0.99412,-0.37995 l 0,0 0,0 c -0.097,0 -0.21822,0.0362 -0.33946,0.12669 l 0,0 0,0 c -0.14548,0.0723 -0.26671,0.14475 -0.33946,0.23521 z" /> 90.1079 + <path 90.1080 + inkscape:connector-curvature="0" 90.1081 + id="377" 90.1082 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1083 + d="m 533.80706,441.26197 0,0 -0.3637,-0.43422 0,0 0,0 c 0.21822,-0.0905 0.53343,-0.39806 0.94563,-0.92275 l 0,0 0,0 c 0.38795,-0.54279 0.58193,-0.94083 0.63042,-1.23032 l 0,0 0,0 c -0.16973,0.19902 -0.46069,0.30758 -0.80015,0.30758 l 0,0 0,0 c -0.48494,0 -0.84864,-0.16284 -1.13961,-0.48851 l 0,0 0,0 c -0.29097,-0.32568 -0.43645,-0.77801 -0.43645,-1.35697 l 0,0 0,0 c 0,-0.54279 0.14548,-0.99512 0.43645,-1.35698 l 0,0 0,0 c 0.29097,-0.34376 0.67892,-0.5066 1.11536,-0.5066 l 0,0 0,0 c 1.13961,0 1.72154,0.83228 1.72154,2.51492 l 0,0 0,0 c 0,0.70563 -0.21823,1.41125 -0.67892,2.15306 l 0,0 0,0 c -0.43644,0.74182 -0.92139,1.17604 -1.43057,1.32079 z m 1.35783,-4.08901 0,0 0,0 c 0,-0.81417 -0.29096,-1.23032 -0.92138,-1.23032 l 0,0 0,0 c -0.26672,0 -0.46069,0.10858 -0.63042,0.32567 l 0,0 0,0 c -0.14549,0.21712 -0.21823,0.48852 -0.21823,0.83228 l 0,0 0,0 c 0,0.36186 0.0727,0.66944 0.24247,0.88655 l 0,0 0,0 c 0.16973,0.21712 0.3637,0.32568 0.60618,0.32568 l 0,0 0,0 c 0.63042,0 0.92138,-0.37995 0.92138,-1.13986 z" /> 90.1084 + <path 90.1085 + inkscape:connector-curvature="0" 90.1086 + id="378" 90.1087 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1088 + d="m 467.63706,442.96271 20.68267,11.39855 -0.33946,0.34377 -0.33946,0.34377 -20.68266,-11.39856 0.33945,-0.34377 0.33946,-0.34376 z" /> 90.1089 + <path 90.1090 + inkscape:connector-curvature="0" 90.1091 + id="379" 90.1092 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1093 + d="m 484.82817,450.38082 0,0 4.36445,4.97556 -7.6378,-1.64646 0,0 0,0 c 1.93977,-0.47041 3.2491,-1.80929 3.27335,-3.3291 z" /> 90.1094 + <path 90.1095 + inkscape:connector-curvature="0" 90.1096 + id="380" 90.1097 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1098 + d="m 497.72756,443.30647 -0.0485,11.39856 -0.58192,0 -0.58193,0 0.0485,-11.39856 0.58192,0 0.58193,0 z" /> 90.1099 + <path 90.1100 + inkscape:connector-curvature="0" 90.1101 + id="381" 90.1102 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1103 + d="m 499.86129,450.23607 0,0 -2.76415,5.57264 -2.71567,-5.59073 0,0 0,0 c 1.60031,0.90464 3.83103,0.90464 5.47982,0.0181 z" /> 90.1104 + <path 90.1105 + inkscape:connector-curvature="0" 90.1106 + id="382" 90.1107 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1108 + d="m 527.26038,443.65024 -20.70692,11.39856 -0.33946,-0.34377 -0.33946,-0.34377 20.70692,-11.39855 0.33946,0.34376 0.33946,0.34377 z" /> 90.1109 + <path 90.1110 + inkscape:connector-curvature="0" 90.1111 + id="383" 90.1112 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1113 + d="m 512.63945,453.72802 0,0 -7.61355,1.64645 4.3887,-4.97556 0,0 0,0 c 0,1.50172 1.30934,2.8406 3.22485,3.32911 z" /> 90.1114 + <path 90.1115 + inkscape:connector-curvature="0" 90.1116 + id="384" 90.1117 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1118 + d="m 269.93937,497.76592 -36.08647,34.26838 -0.3542,-0.27594 -0.35416,-0.29319 36.10617,-34.25113 0.35416,0.27593 0.3345,0.27595 z" /> 90.1119 + <path 90.1120 + inkscape:connector-curvature="0" 90.1121 + id="385" 90.1122 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1123 + d="m 239.64272,529.88124 0,0 -7.08011,2.69585 3.05511,-5.50024 0,0 0,0 c 0.38796,1.48361 1.98826,2.60538 4.025,2.80439 z" /> 90.1124 + <path 90.1125 + inkscape:connector-curvature="0" 90.1126 + id="386" 90.1127 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1128 + d="m 372.77081,497.0111 -79.52566,35.18604 -0.2629,-0.37112 -0.26289,-0.38879 79.52566,-35.16835 0.2629,0.3711 0.26289,0.37112 z" /> 90.1129 + <path 90.1130 + inkscape:connector-curvature="0" 90.1131 + id="387" 90.1132 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1133 + d="m 299.53276,531.47343 0,0 -7.85603,0.90464 5.21312,-4.48706 0,0 0,0 c -0.26673,1.50171 0.8244,2.93107 2.64291,3.58242 z" /> 90.1134 + <path 90.1135 + inkscape:connector-curvature="0" 90.1136 + id="388" 90.1137 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1138 + d="m 473.50489,497.75866 -120.9015,34.45656 -0.17886,-0.37526 -0.17883,-0.39232 120.90149,-34.43951 0.17885,0.37527 0.17885,0.37526 z" /> 90.1139 + <path 90.1140 + inkscape:connector-curvature="0" 90.1141 + id="389" 90.1142 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1143 + d="m 358.9621,532.19714 0,0 -7.92875,0.0362 6.01325,-3.87189 0,0 0,0 c -0.55769,1.44743 0.24246,2.96724 1.9155,3.83571 z" /> 90.1144 + <path 90.1145 + inkscape:connector-curvature="0" 90.1146 + id="390" 90.1147 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1148 + d="m 317.90247,496.23268 122.26277,35.18809 -0.18017,0.42418 -0.18016,0.40647 -122.26276,-35.20575 0.18015,-0.4065 0.18017,-0.40649 z" /> 90.1149 + <path 90.1150 + inkscape:connector-curvature="0" 90.1151 + id="391" 90.1152 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1153 + d="m 435.36433,528.36144 0,0 6.01325,3.85378 -7.90451,0 0,0 0,0 c 1.67304,-0.85036 2.4247,-2.38826 1.89126,-3.85378 z" /> 90.1154 + <path 90.1155 + inkscape:connector-curvature="0" 90.1156 + id="392" 90.1157 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1158 + d="m 420.00549,496.69623 79.61334,34.7681 -0.23423,0.38421 -0.23421,0.36668 -79.61334,-34.78558 0.23422,-0.36671 0.23422,-0.3667 z" /> 90.1159 + <path 90.1160 + inkscape:connector-curvature="0" 90.1161 + id="393" 90.1162 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1163 + d="m 495.39985,527.9272 0,0 5.31008,4.41469 -7.85602,-0.7961 0,0 0,0 c 1.79428,-0.66943 2.8369,-2.11687 2.54594,-3.61859 z" /> 90.1164 + <path 90.1165 + inkscape:connector-curvature="0" 90.1166 + id="394" 90.1167 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1168 + d="m 521.32171,496.34125 37.84769,35.2008 -0.31182,0.30042 -0.33132,0.30038 -37.86718,-35.20079 0.33131,-0.30042 0.33132,-0.30039 z" /> 90.1169 + <path 90.1170 + inkscape:connector-curvature="0" 90.1171 + id="395" 90.1172 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1173 + d="m 556.59922,527.20349 0,0 3.22485,5.42787 -7.10437,-2.55109 0,0 0,0 c 1.93976,-0.21711 3.51581,-1.37505 3.87952,-2.87678 z" /> 90.1174 + <path 90.1175 + inkscape:connector-curvature="0" 90.1176 + id="396" 90.1177 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1178 + d="m 483.85828,574.46227 0,-2.53302 -2.08523,0 0,2.53302 -0.63043,0 0,-5.24695 0.63043,0 0,2.11687 2.08523,0 0,-2.11687 0.65468,0 0,5.24695 -0.65468,0 z" /> 90.1179 + <path 90.1180 + inkscape:connector-curvature="0" 90.1181 + id="397" 90.1182 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1183 + d="m 489.16837,574.53464 -0.21822,0 -1.13961,-3.60049 -1.04262,3.60049 -0.19397,0 -1.52756,-5.31932 0.67891,0 0.96989,3.67285 1.04262,-3.67285 0.21821,0 1.04262,3.65477 0.96988,-3.65477 0.67892,0 -1.47907,5.31932 z" /> 90.1184 + <path 90.1185 + inkscape:connector-curvature="0" 90.1186 + id="398" 90.1187 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1188 + d="m 496.22425,569.41434 0,0 -0.21823,0.59706 0,0 0,0 c -0.19397,-0.16282 -0.53343,-0.23522 -0.96987,-0.23522 l 0,0 0,0 c -0.43645,0 -0.77591,0.18096 -1.01838,0.57899 l 0,0 0,0 c -0.26672,0.41613 -0.38795,0.92275 -0.38795,1.55599 l 0,0 0,0 c 0,0.57898 0.12123,1.0675 0.38795,1.42935 l 0,0 0,0 c 0.26672,0.37995 0.60618,0.56087 1.01838,0.56087 l 0,0 0,0 c 0.43644,0 0.80014,-0.16283 1.04262,-0.52468 l 0,0 0.33946,0.56087 0,0 0,0 c -0.36371,0.39805 -0.84865,0.61517 -1.45483,0.61517 l 0,0 0,0 c -0.63042,0 -1.11535,-0.25329 -1.47906,-0.74181 l 0,0 0,0 c -0.36371,-0.48852 -0.50919,-1.13986 -0.50919,-1.95404 l 0,0 0,0 c 0,-0.77801 0.16973,-1.44745 0.55768,-1.95404 l 0,0 0,0 c 0.3637,-0.52469 0.87289,-0.778 1.47907,-0.778 l 0,0 0,0 c 0.50918,0 0.92138,0.0905 1.21235,0.28949 z" /> 90.1189 + <path 90.1190 + inkscape:connector-curvature="0" 90.1191 + id="399" 90.1192 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1193 + d="m 497.16988,573.3767 0,0 0,-4.32422 0.63042,0 0,4.21567 0,0 0,0 c 0,0.19902 0.0485,0.36184 0.16973,0.4704 l 0,0 0,0 c 0.097,0.1267 0.24247,0.18093 0.4122,0.18093 l 0,0 0,0.61516 0,0 0,0 c -0.80015,0 -1.21235,-0.39804 -1.21235,-1.15794 z" /> 90.1194 + <path 90.1195 + inkscape:connector-curvature="0" 90.1196 + id="400" 90.1197 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1198 + d="m 501.04939,574.00994 0,0 0,0 c -0.24246,0.34378 -0.63042,0.5247 -1.1396,0.5247 l 0,0 0,0 c -0.26672,0 -0.50919,-0.10858 -0.70317,-0.32568 l 0,0 0,0 c -0.16973,-0.2171 -0.29096,-0.4885 -0.29096,-0.81416 l 0,0 0,0 c 0,-0.39807 0.14548,-0.72373 0.46069,-0.99513 l 0,0 0,0 c 0.29096,-0.25329 0.70317,-0.39804 1.1881,-0.39804 l 0,0 0,0 c 0.12124,0 0.26673,0.0362 0.43645,0.0905 l 0,0 0,0 c 0,-0.61515 -0.24247,-0.92272 -0.75166,-0.92272 l 0,0 0,0 c -0.38795,0 -0.70316,0.12669 -0.89714,0.34375 l 0,0 -0.26671,-0.56088 0,0 0,0 c 0.12123,-0.10857 0.29096,-0.19902 0.48494,-0.27138 l 0,0 0,0 c 0.21822,-0.0723 0.4122,-0.1267 0.60617,-0.1267 l 0,0 0,0 c 0.50919,0 0.87289,0.14473 1.09112,0.39804 l 0,0 0,0 c 0.24247,0.2533 0.3637,0.65134 0.3637,1.19414 l 0,0 0,1.37505 0,0 0,0 c 0,0.32569 0.0727,0.56089 0.26672,0.66944 l 0,0 0,0.32567 0,0 0,0 c -0.24247,0 -0.43644,-0.0362 -0.55768,-0.10857 l 0,0 0,0 c -0.14549,-0.0723 -0.21822,-0.21714 -0.29097,-0.39807 z m -0.0485,-1.42934 0,0 0,0 c -0.19397,-0.0542 -0.33945,-0.0723 -0.4122,-0.0723 l 0,0 0,0 c -0.31521,0 -0.58193,0.0905 -0.7759,0.27142 l 0,0 0,0 c -0.19397,0.16282 -0.29097,0.37995 -0.29097,0.61516 l 0,0 0,0 c 0,0.39804 0.21823,0.59706 0.65467,0.59706 l 0,0 0,0 c 0.31522,0 0.58193,-0.16285 0.8244,-0.48851 l 0,-0.92275 z" /> 90.1199 + <path 90.1200 + inkscape:connector-curvature="0" 90.1201 + id="401" 90.1202 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1203 + d="m 502.38297,574.22707 0,0 0.21823,-0.63326 0,0 0,0 c 0.33946,0.2352 0.60618,0.36186 0.8244,0.36186 l 0,0 0,0 c 0.38795,0 0.58193,-0.18092 0.58193,-0.5247 l 0,0 0,0 c 0,-0.25331 -0.19398,-0.47041 -0.55769,-0.65133 l 0,0 0,0 c -0.29096,-0.14475 -0.48493,-0.25331 -0.58192,-0.32568 l 0,0 0,0 c -0.097,-0.0723 -0.19397,-0.16285 -0.26672,-0.25329 l 0,0 0,0 c -0.0727,-0.0905 -0.12123,-0.18095 -0.14548,-0.28951 l 0,0 0,0 c -0.0485,-0.10858 -0.0727,-0.21711 -0.0727,-0.34375 l 0,0 0,0 c 0,-0.3076 0.12125,-0.56089 0.31522,-0.74182 l 0,0 0,0 c 0.21822,-0.16285 0.48494,-0.27139 0.8244,-0.27139 l 0,0 0,0 c 0.26671,0 0.58192,0.10858 0.96988,0.27139 l 0,0 -0.16973,0.63326 0,0 0,0 c -0.24248,-0.21712 -0.50919,-0.32568 -0.75166,-0.32568 l 0,0 0,0 c -0.14548,0 -0.26672,0.0362 -0.3637,0.1267 l 0,0 0,0 c -0.097,0.0723 -0.16973,0.16283 -0.16973,0.2714 l 0,0 0,0 c 0,0.2533 0.14548,0.43423 0.38795,0.56087 l 0,0 0.46069,0.21714 0,0 0,0 c 0.26672,0.14474 0.4607,0.28948 0.58193,0.47041 l 0,0 0,0 c 0.12123,0.18093 0.19397,0.39803 0.19397,0.65134 l 0,0 0,0 c 0,0.34378 -0.12123,0.61516 -0.33945,0.81418 l 0,0 0,0 c -0.21823,0.18093 -0.50919,0.28948 -0.92139,0.28948 l 0,0 0,0 c -0.3637,0 -0.70316,-0.10858 -1.01838,-0.30757 z" /> 90.1204 + <path 90.1205 + inkscape:connector-curvature="0" 90.1206 + id="402" 90.1207 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1208 + d="m 505.05015,574.22707 0,0 0.21822,-0.63326 0,0 0,0 c 0.3637,0.2352 0.63042,0.36186 0.84864,0.36186 l 0,0 0,0 c 0.38795,0 0.58193,-0.18092 0.58193,-0.5247 l 0,0 0,0 c 0,-0.25331 -0.19398,-0.47041 -0.55768,-0.65133 l 0,0 0,0 c -0.29096,-0.14475 -0.48494,-0.25331 -0.58192,-0.32568 l 0,0 0,0 c -0.097,-0.0723 -0.19398,-0.16285 -0.26673,-0.25329 l 0,0 0,0 c -0.0727,-0.0905 -0.12123,-0.18095 -0.16973,-0.28951 l 0,0 0,0 c -0.0242,-0.10858 -0.0485,-0.21711 -0.0485,-0.34375 l 0,0 0,0 c 0,-0.3076 0.097,-0.56089 0.31521,-0.74182 l 0,0 0,0 c 0.21821,-0.16285 0.48493,-0.27139 0.82439,-0.27139 l 0,0 0,0 c 0.26672,0 0.58192,0.10858 0.96988,0.27139 l 0,0 -0.19398,0.63326 0,0 0,0 c -0.24246,-0.21712 -0.48494,-0.32568 -0.7274,-0.32568 l 0,0 0,0 c -0.14549,0 -0.26672,0.0362 -0.38796,0.1267 l 0,0 0,0 c -0.097,0.0723 -0.14548,0.16283 -0.14548,0.2714 l 0,0 0,0 c 0,0.2533 0.12124,0.43423 0.38795,0.56087 l 0,0 0.43645,0.21714 0,0 0,0 c 0.29096,0.14474 0.48494,0.28948 0.60617,0.47041 l 0,0 0,0 c 0.12124,0.18093 0.19398,0.39803 0.19398,0.65134 l 0,0 0,0 c 0,0.34378 -0.12123,0.61516 -0.33946,0.81418 l 0,0 0,0 c -0.21823,0.18093 -0.53343,0.28948 -0.92138,0.28948 l 0,0 0,0 c -0.36371,0 -0.70316,-0.10858 -1.04262,-0.30757 z" /> 90.1209 + <path 90.1210 + inkscape:connector-curvature="0" 90.1211 + id="403" 90.1212 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1213 + d="m 511.40285,574.46227 0,0 -1.35783,0 0,-5.24695 0,0 0,0 c 0.60618,-0.0362 0.99413,-0.0544 1.2366,-0.0544 l 0,0 0,0 c 0.48494,0 0.84864,0.1267 1.11536,0.34377 l 0,0 0,0 c 0.24247,0.21713 0.38795,0.5428 0.38795,0.95893 l 0,0 0,0 c 0,0.2533 -0.097,0.47042 -0.24246,0.66944 l 0,0 0,0 c -0.16973,0.19902 -0.36371,0.32568 -0.55769,0.37995 l 0,0 0,0 c 0.38796,0.0905 0.65467,0.2714 0.8244,0.48851 l 0,0 0,0 c 0.16973,0.23521 0.26671,0.54279 0.26671,0.94083 l 0,0 0,0 c 0,0.47042 -0.16973,0.83229 -0.46069,1.10368 l 0,0 0,0 c -0.31521,0.27139 -0.72741,0.41613 -1.21235,0.41613 z m -0.70316,-4.66797 0,0 0,1.50172 0,0 0,0 c 0.14549,0.0181 0.31522,0.0362 0.50918,0.0362 l 0,0 0,0 c 0.60618,0 0.92139,-0.27139 0.92139,-0.85037 l 0,0 0,0 c 0,-0.48851 -0.29096,-0.72373 -0.84864,-0.72373 l 0,0 0,0 c -0.21823,0 -0.38796,0.0181 -0.58193,0.0362 z m 0,2.06259 0,0 0,1.99023 0,0 0,0 c 0.24247,0.0181 0.38795,0.0362 0.50918,0.0362 l 0,0 0,0 c 0.41221,0 0.70317,-0.0723 0.89715,-0.2533 l 0,0 0,0 c 0.19397,-0.16283 0.26672,-0.43421 0.26672,-0.79609 l 0,0 0,0 c 0,-0.34376 -0.0728,-0.59707 -0.26672,-0.75989 l 0,0 0,0 c -0.16973,-0.14476 -0.4607,-0.23522 -0.89715,-0.23522 l -0.50918,0.0181 z" /> 90.1214 + <path 90.1215 + inkscape:connector-curvature="0" 90.1216 + id="404" 90.1217 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1218 + d="m 278.82584,573.43097 0,-2.51492 -2.08524,0 0,2.51492 -0.65467,0 0,-5.22886 0.65467,0 0,2.08071 2.08524,0 0,-2.08071 0.65467,0 0,5.22886 -0.65467,0 z" /> 90.1219 + <path 90.1220 + inkscape:connector-curvature="0" 90.1221 + id="405" 90.1222 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1223 + d="m 284.11168,573.50335 -0.19397,0 -1.13961,-3.6186 -1.06686,3.6186 -0.19399,0 -1.50331,-5.30124 0.67891,0 0.94564,3.65478 1.06686,-3.65478 0.21823,0 1.04262,3.65478 0.92138,-3.65478 0.70316,0 -1.47906,5.30124 z" /> 90.1224 + <path 90.1225 + inkscape:connector-curvature="0" 90.1226 + id="406" 90.1227 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1228 + d="m 291.16755,568.38304 0,0 -0.21822,0.61515 0,0 0,0 c -0.21822,-0.16282 -0.55768,-0.25329 -0.96988,-0.25329 l 0,0 0,0 c -0.43645,0 -0.75165,0.19903 -1.01838,0.59707 l 0,0 0,0 c -0.24247,0.39805 -0.38794,0.90465 -0.38794,1.53791 l 0,0 0,0 c 0,0.59706 0.14547,1.08557 0.38794,1.44743 l 0,0 0,0 c 0.26673,0.36184 0.60618,0.56086 1.01838,0.56086 l 0,0 0,0 c 0.43645,0 0.77591,-0.18091 1.01836,-0.52468 l 0,0 0.36372,0.5428 0,0 0,0 c -0.38795,0.41612 -0.8729,0.61514 -1.45481,0.61514 l 0,0 0,0 c -0.63042,0 -1.11537,-0.23519 -1.47907,-0.74179 l 0,0 0,0 c -0.36371,-0.48853 -0.53343,-1.13987 -0.53343,-1.93596 l 0,0 0,0 c 0,-0.79608 0.19397,-1.44743 0.58192,-1.97214 l 0,0 0,0 c 0.38794,-0.50658 0.87289,-0.7599 1.47907,-0.7599 l 0,0 0,0 c 0.50919,0 0.89714,0.0905 1.21234,0.2714 z" /> 90.1229 + <path 90.1230 + inkscape:connector-curvature="0" 90.1231 + id="407" 90.1232 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1233 + d="m 292.11319,572.36349 0,0 0,-4.32421 0.60617,0 0,4.19756 0,0 0,0 c 0,0.21712 0.0485,0.36187 0.16973,0.48851 l 0,0 0,0 c 0.097,0.10857 0.24247,0.18094 0.4122,0.18094 l 0,0 0,0.59706 0,0 0,0 c -0.80015,0 -1.1881,-0.37996 -1.1881,-1.13986 z" /> 90.1234 + <path 90.1235 + inkscape:connector-curvature="0" 90.1236 + id="408" 90.1237 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1238 + d="m 296.01695,572.99673 0,0 0,0 c -0.26672,0.34378 -0.63042,0.50662 -1.13961,0.50662 l 0,0 0,0 c -0.29097,0 -0.53344,-0.10858 -0.7274,-0.32569 l 0,0 0,0 c -0.19398,-0.2171 -0.29097,-0.48851 -0.29097,-0.81417 l 0,0 0,0 c 0,-0.37996 0.14549,-0.70562 0.46068,-0.97702 l 0,0 0,0 c 0.31522,-0.27139 0.70317,-0.39803 1.18812,-0.39803 l 0,0 0,0 c 0.12123,0 0.26671,0.0361 0.43643,0.0905 l 0,0 0,0 c 0,-0.63325 -0.24247,-0.94083 -0.75165,-0.94083 l 0,0 0,0 c -0.38795,0 -0.67891,0.10858 -0.89713,0.34377 l 0,0 -0.26672,-0.57897 0,0 0,0 c 0.12124,-0.0905 0.29095,-0.18093 0.48494,-0.2714 l 0,0 0,0 c 0.21821,-0.0723 0.4122,-0.10858 0.60616,-0.10858 l 0,0 0,0 c 0.5092,0 0.8729,0.12669 1.09113,0.37995 l 0,0 0,0 c 0.21822,0.25331 0.33945,0.65135 0.33945,1.23032 l 0,0 0,1.35697 0,0 0,0 c 0,0.34377 0.097,0.56088 0.26672,0.66944 l 0,0 0,0.34377 0,0 0,0 c -0.24247,0 -0.43645,-0.0362 -0.55768,-0.1267 l 0,0 0,0 c -0.12124,-0.0723 -0.21822,-0.19903 -0.24247,-0.37996 z m -0.0727,-1.42932 0,0 0,0 c -0.19397,-0.0544 -0.33945,-0.0723 -0.41218,-0.0723 l 0,0 0,0 c -0.31522,0 -0.55768,0.0905 -0.75167,0.25331 l 0,0 0,0 c -0.21823,0.18091 -0.31521,0.37995 -0.31521,0.63326 l 0,0 0,0 c 0,0.39804 0.21823,0.59706 0.65466,0.59706 l 0,0 0,0 c 0.31522,0 0.58193,-0.16285 0.8244,-0.48852 l 0,-0.92273 z" /> 90.1239 + <path 90.1240 + inkscape:connector-curvature="0" 90.1241 + id="409" 90.1242 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1243 + d="m 297.30203,573.21387 0,0 0.21823,-0.65136 0,0 0,0 c 0.33945,0.2533 0.63042,0.37995 0.8244,0.37995 l 0,0 0,0 c 0.38795,0 0.58193,-0.18092 0.58193,-0.54279 l 0,0 0,0 c 0,-0.2352 -0.19398,-0.45231 -0.55768,-0.63324 l 0,0 0,0 c -0.29096,-0.14475 -0.48495,-0.25331 -0.58193,-0.32568 l 0,0 0,0 c -0.097,-0.0723 -0.16973,-0.16283 -0.24247,-0.2533 l 0,0 0,0 c -0.0727,-0.0905 -0.14548,-0.19901 -0.16973,-0.30757 l 0,0 0,0 c -0.0485,-0.10858 -0.0485,-0.21714 -0.0485,-0.36188 l 0,0 0,0 c 0,-0.30758 0.097,-0.54277 0.31522,-0.7237 l 0,0 0,0 c 0.19396,-0.18094 0.48493,-0.2714 0.82439,-0.2714 l 0,0 0,0 c 0.24247,0 0.55769,0.0905 0.94564,0.2714 l 0,0 -0.16974,0.63325 0,0 0,0 c -0.24246,-0.21713 -0.48493,-0.32568 -0.75165,-0.32568 l 0,0 0,0 c -0.14548,0 -0.26671,0.0362 -0.36371,0.10858 l 0,0 0,0 c -0.097,0.0723 -0.14548,0.18094 -0.14548,0.28949 l 0,0 0,0 c 0,0.27139 0.12124,0.45233 0.36371,0.57897 l 0,0 0.46068,0.21714 0,0 0,0 c 0.26674,0.12656 0.4607,0.28948 0.58194,0.47041 l 0,0 0,0 c 0.14548,0.16282 0.19398,0.37995 0.19398,0.65133 l 0,0 0,0 c 0,0.34378 -0.097,0.59706 -0.33947,0.79611 l 0,0 0,0 c -0.21821,0.19901 -0.50918,0.28948 -0.89713,0.28948 l 0,0 0,0 c -0.38796,0 -0.72741,-0.0905 -1.04263,-0.28948 z" /> 90.1244 + <path 90.1245 + inkscape:connector-curvature="0" 90.1246 + id="410" 90.1247 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1248 + d="m 299.99344,573.21387 0,0 0.24248,-0.65136 0,0 0,0 c 0.33945,0.2533 0.60617,0.37995 0.8244,0.37995 l 0,0 0,0 c 0.38795,0 0.58193,-0.18092 0.58193,-0.54279 l 0,0 0,0 c 0,-0.2352 -0.19398,-0.45231 -0.55768,-0.63324 l 0,0 0,0 c -0.29096,-0.14475 -0.48495,-0.25331 -0.58193,-0.32568 l 0,0 0,0 c -0.097,-0.0723 -0.19397,-0.16283 -0.26672,-0.2533 l 0,0 0,0 c -0.0728,-0.0905 -0.12123,-0.19901 -0.14548,-0.30757 l 0,0 0,0 c -0.0485,-0.10858 -0.0727,-0.21714 -0.0727,-0.36188 l 0,0 0,0 c 0,-0.30758 0.12125,-0.54277 0.31522,-0.7237 l 0,0 0,0 c 0.21823,-0.18094 0.48494,-0.2714 0.82439,-0.2714 l 0,0 0,0 c 0.26672,0 0.58194,0.0905 0.94564,0.2714 l 0,0 -0.14549,0.63325 0,0 0,0 c -0.24246,-0.21713 -0.50918,-0.32568 -0.75165,-0.32568 l 0,0 0,0 c -0.14548,0 -0.26671,0.0362 -0.36371,0.10858 l 0,0 0,0 c -0.12123,0.0723 -0.16972,0.18094 -0.16972,0.28949 l 0,0 0,0 c 0,0.27139 0.14548,0.45233 0.38795,0.57897 l 0,0 0.46068,0.21714 0,0 0,0 c 0.26674,0.12656 0.4607,0.28948 0.55769,0.47041 l 0,0 0,0 c 0.12123,0.16282 0.19398,0.37995 0.19398,0.65133 l 0,0 0,0 c 0,0.34378 -0.12123,0.59706 -0.31522,0.79611 l 0,0 0,0 c -0.21821,0.19901 -0.53343,0.28948 -0.92138,0.28948 l 0,0 0,0 c -0.3637,0 -0.70316,-0.0905 -1.04263,-0.28948 z" /> 90.1249 + <path 90.1250 + inkscape:connector-curvature="0" 90.1251 + id="411" 90.1252 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1253 + d="m 307.70399,573.43097 -0.33945,-1.10366 -1.77005,0 -0.36368,1.10366 -0.72741,0 1.93974,-5.30122 0.16973,0 1.79428,5.30122 -0.70316,0 z m -1.1881,-3.94425 -0.75166,2.31588 1.43058,0 -0.67892,-2.31588 z" /> 90.1254 + <path 90.1255 + inkscape:connector-curvature="0" 90.1256 + id="412" 90.1257 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1258 + d="m 254.7486,601.52932 -0.31521,0 -1.77003,-5.30122 0.72741,0 1.21235,3.85381 1.1881,-3.85381 0.70314,0 -1.74576,5.30122 z" /> 90.1259 + <path 90.1260 + inkscape:connector-curvature="0" 90.1261 + id="413" 90.1262 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1263 + d="m 260.61635,601.45696 -0.55768,-3.34721 -1.04261,3.41957 -0.16972,0 -1.06688,-3.41957 -0.55768,3.34721 -0.63042,0 0.89715,-5.22886 0.29095,0 1.16386,3.81761 1.04262,-3.81761 0.26671,0 0.96989,5.22886 -0.60619,0 z" /> 90.1264 + <path 90.1265 + inkscape:connector-curvature="0" 90.1266 + id="414" 90.1267 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1268 + d="m 261.53775,601.22177 0,0 0.24247,-0.65137 0,0 0,0 c 0.12123,0.0905 0.26671,0.16284 0.43645,0.23522 l 0,0 0,0 c 0.19396,0.0723 0.3637,0.0905 0.50918,0.0905 l 0,0 0,0 c 0.24246,0 0.4607,-0.0723 0.60616,-0.2171 l 0,0 0,0 c 0.14549,-0.16285 0.24249,-0.34378 0.24249,-0.57898 l 0,0 0,0 c 0,-0.18093 -0.0485,-0.34377 -0.14549,-0.48851 l 0,0 0,0 c -0.0727,-0.16283 -0.29096,-0.32568 -0.65468,-0.50661 l 0,0 -0.38793,-0.19902 0,0 0,0 c -0.31522,-0.16284 -0.53345,-0.36186 -0.67892,-0.57897 l 0,0 0,0 c -0.12125,-0.23522 -0.19398,-0.5066 -0.19398,-0.83228 l 0,0 0,0 c 0,-0.37995 0.12123,-0.70562 0.38795,-0.95891 l 0,0 0,0 c 0.24247,-0.27142 0.58193,-0.39806 0.96988,-0.39806 l 0,0 0,0 c 0.53343,0 0.89713,0.10858 1.11535,0.28949 l 0,0 -0.19397,0.61517 0,0 0,0 c -0.097,-0.0723 -0.21821,-0.1267 -0.4122,-0.19902 l 0,0 0,0 c -0.16973,-0.0544 -0.33945,-0.0905 -0.48493,-0.0905 l 0,0 0,0 c -0.21823,0 -0.4122,0.0723 -0.53343,0.19903 l 0,0 0,0 c -0.12123,0.14474 -0.19398,0.32567 -0.19398,0.54279 l 0,0 0,0 c 0,0.1267 0.0243,0.25331 0.0728,0.36187 l 0,0 0,0 c 0.0485,0.10858 0.12123,0.19902 0.19396,0.27139 l 0,0 0,0 c 0.0727,0.0723 0.24247,0.18091 0.50918,0.30758 l 0,0 0.38795,0.19902 0,0 0,0 c 0.31522,0.18092 0.55769,0.37995 0.67892,0.61515 l 0,0 0,0 c 0.14548,0.23522 0.19398,0.52471 0.19398,0.88656 l 0,0 0,0 c 0,0.39805 -0.14548,0.72373 -0.43645,0.99511 l 0,0 0,0 c -0.26671,0.2714 -0.65466,0.41613 -1.13961,0.41613 l 0,0 0,0 c -0.43643,0 -0.80015,-0.10857 -1.0911,-0.32564 z" /> 90.1269 + <path 90.1270 + inkscape:connector-curvature="0" 90.1271 + id="415" 90.1272 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1273 + d="m 228.14965,590.2936 0,0 c 0,-0.0904 0.0242,-0.16282 0.0727,-0.2352 0.0485,-0.0723 0.12123,-0.1267 0.21822,-0.16284 0.097,-0.0362 0.19398,-0.0543 0.31521,-0.0543 l 0,0 0,0.45232 -0.60618,0 z" /> 90.1274 + <path 90.1275 + inkscape:connector-curvature="0" 90.1276 + id="416" 90.1277 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1278 + d="m 228.75583,589.84127 59.40509,0 0,0.45233 0,0.47042 -59.40509,0 0,-0.47042 0,-0.45233 z" /> 90.1279 + <path 90.1280 + inkscape:connector-curvature="0" 90.1281 + id="417" 90.1282 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1283 + d="m 288.16092,589.84127 0,0 c 0.12123,0 0.21823,0.0181 0.31522,0.0544 0.097,0.0362 0.16973,0.0905 0.21823,0.16284 0.0485,0.0723 0.097,0.14474 0.097,0.2352 l 0,0 0,0 -0.63043,0 0,-0.45233 z" /> 90.1284 + <path 90.1285 + inkscape:connector-curvature="0" 90.1286 + id="418" 90.1287 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1288 + d="m 288.79135,590.2936 0,23.26755 -0.63043,0 -0.60617,0 0,-23.26755 0.60617,0 0.63043,0 z" /> 90.1289 + <path 90.1290 + inkscape:connector-curvature="0" 90.1291 + id="419" 90.1292 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1293 + d="m 288.79135,613.56115 0,0 c 0,0.0905 -0.0485,0.16282 -0.097,0.23519 -0.0485,0.0723 -0.12124,0.1267 -0.21823,0.16285 -0.097,0.0362 -0.19399,0.0723 -0.31522,0.0723 l 0,0 0,-0.47041 0.63043,0 z" /> 90.1294 + <path 90.1295 + inkscape:connector-curvature="0" 90.1296 + id="420" 90.1297 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1298 + d="m 288.16092,614.03156 -59.40509,0 0,-0.47041 0,-0.45234 59.40509,0 0,0.45234 0,0.47041 z" /> 90.1299 + <path 90.1300 + inkscape:connector-curvature="0" 90.1301 + id="421" 90.1302 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1303 + d="m 228.75583,614.03156 0,0 c -0.12123,0 -0.21821,-0.0361 -0.31521,-0.0723 -0.097,-0.0362 -0.16972,-0.0905 -0.21822,-0.16285 -0.0485,-0.0723 -0.0727,-0.14473 -0.0727,-0.23519 l 0,0 0.60618,0 0,0.4704 z" /> 90.1304 + <path 90.1305 + inkscape:connector-curvature="0" 90.1306 + id="422" 90.1307 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1308 + d="m 228.14965,613.56115 0,-23.26755 0.60618,0 0.63042,0 0,23.26755 -0.63042,0 -0.60618,0 z" /> 90.1309 + <path 90.1310 + inkscape:connector-curvature="0" 90.1311 + id="423" 90.1312 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1313 + d="m 245.99542,612.6384 0,-2.24352 -1.84276,0 0,2.24352 -0.58193,0 0,-4.64989 0.58193,0 0,1.86358 1.84276,0 0,-1.86358 0.55769,0 0,4.64989 -0.55769,0 z" /> 90.1314 + <path 90.1315 + inkscape:connector-curvature="0" 90.1316 + id="424" 90.1317 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1318 + d="m 249.1233,612.25845 0,0 0,0 c -0.21823,0.28949 -0.55768,0.45232 -0.99413,0.45232 l 0,0 0,0 c -0.24247,0 -0.4607,-0.10858 -0.63043,-0.28948 l 0,0 0,0 c -0.16972,-0.19903 -0.2667,-0.43424 -0.2667,-0.72373 l 0,0 0,0 c 0,-0.34375 0.14546,-0.63324 0.4122,-0.88655 l 0,0 0,0 c 0.26671,-0.23519 0.60616,-0.34375 1.04261,-0.34375 l 0,0 0,0 c 0.097,0 0.24247,0.0181 0.38795,0.0723 l 0,0 0,0 c 0,-0.5428 -0.21823,-0.81418 -0.67892,-0.81418 l 0,0 0,0 c -0.31521,0 -0.58193,0.0905 -0.77589,0.30758 l 0,0 -0.21824,-0.52469 0,0 0,0 c 0.097,-0.0905 0.24249,-0.18093 0.43645,-0.23522 l 0,0 0,0 c 0.16973,-0.0723 0.3637,-0.10858 0.48495,-0.10858 l 0,0 0,0 c 0.46068,0 0.80015,0.10858 0.99411,0.34378 l 0,0 0,0 c 0.21822,0.23522 0.31522,0.59706 0.31522,1.08558 l 0,0 0,1.21222 0,0 0,0 c 0,0.28948 0.0727,0.48851 0.24247,0.59706 l 0,0 0,0.28949 0,0 0,0 c -0.21822,0 -0.38795,-0.0181 -0.50919,-0.0905 l 0,0 0,0 c -0.12123,-0.0723 -0.19396,-0.19902 -0.24246,-0.34376 z m -0.0485,-1.2846 0,0 0,0 c -0.16973,-0.0362 -0.29097,-0.0723 -0.3637,-0.0723 l 0,0 0,0 c -0.29097,0 -0.48495,0.0904 -0.65468,0.2352 l 0,0 0,0 c -0.19397,0.16284 -0.2667,0.34378 -0.2667,0.56088 l 0,0 0,0 c 0,0.36187 0.19396,0.52469 0.53343,0.52469 l 0,0 0,0 c 0.29095,0 0.53342,-0.14473 0.75165,-0.43422 l 0,-0.81419 z" /> 90.1319 + <path 90.1320 + inkscape:connector-curvature="0" 90.1321 + id="425" 90.1322 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1323 + d="m 252.17841,609.834 0,0 0,0 c -0.12124,-0.0905 -0.24247,-0.14475 -0.3637,-0.14475 l 0,0 0,0 c -0.19398,0 -0.36372,0.0905 -0.50918,0.28949 l 0,0 0,0 c -0.14549,0.19901 -0.21824,0.43423 -0.21824,0.72372 l 0,0 0,1.93594 -0.55766,0 0,-3.40146 0.55766,0 0,0.54277 0,0 0,0 c 0.19399,-0.41615 0.50919,-0.61517 0.89715,-0.61517 l 0,0 0,0 c 0.097,0 0.24247,0.0181 0.43643,0.0544 l -0.24246,0.61517 z" /> 90.1324 + <path 90.1325 + inkscape:connector-curvature="0" 90.1326 + id="426" 90.1327 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1328 + d="m 254.7486,612.6384 0,0 0,-0.25329 0,0 0,0 c -0.16973,0.21709 -0.4607,0.30757 -0.80016,0.30757 l 0,0 0,0 c -0.38795,0 -0.70315,-0.14474 -0.94563,-0.45232 l 0,0 0,0 c -0.24247,-0.30758 -0.3637,-0.70562 -0.3637,-1.21223 l 0,0 0,0 c 0,-0.5066 0.14548,-0.94084 0.4122,-1.3027 l 0,0 0,0 c 0.29096,-0.37996 0.60616,-0.56089 0.99413,-0.56089 l 0,0 0,0 c 0.3152,0 0.55768,0.0905 0.70316,0.25331 l 0,0 0,-1.5741 0.55767,0 0,4.79465 -0.55767,0 z m 0,-2.60538 0,0 0,0 c -0.12125,-0.23522 -0.31521,-0.34377 -0.53345,-0.34377 l 0,0 0,0 c -0.29095,0 -0.53343,0.1267 -0.7274,0.36186 l 0,0 0,0 c -0.16973,0.2352 -0.26671,0.54279 -0.26671,0.92274 l 0,0 0,0 c 0,0.81418 0.33945,1.23031 0.99411,1.23031 l 0,0 0,0 c 0.097,0 0.19399,-0.0362 0.31522,-0.0905 l 0,0 0,0 c 0.12123,-0.0723 0.19398,-0.1267 0.21823,-0.19902 l 0,-1.88167 z" /> 90.1329 + <path 90.1330 + inkscape:connector-curvature="0" 90.1331 + id="427" 90.1332 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1333 + d="m 258.96757,612.71077 -0.14548,0 -0.89715,-2.31589 -0.92138,2.31589 -0.14548,0 -1.11536,-3.49194 0.60618,0 0.65466,2.24354 0.8244,-2.24354 0.14548,0 0.8729,2.24354 0.70315,-2.24354 0.55768,0 -1.1396,3.49194 z" /> 90.1334 + <path 90.1335 + inkscape:connector-curvature="0" 90.1336 + id="428" 90.1337 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1338 + d="m 262.26515,612.25845 0,0 0,0 c -0.21822,0.28949 -0.55767,0.45232 -1.01836,0.45232 l 0,0 0,0 c -0.24247,0 -0.4607,-0.10858 -0.63044,-0.28948 l 0,0 0,0 c -0.16971,-0.19903 -0.26671,-0.43424 -0.26671,-0.72373 l 0,0 0,0 c 0,-0.34375 0.14548,-0.63324 0.4122,-0.88655 l 0,0 0,0 c 0.26671,-0.23519 0.63043,-0.34375 1.06686,-0.34375 l 0,0 0,0 c 0.097,0 0.24248,0.0181 0.38797,0.0723 l 0,0 0,0 c 0,-0.5428 -0.21824,-0.81418 -0.67892,-0.81418 l 0,0 0,0 c -0.33946,0 -0.60618,0.0905 -0.80016,0.30758 l 0,0 -0.21822,-0.52469 0,0 0,0 c 0.097,-0.0905 0.24247,-0.18093 0.43645,-0.23522 l 0,0 0,0 c 0.16973,-0.0723 0.33945,-0.10858 0.50918,-0.10858 l 0,0 0,0 c 0.4607,0 0.80015,0.10858 0.99413,0.34378 l 0,0 0,0 c 0.19397,0.23522 0.3152,0.59706 0.3152,1.08558 l 0,0 0,1.21222 0,0 0,0 c 0,0.28948 0.0727,0.48851 0.24248,0.59706 l 0,0 0,0.28949 0,0 0,0 c -0.24248,0 -0.38796,-0.0181 -0.50919,-0.0905 l 0,0 0,0 c -0.12122,-0.0723 -0.19397,-0.19902 -0.24247,-0.34376 z m -0.0485,-1.2846 0,0 0,0 c -0.16974,-0.0362 -0.29097,-0.0723 -0.36372,-0.0723 l 0,0 0,0 c -0.29095,0 -0.50918,0.0904 -0.67891,0.2352 l 0,0 0,0 c -0.19397,0.16284 -0.26672,0.34378 -0.26672,0.56088 l 0,0 0,0 c 0,0.36187 0.19398,0.52469 0.55768,0.52469 l 0,0 0,0 c 0.29097,0 0.53343,-0.14473 0.75167,-0.43422 l 0,-0.81419 z" /> 90.1339 + <path 90.1340 + inkscape:connector-curvature="0" 90.1341 + id="429" 90.1342 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1343 + d="m 265.32028,609.834 0,0 0,0 c -0.12124,-0.0905 -0.24247,-0.14475 -0.3637,-0.14475 l 0,0 0,0 c -0.19399,0 -0.36372,0.0905 -0.5092,0.28949 l 0,0 0,0 c -0.14549,0.19901 -0.21822,0.43423 -0.21822,0.72372 l 0,0 0,1.93594 -0.55768,0 0,-3.40146 0.55768,0 0,0.54277 0,0 0,0 c 0.19398,-0.41615 0.50918,-0.61517 0.89715,-0.61517 l 0,0 0,0 c 0.097,0 0.24245,0.0181 0.43643,0.0544 l -0.24246,0.61517 z" /> 90.1344 + <path 90.1345 + inkscape:connector-curvature="0" 90.1346 + id="430" 90.1347 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1348 + d="m 268.54513,611.01003 0,0 -2.23072,0 0,0 0,0 c 0,0.39805 0.097,0.68753 0.29096,0.90466 l 0,0 0,0 c 0.16972,0.18091 0.4122,0.28947 0.67892,0.28947 l 0,0 0,0 c 0.3152,0 0.58191,-0.10857 0.80015,-0.30755 l 0,0 0.21821,0.43421 0,0 0,0 c -0.0728,0.0905 -0.21821,0.18093 -0.38795,0.23522 l 0,0 0,0 c -0.21821,0.0904 -0.4607,0.14473 -0.72741,0.14473 l 0,0 0,0 c -0.4122,0 -0.7274,-0.14473 -1.01837,-0.43424 l 0,0 0,0 c -0.26671,-0.32566 -0.4122,-0.7599 -0.4122,-1.28459 l 0,0 0,0 c 0,-0.56088 0.14549,-1.0132 0.43644,-1.37507 l 0,0 0,0 c 0.26673,-0.30757 0.60618,-0.45233 0.99413,-0.45233 l 0,0 0,0 c 0.43645,0 0.77591,0.14476 1.04261,0.41615 l 0,0 0,0 c 0.24248,0.2714 0.36372,0.61517 0.36372,1.04939 l 0,0 0,0 c 0,0.14474 -0.0242,0.25332 -0.0485,0.37995 z m -1.33359,-1.32078 0,0 0,0 c -0.24247,0 -0.4607,0.0905 -0.63042,0.25328 l 0,0 0,0 c -0.14548,0.18095 -0.24246,0.37998 -0.26671,0.61517 l 0,0 1.72153,0 0,0 0,0 c 0,-0.23519 -0.0727,-0.43422 -0.19397,-0.59706 l 0,0 0,0 c -0.16973,-0.18093 -0.36372,-0.27139 -0.63043,-0.27139 z" /> 90.1349 + <path 90.1350 + inkscape:connector-curvature="0" 90.1351 + id="431" 90.1352 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1353 + d="m 272.01244,612.6384 0,0 0,-3.58241 -0.8729,0.61516 0,-0.61516 0,0 0,0 c 0.24249,-0.10857 0.4607,-0.28949 0.70317,-0.48851 l 0,0 0,0 c 0.26672,-0.2171 0.4122,-0.41614 0.55768,-0.61516 l 0,0 0.16973,0 0,4.68608 -0.55768,0 z" /> 90.1354 + <path 90.1355 + inkscape:connector-curvature="0" 90.1356 + id="432" 90.1357 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1358 + d="m 229.28926,606.39634 58.33823,0.34376 0,0.43423 0,0.43423 -58.33823,-0.34378 0,-0.43423 0,-0.43421 z" /> 90.1359 + <path 90.1360 + inkscape:connector-curvature="0" 90.1361 + id="433" 90.1362 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1363 + d="m 419.33708,601.52932 -0.33946,0 -1.79427,-5.30122 0.7274,0 1.2366,3.85381 1.1881,-3.85381 0.70316,0 -1.72153,5.30122 z" /> 90.1364 + <path 90.1365 + inkscape:connector-curvature="0" 90.1366 + id="434" 90.1367 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1368 + d="m 425.1806,601.45696 -0.58193,-3.34721 -1.04262,3.41957 -0.14548,0 -1.09111,-3.41957 -0.55768,3.34721 -0.58193,0 0.87289,-5.22886 0.29096,0 1.13961,3.81761 1.04263,-3.81761 0.31521,0 0.96987,5.22886 -0.63042,0 z" /> 90.1369 + <path 90.1370 + inkscape:connector-curvature="0" 90.1371 + id="435" 90.1372 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1373 + d="m 426.10198,601.22177 0,0 0.24248,-0.65137 0,0 0,0 c 0.12123,0.0905 0.26671,0.16284 0.46069,0.23522 l 0,0 0,0 c 0.16973,0.0723 0.33945,0.0905 0.48493,0.0905 l 0,0 0,0 c 0.24248,0 0.43645,-0.0723 0.58194,-0.2171 l 0,0 0,0 c 0.16972,-0.16285 0.24246,-0.34378 0.24246,-0.57898 l 0,0 0,0 c 0,-0.18093 -0.0485,-0.34377 -0.12123,-0.48851 l 0,0 0,0 c -0.097,-0.16283 -0.31521,-0.32568 -0.63042,-0.50661 l 0,0 -0.38795,-0.19902 0,0 0,0 c -0.33946,-0.16284 -0.55769,-0.36186 -0.67892,-0.57897 l 0,0 0,0 c -0.14548,-0.23522 -0.19398,-0.5066 -0.19398,-0.83228 l 0,0 0,0 c 0,-0.37995 0.12124,-0.70562 0.36371,-0.95891 l 0,0 0,0 c 0.26672,-0.27142 0.58193,-0.39806 0.94564,-0.39806 l 0,0 0,0 c 0.53342,0 0.92138,0.10858 1.11535,0.28949 l 0,0 -0.19397,0.61517 0,0 0,0 c -0.097,-0.0723 -0.21823,-0.1267 -0.38796,-0.19902 l 0,0 0,0 c -0.19397,-0.0544 -0.36369,-0.0905 -0.50918,-0.0905 l 0,0 0,0 c -0.19397,0 -0.3637,0.0723 -0.50919,0.19903 l 0,0 0,0 c -0.12123,0.14474 -0.16973,0.32567 -0.16973,0.54279 l 0,0 0,0 c 0,0.1267 0.0242,0.25331 0.0485,0.36187 l 0,0 0,0 c 0.0485,0.10858 0.12123,0.19902 0.19397,0.27139 l 0,0 0,0 c 0.097,0.0723 0.26672,0.18091 0.48494,0.30758 l 0,0 0.38796,0.19902 0,0 0,0 c 0.33945,0.18092 0.55768,0.37995 0.70316,0.61515 l 0,0 0,0 c 0.12123,0.23522 0.19398,0.52471 0.19398,0.88656 l 0,0 0,0 c 0,0.39805 -0.14549,0.72373 -0.43645,0.99511 l 0,0 0,0 c -0.29097,0.2714 -0.67892,0.41613 -1.13961,0.41613 l 0,0 0,0 c -0.4122,0 -0.77591,-0.10857 -1.09112,-0.32564 z" /> 90.1374 + <path 90.1375 + inkscape:connector-curvature="0" 90.1376 + id="436" 90.1377 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1378 + d="m 392.68965,590.2936 0,0 c 0,-0.0904 0.0243,-0.16282 0.0728,-0.2352 0.0485,-0.0723 0.12123,-0.1267 0.21821,-0.16284 0.097,-0.0362 0.19398,-0.0543 0.31521,-0.0543 l 0,0 0,0.45232 -0.60617,0 z" /> 90.1379 + <path 90.1380 + inkscape:connector-curvature="0" 90.1381 + id="437" 90.1382 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1383 + d="m 393.29582,589.84127 59.42935,0 0,0.45233 0,0.47042 -59.42935,0 0,-0.47042 0,-0.45233 z" /> 90.1384 + <path 90.1385 + inkscape:connector-curvature="0" 90.1386 + id="438" 90.1387 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1388 + d="m 452.72517,589.84127 0,0 c 0.12123,0 0.21822,0.0181 0.31521,0.0544 0.097,0.0362 0.16973,0.0905 0.21823,0.16284 0.0485,0.0723 0.097,0.14474 0.097,0.2352 l 0,0 0,0 -0.63042,0 0,-0.45233 z" /> 90.1389 + <path 90.1390 + inkscape:connector-curvature="0" 90.1391 + id="439" 90.1392 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1393 + d="m 453.35559,590.2936 0,23.26755 -0.63042,0 -0.60618,0 0,-23.26755 0.60618,0 0.63042,0 z" /> 90.1394 + <path 90.1395 + inkscape:connector-curvature="0" 90.1396 + id="440" 90.1397 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1398 + d="m 453.35559,613.56115 0,0 c 0,0.0905 -0.0485,0.16282 -0.097,0.23519 -0.0485,0.0723 -0.12125,0.1267 -0.21823,0.16285 -0.097,0.0362 -0.19398,0.0723 -0.31521,0.0723 l 0,0 0,-0.47041 0.63042,0 z" /> 90.1399 + <path 90.1400 + inkscape:connector-curvature="0" 90.1401 + id="441" 90.1402 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1403 + d="m 452.72517,614.03156 -59.42935,0 0,-0.47041 0,-0.45234 59.42935,0 0,0.45234 0,0.47041 z" /> 90.1404 + <path 90.1405 + inkscape:connector-curvature="0" 90.1406 + id="442" 90.1407 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1408 + d="m 393.29582,614.03156 0,0 c -0.12123,0 -0.21822,-0.0361 -0.31521,-0.0723 -0.097,-0.0362 -0.16973,-0.0905 -0.21821,-0.16285 -0.0485,-0.0723 -0.0728,-0.14473 -0.0728,-0.23519 l 0,0 0.60617,0 0,0.4704 z" /> 90.1409 + <path 90.1410 + inkscape:connector-curvature="0" 90.1411 + id="443" 90.1412 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1413 + d="m 392.68965,613.56115 0,-23.26755 0.60617,0 0.63043,0 0,23.26755 -0.63043,0 -0.60617,0 z" /> 90.1414 + <path 90.1415 + inkscape:connector-curvature="0" 90.1416 + id="444" 90.1417 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1418 + d="m 410.53543,612.6384 0,-2.24352 -1.84277,0 0,2.24352 -0.58193,0 0,-4.64989 0.58193,0 0,1.86358 1.84277,0 0,-1.86358 0.58192,0 0,4.64989 -0.58192,0 z" /> 90.1419 + <path 90.1420 + inkscape:connector-curvature="0" 90.1421 + id="445" 90.1422 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1423 + d="m 413.71178,612.25845 0,0 0,0 c -0.24247,0.28949 -0.58192,0.45232 -1.01837,0.45232 l 0,0 0,0 c -0.24247,0 -0.4607,-0.10858 -0.65467,-0.28948 l 0,0 0,0 c -0.16973,-0.19903 -0.26672,-0.43424 -0.26672,-0.72373 l 0,0 0,0 c 0,-0.34375 0.14549,-0.63324 0.4122,-0.88655 l 0,0 0,0 c 0.29097,-0.23519 0.63043,-0.34375 1.06687,-0.34375 l 0,0 0,0 c 0.12123,0 0.24247,0.0181 0.38795,0.0723 l 0,0 0,0 c 0,-0.5428 -0.21822,-0.81418 -0.65467,-0.81418 l 0,0 0,0 c -0.3637,0 -0.63042,0.0905 -0.80015,0.30758 l 0,0 -0.24247,-0.52469 0,0 0,0 c 0.097,-0.0905 0.24247,-0.18093 0.43645,-0.23522 l 0,0 0,0 c 0.19397,-0.0723 0.3637,-0.10858 0.53343,-0.10858 l 0,0 0,0 c 0.46069,0 0.7759,0.10858 0.96988,0.34378 l 0,0 0,0 c 0.21822,0.23522 0.31521,0.59706 0.31521,1.08558 l 0,0 0,1.21222 0,0 0,0 c 0,0.28948 0.097,0.48851 0.24247,0.59706 l 0,0 0,0.28949 0,0 0,0 c -0.21823,0 -0.38795,-0.0181 -0.50919,-0.0905 l 0,0 0,0 c -0.097,-0.0723 -0.16973,-0.19902 -0.21822,-0.34376 z m -0.0727,-1.2846 0,0 0,0 c -0.16973,-0.0362 -0.29097,-0.0723 -0.3637,-0.0723 l 0,0 0,0 c -0.26673,0 -0.50919,0.0904 -0.67892,0.2352 l 0,0 0,0 c -0.16973,0.16284 -0.26672,0.34378 -0.26672,0.56088 l 0,0 0,0 c 0,0.36187 0.19398,0.52469 0.58193,0.52469 l 0,0 0,0 c 0.26671,0 0.50919,-0.14473 0.72741,-0.43422 l 0,-0.81419 z" /> 90.1424 + <path 90.1425 + inkscape:connector-curvature="0" 90.1426 + id="446" 90.1427 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1428 + d="m 416.74265,609.834 0,0 0,0 c -0.12123,-0.0905 -0.24247,-0.14475 -0.3637,-0.14475 l 0,0 0,0 c -0.19398,0 -0.3637,0.0905 -0.50918,0.28949 l 0,0 0,0 c -0.14549,0.19901 -0.21823,0.43423 -0.21823,0.72372 l 0,0 0,1.93594 -0.53344,0 0,-3.40146 0.53344,0 0,0.54277 0,0 0,0 c 0.19398,-0.41615 0.48494,-0.61517 0.89714,-0.61517 l 0,0 0,0 c 0.097,0 0.24247,0.0181 0.41219,0.0544 l -0.21822,0.61517 z" /> 90.1429 + <path 90.1430 + inkscape:connector-curvature="0" 90.1431 + id="447" 90.1432 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1433 + d="m 419.33708,612.6384 0,0 0,-0.25329 0,0 0,0 c -0.19398,0.21709 -0.48494,0.30757 -0.84865,0.30757 l 0,0 0,0 c -0.38795,0 -0.70316,-0.14474 -0.94563,-0.45232 l 0,0 0,0 c -0.24247,-0.30758 -0.3637,-0.70562 -0.3637,-1.21223 l 0,0 0,0 c 0,-0.5066 0.14548,-0.94084 0.43644,-1.3027 l 0,0 0,0 c 0.26672,-0.37996 0.60618,-0.56089 0.99413,-0.56089 l 0,0 0,0 c 0.31521,0 0.55768,0.0905 0.72741,0.25331 l 0,0 0,-1.5741 0.55768,0 0,4.79465 -0.55768,0 z m 0,-2.60538 0,0 0,0 c -0.14548,-0.23522 -0.33946,-0.34377 -0.58192,-0.34377 l 0,0 0,0 c -0.29098,0 -0.53344,0.1267 -0.70317,0.36186 l 0,0 0,0 c -0.19398,0.2352 -0.29097,0.54279 -0.29097,0.92274 l 0,0 0,0 c 0,0.81418 0.33946,1.23031 1.01838,1.23031 l 0,0 0,0 c 0.097,0 0.19397,-0.0362 0.31521,-0.0905 l 0,0 0,0 c 0.12124,-0.0723 0.21822,-0.1267 0.24247,-0.19902 l 0,-1.88167 z" /> 90.1434 + <path 90.1435 + inkscape:connector-curvature="0" 90.1436 + id="448" 90.1437 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1438 + d="m 423.5318,612.71077 -0.14548,0 -0.92138,-2.31589 -0.89714,2.31589 -0.14548,0 -1.09112,-3.49194 0.58193,0 0.65467,2.24354 0.8244,-2.24354 0.14548,0 0.84864,2.24354 0.72741,-2.24354 0.53344,0 -1.11537,3.49194 z" /> 90.1439 + <path 90.1440 + inkscape:connector-curvature="0" 90.1441 + id="449" 90.1442 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1443 + d="m 426.82939,612.25845 0,0 0,0 c -0.21822,0.28949 -0.55768,0.45232 -0.99412,0.45232 l 0,0 0,0 c -0.24247,0 -0.46069,-0.10858 -0.65467,-0.28948 l 0,0 0,0 c -0.16973,-0.19903 -0.26672,-0.43424 -0.26672,-0.72373 l 0,0 0,0 c 0,-0.34375 0.14548,-0.63324 0.4122,-0.88655 l 0,0 0,0 c 0.29097,-0.23519 0.63042,-0.34375 1.06687,-0.34375 l 0,0 0,0 c 0.12123,0 0.24247,0.0181 0.38795,0.0723 l 0,0 0,0 c 0,-0.5428 -0.21822,-0.81418 -0.67892,-0.81418 l 0,0 0,0 c -0.33946,0 -0.60617,0.0905 -0.7759,0.30758 l 0,0 -0.24247,-0.52469 0,0 0,0 c 0.097,-0.0905 0.24247,-0.18093 0.43645,-0.23522 l 0,0 0,0 c 0.19398,-0.0723 0.36371,-0.10858 0.53344,-0.10858 l 0,0 0,0 c 0.43644,0 0.77589,0.10858 0.96987,0.34378 l 0,0 0,0 c 0.21823,0.23522 0.31521,0.59706 0.31521,1.08558 l 0,0 0,1.21222 0,0 0,0 c 0,0.28948 0.0728,0.48851 0.21823,0.59706 l 0,0 0,0.28949 0,0 0,0 c -0.19398,0 -0.36371,-0.0181 -0.48494,-0.0905 l 0,0 0,0 c -0.097,-0.0723 -0.19398,-0.19902 -0.24248,-0.34376 z m -0.0485,-1.2846 0,0 0,0 c -0.16973,-0.0362 -0.29096,-0.0723 -0.36371,-0.0723 l 0,0 0,0 c -0.26671,0 -0.50918,0.0904 -0.67891,0.2352 l 0,0 0,0 c -0.16973,0.16284 -0.26672,0.34378 -0.26672,0.56088 l 0,0 0,0 c 0,0.36187 0.19398,0.52469 0.58194,0.52469 l 0,0 0,0 c 0.26671,0 0.50918,-0.14473 0.7274,-0.43422 l 0,-0.81419 z" /> 90.1444 + <path 90.1445 + inkscape:connector-curvature="0" 90.1446 + id="450" 90.1447 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1448 + d="m 429.88451,609.834 0,0 0,0 c -0.12123,-0.0905 -0.24247,-0.14475 -0.3637,-0.14475 l 0,0 0,0 c -0.19398,0 -0.36371,0.0905 -0.50919,0.28949 l 0,0 0,0 c -0.14548,0.19901 -0.21822,0.43423 -0.21822,0.72372 l 0,0 0,1.93594 -0.55768,0 0,-3.40146 0.55768,0 0,0.54277 0,0 0,0 c 0.19397,-0.41615 0.48494,-0.61517 0.89714,-0.61517 l 0,0 0,0 c 0.097,0 0.24247,0.0181 0.4122,0.0544 l -0.21823,0.61517 z" /> 90.1449 + <path 90.1450 + inkscape:connector-curvature="0" 90.1451 + id="451" 90.1452 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1453 + d="m 433.13361,611.01003 0,0 -2.25497,0 0,0 0,0 c 0,0.39805 0.097,0.68753 0.29096,0.90466 l 0,0 0,0 c 0.19398,0.18091 0.4122,0.28947 0.67891,0.28947 l 0,0 0,0 c 0.31522,0 0.58194,-0.10857 0.80016,-0.30755 l 0,0 0.24247,0.43421 0,0 0,0 c -0.097,0.0905 -0.21822,0.18093 -0.4122,0.23522 l 0,0 0,0 c -0.21822,0.0904 -0.4607,0.14473 -0.72741,0.14473 l 0,0 0,0 c -0.38795,0 -0.72741,-0.14473 -0.99412,-0.43424 l 0,0 0,0 c -0.31521,-0.32566 -0.46069,-0.7599 -0.46069,-1.28459 l 0,0 0,0 c 0,-0.56088 0.14548,-1.0132 0.46069,-1.37507 l 0,0 0,0 c 0.29096,-0.30757 0.60617,-0.45233 0.99412,-0.45233 l 0,0 0,0 c 0.46069,0 0.80015,0.14476 1.04262,0.41615 l 0,0 0,0 c 0.24248,0.2714 0.36371,0.61517 0.36371,1.04939 l 0,0 0,0 c 0,0.14474 0,0.25332 -0.0243,0.37995 z m -1.35783,-1.32078 0,0 0,0 c -0.24247,0 -0.43645,0.0905 -0.60618,0.25328 l 0,0 0,0 c -0.16973,0.18095 -0.26671,0.37998 -0.26671,0.61517 l 0,0 1.72153,0 0,0 0,0 c 0,-0.23519 -0.0727,-0.43422 -0.21822,-0.59706 l 0,0 0,0 c -0.14548,-0.18093 -0.36371,-0.27139 -0.63042,-0.27139 z" /> 90.1454 + <path 90.1455 + inkscape:connector-curvature="0" 90.1456 + id="452" 90.1457 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1458 + d="m 435.43707,612.31273 0,0 0.26672,-0.48852 0,0 0,0 c 0.19398,0.23522 0.43644,0.34376 0.72741,0.34376 l 0,0 0,0 c 0.53343,0 0.8244,-0.28948 0.8244,-0.86845 l 0,0 0,0 c 0,-0.2533 -0.097,-0.47041 -0.24247,-0.63326 l 0,0 0,0 c -0.16973,-0.16284 -0.36371,-0.25329 -0.63042,-0.25329 l 0,0 -0.0485,0 0,-0.50661 0.0242,0 0,0 0,0 c 0.50918,0 0.75166,-0.23521 0.75166,-0.72371 l 0,0 0,0 c 0,-0.50661 -0.24248,-0.74182 -0.70317,-0.74182 l 0,0 0,0 c -0.24247,0 -0.4607,0.0905 -0.60617,0.2714 l 0,0 -0.24247,-0.43424 0,0 0,0 c 0.16973,-0.25331 0.46069,-0.37995 0.89713,-0.37995 l 0,0 0,0 c 0.36371,0 0.67892,0.10858 0.89714,0.32569 l 0,0 0,0 c 0.24248,0.2171 0.36371,0.4885 0.36371,0.83226 l 0,0 0,0 c 0,0.25331 -0.0728,0.48852 -0.19398,0.70563 l 0,0 0,0 c -0.14548,0.19902 -0.29096,0.32567 -0.46069,0.39805 l 0,0 0,0 c 0.24247,0.0905 0.43644,0.23521 0.58192,0.43423 l 0,0 0,0 c 0.14549,0.21711 0.21823,0.47042 0.21823,0.75991 l 0,0 0,0 c 0,0.43422 -0.12123,0.7599 -0.38796,0.99511 l 0,0 0,0 c -0.24246,0.23519 -0.60617,0.36185 -1.04261,0.36185 l 0,0 0,0 c -0.19397,0 -0.38795,-0.0542 -0.55768,-0.1267 l 0,0 0,0 c -0.19398,-0.0723 -0.33946,-0.16282 -0.43645,-0.27138 z" /> 90.1459 + <path 90.1460 + inkscape:connector-curvature="0" 90.1461 + id="453" 90.1462 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1463 + d="m 393.82925,606.39634 58.33824,0.34376 0,0.43423 0,0.43423 -58.33824,-0.34378 0,-0.43423 0,-0.43421 z" /> 90.1464 + <path 90.1465 + inkscape:connector-curvature="0" 90.1466 + id="454" 90.1467 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1468 + d="m 493.38735,601.52932 -0.29096,0 -1.79428,-5.30122 0.72741,0 1.21235,3.85381 1.1881,-3.85381 0.70316,0 -1.74578,5.30122 z" /> 90.1469 + <path 90.1470 + inkscape:connector-curvature="0" 90.1471 + id="455" 90.1472 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1473 + d="m 499.25512,601.45696 -0.55768,-3.34721 -1.04262,3.41957 -0.16973,0 -1.06686,-3.41957 -0.55769,3.34721 -0.63042,0 0.89714,-5.22886 0.31521,0 1.13961,3.81761 1.04262,-3.81761 0.29096,0 0.94563,5.22886 -0.60617,0 z" /> 90.1474 + <path 90.1475 + inkscape:connector-curvature="0" 90.1476 + id="456" 90.1477 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1478 + d="m 500.1765,601.22177 0,0 0.24247,-0.65137 0,0 0,0 c 0.12124,0.0905 0.26672,0.16284 0.46069,0.23522 l 0,0 0,0 c 0.16973,0.0723 0.33946,0.0905 0.48494,0.0905 l 0,0 0,0 c 0.24247,0 0.4607,-0.0723 0.60618,-0.2171 l 0,0 0,0 c 0.16973,-0.16285 0.24247,-0.34378 0.24247,-0.57898 l 0,0 0,0 c 0,-0.18093 -0.0485,-0.34377 -0.14548,-0.48851 l 0,0 0,0 c -0.0727,-0.16283 -0.29097,-0.32568 -0.63042,-0.50661 l 0,0 -0.38796,-0.19902 0,0 0,0 c -0.33946,-0.16284 -0.55767,-0.36186 -0.70316,-0.57897 l 0,0 0,0 c -0.12123,-0.23522 -0.19397,-0.5066 -0.19397,-0.83228 l 0,0 0,0 c 0,-0.37995 0.14548,-0.70562 0.38795,-0.95891 l 0,0 0,0 c 0.26672,-0.27142 0.58193,-0.39806 0.96988,-0.39806 l 0,0 0,0 c 0.53343,0 0.89713,0.10858 1.11536,0.28949 l 0,0 -0.19398,0.61517 0,0 0,0 c -0.097,-0.0723 -0.21822,-0.1267 -0.41219,-0.19902 l 0,0 0,0 c -0.16973,-0.0544 -0.33946,-0.0905 -0.48495,-0.0905 l 0,0 0,0 c -0.21822,0 -0.38794,0.0723 -0.53343,0.19903 l 0,0 0,0 c -0.12124,0.14474 -0.19397,0.32567 -0.19397,0.54279 l 0,0 0,0 c 0,0.1267 0.0242,0.25331 0.0727,0.36187 l 0,0 0,0 c 0.0485,0.10858 0.12124,0.19902 0.19398,0.27139 l 0,0 0,0 c 0.097,0.0723 0.24247,0.18091 0.50919,0.30758 l 0,0 0.38795,0.19902 0,0 0,0 c 0.33946,0.18092 0.55768,0.37995 0.67892,0.61515 l 0,0 0,0 c 0.14548,0.23522 0.21822,0.52471 0.21822,0.88656 l 0,0 0,0 c 0,0.39805 -0.14549,0.72373 -0.43645,0.99511 l 0,0 0,0 c -0.29096,0.2714 -0.67891,0.41613 -1.16385,0.41613 l 0,0 0,0 c -0.43644,0 -0.80015,-0.10857 -1.09112,-0.32564 z" /> 90.1479 + <path 90.1480 + inkscape:connector-curvature="0" 90.1481 + id="457" 90.1482 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1483 + d="m 466.78842,590.2936 0,0 c 0,-0.0904 0.0242,-0.16282 0.0727,-0.2352 0.0485,-0.0723 0.12124,-0.1267 0.21823,-0.16284 0.097,-0.0362 0.19397,-0.0543 0.31521,-0.0543 l 0,0 0,0.45232 -0.60617,0 z" /> 90.1484 + <path 90.1485 + inkscape:connector-curvature="0" 90.1486 + id="458" 90.1487 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1488 + d="m 467.39459,589.84127 59.42935,0 0,0.45233 0,0.47042 -59.42935,0 0,-0.47042 0,-0.45233 z" /> 90.1489 + <path 90.1490 + inkscape:connector-curvature="0" 90.1491 + id="459" 90.1492 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1493 + d="m 526.82394,589.84127 0,0 c 0.12123,0 0.21821,0.0181 0.31521,0.0544 0.097,0.0362 0.16972,0.0905 0.21821,0.16284 0.0485,0.0723 0.097,0.14474 0.097,0.2352 l 0,0 0,0 -0.63041,0 0,-0.45233 z" /> 90.1494 + <path 90.1495 + inkscape:connector-curvature="0" 90.1496 + id="460" 90.1497 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1498 + d="m 527.45435,590.2936 0,23.26755 -0.63041,0 -0.60618,0 0,-23.26755 0.60618,0 0.63041,0 z" /> 90.1499 + <path 90.1500 + inkscape:connector-curvature="0" 90.1501 + id="461" 90.1502 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1503 + d="m 527.45435,613.56115 0,0 c 0,0.0905 -0.0485,0.16282 -0.097,0.23519 -0.0485,0.0723 -0.12123,0.1267 -0.21821,0.16285 -0.097,0.0362 -0.19398,0.0723 -0.31521,0.0723 l 0,0 0,-0.47041 0.63041,0 z" /> 90.1504 + <path 90.1505 + inkscape:connector-curvature="0" 90.1506 + id="462" 90.1507 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1508 + d="m 526.82394,614.03156 -59.42935,0 0,-0.47041 0,-0.45234 59.42935,0 0,0.45234 0,0.47041 z" /> 90.1509 + <path 90.1510 + inkscape:connector-curvature="0" 90.1511 + id="463" 90.1512 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1513 + d="m 467.39459,614.03156 0,0 c -0.12124,0 -0.21822,-0.0361 -0.31521,-0.0723 -0.097,-0.0362 -0.16973,-0.0905 -0.21823,-0.16285 -0.0485,-0.0723 -0.0727,-0.14473 -0.0727,-0.23519 l 0,0 0.60617,0 0,0.4704 z" /> 90.1514 + <path 90.1515 + inkscape:connector-curvature="0" 90.1516 + id="464" 90.1517 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1518 + d="m 466.78842,613.56115 0,-23.26755 0.60617,0 0.63042,0 0,23.26755 -0.63042,0 -0.60617,0 z" /> 90.1519 + <path 90.1520 + inkscape:connector-curvature="0" 90.1521 + id="465" 90.1522 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1523 + d="m 484.63419,612.6384 0,-2.24352 -1.86702,0 0,2.24352 -0.58193,0 0,-4.64989 0.58193,0 0,1.86358 1.86702,0 0,-1.86358 0.58192,0 0,4.64989 -0.58192,0 z" /> 90.1524 + <path 90.1525 + inkscape:connector-curvature="0" 90.1526 + id="466" 90.1527 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1528 + d="m 487.76205,612.25845 0,0 0,0 c -0.21822,0.28949 -0.55768,0.45232 -0.96988,0.45232 l 0,0 0,0 c -0.26671,0 -0.46069,-0.10858 -0.65467,-0.28948 l 0,0 0,0 c -0.16973,-0.19903 -0.26671,-0.43424 -0.26671,-0.72373 l 0,0 0,0 c 0,-0.34375 0.14548,-0.63324 0.41219,-0.88655 l 0,0 0,0 c 0.29097,-0.23519 0.63042,-0.34375 1.04263,-0.34375 l 0,0 0,0 c 0.12123,0 0.24247,0.0181 0.38795,0.0723 l 0,0 0,0 c 0,-0.5428 -0.21823,-0.81418 -0.65467,-0.81418 l 0,0 0,0 c -0.33946,0 -0.60618,0.0905 -0.77591,0.30758 l 0,0 -0.24246,-0.52469 0,0 0,0 c 0.097,-0.0905 0.24246,-0.18093 0.43644,-0.23522 l 0,0 0,0 c 0.19398,-0.0723 0.36371,-0.10858 0.53344,-0.10858 l 0,0 0,0 c 0.41219,0 0.75165,0.10858 0.94562,0.34378 l 0,0 0,0 c 0.21823,0.23522 0.31521,0.59706 0.31521,1.08558 l 0,0 0,1.21222 0,0 0,0 c 0,0.28948 0.0727,0.48851 0.24248,0.59706 l 0,0 0,0.28949 0,0 0,0 c -0.21823,0 -0.38796,-0.0181 -0.50919,-0.0905 l 0,0 0,0 c -0.097,-0.0723 -0.19398,-0.19902 -0.24247,-0.34376 z m -0.0485,-1.2846 0,0 0,0 c -0.16973,-0.0362 -0.29097,-0.0723 -0.36371,-0.0723 l 0,0 0,0 c -0.24247,0 -0.48494,0.0904 -0.65466,0.2352 l 0,0 0,0 c -0.16973,0.16284 -0.26673,0.34378 -0.26673,0.56088 l 0,0 0,0 c 0,0.36187 0.19398,0.52469 0.58194,0.52469 l 0,0 0,0 c 0.24246,0 0.48493,-0.14473 0.70316,-0.43422 l 0,-0.81419 z" /> 90.1529 + <path 90.1530 + inkscape:connector-curvature="0" 90.1531 + id="467" 90.1532 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1533 + d="m 490.84141,609.834 0,0 0,0 c -0.12123,-0.0905 -0.24246,-0.14475 -0.3637,-0.14475 l 0,0 0,0 c -0.19397,0 -0.3637,0.0905 -0.53343,0.28949 l 0,0 0,0 c -0.14549,0.19901 -0.21822,0.43423 -0.21822,0.72372 l 0,0 0,1.93594 -0.53344,0 0,-3.40146 0.53344,0 0,0.54277 0,0 0,0 c 0.21822,-0.41615 0.50918,-0.61517 0.89714,-0.61517 l 0,0 0,0 c 0.12123,0 0.24246,0.0181 0.43644,0.0544 l -0.21823,0.61517 z" /> 90.1534 + <path 90.1535 + inkscape:connector-curvature="0" 90.1536 + id="468" 90.1537 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1538 + d="m 493.4116,612.6384 0,0 0,-0.25329 0,0 0,0 c -0.19398,0.21709 -0.4607,0.30757 -0.8244,0.30757 l 0,0 0,0 c -0.38796,0 -0.70316,-0.14474 -0.94563,-0.45232 l 0,0 0,0 c -0.24247,-0.30758 -0.3637,-0.70562 -0.3637,-1.21223 l 0,0 0,0 c 0,-0.5066 0.14548,-0.94084 0.41219,-1.3027 l 0,0 0,0 c 0.29097,-0.37996 0.63043,-0.56089 1.01837,-0.56089 l 0,0 0,0 c 0.31521,0 0.53344,0.0905 0.70317,0.25331 l 0,0 0,-1.5741 0.55768,0 0,4.79465 -0.55768,0 z m 0,-2.60538 0,0 0,0 c -0.14549,-0.23522 -0.31521,-0.34377 -0.55769,-0.34377 l 0,0 0,0 c -0.29096,0 -0.53342,0.1267 -0.7274,0.36186 l 0,0 0,0 c -0.16973,0.2352 -0.26672,0.54279 -0.26672,0.92274 l 0,0 0,0 c 0,0.81418 0.33945,1.23031 1.01837,1.23031 l 0,0 0,0 c 0.097,0 0.19398,-0.0362 0.29097,-0.0905 l 0,0 0,0 c 0.12123,-0.0723 0.19397,-0.1267 0.24247,-0.19902 l 0,-1.88167 z" /> 90.1539 + <path 90.1540 + inkscape:connector-curvature="0" 90.1541 + id="469" 90.1542 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1543 + d="m 497.63057,612.71077 -0.14548,0 -0.92138,-2.31589 -0.89714,2.31589 -0.14549,0 -1.11536,-3.49194 0.58193,0 0.65467,2.24354 0.84864,-2.24354 0.14548,0 0.84865,2.24354 0.70316,-2.24354 0.55768,0 -1.11536,3.49194 z" /> 90.1544 + <path 90.1545 + inkscape:connector-curvature="0" 90.1546 + id="470" 90.1547 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1548 + d="m 500.90391,612.25845 0,0 0,0 c -0.21822,0.28949 -0.55768,0.45232 -1.01837,0.45232 l 0,0 0,0 c -0.24247,0 -0.43644,-0.10858 -0.63042,-0.28948 l 0,0 0,0 c -0.16973,-0.19903 -0.24247,-0.43424 -0.24247,-0.72373 l 0,0 0,0 c 0,-0.34375 0.12124,-0.63324 0.38795,-0.88655 l 0,0 0,0 c 0.29096,-0.23519 0.63042,-0.34375 1.06687,-0.34375 l 0,0 0,0 c 0.12123,0 0.24246,0.0181 0.38795,0.0723 l 0,0 0,0 c 0,-0.5428 -0.21822,-0.81418 -0.67892,-0.81418 l 0,0 0,0 c -0.33946,0 -0.60617,0.0905 -0.80015,0.30758 l 0,0 -0.21822,-0.52469 0,0 0,0 c 0.097,-0.0905 0.24247,-0.18093 0.43645,-0.23522 l 0,0 0,0 c 0.16973,-0.0723 0.3637,-0.10858 0.53343,-0.10858 l 0,0 0,0 c 0.43644,0 0.7759,0.10858 0.96988,0.34378 l 0,0 0,0 c 0.21822,0.23522 0.31521,0.59706 0.31521,1.08558 l 0,0 0,1.21222 0,0 0,0 c 0,0.28948 0.0727,0.48851 0.24247,0.59706 l 0,0 0,0.28949 0,0 0,0 c -0.21822,0 -0.38795,-0.0181 -0.50918,-0.0905 l 0,0 0,0 c -0.097,-0.0723 -0.19398,-0.19902 -0.24248,-0.34376 z m -0.0485,-1.2846 0,0 0,0 c -0.16973,-0.0362 -0.29097,-0.0723 -0.3637,-0.0723 l 0,0 0,0 c -0.26672,0 -0.50919,0.0904 -0.67892,0.2352 l 0,0 0,0 c -0.16973,0.16284 -0.26672,0.34378 -0.26672,0.56088 l 0,0 0,0 c 0,0.36187 0.19398,0.52469 0.58193,0.52469 l 0,0 0,0 c 0.26671,0 0.50919,-0.14473 0.72741,-0.43422 l 0,-0.81419 z" /> 90.1549 + <path 90.1550 + inkscape:connector-curvature="0" 90.1551 + id="471" 90.1552 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1553 + d="m 503.98328,609.834 0,0 0,0 c -0.12123,-0.0905 -0.24247,-0.14475 -0.36371,-0.14475 l 0,0 0,0 c -0.19397,0 -0.38795,0.0905 -0.53343,0.28949 l 0,0 0,0 c -0.14548,0.19901 -0.21822,0.43423 -0.21822,0.72372 l 0,0 0,1.93594 -0.53343,0 0,-3.40146 0.53343,0 0,0.54277 0,0 0,0 c 0.21822,-0.41615 0.50919,-0.61517 0.89713,-0.61517 l 0,0 0,0 c 0.12124,0 0.24248,0.0181 0.43645,0.0544 l -0.21822,0.61517 z" /> 90.1554 + <path 90.1555 + inkscape:connector-curvature="0" 90.1556 + id="472" 90.1557 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1558 + d="m 507.18388,611.01003 0,0 -2.20648,0 0,0 0,0 c 0,0.39805 0.0727,0.68753 0.26673,0.90466 l 0,0 0,0 c 0.16972,0.18091 0.41219,0.28947 0.67891,0.28947 l 0,0 0,0 c 0.31521,0 0.58192,-0.10857 0.80015,-0.30755 l 0,0 0.21822,0.43421 0,0 0,0 c -0.0727,0.0905 -0.19397,0.18093 -0.38795,0.23522 l 0,0 0,0 c -0.21823,0.0904 -0.46069,0.14473 -0.72741,0.14473 l 0,0 0,0 c -0.38796,0 -0.72741,-0.14473 -0.96988,-0.43424 l 0,0 0,0 c -0.31521,-0.32566 -0.46069,-0.7599 -0.46069,-1.28459 l 0,0 0,0 c 0,-0.56088 0.14548,-1.0132 0.46069,-1.37507 l 0,0 0,0 c 0.26671,-0.30757 0.58192,-0.45233 0.96988,-0.45233 l 0,0 0,0 c 0.43645,0 0.80015,0.14476 1.04262,0.41615 l 0,0 0,0 c 0.24247,0.2714 0.36371,0.61517 0.36371,1.04939 l 0,0 0,0 c 0,0.14474 0,0.25332 -0.0485,0.37995 z m -1.33358,-1.32078 0,0 0,0 c -0.24248,0 -0.46069,0.0905 -0.60617,0.25328 l 0,0 0,0 c -0.16973,0.18095 -0.24248,0.37998 -0.26673,0.61517 l 0,0 1.72154,0 0,0 0,0 c 0,-0.23519 -0.0727,-0.43422 -0.21822,-0.59706 l 0,0 0,0 c -0.14549,-0.18093 -0.36371,-0.27139 -0.63042,-0.27139 z" /> 90.1559 + <path 90.1560 + inkscape:connector-curvature="0" 90.1561 + id="473" 90.1562 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1563 + d="m 511.76656,611.37189 0,1.26651 -0.55769,0 0,-1.26651 -1.9155,0 0,-0.36186 2.25496,-3.05771 0.21823,0 0,2.93108 0.4122,0 0,0.48849 -0.4122,0 z m -0.55769,-2.15306 -1.23659,1.66457 1.23659,0 0,-1.66457 z" /> 90.1564 + <path 90.1565 + inkscape:connector-curvature="0" 90.1566 + id="474" 90.1567 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1568 + d="m 467.92802,606.39634 58.33823,0.34376 0,0.43423 0,0.43423 -58.33823,-0.34378 0,-0.43423 0,-0.43421 z" /> 90.1569 + <path 90.1570 + inkscape:connector-curvature="0" 90.1571 + id="475" 90.1572 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1573 + d="m 567.48611,601.52932 -0.31521,0 -1.79427,-5.30122 0.7274,0 1.2366,3.85381 1.1881,-3.85381 0.70317,0 -1.74579,5.30122 z" /> 90.1574 + <path 90.1575 + inkscape:connector-curvature="0" 90.1576 + id="476" 90.1577 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1578 + d="m 573.35389,601.45696 -0.58194,-3.34721 -1.04262,3.41957 -0.16973,0 -1.04262,-3.41957 -0.55767,3.34721 -0.63043,0 0.89714,-5.22886 0.31521,0 1.11537,3.81761 1.04262,-3.81761 0.29096,0 0.96988,5.22886 -0.60617,0 z" /> 90.1579 + <path 90.1580 + inkscape:connector-curvature="0" 90.1581 + id="477" 90.1582 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1583 + d="m 574.27526,601.22177 0,0 0.24248,-0.65137 0,0 0,0 c 0.12123,0.0905 0.26671,0.16284 0.46069,0.23522 l 0,0 0,0 c 0.16973,0.0723 0.33946,0.0905 0.48494,0.0905 l 0,0 0,0 c 0.24247,0 0.4607,-0.0723 0.60618,-0.2171 l 0,0 0,0 c 0.14548,-0.16285 0.24246,-0.34378 0.24246,-0.57898 l 0,0 0,0 c 0,-0.18093 -0.0485,-0.34377 -0.14548,-0.48851 l 0,0 0,0 c -0.0727,-0.16283 -0.29096,-0.32568 -0.63042,-0.50661 l 0,0 -0.38795,-0.19902 0,0 0,0 c -0.33946,-0.16284 -0.55768,-0.36186 -0.70317,-0.57897 l 0,0 0,0 c -0.12123,-0.23522 -0.19397,-0.5066 -0.19397,-0.83228 l 0,0 0,0 c 0,-0.37995 0.14549,-0.70562 0.38795,-0.95891 l 0,0 0,0 c 0.24247,-0.27142 0.58193,-0.39806 0.96988,-0.39806 l 0,0 0,0 c 0.53343,0 0.89714,0.10858 1.11536,0.28949 l 0,0 -0.19397,0.61517 0,0 0,0 c -0.097,-0.0723 -0.21823,-0.1267 -0.4122,-0.19902 l 0,0 0,0 c -0.16973,-0.0544 -0.33946,-0.0905 -0.48494,-0.0905 l 0,0 0,0 c -0.21822,0 -0.4122,0.0723 -0.53344,0.19903 l 0,0 0,0 c -0.12123,0.14474 -0.19397,0.32567 -0.19397,0.54279 l 0,0 0,0 c 0,0.1267 0.0242,0.25331 0.0727,0.36187 l 0,0 0,0 c 0.0485,0.10858 0.12123,0.19902 0.19398,0.27139 l 0,0 0,0 c 0.0727,0.0723 0.24247,0.18091 0.50918,0.30758 l 0,0 0.38796,0.19902 0,0 0,0 c 0.31521,0.18092 0.55767,0.37995 0.65466,0.61515 l 0,0 0,0 c 0.14549,0.23522 0.19398,0.52471 0.19398,0.88656 l 0,0 0,0 c 0,0.39805 -0.12124,0.72373 -0.38795,0.99511 l 0,0 0,0 c -0.29097,0.2714 -0.67892,0.41613 -1.16386,0.41613 l 0,0 0,0 c -0.43645,0 -0.80014,-0.10857 -1.09112,-0.32564 z" /> 90.1584 + <path 90.1585 + inkscape:connector-curvature="0" 90.1586 + id="478" 90.1587 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1588 + d="m 540.88718,590.2936 0,0 c 0,-0.0904 0,-0.16282 0.0485,-0.2352 0.0485,-0.0723 0.12123,-0.1267 0.21821,-0.16284 0.097,-0.0362 0.19398,-0.0543 0.31521,-0.0543 l 0,0 0,0.45232 -0.58192,0 z" /> 90.1589 + <path 90.1590 + inkscape:connector-curvature="0" 90.1591 + id="479" 90.1592 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1593 + d="m 541.4691,589.84127 59.42935,0 0,0.45233 0,0.47042 -59.42935,0 0,-0.47042 0,-0.45233 z" /> 90.1594 + <path 90.1595 + inkscape:connector-curvature="0" 90.1596 + id="480" 90.1597 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1598 + d="m 600.89845,589.84127 0,0 c 0.12124,0 0.21822,0.0181 0.31521,0.0544 0.097,0.0362 0.16973,0.0905 0.21823,0.16284 0.0485,0.0723 0.097,0.14474 0.097,0.2352 l 0,0 0,0 -0.63042,0 0,-0.45233 z" /> 90.1599 + <path 90.1600 + inkscape:connector-curvature="0" 90.1601 + id="481" 90.1602 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1603 + d="m 601.52887,590.2936 0,23.26755 -0.63042,0 -0.58193,0 0,-23.26755 0.58193,0 0.63042,0 z" /> 90.1604 + <path 90.1605 + inkscape:connector-curvature="0" 90.1606 + id="482" 90.1607 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1608 + d="m 601.52887,613.56115 0,0 c 0,0.0905 -0.0485,0.16282 -0.097,0.23519 -0.0485,0.0723 -0.12124,0.1267 -0.21823,0.16285 -0.097,0.0362 -0.19397,0.0723 -0.31521,0.0723 l 0,0 0,-0.47041 0.63042,0 z" /> 90.1609 + <path 90.1610 + inkscape:connector-curvature="0" 90.1611 + id="483" 90.1612 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1613 + d="m 600.89845,614.03156 -59.42935,0 0,-0.47041 0,-0.45234 59.42935,0 0,0.45234 0,0.47041 z" /> 90.1614 + <path 90.1615 + inkscape:connector-curvature="0" 90.1616 + id="484" 90.1617 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1618 + d="m 541.4691,614.03156 0,0 c -0.12123,0 -0.21821,-0.0361 -0.31521,-0.0723 -0.097,-0.0362 -0.16973,-0.0905 -0.21821,-0.16285 -0.0485,-0.0723 -0.0485,-0.14473 -0.0485,-0.23519 l 0,0 0.58192,0 0,0.4704 z" /> 90.1619 + <path 90.1620 + inkscape:connector-curvature="0" 90.1621 + id="485" 90.1622 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1623 + d="m 540.88718,613.56115 0,-23.26755 0.58192,0 0.63043,0 0,23.26755 -0.63043,0 -0.58192,0 z" /> 90.1624 + <path 90.1625 + inkscape:connector-curvature="0" 90.1626 + id="486" 90.1627 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1628 + d="m 558.73296,612.6384 0,-2.24352 -1.86702,0 0,2.24352 -0.58193,0 0,-4.64989 0.58193,0 0,1.86358 1.86702,0 0,-1.86358 0.55768,0 0,4.64989 -0.55768,0 z" /> 90.1629 + <path 90.1630 + inkscape:connector-curvature="0" 90.1631 + id="487" 90.1632 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1633 + d="m 561.86081,612.25845 0,0 0,0 c -0.21821,0.28949 -0.55767,0.45232 -1.01837,0.45232 l 0,0 0,0 c -0.24247,0 -0.43644,-0.10858 -0.63042,-0.28948 l 0,0 0,0 c -0.16973,-0.19903 -0.26671,-0.43424 -0.26671,-0.72373 l 0,0 0,0 c 0,-0.34375 0.14548,-0.63324 0.41219,-0.88655 l 0,0 0,0 c 0.29097,-0.23519 0.63043,-0.34375 1.06687,-0.34375 l 0,0 0,0 c 0.12123,0 0.24247,0.0181 0.38796,0.0723 l 0,0 0,0 c 0,-0.5428 -0.21823,-0.81418 -0.67892,-0.81418 l 0,0 0,0 c -0.33946,0 -0.60618,0.0905 -0.80016,0.30758 l 0,0 -0.21821,-0.52469 0,0 0,0 c 0.097,-0.0905 0.24246,-0.18093 0.43644,-0.23522 l 0,0 0,0 c 0.16973,-0.0723 0.3637,-0.10858 0.53343,-0.10858 l 0,0 0,0 c 0.43644,0 0.7759,0.10858 0.96988,0.34378 l 0,0 0,0 c 0.21822,0.23522 0.31521,0.59706 0.31521,1.08558 l 0,0 0,1.21222 0,0 0,0 c 0,0.28948 0.0727,0.48851 0.24247,0.59706 l 0,0 0,0.28949 0,0 0,0 c -0.21822,0 -0.38795,-0.0181 -0.50918,-0.0905 l 0,0 0,0 c -0.097,-0.0723 -0.19398,-0.19902 -0.24248,-0.34376 z m -0.0485,-1.2846 0,0 0,0 c -0.16973,-0.0362 -0.29098,-0.0723 -0.36371,-0.0723 l 0,0 0,0 c -0.29096,0 -0.50919,0.0904 -0.67892,0.2352 l 0,0 0,0 c -0.16973,0.16284 -0.26672,0.34378 -0.26672,0.56088 l 0,0 0,0 c 0,0.36187 0.19398,0.52469 0.55768,0.52469 l 0,0 0,0 c 0.29096,0 0.53344,-0.14473 0.75167,-0.43422 l 0,-0.81419 z" /> 90.1634 + <path 90.1635 + inkscape:connector-curvature="0" 90.1636 + id="488" 90.1637 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1638 + d="m 564.89169,609.834 0,0 0,0 c -0.097,-0.0905 -0.19398,-0.14475 -0.31522,-0.14475 l 0,0 0,0 c -0.21821,0 -0.38794,0.0905 -0.53342,0.28949 l 0,0 0,0 c -0.14549,0.19901 -0.21823,0.43423 -0.21823,0.72372 l 0,0 0,1.93594 -0.53343,0 0,-3.40146 0.53343,0 0,0.54277 0,0 0,0 c 0.21823,-0.41615 0.50919,-0.61517 0.89714,-0.61517 l 0,0 0,0 c 0.0727,0 0.21822,0.0181 0.4122,0.0544 l -0.24247,0.61517 z" /> 90.1639 + <path 90.1640 + inkscape:connector-curvature="0" 90.1641 + id="489" 90.1642 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1643 + d="m 567.51036,612.6384 0,0 0,-0.25329 0,0 0,0 c -0.19398,0.21709 -0.48494,0.30757 -0.84864,0.30757 l 0,0 0,0 c -0.38796,0 -0.70317,-0.14474 -0.94563,-0.45232 l 0,0 0,0 c -0.24248,-0.30758 -0.36371,-0.70562 -0.36371,-1.21223 l 0,0 0,0 c 0,-0.5066 0.14548,-0.94084 0.4122,-1.3027 l 0,0 0,0 c 0.29096,-0.37996 0.60617,-0.56089 0.99413,-0.56089 l 0,0 0,0 c 0.33946,0 0.58192,0.0905 0.75165,0.25331 l 0,0 0,-1.5741 0.53344,0 0,4.79465 -0.53344,0 z m 0,-2.60538 0,0 0,0 c -0.14548,-0.23522 -0.33946,-0.34377 -0.58192,-0.34377 l 0,0 0,0 c -0.29097,0 -0.53344,0.1267 -0.72741,0.36186 l 0,0 0,0 c -0.16973,0.2352 -0.26673,0.54279 -0.26673,0.92274 l 0,0 0,0 c 0,0.81418 0.33946,1.23031 1.01838,1.23031 l 0,0 0,0 c 0.097,0 0.19397,-0.0362 0.31522,-0.0905 l 0,0 0,0 c 0.12123,-0.0723 0.19396,-0.1267 0.24246,-0.19902 l 0,-1.88167 z" /> 90.1644 + <path 90.1645 + inkscape:connector-curvature="0" 90.1646 + id="490" 90.1647 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1648 + d="m 571.70508,612.71077 -0.14548,0 -0.89713,-2.31589 -0.92139,2.31589 -0.14548,0 -1.11536,-3.49194 0.60618,0 0.65466,2.24354 0.8244,-2.24354 0.14548,0 0.84864,2.24354 0.70317,-2.24354 0.55768,0 -1.11537,3.49194 z" /> 90.1649 + <path 90.1650 + inkscape:connector-curvature="0" 90.1651 + id="491" 90.1652 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1653 + d="m 575.00268,612.25845 0,0 0,0 c -0.21823,0.28949 -0.55769,0.45232 -1.01838,0.45232 l 0,0 0,0 c -0.24247,0 -0.43644,-0.10858 -0.63041,-0.28948 l 0,0 0,0 c -0.16973,-0.19903 -0.26673,-0.43424 -0.26673,-0.72373 l 0,0 0,0 c 0,-0.34375 0.14548,-0.63324 0.41221,-0.88655 l 0,0 0,0 c 0.29096,-0.23519 0.63042,-0.34375 1.06687,-0.34375 l 0,0 0,0 c 0.097,0 0.24246,0.0181 0.38794,0.0723 l 0,0 0,0 c 0,-0.5428 -0.21821,-0.81418 -0.67892,-0.81418 l 0,0 0,0 c -0.33945,0 -0.60617,0.0905 -0.80014,0.30758 l 0,0 -0.21823,-0.52469 0,0 0,0 c 0.097,-0.0905 0.24248,-0.18093 0.43645,-0.23522 l 0,0 0,0 c 0.16973,-0.0723 0.36371,-0.10858 0.53344,-0.10858 l 0,0 0,0 c 0.43644,0 0.7759,0.10858 0.96987,0.34378 l 0,0 0,0 c 0.21823,0.23522 0.31521,0.59706 0.31521,1.08558 l 0,0 0,1.21222 0,0 0,0 c 0,0.28948 0.0728,0.48851 0.24248,0.59706 l 0,0 0,0.28949 0,0 0,0 c -0.21823,0 -0.38796,-0.0181 -0.50919,-0.0905 l 0,0 0,0 c -0.12124,-0.0723 -0.19398,-0.19902 -0.24247,-0.34376 z m -0.0485,-1.2846 0,0 0,0 c -0.16973,-0.0362 -0.29096,-0.0723 -0.3637,-0.0723 l 0,0 0,0 c -0.29097,0 -0.50919,0.0904 -0.67892,0.2352 l 0,0 0,0 c -0.19397,0.16284 -0.26671,0.34378 -0.26671,0.56088 l 0,0 0,0 c 0,0.36187 0.19397,0.52469 0.55768,0.52469 l 0,0 0,0 c 0.29096,0 0.53344,-0.14473 0.75165,-0.43422 l 0,-0.81419 z" /> 90.1654 + <path 90.1655 + inkscape:connector-curvature="0" 90.1656 + id="492" 90.1657 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1658 + d="m 578.03355,609.834 0,0 0,0 c -0.12123,-0.0905 -0.24247,-0.14475 -0.36371,-0.14475 l 0,0 0,0 c -0.19397,0 -0.3637,0.0905 -0.50918,0.28949 l 0,0 0,0 c -0.14549,0.19901 -0.21822,0.43423 -0.21822,0.72372 l 0,0 0,1.93594 -0.53344,0 0,-3.40146 0.53344,0 0,0.54277 0,0 0,0 c 0.21822,-0.41615 0.50919,-0.61517 0.89713,-0.61517 l 0,0 0,0 c 0.097,0 0.24248,0.0181 0.43645,0.0544 l -0.24247,0.61517 z" /> 90.1659 + <path 90.1660 + inkscape:connector-curvature="0" 90.1661 + id="493" 90.1662 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1663 + d="m 581.28264,611.01003 0,0 -2.23072,0 0,0 0,0 c 0,0.39805 0.097,0.68753 0.29097,0.90466 l 0,0 0,0 c 0.16973,0.18091 0.41219,0.28947 0.67892,0.28947 l 0,0 0,0 c 0.31521,0 0.58192,-0.10857 0.80014,-0.30755 l 0,0 0.21823,0.43421 0,0 0,0 c -0.0727,0.0905 -0.21823,0.18093 -0.38795,0.23522 l 0,0 0,0 c -0.21823,0.0904 -0.46069,0.14473 -0.72742,0.14473 l 0,0 0,0 c -0.38795,0 -0.72741,-0.14473 -0.99412,-0.43424 l 0,0 0,0 c -0.31521,-0.32566 -0.46069,-0.7599 -0.46069,-1.28459 l 0,0 0,0 c 0,-0.56088 0.14548,-1.0132 0.46069,-1.37507 l 0,0 0,0 c 0.29096,-0.30757 0.60617,-0.45233 0.99412,-0.45233 l 0,0 0,0 c 0.43645,0 0.80015,0.14476 1.04262,0.41615 l 0,0 0,0 c 0.24248,0.2714 0.36371,0.61517 0.36371,1.04939 l 0,0 0,0 c 0,0.14474 -0.0243,0.25332 -0.0485,0.37995 z m -1.33358,-1.32078 0,0 0,0 c -0.24247,0 -0.46069,0.0905 -0.63042,0.25328 l 0,0 0,0 c -0.14548,0.18095 -0.24247,0.37998 -0.26672,0.61517 l 0,0 1.72154,0 0,0 0,0 c 0,-0.23519 -0.0485,-0.43422 -0.19398,-0.59706 l 0,0 0,0 c -0.16973,-0.18093 -0.3637,-0.27139 -0.63042,-0.27139 z" /> 90.1664 + <path 90.1665 + inkscape:connector-curvature="0" 90.1666 + id="494" 90.1667 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1668 + d="m 583.94981,610.37677 0,0 -0.19397,-0.14473 0,-2.27972 2.13373,0 0,0.5428 -1.57605,0 0,1.13986 0,0 0,0 c 0.14548,-0.1267 0.3152,-0.18095 0.55768,-0.18095 l 0,0 0,0 c 0.38795,0 0.67891,0.1267 0.89714,0.39806 l 0,0 0,0 c 0.21822,0.27139 0.31521,0.63324 0.31521,1.10368 l 0,0 0,0 c 0,1.15794 -0.48494,1.755 -1.43058,1.755 l 0,0 0,0 c -0.38794,0 -0.7274,-0.1267 -0.99412,-0.36185 l 0,0 0.21822,-0.5428 0,0 0,0 c 0.26672,0.23522 0.53344,0.36185 0.7759,0.36185 l 0,0 0,0 c 0.53344,0 0.8244,-0.37994 0.8244,-1.12175 l 0,0 0,0 c 0,-0.68754 -0.26671,-1.03129 -0.8244,-1.03129 l 0,0 0,0 c -0.24246,0 -0.48494,0.10857 -0.70316,0.36184 z" /> 90.1669 + <path 90.1670 + inkscape:connector-curvature="0" 90.1671 + id="495" 90.1672 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1673 + d="m 542.00254,606.39634 58.36248,0.34376 0,0.43423 0,0.43423 -58.36248,-0.34378 0,-0.43423 0,-0.43421 z" /> 90.1674 + <g 90.1675 + id="g4970" 90.1676 + transform="translate(0,3.3686829)"> 90.1677 + <path 90.1678 + d="m 149.92891,441.33435 0,0 3.73404,-8.86555 1.40631,0 4.00076,8.86555 -1.45483,0 -1.1396,-2.69586 -4.09774,0 -1.06688,2.69586 -1.38206,0 z m 2.81264,-3.65479 0,0 3.32184,0 -1.01838,-2.42445 0,0 0,0 c -0.31521,-0.7599 -0.55768,-1.37507 -0.70315,-1.84547 l 0,0 0,0 c -0.12124,0.56087 -0.29098,1.13984 -0.53344,1.70072 l -1.06687,2.5692 z" 90.1679 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1680 + id="533" 90.1681 + inkscape:connector-curvature="0" /> 90.1682 + <path 90.1683 + d="m 159.96715,443.79499 0,0 0,-8.86556 1.09112,0 0,0.83228 0,0 0,0 c 0.26671,-0.32567 0.55768,-0.57897 0.87289,-0.74181 l 0,0 0,0 c 0.33945,-0.16283 0.72742,-0.2533 1.1881,-0.2533 l 0,0 0,0 c 0.60617,0 1.16385,0.14474 1.60031,0.43423 l 0,0 0,0 c 0.46069,0.27139 0.80015,0.68753 1.0426,1.19414 l 0,0 0,0 c 0.24248,0.48851 0.36372,1.06748 0.36372,1.66455 l 0,0 0,0 c 0,0.66943 -0.14549,1.24841 -0.38795,1.7912 l 0,0 0,0 c -0.26672,0.5247 -0.65468,0.92274 -1.11537,1.19414 l 0,0 0,0 c -0.50918,0.28949 -1.04261,0.43422 -1.57606,0.43422 l 0,0 0,0 c -0.41218,0 -0.7759,-0.0905 -1.0911,-0.2352 l 0,0 0,0 c -0.31521,-0.14475 -0.58193,-0.34377 -0.77591,-0.57897 l 0,0 0,3.13008 -1.21235,0 z m 1.09112,-5.64501 0,0 0,0 c 0,0.83228 0.19398,1.44745 0.55768,1.8274 l 0,0 0,0 c 0.36371,0.39804 0.8244,0.59706 1.33358,0.59706 l 0,0 0,0 c 0.55768,0 0.99413,-0.19902 1.38208,-0.61517 l 0,0 0,0 c 0.36371,-0.39804 0.55768,-1.03128 0.55768,-1.89975 l 0,0 0,0 c 0,-0.81418 -0.19397,-1.41126 -0.53343,-1.82739 l 0,0 0,0 c -0.38795,-0.39804 -0.8244,-0.59707 -1.33358,-0.59707 l 0,0 0,0 c -0.53344,0 -0.96988,0.21712 -1.38208,0.65135 l 0,0 0,0 c -0.38795,0.43423 -0.58193,1.03129 -0.58193,1.86357 z" 90.1684 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1685 + id="534" 90.1686 + inkscape:connector-curvature="0" /> 90.1687 + <path 90.1688 + d="m 167.58072,443.79499 0,0 0,-8.86556 1.09109,0 0,0.83228 0,0 0,0 c 0.26674,-0.32567 0.53344,-0.57897 0.84865,-0.74181 l 0,0 0,0 c 0.33947,-0.16283 0.72742,-0.2533 1.16385,-0.2533 l 0,0 0,0 c 0.60618,0 1.13961,0.14474 1.62456,0.43423 l 0,0 0,0 c 0.46068,0.27139 0.80015,0.68753 1.04261,1.19414 l 0,0 0,0 c 0.24247,0.48851 0.36372,1.06748 0.36372,1.66455 l 0,0 0,0 c 0,0.66943 -0.1455,1.24841 -0.41221,1.7912 l 0,0 0,0 c -0.24247,0.5247 -0.63042,0.92274 -1.11535,1.19414 l 0,0 0,0 c -0.50918,0.28949 -1.04263,0.43422 -1.57606,0.43422 l 0,0 0,0 c -0.38795,0 -0.75165,-0.0905 -1.06687,-0.2352 l 0,0 0,0 c -0.31521,-0.14475 -0.55768,-0.34377 -0.75165,-0.57897 l 0,0 0,3.13008 -1.21234,0 z m 1.09109,-5.64501 0,0 0,0 c 0,0.83228 0.19399,1.44745 0.53344,1.8274 l 0,0 0,0 c 0.36371,0.39804 0.82439,0.59706 1.33359,0.59706 l 0,0 0,0 c 0.53343,0 0.96988,-0.19902 1.35783,-0.61517 l 0,0 0,0 c 0.38795,-0.39804 0.58193,-1.03128 0.58193,-1.89975 l 0,0 0,0 c 0,-0.81418 -0.19398,-1.41126 -0.55769,-1.82739 l 0,0 0,0 c -0.38795,-0.39804 -0.82439,-0.59707 -1.33358,-0.59707 l 0,0 0,0 c -0.50919,0 -0.94562,0.21712 -1.35783,0.65135 l 0,0 0,0 c -0.3637,0.43423 -0.55769,1.03129 -0.55769,1.86357 z" 90.1689 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1690 + id="535" 90.1691 + inkscape:connector-curvature="0" /> 90.1692 + <path 90.1693 + d="m 175.14576,441.33435 0,-8.86555 1.1881,0 0,8.86555 -1.1881,0 z" 90.1694 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1695 + id="536" 90.1696 + inkscape:connector-curvature="0" /> 90.1697 + <path 90.1698 + d="m 178.20087,433.7353 0,-1.2665 1.21237,0 0,1.2665 -1.21237,0 z m 0,7.59905 0,-6.40492 1.21237,0 0,6.40492 -1.21237,0 z" 90.1699 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1700 + id="537" 90.1701 + inkscape:connector-curvature="0" /> 90.1702 + <path 90.1703 + d="m 185.86292,438.98226 0,0 1.18811,0.1267 0,0 0,0 c -0.12123,0.7418 -0.46069,1.32077 -0.99413,1.73692 l 0,0 0,0 c -0.53343,0.41613 -1.18809,0.63324 -1.96399,0.63324 l 0,0 0,0 c -0.9699,0 -1.72155,-0.28948 -2.32773,-0.86846 l 0,0 0,0 c -0.58191,-0.57897 -0.87288,-1.39316 -0.87288,-2.47873 l 0,0 0,0 c 0,-0.68753 0.12123,-1.28461 0.3637,-1.7912 l 0,0 0,0 c 0.26671,-0.52469 0.65466,-0.92274 1.16385,-1.17604 l 0,0 0,0 c 0.50919,-0.25331 1.06688,-0.39805 1.67306,-0.39805 l 0,0 0,0 c 0.7759,0 1.40631,0.18093 1.91549,0.5428 l 0,0 0,0 c 0.48495,0.34376 0.80017,0.85037 0.9214,1.5017 l 0,0 -1.16386,0.14475 0,0 0,0 c -0.097,-0.41613 -0.3152,-0.74181 -0.58193,-0.95892 l 0,0 0,0 c -0.29095,-0.21713 -0.63042,-0.32568 -1.04262,-0.32568 l 0,0 0,0 c -0.60616,0 -1.09111,0.19902 -1.47906,0.59707 l 0,0 0,0 c -0.33947,0.37994 -0.53343,0.99511 -0.53343,1.84548 l 0,0 0,0 c 0,0.85037 0.16971,1.48363 0.50918,1.88167 l 0,0 0,0 c 0.38795,0.37995 0.84865,0.57897 1.45483,0.57897 l 0,0 0,0 c 0.46068,0 0.84863,-0.1267 1.16385,-0.39804 l 0,0 0,0 c 0.33944,-0.25331 0.53343,-0.65135 0.60616,-1.19414 z" 90.1704 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1705 + id="538" 90.1706 + inkscape:connector-curvature="0" /> 90.1707 + <path 90.1708 + d="m 192.70057,440.53825 0,0 0,0 c -0.43645,0.34377 -0.87288,0.57897 -1.2851,0.72372 l 0,0 0,0 c -0.41218,0.14474 -0.84863,0.21711 -1.33358,0.21711 l 0,0 0,0 c -0.77589,0 -1.38208,-0.18093 -1.77001,-0.52469 l 0,0 0,0 c -0.41221,-0.34377 -0.63043,-0.77799 -0.63043,-1.32078 l 0,0 0,0 c 0,-0.30758 0.0727,-0.59708 0.24247,-0.86846 l 0,0 0,0 c 0.14548,-0.25331 0.36371,-0.47042 0.58193,-0.61517 l 0,0 0,0 c 0.26671,-0.16284 0.55768,-0.28949 0.87288,-0.36186 l 0,0 0,0 c 0.24248,-0.0542 0.60618,-0.10857 1.06688,-0.16283 l 0,0 0,0 c 0.99411,-0.10858 1.69728,-0.23521 2.15798,-0.37995 l 0,0 0,0 c 0,-0.14475 0,-0.23522 0,-0.2714 l 0,0 0,0 c 0,-0.43423 -0.097,-0.74181 -0.33947,-0.92274 l 0,0 0,0 c -0.29096,-0.25331 -0.75165,-0.37995 -1.35783,-0.37995 l 0,0 0,0 c -0.58191,0 -0.99411,0.0905 -1.26083,0.27139 l 0,0 0,0 c -0.26673,0.18093 -0.48495,0.5066 -0.60618,0.94084 l 0,0 -1.16386,-0.12669 0,0 0,0 c 0.12123,-0.45233 0.29096,-0.83228 0.53344,-1.10367 l 0,0 0,0 c 0.21822,-0.28949 0.58194,-0.5066 1.04262,-0.65135 l 0,0 0,0 c 0.4607,-0.14474 1.01838,-0.23522 1.62454,-0.23522 l 0,0 0,0 c 0.60619,0 1.09112,0.0723 1.47907,0.19904 l 0,0 0,0 c 0.36371,0.12669 0.65468,0.28948 0.8244,0.4885 l 0,0 0,0 c 0.19398,0.19903 0.31521,0.45233 0.38796,0.74182 l 0,0 0,0 c 0.0485,0.18093 0.0485,0.52469 0.0485,0.99511 l 0,0 0,1.44743 0,0 0,0 c 0,1.01321 0.0242,1.64645 0.097,1.91785 l 0,0 0,0 c 0.0485,0.2714 0.14548,0.5247 0.29096,0.77801 l 0,0 -1.26084,0 0,0 0,0 c -0.12124,-0.23522 -0.19397,-0.48851 -0.24247,-0.7961 z m -0.097,-2.44254 0,0 0,0 c -0.43645,0.16283 -1.09112,0.30758 -1.96401,0.41613 l 0,0 0,0 c -0.50919,0.0723 -0.84864,0.14475 -1.06687,0.21711 l 0,0 0,0 c -0.19398,0.0905 -0.3637,0.19904 -0.46068,0.36187 l 0,0 0,0 c -0.12123,0.14474 -0.16973,0.32566 -0.16973,0.50661 l 0,0 0,0 c 0,0.28947 0.12123,0.54278 0.3637,0.7418 l 0,0 0,0 c 0.24246,0.18093 0.60618,0.28948 1.06688,0.28948 l 0,0 0,0 c 0.46068,0 0.87288,-0.10858 1.23658,-0.28948 l 0,0 0,0 c 0.3637,-0.18093 0.63043,-0.43423 0.80016,-0.7418 l 0,0 0,0 c 0.12123,-0.25331 0.19397,-0.61517 0.19397,-1.10368 l 0,-0.39804 z" 90.1709 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1710 + id="539" 90.1711 + inkscape:connector-curvature="0" /> 90.1712 + <path 90.1713 + d="m 198.30162,440.35732 0,0 0.16974,0.95892 0,0 0,0 c -0.33947,0.0723 -0.63042,0.0905 -0.89715,0.0905 l 0,0 0,0 c -0.43643,0 -0.7759,-0.0542 -1.01837,-0.18093 l 0,0 0,0 c -0.24246,-0.12669 -0.41219,-0.28949 -0.50918,-0.48851 l 0,0 0,0 c -0.097,-0.21711 -0.14548,-0.63326 -0.14548,-1.28459 l 0,0 0,-3.69097 -0.89715,0 0,-0.83228 0.89715,0 0,-1.59218 1.1881,-0.66944 0,2.26162 1.21234,0 0,0.83228 -1.21234,0 0,3.74524 0,0 0,0 c 0,0.30758 0.0242,0.5066 0.0727,0.59706 l 0,0 0,0 c 0.0485,0.0905 0.097,0.16284 0.19396,0.21713 l 0,0 0,0 c 0.097,0.0542 0.24247,0.0723 0.4122,0.0723 l 0,0 0,0 c 0.14548,0 0.31522,-0.0181 0.53343,-0.0362 z" 90.1714 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1715 + id="540" 90.1716 + inkscape:connector-curvature="0" /> 90.1717 + <path 90.1718 + d="m 199.48974,433.7353 0,-1.2665 1.18809,0 0,1.2665 -1.18809,0 z m 0,7.59905 0,-6.40492 1.18809,0 0,6.40492 -1.18809,0 z" 90.1719 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1720 + id="541" 90.1721 + inkscape:connector-curvature="0" /> 90.1722 + <path 90.1723 + d="m 202.05991,438.1138 0,0 0,0 c 0,-1.19414 0.3637,-2.04451 1.0911,-2.62348 l 0,0 0,0 c 0.63043,-0.47042 1.35783,-0.72372 2.25498,-0.72372 l 0,0 0,0 c 0.96988,0 1.74578,0.28949 2.35196,0.86846 l 0,0 0,0 c 0.60618,0.57898 0.92138,1.37506 0.92138,2.38827 l 0,0 0,0 c 0,0.83228 -0.14548,1.48363 -0.4122,1.95405 l 0,0 0,0 c -0.26671,0.4704 -0.67891,0.83226 -1.16384,1.10366 l 0,0 0,0 c -0.53345,0.25331 -1.09112,0.39804 -1.6973,0.39804 l 0,0 0,0 c -0.99413,0 -1.81851,-0.28948 -2.42469,-0.86846 l 0,0 0,0 c -0.60619,-0.57897 -0.92139,-1.41125 -0.92139,-2.49682 z m 1.2366,0 0,0 0,0 c 0,0.83228 0.19397,1.44743 0.60617,1.84547 l 0,0 0,0 c 0.38795,0.41615 0.89714,0.61517 1.50331,0.61517 l 0,0 0,0 c 0.58193,0 1.06686,-0.19902 1.45483,-0.61517 l 0,0 0,0 c 0.41218,-0.41613 0.60616,-1.03128 0.60616,-1.88165 l 0,0 0,0 c 0,-0.7961 -0.19398,-1.37507 -0.60616,-1.79121 l 0,0 0,0 c -0.38797,-0.39805 -0.8729,-0.61516 -1.45483,-0.61516 l 0,0 0,0 c -0.60617,0 -1.11536,0.21711 -1.50331,0.61516 l 0,0 0,0 c -0.4122,0.41614 -0.60617,1.0132 -0.60617,1.82739 z" 90.1724 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1725 + id="542" 90.1726 + inkscape:connector-curvature="0" /> 90.1727 + <path 90.1728 + d="m 210.10989,441.33435 0,0 0,-6.40492 1.06689,0 0,0.90466 0,0 0,0 c 0.53343,-0.70562 1.26084,-1.06749 2.25496,-1.06749 l 0,0 0,0 c 0.4122,0 0.82439,0.0723 1.16386,0.21712 l 0,0 0,0 c 0.3637,0.14475 0.63042,0.32568 0.8244,0.54279 l 0,0 0,0 c 0.16971,0.2352 0.29095,0.5066 0.3637,0.81418 l 0,0 0,0 c 0.0485,0.19902 0.0727,0.5247 0.0727,1.0313 l 0,0 0,3.96236 -1.21235,0 0,-3.90808 0,0 0,0 c 0,-0.45233 -0.0485,-0.75992 -0.14548,-0.97703 l 0,0 0,0 c -0.0727,-0.2352 -0.24249,-0.39804 -0.48495,-0.52469 l 0,0 0,0 c -0.24247,-0.14475 -0.53343,-0.19902 -0.84865,-0.19902 l 0,0 0,0 c -0.50918,0 -0.92138,0.14474 -1.30933,0.43424 l 0,0 0,0 c -0.36372,0.28947 -0.55768,0.83226 -0.55768,1.66454 l 0,0 0,3.51004 -1.18812,0 z" 90.1729 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1730 + id="543" 90.1731 + inkscape:connector-curvature="0" /> 90.1732 + </g> 90.1733 + <g 90.1734 + id="g5020" 90.1735 + transform="translate(0,9.3637848)"> 90.1736 + <path 90.1737 + d="m 151.04427,580.57768 0,-8.84745 1.30933,0 0,3.6367 5.06762,0 0,-3.6367 1.28508,0 0,8.84745 -1.28508,0 0,-4.16138 -5.06762,0 0,4.16138 -1.30933,0 z" 90.1738 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1739 + id="544" 90.1740 + inkscape:connector-curvature="0" /> 90.1741 + <path 90.1742 + d="m 165.32574,579.7816 0,0 0,0 c -0.43645,0.34376 -0.84865,0.59706 -1.26085,0.72371 l 0,0 0,0 c -0.4122,0.14476 -0.84865,0.21713 -1.33358,0.21713 l 0,0 0,0 c -0.7759,0 -1.38208,-0.16285 -1.79428,-0.5066 l 0,0 0,0 c -0.4122,-0.34378 -0.63041,-0.7961 -0.63041,-1.32079 l 0,0 0,0 c 0,-0.32568 0.0727,-0.61517 0.24246,-0.86848 l 0,0 0,0 c 0.14549,-0.27138 0.3637,-0.47041 0.63042,-0.63324 l 0,0 0,0 c 0.24248,-0.14475 0.53343,-0.25331 0.84865,-0.32568 l 0,0 0,0 c 0.24246,-0.0723 0.60618,-0.12669 1.09111,-0.18093 l 0,0 0,0 c 0.96988,-0.0904 1.6488,-0.21711 2.10949,-0.36185 l 0,0 0,0 c 0,-0.16284 0,-0.2533 0,-0.2895 l 0,0 0,0 c 0,-0.43422 -0.097,-0.75989 -0.33946,-0.94082 l 0,0 0,0 c -0.26672,-0.23521 -0.7274,-0.36186 -1.33358,-0.36186 l 0,0 0,0 c -0.58193,0 -0.99413,0.0905 -1.26085,0.2714 l 0,0 0,0 c -0.26671,0.18093 -0.46068,0.48851 -0.60618,0.94083 l 0,0 -1.16385,-0.14476 0,0 0,0 c 0.097,-0.45232 0.26672,-0.81416 0.50919,-1.10365 l 0,0 0,0 c 0.26673,-0.2714 0.60618,-0.4885 1.06688,-0.63326 l 0,0 0,0 c 0.48493,-0.16282 1.01836,-0.23522 1.62453,-0.23522 l 0,0 0,0 c 0.60618,0 1.06688,0.0723 1.45483,0.19904 l 0,0 0,0 c 0.38794,0.12669 0.65466,0.28947 0.84864,0.48851 l 0,0 0,0 c 0.16974,0.18093 0.29097,0.43422 0.3637,0.7418 l 0,0 0,0 c 0.0485,0.18093 0.0727,0.50661 0.0727,0.99512 l 0,0 0,1.42934 0,0 0,0 c 0,1.01321 0.0242,1.66454 0.0728,1.93596 l 0,0 0,0 c 0.0485,0.25329 0.14548,0.52469 0.29096,0.75988 l 0,0 -1.26085,0 0,0 0,0 c -0.12123,-0.21711 -0.19396,-0.4885 -0.24246,-0.79608 z m -0.097,-2.42446 0,0 0,0 c -0.43644,0.16286 -1.06686,0.28951 -1.93976,0.41614 l 0,0 0,0 c -0.48495,0.0543 -0.84864,0.12669 -1.04263,0.21712 l 0,0 0,0 c -0.21821,0.0723 -0.3637,0.19902 -0.48493,0.34375 l 0,0 0,0 c -0.12123,0.16286 -0.16973,0.32568 -0.16973,0.5247 l 0,0 0,0 c 0,0.2895 0.12123,0.52471 0.36371,0.72373 l 0,0 0,0 c 0.24247,0.19902 0.60617,0.28948 1.06687,0.28948 l 0,0 0,0 c 0.4607,0 0.87288,-0.0905 1.23659,-0.27139 l 0,0 0,0 c 0.3637,-0.18093 0.60617,-0.43424 0.7759,-0.7599 l 0,0 0,0 c 0.14549,-0.2352 0.19398,-0.59706 0.19398,-1.08558 l 0,-0.39805 z" 90.1743 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1744 + id="545" 90.1745 + inkscape:connector-curvature="0" /> 90.1746 + <path 90.1747 + d="m 168.30811,580.57768 0,0 0,-6.40489 1.06687,0 0,0.97701 0,0 0,0 c 0.26673,-0.45231 0.53343,-0.7599 0.77591,-0.90464 l 0,0 0,0 c 0.21822,-0.14473 0.46069,-0.21713 0.75165,-0.21713 l 0,0 0,0 c 0.38795,0 0.80015,0.10858 1.2366,0.34378 l 0,0 -0.4122,1.01321 0,0 0,0 c -0.31522,-0.14476 -0.60618,-0.23522 -0.89713,-0.23522 l 0,0 0,0 c -0.24248,0 -0.48495,0.0723 -0.67892,0.21713 l 0,0 0,0 c -0.21823,0.14473 -0.36371,0.34375 -0.4607,0.59706 l 0,0 0,0 c -0.12123,0.37995 -0.19398,0.81418 -0.19398,1.24842 l 0,0 0,3.36527 -1.1881,0 z" 90.1748 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1749 + id="546" 90.1750 + inkscape:connector-curvature="0" /> 90.1751 + <path 90.1752 + d="m 177.44922,580.57768 0,0 0,-0.81417 0,0 0,0 c -0.43644,0.65135 -1.09111,0.95893 -1.96401,0.95893 l 0,0 0,0 c -0.55766,0 -1.09109,-0.14476 -1.55179,-0.41615 l 0,0 0,0 c -0.48495,-0.28947 -0.84865,-0.68751 -1.11537,-1.19412 l 0,0 0,0 c -0.26671,-0.5066 -0.38795,-1.0856 -0.38795,-1.73693 l 0,0 0,0 c 0,-0.63326 0.12124,-1.21223 0.3637,-1.73693 l 0,0 0,0 c 0.21824,-0.50659 0.58193,-0.92273 1.04263,-1.19413 l 0,0 0,0 c 0.48494,-0.27139 1.01837,-0.41615 1.6003,-0.41615 l 0,0 0,0 c 0.43645,0 0.80015,0.0723 1.11536,0.25332 l 0,0 0,0 c 0.33945,0.16283 0.60617,0.36185 0.8244,0.63323 l 0,0 0,-3.18435 1.1881,0 0,8.84745 -1.11537,0 z m -3.78252,-3.20244 0,0 0,0 c 0,0.81418 0.19397,1.42935 0.58193,1.84548 l 0,0 0,0 c 0.38795,0.39806 0.8244,0.61515 1.35783,0.61515 l 0,0 0,0 c 0.53342,0 0.94563,-0.199 1.30933,-0.59707 l 0,0 0,0 c 0.3637,-0.37995 0.55768,-0.97701 0.55768,-1.77309 l 0,0 0,0 c 0,-0.86848 -0.19398,-1.50172 -0.55768,-1.91787 l 0,0 0,0 c -0.3637,-0.41612 -0.8244,-0.61515 -1.35783,-0.61515 l 0,0 0,0 c -0.53343,0 -0.99413,0.19903 -1.35783,0.59706 l 0,0 0,0 c -0.3637,0.37996 -0.53343,1.01321 -0.53343,1.84549 z" 90.1753 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1754 + id="547" 90.1755 + inkscape:connector-curvature="0" /> 90.1756 + <path 90.1757 + d="m 181.78943,580.57768 0,0 -2.18223,-6.40489 1.26085,0 1.11536,3.69096 0.43644,1.37505 0,0 0,0 c 0,-0.0723 0.12125,-0.50658 0.33946,-1.32078 l 0,0 1.13962,-3.74523 1.23658,0 1.06688,3.70905 0.33945,1.23033 0.41221,-1.24842 1.21233,-3.69096 1.16387,0 -2.20648,6.40489 -1.26085,0 -1.11535,-3.8357 -0.29098,-1.08557 -1.43056,4.92127 -1.2366,0 z" 90.1758 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1759 + id="548" 90.1760 + inkscape:connector-curvature="0" /> 90.1761 + <path 90.1762 + d="m 194.95555,579.7816 0,0 0,0 c -0.43645,0.34376 -0.84865,0.59706 -1.26085,0.72371 l 0,0 0,0 c -0.4122,0.14476 -0.84865,0.21713 -1.33358,0.21713 l 0,0 0,0 c -0.77591,0 -1.38208,-0.16285 -1.79428,-0.5066 l 0,0 0,0 c -0.43645,-0.34378 -0.63043,-0.7961 -0.63043,-1.32079 l 0,0 0,0 c 0,-0.32568 0.0728,-0.61517 0.24248,-0.86848 l 0,0 0,0 c 0.14549,-0.27138 0.3637,-0.47041 0.60617,-0.63324 l 0,0 0,0 c 0.26673,-0.14475 0.55768,-0.25331 0.8729,-0.32568 l 0,0 0,0 c 0.24246,-0.0723 0.60616,-0.12669 1.06686,-0.18093 l 0,0 0,0 c 0.96988,-0.0904 1.6973,-0.21711 2.13373,-0.36185 l 0,0 0,0 c 0,-0.16284 0,-0.2533 0,-0.2895 l 0,0 0,0 c 0,-0.43422 -0.097,-0.75989 -0.33945,-0.94082 l 0,0 0,0 c -0.29097,-0.23521 -0.72742,-0.36186 -1.33358,-0.36186 l 0,0 0,0 c -0.58193,0 -0.99413,0.0905 -1.26085,0.2714 l 0,0 0,0 c -0.26671,0.18093 -0.48495,0.48851 -0.60618,0.94083 l 0,0 -1.1881,-0.14476 0,0 0,0 c 0.12124,-0.45232 0.29097,-0.81416 0.53344,-1.10365 l 0,0 0,0 c 0.24246,-0.2714 0.60618,-0.4885 1.06688,-0.63326 l 0,0 0,0 c 0.46068,-0.16282 0.99411,-0.23522 1.62453,-0.23522 l 0,0 0,0 c 0.60618,0 1.09113,0.0723 1.45483,0.19904 l 0,0 0,0 c 0.36369,0.12669 0.65466,0.28947 0.82439,0.48851 l 0,0 0,0 c 0.19399,0.18093 0.31522,0.43422 0.38795,0.7418 l 0,0 0,0 c 0.0242,0.18093 0.0485,0.50661 0.0485,0.99512 l 0,0 0,1.42934 0,0 0,0 c 0,1.01321 0.0242,1.66454 0.0727,1.93596 l 0,0 0,0 c 0.0727,0.25329 0.16973,0.52469 0.31521,0.75988 l 0,0 -1.26085,0 0,0 0,0 c -0.12123,-0.21711 -0.19398,-0.4885 -0.24246,-0.79608 z m -0.097,-2.42446 0,0 0,0 c -0.41218,0.16286 -1.06687,0.28951 -1.93975,0.41614 l 0,0 0,0 c -0.50918,0.0543 -0.84864,0.12669 -1.06686,0.21712 l 0,0 0,0 c -0.19398,0.0723 -0.36372,0.19902 -0.4607,0.34375 l 0,0 0,0 c -0.12123,0.16286 -0.16973,0.32568 -0.16973,0.5247 l 0,0 0,0 c 0,0.2895 0.12123,0.52471 0.3637,0.72373 l 0,0 0,0 c 0.24248,0.19902 0.60618,0.28948 1.06688,0.28948 l 0,0 0,0 c 0.46068,0 0.87288,-0.0905 1.23659,-0.27139 l 0,0 0,0 c 0.3637,-0.18093 0.60617,-0.43424 0.7759,-0.7599 l 0,0 0,0 c 0.12124,-0.2352 0.19397,-0.59706 0.19397,-1.08558 l 0,-0.39805 z" 90.1763 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1764 + id="549" 90.1765 + inkscape:connector-curvature="0" /> 90.1766 + <path 90.1767 + d="m 197.93792,580.57768 0,0 0,-6.40489 1.09112,0 0,0.97701 0,0 0,0 c 0.26671,-0.45231 0.53343,-0.7599 0.75165,-0.90464 l 0,0 0,0 c 0.24248,-0.14473 0.50918,-0.21713 0.75166,-0.21713 l 0,0 0,0 c 0.4122,0 0.8244,0.10858 1.2366,0.34378 l 0,0 -0.4122,1.01321 0,0 0,0 c -0.29097,-0.14476 -0.58193,-0.23522 -0.8729,-0.23522 l 0,0 0,0 c -0.24246,0 -0.48493,0.0723 -0.67891,0.21713 l 0,0 0,0 c -0.21822,0.14473 -0.3637,0.34375 -0.46069,0.59706 l 0,0 0,0 c -0.12123,0.37995 -0.19398,0.81418 -0.19398,1.24842 l 0,0 0,3.36527 -1.21235,0 z" 90.1768 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1769 + id="550" 90.1770 + inkscape:connector-curvature="0" /> 90.1771 + <path 90.1772 + d="m 207.34575,578.51508 0,0 1.2366,0.1267 0,0 0,0 c -0.19398,0.66945 -0.55768,1.17606 -1.06687,1.5379 l 0,0 0,0 c -0.53343,0.36187 -1.18809,0.5428 -2.01249,0.5428 l 0,0 0,0 c -1.04263,0 -1.86703,-0.2895 -2.47321,-0.86847 l 0,0 0,0 c -0.60617,-0.57897 -0.92137,-1.39316 -0.92137,-2.42446 l 0,0 0,0 c 0,-1.06748 0.3152,-1.91785 0.92137,-2.51492 l 0,0 0,0 c 0.63043,-0.59707 1.43058,-0.88656 2.40046,-0.88656 l 0,0 0,0 c 0.94563,0 1.69728,0.28949 2.27921,0.86848 l 0,0 0,0 c 0.60618,0.59707 0.89713,1.41125 0.89713,2.46064 l 0,0 0,0 c 0,0.0543 0,0.16285 0,0.2895 l 0,0 -5.26159,0 0,0 0,0 c 0.0485,0.7056 0.26672,1.2484 0.67892,1.62835 l 0,0 0,0 c 0.38795,0.36187 0.89715,0.56087 1.47908,0.56087 l 0,0 0,0 c 0.43643,0 0.8244,-0.10857 1.11535,-0.32566 l 0,0 0,0 c 0.31521,-0.19902 0.55768,-0.5428 0.72741,-0.99513 z m -3.92801,-1.75501 0,0 3.95226,0 0,0 0,0 c -0.0485,-0.5247 -0.19398,-0.94083 -0.4607,-1.21223 l 0,0 0,0 c -0.38795,-0.41612 -0.84865,-0.63326 -1.45481,-0.63326 l 0,0 0,0 c -0.55768,0 -1.01838,0.18093 -1.40633,0.50664 l 0,0 0,0 c -0.38795,0.34375 -0.58192,0.77799 -0.63042,1.33885 z" 90.1773 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1774 + id="551" 90.1775 + inkscape:connector-curvature="0" /> 90.1776 + <path 90.1777 + d="m 149.92891,592.8259 0,0 3.73404,-8.84745 1.40631,0 4.00076,8.84745 -1.45483,0 -1.1396,-2.65967 -4.09774,0 -1.06688,2.65967 -1.38206,0 z m 2.81264,-3.61859 0,0 3.32184,0 -1.01838,-2.46065 0,0 0,0 c -0.31521,-0.74181 -0.55768,-1.35699 -0.70315,-1.8274 l 0,0 0,0 c -0.12124,0.5609 -0.29098,1.12177 -0.53344,1.68266 l -1.06687,2.60539 z" 90.1778 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1779 + id="552" 90.1780 + inkscape:connector-curvature="0" /> 90.1781 + <path 90.1782 + d="m 161.08252,592.8259 0,0 -1.11537,0 0,-8.84745 1.18811,0 0,3.16625 0,0 0,0 c 0.50917,-0.57897 1.16385,-0.86845 1.964,-0.86845 l 0,0 0,0 c 0.43645,0 0.84865,0.0905 1.2366,0.2352 l 0,0 0,0 c 0.36371,0.16284 0.67891,0.39806 0.94563,0.66944 l 0,0 0,0 c 0.24246,0.28948 0.43645,0.65134 0.58193,1.04939 l 0,0 0,0 c 0.14548,0.41614 0.21822,0.85037 0.21822,1.30269 l 0,0 0,0 c 0,1.10368 -0.29097,1.95405 -0.89714,2.5692 l 0,0 0,0 c -0.58193,0.579 -1.30934,0.86846 -2.15799,0.86846 l 0,0 0,0 c -0.82438,0 -1.47906,-0.28946 -1.96399,-0.92275 l 0,0.77802 z m -0.0242,-3.23864 0,0 0,0 c 0,0.77799 0.12123,1.32079 0.36371,1.66455 l 0,0 0,0 c 0.3637,0.56088 0.87288,0.85036 1.52755,0.85036 l 0,0 0,0 c 0.53345,0 0.99413,-0.21711 1.38208,-0.61515 l 0,0 0,0 c 0.33946,-0.41615 0.53343,-1.03129 0.53343,-1.86358 l 0,0 0,0 c 0,-0.83228 -0.16972,-1.44743 -0.50918,-1.84548 l 0,0 0,0 c -0.38795,-0.39805 -0.8244,-0.59707 -1.35783,-0.59707 l 0,0 0,0 c -0.50919,0 -0.96988,0.19902 -1.35783,0.61517 l 0,0 0,0 c -0.38795,0.41612 -0.58193,1.01318 -0.58193,1.7912 z" 90.1783 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1784 + id="553" 90.1785 + inkscape:connector-curvature="0" /> 90.1786 + <path 90.1787 + d="m 167.09577,590.92614 0,0 1.18809,-0.16284 0,0 0,0 c 0.0727,0.43422 0.26672,0.7599 0.55769,0.9951 l 0,0 0,0 c 0.29096,0.23522 0.72741,0.34377 1.26084,0.34377 l 0,0 0,0 c 0.53343,0 0.94563,-0.10858 1.21235,-0.30758 l 0,0 0,0 c 0.26672,-0.19902 0.4122,-0.43421 0.4122,-0.72372 l 0,0 0,0 c 0,-0.2352 -0.12123,-0.43422 -0.36372,-0.57897 l 0,0 0,0 c -0.16971,-0.0905 -0.58191,-0.21712 -1.21233,-0.36187 l 0,0 0,0 c -0.8729,-0.19901 -1.47908,-0.37995 -1.81853,-0.52468 l 0,0 0,0 c -0.33946,-0.14475 -0.58193,-0.34377 -0.77589,-0.61517 l 0,0 0,0 c -0.16974,-0.25331 -0.26674,-0.54278 -0.26674,-0.86845 l 0,0 0,0 c 0,-0.27141 0.0728,-0.5428 0.21824,-0.7961 l 0,0 0,0 c 0.14548,-0.23521 0.33945,-0.43424 0.60618,-0.59706 l 0,0 0,0 c 0.16971,-0.1267 0.43643,-0.23521 0.75165,-0.32569 l 0,0 0,0 c 0.3152,-0.0723 0.65466,-0.12656 1.01836,-0.12656 l 0,0 0,0 c 0.55768,0 1.04263,0.0723 1.45483,0.21711 l 0,0 0,0 c 0.4122,0.14473 0.7274,0.34375 0.94563,0.59706 l 0,0 0,0 c 0.19398,0.2352 0.33945,0.57898 0.4122,0.99512 l 0,0 -1.1881,0.14474 0,0 0,0 c -0.0485,-0.32569 -0.21823,-0.59707 -0.4607,-0.778 l 0,0 0,0 c -0.26671,-0.18093 -0.60618,-0.27139 -1.06686,-0.27139 l 0,0 0,0 c -0.55768,0 -0.94563,0.0723 -1.16386,0.23522 l 0,0 0,0 c -0.24247,0.16282 -0.3637,0.36184 -0.3637,0.57897 l 0,0 0,0 c 0,0.14473 0.0485,0.27139 0.14548,0.39804 l 0,0 0,0 c 0.12123,0.10858 0.26672,0.19902 0.4607,0.28948 l 0,0 0,0 c 0.097,0.0362 0.46068,0.12669 1.04261,0.2714 l 0,0 0,0 c 0.84865,0.19902 1.43057,0.37996 1.77003,0.5066 l 0,0 0,0 c 0.33945,0.1267 0.60618,0.32568 0.80015,0.56089 l 0,0 0,0 c 0.19398,0.25328 0.29097,0.56087 0.29097,0.94082 l 0,0 0,0 c 0,0.36185 -0.12124,0.70562 -0.36372,1.03131 l 0,0 0,0 c -0.21822,0.30757 -0.55768,0.56089 -1.01836,0.72371 l 0,0 0,0 c -0.43645,0.18093 -0.94564,0.2533 -1.47907,0.2533 l 0,0 0,0 c -0.92139,0 -1.60031,-0.16284 -2.08524,-0.48851 l 0,0 0,0 c -0.48493,-0.36185 -0.7759,-0.86845 -0.92138,-1.55598 z" 90.1788 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1789 + id="554" 90.1790 + inkscape:connector-curvature="0" /> 90.1791 + <path 90.1792 + d="m 176.98853,591.86695 0,0 0.19398,0.95895 0,0 0,0 c -0.33947,0.0542 -0.63042,0.0905 -0.89715,0.0905 l 0,0 0,0 c -0.43643,0 -0.7759,-0.0542 -1.01836,-0.18093 l 0,0 0,0 c -0.24247,-0.10858 -0.4122,-0.2714 -0.50919,-0.4885 l 0,0 0,0 c -0.097,-0.19905 -0.14548,-0.63326 -0.14548,-1.28462 l 0,0 0,-3.69096 -0.89713,0 0,-0.85037 0.89713,0 0,-1.59217 1.1881,-0.65134 0,2.24351 1.1881,0 0,0.85037 -1.1881,0 0,3.76332 0,0 0,0 c 0,0.3076 0.0242,0.50663 0.0727,0.59708 l 0,0 0,0 c 0.0485,0.0905 0.12123,0.16284 0.21821,0.19903 l 0,0 0,0 c 0.097,0.0542 0.21822,0.0905 0.4122,0.0905 l 0,0 0,0 c 0.097,0 0.26672,-0.0181 0.48494,-0.0544 z" 90.1793 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1794 + id="555" 90.1795 + inkscape:connector-curvature="0" /> 90.1796 + <path 90.1797 + d="m 178.15239,592.8259 0,0 0,-6.40492 1.09111,0 0,0.97703 0,0 0,0 c 0.26672,-0.45233 0.53344,-0.75992 0.7759,-0.90465 l 0,0 0,0 c 0.21822,-0.14474 0.48495,-0.21711 0.75167,-0.21711 l 0,0 0,0 c 0.4122,0 0.82439,0.12656 1.26084,0.36184 l 0,0 -0.43645,0.99512 0,0 0,0 c -0.29096,-0.14473 -0.58193,-0.2352 -0.87289,-0.2352 l 0,0 0,0 c -0.26672,0 -0.50919,0.0723 -0.70317,0.21711 l 0,0 0,0 c -0.21821,0.14474 -0.3637,0.34376 -0.4607,0.59706 l 0,0 0,0 c -0.12121,0.39805 -0.19396,0.8142 -0.19396,1.26651 l 0,0 0,3.34721 -1.21235,0 z" 90.1798 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1799 + id="556" 90.1800 + inkscape:connector-curvature="0" /> 90.1801 + <path 90.1802 + d="m 187.36623,592.06599 0,0 0,0 c -0.43643,0.32567 -0.87288,0.57897 -1.28508,0.70562 l 0,0 0,0 c -0.4122,0.12669 -0.84864,0.19902 -1.33358,0.19902 l 0,0 0,0 c -0.77591,0 -1.38208,-0.16284 -1.79428,-0.48851 l 0,0 0,0 c -0.41219,-0.34375 -0.60618,-0.79608 -0.60618,-1.32079 l 0,0 0,0 c 0,-0.32566 0.0727,-0.61515 0.21824,-0.86845 l 0,0 0,0 c 0.14548,-0.25329 0.36369,-0.47043 0.60616,-0.63326 l 0,0 0,0 c 0.26672,-0.14473 0.55768,-0.27138 0.8729,-0.34375 l 0,0 0,0 c 0.24246,-0.0544 0.60616,-0.10858 1.06686,-0.16285 l 0,0 0,0 c 0.96988,-0.10858 1.6973,-0.2352 2.15798,-0.37995 l 0,0 0,0 c 0,-0.14476 0,-0.25331 0,-0.28949 l 0,0 0,0 c 0,-0.43424 -0.097,-0.75991 -0.33945,-0.94084 l 0,0 0,0 c -0.29096,-0.23521 -0.75166,-0.36185 -1.35783,-0.36185 l 0,0 0,0 c -0.58193,0 -0.99413,0.0905 -1.26085,0.27139 l 0,0 0,0 c -0.26671,0.18093 -0.48494,0.48853 -0.60618,0.95893 l 0,0 -1.16384,-0.16283 0,0 0,0 c 0.097,-0.45232 0.26671,-0.81419 0.50918,-1.10368 l 0,0 0,0 c 0.24246,-0.27139 0.60616,-0.4885 1.06686,-0.63325 l 0,0 0,0 c 0.4607,-0.16283 1.01837,-0.2352 1.62455,-0.2352 l 0,0 0,0 c 0.60618,0 1.09111,0.0723 1.47906,0.19902 l 0,0 0,0 c 0.36372,0.1267 0.65467,0.28948 0.8244,0.4885 l 0,0 0,0 c 0.19398,0.19903 0.31521,0.43424 0.38796,0.74182 l 0,0 0,0 c 0.0242,0.18093 0.0485,0.50659 0.0485,0.99511 l 0,0 0,1.46553 0,0 0,0 c 0,0.9951 0.0243,1.64646 0.0485,1.91785 l 0,0 0,0 c 0.0727,0.27138 0.16971,0.52469 0.31521,0.74182 l 0,0 -1.23659,0 0,0 0,0 c -0.12124,-0.19902 -0.19399,-0.47044 -0.24249,-0.75991 z m -0.097,-2.44255 0,0 0,0 c -0.43645,0.16284 -1.09111,0.30758 -1.96401,0.41615 l 0,0 0,0 c -0.50918,0.0542 -0.84865,0.12669 -1.06687,0.21709 l 0,0 0,0 c -0.19396,0.0723 -0.36369,0.19905 -0.46069,0.34378 l 0,0 0,0 c -0.12124,0.16284 -0.16972,0.34377 -0.16972,0.5247 l 0,0 0,0 c 0,0.28949 0.12123,0.52469 0.3637,0.72371 l 0,0 0,0 c 0.24248,0.19901 0.60618,0.2895 1.06686,0.2895 l 0,0 0,0 c 0.4607,0 0.8729,-0.0905 1.23662,-0.27142 l 0,0 0,0 c 0.3637,-0.18091 0.63041,-0.43421 0.80013,-0.75988 l 0,0 0,0 c 0.12123,-0.23522 0.19398,-0.59708 0.19398,-1.08558 l 0,-0.39805 z" 90.1803 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1804 + id="557" 90.1805 + inkscape:connector-curvature="0" /> 90.1806 + <path 90.1807 + d="m 194.95555,590.4919 0,0 1.1881,0.14475 0,0 0,0 c -0.12124,0.7418 -0.4607,1.32079 -0.99412,1.73691 l 0,0 0,0 c -0.53345,0.39805 -1.16386,0.59707 -1.93976,0.59707 l 0,0 0,0 c -0.96988,0 -1.77005,-0.28946 -2.35196,-0.83226 l 0,0 0,0 c -0.58193,-0.57899 -0.89715,-1.41128 -0.89715,-2.47875 l 0,0 0,0 c 0,-0.68753 0.14548,-1.3027 0.38797,-1.82739 l 0,0 0,0 c 0.2667,-0.5066 0.65466,-0.90463 1.16384,-1.15794 l 0,0 0,0 c 0.53344,-0.27141 1.09112,-0.39804 1.6973,-0.39804 l 0,0 0,0 c 0.7759,0 1.38208,0.18092 1.86701,0.5247 l 0,0 0,0 c 0.50918,0.36185 0.8244,0.86846 0.94563,1.51979 l 0,0 -1.16386,0.16284 0,0 0,0 c -0.12123,-0.43424 -0.3152,-0.75991 -0.55768,-0.97701 l 0,0 0,0 c -0.29095,-0.21711 -0.63042,-0.32568 -1.04262,-0.32568 l 0,0 0,0 c -0.60616,0 -1.09111,0.19902 -1.47906,0.57897 l 0,0 0,0 c -0.38795,0.39804 -0.55768,1.01321 -0.55768,1.86358 l 0,0 0,0 c 0,0.86846 0.16973,1.50172 0.53343,1.88167 l 0,0 0,0 c 0.3637,0.39804 0.84865,0.59706 1.43058,0.59706 l 0,0 0,0 c 0.48493,0 0.87288,-0.1267 1.1881,-0.39804 l 0,0 0,0 c 0.29096,-0.25331 0.50918,-0.66946 0.58193,-1.21223 z" 90.1808 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1809 + id="558" 90.1810 + inkscape:connector-curvature="0" /> 90.1811 + <path 90.1812 + d="m 199.80494,591.86695 0,0 0.16973,0.95895 0,0 0,0 c -0.33947,0.0542 -0.63042,0.0905 -0.89715,0.0905 l 0,0 0,0 c -0.43643,0 -0.7759,-0.0542 -1.01836,-0.18093 l 0,0 0,0 c -0.24247,-0.10858 -0.4122,-0.2714 -0.50918,-0.4885 l 0,0 0,0 c -0.097,-0.19905 -0.14549,-0.63326 -0.14549,-1.28462 l 0,0 0,-3.69096 -0.89713,0 0,-0.85037 0.89713,0 0,-1.59217 1.1881,-0.65134 0,2.24351 1.21235,0 0,0.85037 -1.21235,0 0,3.76332 0,0 0,0 c 0,0.3076 0.0242,0.50663 0.0727,0.59708 l 0,0 0,0 c 0.0485,0.0905 0.097,0.16284 0.19397,0.19903 l 0,0 0,0 c 0.097,0.0542 0.24246,0.0905 0.41219,0.0905 l 0,0 0,0 c 0.14549,0 0.31522,-0.0181 0.53344,-0.0544 z" 90.1813 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1814 + id="559" 90.1815 + inkscape:connector-curvature="0" /> 90.1816 + <path 90.1817 + d="m 200.9688,585.22685 0,-1.2484 1.21235,0 0,1.2484 -1.21235,0 z m 0,7.59905 0,-6.40492 1.21235,0 0,6.40492 -1.21235,0 z" 90.1818 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1819 + id="560" 90.1820 + inkscape:connector-curvature="0" /> 90.1821 + <path 90.1822 + d="m 203.56323,589.64152 0,0 0,0 c 0,-1.19412 0.3637,-2.08068 1.09109,-2.64155 l 0,0 0,0 c 0.63044,-0.48852 1.35785,-0.72372 2.23073,-0.72372 l 0,0 0,0 c 0.94563,0 1.74578,0.28948 2.35196,0.86845 l 0,0 0,0 c 0.63042,0.57897 0.94563,1.37506 0.94563,2.40636 l 0,0 0,0 c 0,0.81419 -0.14548,1.46554 -0.41219,1.95405 l 0,0 0,0 c -0.26672,0.4704 -0.67892,0.83228 -1.21235,1.10366 l 0,0 0,0 c -0.50918,0.23522 -1.06687,0.36186 -1.67305,0.36186 l 0,0 0,0 c -0.99413,0 -1.79428,-0.28946 -2.40044,-0.83226 l 0,0 0,0 c -0.60618,-0.57899 -0.92138,-1.41128 -0.92138,-2.49685 z m 1.23659,0 0,0 0,0 c 0,0.81421 0.19397,1.42935 0.60617,1.8455 l 0,0 0,0 c 0.38795,0.41613 0.89715,0.61515 1.47906,0.61515 l 0,0 0,0 c 0.58193,0 1.06687,-0.21711 1.45483,-0.61515 l 0,0 0,0 c 0.41218,-0.41615 0.60617,-1.04941 0.60617,-1.88167 l 0,0 0,0 c 0,-0.79611 -0.19399,-1.39317 -0.60617,-1.80929 l 0,0 0,0 c -0.38796,-0.41615 -0.8729,-0.61517 -1.45483,-0.61517 l 0,0 0,0 c -0.58191,0 -1.09111,0.19902 -1.47906,0.61517 l 0,0 0,0 c -0.4122,0.39804 -0.60617,1.01318 -0.60617,1.84546 z" 90.1823 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1824 + id="561" 90.1825 + inkscape:connector-curvature="0" /> 90.1826 + <path 90.1827 + d="m 211.58897,592.8259 0,0 0,-6.40492 1.06687,0 0,0.92277 0,0 0,0 c 0.53343,-0.70566 1.2851,-1.0675 2.27921,-1.0675 l 0,0 0,0 c 0.4122,0 0.8244,0.0723 1.16386,0.21711 l 0,0 0,0 c 0.3637,0.1267 0.63042,0.30759 0.82438,0.54277 l 0,0 0,0 c 0.16974,0.21713 0.29099,0.48853 0.36372,0.7961 l 0,0 0,0 c 0.0485,0.21711 0.0727,0.56089 0.0727,1.06749 l 0,0 0,3.92618 -1.21236,0 0,-3.89001 0,0 0,0 c 0,-0.43421 -0.0485,-0.77799 -0.14547,-0.99508 l 0,0 0,0 c -0.097,-0.21714 -0.24248,-0.39807 -0.48495,-0.5247 l 0,0 0,0 c -0.24246,-0.12669 -0.53343,-0.19902 -0.84865,-0.19902 l 0,0 0,0 c -0.50918,0 -0.94563,0.14473 -1.33358,0.45232 l 0,0 0,0 c -0.3637,0.28947 -0.55768,0.85035 -0.55768,1.66455 l 0,0 0,3.49194 -1.1881,0 z" 90.1828 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1829 + id="562" 90.1830 + inkscape:connector-curvature="0" /> 90.1831 + </g> 90.1832 + <path 90.1833 + inkscape:connector-curvature="0" 90.1834 + id="563" 90.1835 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1836 + d="m 310.27417,577.12194 23.42259,12.32129 -0.33947,0.36187 -0.33945,0.36185 -23.42259,-12.32131 0.33947,-0.36184 0.33945,-0.36186 z" /> 90.1837 + <path 90.1838 + inkscape:connector-curvature="0" 90.1839 + id="564" 90.1840 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1841 + d="m 330.08395,585.57135 0,0 4.53419,4.867 -7.6863,-1.5198 0,0 0,0 c 1.91551,-0.48852 3.17636,-1.84548 3.15211,-3.3472 z" /> 90.1842 + <path 90.1843 + inkscape:connector-curvature="0" 90.1844 + id="565" 90.1845 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1846 + d="m 280.7171,577.82756 -21.77378,12.3213 -0.33946,-0.34376 -0.33945,-0.34378 21.77378,-12.3213 0.33947,0.34378 0.33944,0.34376 z" /> 90.1847 + <path 90.1848 + inkscape:connector-curvature="0" 90.1849 + id="566" 90.1850 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1851 + d="m 265.00506,588.7557 0,0 -7.5893,1.73694 4.26747,-4.99366 0,0 0,0 c 0.0242,1.48362 1.38208,2.80439 3.32183,3.25672 z" /> 90.1852 + <path 90.1853 + inkscape:connector-curvature="0" 90.1854 + id="567" 90.1855 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1856 + d="m 292.79211,556.47788 0.3152,17.1702 -0.58193,0 -0.58192,0 -0.31522,-17.1702 0.58194,0 0.58193,0 z" /> 90.1857 + <path 90.1858 + inkscape:connector-curvature="0" 90.1859 + id="568" 90.1860 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1861 + d="m 295.2168,569.14295 0,0 -2.64292,5.6269 -2.8369,-5.57263 0,0 0,0 c 1.62455,0.86846 3.83103,0.85038 5.47982,-0.0542 z" /> 90.1862 + <path 90.1863 + inkscape:connector-curvature="0" 90.1864 + id="570" 90.1865 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1866 + d="m 438.66192,556.22457 16.003,17.17023 -0.48494,0.25328 -0.48493,0.2533 -16.00301,-17.1702 0.48494,-0.2533 0.48494,-0.25331 z" /> 90.1867 + <path 90.1868 + inkscape:connector-curvature="0" 90.1869 + id="571" 90.1870 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1871 + d="m 453.01613,568.79917 0,0 2.03675,5.75357 -6.52244,-3.40148 0,0 0,0 c 2.0125,0.0542 3.80678,-0.92273 4.48569,-2.35209 z" /> 90.1872 + <path 90.1873 + inkscape:connector-curvature="0" 90.1874 + id="572" 90.1875 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1876 + d="m 541.85706,577.12194 23.42258,12.32129 -0.33946,0.36187 -0.31521,0.36185 -23.44683,-12.32131 0.33946,-0.36184 0.33946,-0.36186 z" /> 90.1877 + <path 90.1878 + inkscape:connector-curvature="0" 90.1879 + id="573" 90.1880 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1881 + d="m 561.66684,585.57135 0,0 4.50994,4.867 -7.66205,-1.5198 0,0 0,0 c 1.89127,-0.48852 3.17635,-1.84548 3.15211,-3.3472 z" /> 90.1882 + <path 90.1883 + inkscape:connector-curvature="0" 90.1884 + id="574" 90.1885 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1886 + d="m 452.33722,577.82756 -21.74954,12.3213 -0.33946,-0.34376 -0.33946,-0.34378 21.74954,-12.3213 0.33946,0.34378 0.33946,0.34376 z" /> 90.1887 + <path 90.1888 + inkscape:connector-curvature="0" 90.1889 + id="575" 90.1890 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1891 + d="m 436.64942,588.7557 0,0 -7.5893,1.73694 4.29171,-4.99366 0,0 0,0 c 0.0242,1.48362 1.35784,2.80439 3.29759,3.25672 z" /> 90.1892 + <path 90.1893 + inkscape:connector-curvature="0" 90.1894 + id="576" 90.1895 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1896 + d="m 497.4366,556.47788 0.31521,17.1702 -0.58193,0 -0.58192,0 -0.31522,-17.1702 0.58193,0 0.58193,0 z" /> 90.1897 + <path 90.1898 + inkscape:connector-curvature="0" 90.1899 + id="577" 90.1900 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1901 + d="m 499.83704,569.14295 0,0 -2.61867,5.6269 -2.86114,-5.57263 0,0 0,0 c 1.64879,0.86846 3.85527,0.85038 5.47981,-0.0542 z" /> 90.1902 + <path 90.1903 + inkscape:connector-curvature="0" 90.1904 + id="578" 90.1905 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1906 + d="m 448.02125,575.87353 98.17602,0.34377 0,0.43422 0,0.43424 -98.17602,-0.34378 0,-0.43423 0,-0.43422 z" /> 90.1907 + <path 90.1908 + inkscape:connector-curvature="0" 90.1909 + id="579" 90.1910 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1911 + d="m 497.48509,577.4838 0.31521,11.43475 -0.58193,0 -0.58193,0 -0.31521,-11.43475 0.58193,0 0.58193,0 z" /> 90.1912 + <path 90.1913 + inkscape:connector-curvature="0" 90.1914 + id="580" 90.1915 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1916 + d="m 499.83704,584.44959 0,0 -2.57017,5.60881 -2.90964,-5.51835 0,0 0,0 c 1.64879,0.85037 3.87952,0.81419 5.47981,-0.0905 z" /> 90.1917 + <g 90.1918 + id="g4983" 90.1919 + transform="translate(0,6.7406311)"> 90.1920 + <path 90.1921 + d="m 150.60782,474.96914 0,-8.84746 1.30933,0 0,7.81616 4.80091,0 0,1.0313 -6.11024,0 z" 90.1922 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1923 + id="581" 90.1924 + inkscape:connector-curvature="0" /> 90.1925 + <path 90.1926 + d="m 162.73131,474.20923 0,0 0,0 c -0.43645,0.30758 -0.8729,0.56089 -1.2851,0.70564 l 0,0 0,0 c -0.41219,0.12669 -0.84863,0.19902 -1.33358,0.19902 l 0,0 0,0 c -0.77589,0 -1.38208,-0.16284 -1.77002,-0.50661 l 0,0 0,0 c -0.4122,-0.34376 -0.63042,-0.778 -0.63042,-1.3027 l 0,0 0,0 c 0,-0.32567 0.0727,-0.61515 0.24247,-0.86846 l 0,0 0,0 c 0.14548,-0.25329 0.3637,-0.47042 0.63043,-0.63325 l 0,0 0,0 c 0.21821,-0.14474 0.50918,-0.27139 0.82438,-0.34377 l 0,0 0,0 c 0.24247,-0.0542 0.60618,-0.10858 1.09111,-0.16284 l 0,0 0,0 c 0.96988,-0.10857 1.67305,-0.2352 2.13375,-0.37995 l 0,0 0,0 c 0,-0.14474 0,-0.25329 0,-0.28947 l 0,0 0,0 c 0,-0.43424 -0.097,-0.75992 -0.33947,-0.94085 l 0,0 0,0 c -0.29095,-0.2352 -0.75165,-0.36185 -1.35783,-0.36185 l 0,0 0,0 c -0.58193,0 -0.99411,0.0904 -1.26084,0.2714 l 0,0 0,0 c -0.26672,0.18093 -0.46069,0.48851 -0.60617,0.95892 l 0,0 -1.13961,-0.14475 0,0 0,0 c 0.097,-0.47041 0.26671,-0.83226 0.50918,-1.12176 l 0,0 0,0 c 0.24248,-0.2714 0.58193,-0.48851 1.04263,-0.63325 l 0,0 0,0 c 0.48493,-0.16284 1.01836,-0.23521 1.62454,-0.23521 l 0,0 0,0 c 0.60617,0 1.09112,0.0723 1.47907,0.19902 l 0,0 0,0 c 0.38795,0.1267 0.65466,0.28949 0.84865,0.48851 l 0,0 0,0 c 0.16971,0.19903 0.29095,0.43423 0.3637,0.74181 l 0,0 0,0 c 0.0485,0.18093 0.0485,0.5247 0.0485,0.99512 l 0,0 0,1.46552 0,0 0,0 c 0,0.99511 0.0485,1.64646 0.097,1.91785 l 0,0 0,0 c 0.0485,0.25331 0.14548,0.5066 0.29096,0.74182 l 0,0 -1.26084,0 0,0 0,0 c -0.12124,-0.21711 -0.19397,-0.48851 -0.24247,-0.75991 z m -0.097,-2.44255 0,0 0,0 c -0.43645,0.16284 -1.09112,0.30759 -1.96401,0.41615 l 0,0 0,0 c -0.48495,0.0542 -0.84865,0.12669 -1.04262,0.21711 l 0,0 0,0 c -0.21823,0.0723 -0.3637,0.19902 -0.48495,0.34377 l 0,0 0,0 c -0.12123,0.16283 -0.16973,0.34376 -0.16973,0.52469 l 0,0 0,0 c 0,0.28949 0.12125,0.5247 0.36372,0.72372 l 0,0 0,0 c 0.24246,0.19902 0.60618,0.2714 1.06686,0.2714 l 0,0 0,0 c 0.46068,0 0.8729,-0.0723 1.2366,-0.25331 l 0,0 0,0 c 0.36371,-0.18093 0.63041,-0.43423 0.80015,-0.7599 l 0,0 0,0 c 0.14548,-0.23522 0.19398,-0.59707 0.19398,-1.08557 l 0,-0.39806 z" 90.1927 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1928 + id="582" 90.1929 + inkscape:connector-curvature="0" /> 90.1930 + <path 90.1931 + d="m 165.71369,474.96914 0,0 0,-6.4049 1.09111,0 0,0.92273 0,0 0,0 c 0.50918,-0.70562 1.26085,-1.06748 2.23073,-1.06748 l 0,0 0,0 c 0.43645,0 0.8244,0.0723 1.1881,0.21711 l 0,0 0,0 c 0.3637,0.1267 0.60618,0.30759 0.77591,0.54279 l 0,0 0,0 c 0.16972,0.21711 0.3152,0.48851 0.36368,0.7961 l 0,0 0,0 c 0.0485,0.21711 0.0727,0.56087 0.0727,1.06748 l 0,0 0,3.92617 -1.16384,0 0,-3.88999 0,0 0,0 c 0,-0.43422 -0.0485,-0.77799 -0.14549,-0.9951 l 0,0 0,0 c -0.097,-0.21713 -0.26671,-0.39806 -0.50918,-0.52471 l 0,0 0,0 c -0.24248,-0.12669 -0.5092,-0.19902 -0.8244,-0.19902 l 0,0 0,0 c -0.5092,0 -0.94564,0.14475 -1.30934,0.45233 l 0,0 0,0 c -0.38795,0.28949 -0.55769,0.85037 -0.55769,1.66455 l 0,0 0,3.49194 -1.21234,0 z" 90.1932 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1933 + id="583" 90.1934 + inkscape:connector-curvature="0" /> 90.1935 + <path 90.1936 + d="m 173.08477,475.51193 0,0 1.16386,0.14474 0,0 0,0 c 0.0485,0.34377 0.19397,0.57897 0.41219,0.72372 l 0,0 0,0 c 0.29096,0.19902 0.70316,0.30758 1.21236,0.30758 l 0,0 0,0 c 0.55768,0 0.96986,-0.10858 1.28508,-0.30758 l 0,0 0,0 c 0.29096,-0.19902 0.50918,-0.48851 0.60618,-0.85037 l 0,0 0,0 c 0.0727,-0.21711 0.097,-0.68753 0.097,-1.37507 l 0,0 0,0 c -0.53343,0.54279 -1.18809,0.81419 -1.93976,0.81419 l 0,0 0,0 c -0.99411,0 -1.74578,-0.30758 -2.27921,-0.92275 l 0,0 0,0 c -0.53343,-0.65133 -0.80015,-1.41125 -0.80015,-2.2978 l 0,0 0,0 c 0,-0.61515 0.12124,-1.17604 0.3637,-1.70074 l 0,0 0,0 c 0.24247,-0.52469 0.60618,-0.92273 1.06687,-1.19413 l 0,0 0,0 c 0.46069,-0.28948 1.01838,-0.43423 1.64879,-0.43423 l 0,0 0,0 c 0.80015,0 1.50331,0.30759 2.03676,0.92274 l 0,0 0,-0.77799 1.11535,0 0,5.55453 0,0 0,0 c 0,0.97702 -0.097,1.70074 -0.33945,2.11687 l 0,0 0,0 c -0.21823,0.41615 -0.58193,0.74181 -1.06688,0.97703 l 0,0 0,0 c -0.48493,0.25329 -1.0911,0.36185 -1.77001,0.36185 l 0,0 0,0 c -0.84865,0 -1.55181,-0.16283 -2.061,-0.5066 l 0,0 0,0 c -0.53344,-0.34377 -0.77591,-0.86846 -0.75166,-1.55599 z m 0.99413,-3.8538 0,0 0,0 c 0,0.85037 0.16973,1.46553 0.55768,1.84547 l 0,0 0,0 c 0.3637,0.39806 0.82438,0.59708 1.38207,0.59708 l 0,0 0,0 c 0.53344,0 0.99413,-0.19902 1.38208,-0.57898 l 0,0 0,0 c 0.36371,-0.39804 0.55769,-0.99511 0.55769,-1.82738 l 0,0 0,0 c 0,-0.77801 -0.19398,-1.37507 -0.58193,-1.77311 l 0,0 0,0 c -0.38796,-0.39805 -0.8244,-0.59707 -1.38208,-0.59707 l 0,0 0,0 c -0.53345,0 -0.96988,0.19902 -1.35783,0.59707 l 0,0 0,0 c -0.36371,0.37995 -0.55768,0.97701 -0.55768,1.73692 z" 90.1937 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1938 + id="584" 90.1939 + inkscape:connector-curvature="0" /> 90.1940 + <path 90.1941 + d="m 185.54772,474.96914 0,0 0,-0.92275 0,0 0,0 c -0.55768,0.70564 -1.30935,1.0675 -2.25498,1.0675 l 0,0 0,0 c -0.4122,0 -0.80014,-0.0723 -1.16384,-0.21713 l 0,0 0,0 c -0.36372,-0.14473 -0.63043,-0.32566 -0.80015,-0.54279 l 0,0 0,0 c -0.16973,-0.19902 -0.29097,-0.47042 -0.36372,-0.79608 l 0,0 0,0 c -0.0485,-0.19903 -0.0727,-0.5428 -0.0727,-1.0132 l 0,0 0,-3.98045 1.1881,0 0,3.5643 0,0 0,0 c 0,0.57898 0.0242,0.95893 0.0728,1.15795 l 0,0 0,0 c 0.097,0.28949 0.24246,0.50661 0.46068,0.66944 l 0,0 0,0 c 0.24248,0.16284 0.55768,0.2533 0.9214,0.2533 l 0,0 0,0 c 0.3637,0 0.70314,-0.0905 1.01836,-0.2533 l 0,0 0,0 c 0.31522,-0.18093 0.53343,-0.39804 0.67892,-0.68753 l 0,0 0,0 c 0.12123,-0.28949 0.19398,-0.70562 0.19398,-1.2665 l 0,0 0,-3.43766 1.21235,0 0,6.4049 -1.09112,0 z" 90.1942 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1943 + id="585" 90.1944 + inkscape:connector-curvature="0" /> 90.1945 + <path 90.1946 + d="m 193.13702,474.20923 0,0 0,0 c -0.43645,0.30758 -0.8729,0.56089 -1.28508,0.70564 l 0,0 0,0 c -0.41222,0.12669 -0.84865,0.19902 -1.3336,0.19902 l 0,0 0,0 c -0.7759,0 -1.38208,-0.16284 -1.79428,-0.50661 l 0,0 0,0 c -0.41218,-0.34376 -0.60616,-0.778 -0.60616,-1.3027 l 0,0 0,0 c 0,-0.32567 0.0727,-0.61515 0.24246,-0.86846 l 0,0 0,0 c 0.14549,-0.25329 0.33945,-0.47042 0.58194,-0.63325 l 0,0 0,0 c 0.26671,-0.14474 0.55768,-0.27139 0.87288,-0.34377 l 0,0 0,0 c 0.24246,-0.0542 0.60618,-0.10858 1.06688,-0.16284 l 0,0 0,0 c 0.96988,-0.10857 1.69728,-0.2352 2.15798,-0.37995 l 0,0 0,0 c 0,-0.14474 0,-0.25329 0,-0.28947 l 0,0 0,0 c 0,-0.43424 -0.097,-0.75992 -0.33947,-0.94085 l 0,0 0,0 c -0.3152,-0.2352 -0.75165,-0.36185 -1.35783,-0.36185 l 0,0 0,0 c -0.58193,0 -0.99411,0.0904 -1.26085,0.2714 l 0,0 0,0 c -0.26671,0.18093 -0.48493,0.48851 -0.60616,0.95892 l 0,0 -1.16385,-0.14475 0,0 0,0 c 0.12123,-0.47041 0.2667,-0.83226 0.50918,-1.12176 l 0,0 0,0 c 0.24247,-0.2714 0.60617,-0.48851 1.06687,-0.63325 l 0,0 0,0 c 0.4607,-0.16284 1.01836,-0.23521 1.62454,-0.23521 l 0,0 0,0 c 0.60617,0 1.09112,0.0723 1.47907,0.19902 l 0,0 0,0 c 0.3637,0.1267 0.65466,0.28949 0.82439,0.48851 l 0,0 0,0 c 0.19399,0.19903 0.31522,0.43423 0.38795,0.74181 l 0,0 0,0 c 0.0242,0.18093 0.0485,0.5247 0.0485,0.99512 l 0,0 0,1.46552 0,0 0,0 c 0,0.99511 0.0243,1.64646 0.0727,1.91785 l 0,0 0,0 c 0.0728,0.25331 0.14548,0.5066 0.29096,0.74182 l 0,0 -1.23659,0 0,0 0,0 c -0.12124,-0.21711 -0.19397,-0.48851 -0.24247,-0.75991 z m -0.097,-2.44255 0,0 0,0 c -0.43645,0.16284 -1.09112,0.30759 -1.96402,0.41615 l 0,0 0,0 c -0.50918,0.0542 -0.84864,0.12669 -1.06686,0.21711 l 0,0 0,0 c -0.19398,0.0723 -0.3637,0.19902 -0.4607,0.34377 l 0,0 0,0 c -0.12123,0.16283 -0.16973,0.34376 -0.16973,0.52469 l 0,0 0,0 c 0,0.28949 0.12125,0.5247 0.36371,0.72372 l 0,0 0,0 c 0.24247,0.19902 0.60619,0.2714 1.06687,0.2714 l 0,0 0,0 c 0.4607,0 0.8729,-0.0723 1.2366,-0.25331 l 0,0 0,0 c 0.36371,-0.18093 0.63041,-0.43423 0.80014,-0.7599 l 0,0 0,0 c 0.12124,-0.23522 0.19399,-0.59707 0.19399,-1.08557 l 0,-0.39806 z" 90.1947 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1948 + id="586" 90.1949 + inkscape:connector-curvature="0" /> 90.1950 + <path 90.1951 + d="m 195.90118,475.51193 0,0 1.16385,0.14474 0,0 0,0 c 0.0485,0.34377 0.19398,0.57897 0.4122,0.72372 l 0,0 0,0 c 0.29096,0.19902 0.70316,0.30758 1.21236,0.30758 l 0,0 0,0 c 0.55766,0 0.99411,-0.10858 1.30933,-0.30758 l 0,0 0,0 c 0.29095,-0.19902 0.48493,-0.48851 0.58193,-0.85037 l 0,0 0,0 c 0.0727,-0.21711 0.097,-0.68753 0.097,-1.37507 l 0,0 0,0 c -0.50918,0.54279 -1.16386,0.81419 -1.96401,0.81419 l 0,0 0,0 c -0.96988,0 -1.72153,-0.30758 -2.25496,-0.92275 l 0,0 0,0 c -0.53343,-0.65133 -0.80015,-1.41125 -0.80015,-2.2978 l 0,0 0,0 c 0,-0.61515 0.12124,-1.17604 0.3637,-1.70074 l 0,0 0,0 c 0.24247,-0.52469 0.60618,-0.92273 1.06687,-1.19413 l 0,0 0,0 c 0.4607,-0.28948 1.01838,-0.43423 1.64879,-0.43423 l 0,0 0,0 c 0.8244,0 1.52757,0.30759 2.03675,0.92274 l 0,0 0,-0.77799 1.11536,0 0,5.55453 0,0 0,0 c 0,0.97702 -0.097,1.70074 -0.33946,2.11687 l 0,0 0,0 c -0.21822,0.41615 -0.58192,0.74181 -1.06687,0.97703 l 0,0 0,0 c -0.46068,0.25329 -1.06686,0.36185 -1.77003,0.36185 l 0,0 0,0 c -0.84865,0 -1.55179,-0.16283 -2.06099,-0.5066 l 0,0 0,0 c -0.53343,-0.34377 -0.7759,-0.86846 -0.75165,-1.55599 z m 0.99411,-3.8538 0,0 0,0 c 0,0.85037 0.16974,1.46553 0.55769,1.84547 l 0,0 0,0 c 0.36371,0.39806 0.82439,0.59708 1.38208,0.59708 l 0,0 0,0 c 0.55768,0 1.01838,-0.19902 1.40633,-0.57898 l 0,0 0,0 c 0.33946,-0.39804 0.53343,-0.99511 0.53343,-1.82738 l 0,0 0,0 c 0,-0.77801 -0.19397,-1.37507 -0.55768,-1.77311 l 0,0 0,0 c -0.38795,-0.39805 -0.84864,-0.59707 -1.40633,-0.59707 l 0,0 0,0 c -0.53344,0 -0.99412,0.19902 -1.35783,0.59707 l 0,0 0,0 c -0.38795,0.37995 -0.55769,0.97701 -0.55769,1.73692 z" 90.1952 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1953 + id="587" 90.1954 + inkscape:connector-curvature="0" /> 90.1955 + <path 90.1956 + d="m 208.53385,472.92464 0,0 1.26085,0.14474 0,0 0,0 c -0.19399,0.65135 -0.55769,1.15794 -1.09112,1.50172 l 0,0 0,0 c -0.53343,0.36186 -1.1881,0.54279 -2.01249,0.54279 l 0,0 0,0 c -1.01838,0 -1.84278,-0.2895 -2.44895,-0.86846 l 0,0 0,0 c -0.60618,-0.5609 -0.9214,-1.35698 -0.9214,-2.40637 l 0,0 0,0 c 0,-1.08558 0.31522,-1.91785 0.9214,-2.51492 l 0,0 0,0 c 0.63042,-0.59706 1.43057,-0.90465 2.3762,-0.90465 l 0,0 0,0 c 0.92139,0 1.69729,0.28948 2.30346,0.88656 l 0,0 0,0 c 0.60618,0.57896 0.89715,1.39315 0.89715,2.46063 l 0,0 0,0 c 0,0.0723 0,0.16284 0,0.28949 l 0,0 -5.26161,0 0,0 0,0 c 0.0485,0.70563 0.26673,1.24841 0.67892,1.62836 l 0,0 0,0 c 0.38796,0.37997 0.89714,0.5609 1.45483,0.5609 l 0,0 0,0 c 0.43643,0 0.82439,-0.10858 1.11536,-0.32568 l 0,0 0,0 c 0.3152,-0.19902 0.55768,-0.54279 0.7274,-0.99511 z m -3.90376,-1.75502 0,0 3.92801,0 0,0 0,0 c -0.0485,-0.54278 -0.19397,-0.95893 -0.4607,-1.23032 l 0,0 0,0 c -0.38795,-0.41614 -0.84865,-0.61516 -1.45481,-0.61516 l 0,0 0,0 c -0.53344,0 -0.99413,0.16283 -1.38208,0.48851 l 0,0 0,0 c -0.38795,0.34376 -0.58194,0.79608 -0.63042,1.35697 z" 90.1957 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1958 + id="588" 90.1959 + inkscape:connector-curvature="0" /> 90.1960 + <path 90.1961 + d="m 153.1295,487.25353 0,-7.81617 -3.20059,0 0,-1.04939 7.75903,0 0,1.04939 -3.24909,0 0,7.81617 -1.30935,0 z" 90.1962 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1963 + id="589" 90.1964 + inkscape:connector-curvature="0" /> 90.1965 + <path 90.1966 + d="m 158.41535,484.03298 0,0 0,0 c 0,-1.19414 0.33945,-2.08069 1.0911,-2.64157 l 0,0 0,0 c 0.60618,-0.48851 1.35783,-0.72373 2.23073,-0.72373 l 0,0 0,0 c 0.96988,0 1.77003,0.28949 2.40046,0.86846 l 0,0 0,0 c 0.58193,0.57899 0.89713,1.39317 0.89713,2.40637 l 0,0 0,0 c 0,0.83228 -0.12123,1.48362 -0.4122,1.95404 l 0,0 0,0 c -0.24246,0.47043 -0.65466,0.83227 -1.16384,1.10368 l 0,0 0,0 c -0.53345,0.2533 -1.09113,0.39804 -1.72155,0.39804 l 0,0 0,0 c -0.99411,0 -1.79426,-0.28949 -2.42469,-0.86847 l 0,0 0,0 c -0.60619,-0.57897 -0.89714,-1.41125 -0.89714,-2.49682 z m 1.21235,0 0,0 0,0 c 0,0.81418 0.21822,1.42934 0.60617,1.84548 l 0,0 0,0 c 0.38796,0.41615 0.89714,0.61517 1.50331,0.61517 l 0,0 0,0 c 0.60617,0 1.09111,-0.19902 1.50331,-0.61517 l 0,0 0,0 c 0.38795,-0.41614 0.58193,-1.0313 0.58193,-1.88166 l 0,0 0,0 c 0,-0.7961 -0.19398,-1.39316 -0.60618,-1.80931 l 0,0 0,0 c -0.38795,-0.41613 -0.89713,-0.61515 -1.47906,-0.61515 l 0,0 0,0 c -0.60617,0 -1.11535,0.19902 -1.50331,0.61515 l 0,0 0,0 c -0.38795,0.39806 -0.60617,1.01321 -0.60617,1.84549 z" 90.1967 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1968 + id="590" 90.1969 + inkscape:connector-curvature="0" /> 90.1970 + <path 90.1971 + d="m 166.00465,484.03298 0,0 0,0 c 0,-1.19414 0.3637,-2.08069 1.11537,-2.64157 l 0,0 0,0 c 0.60616,-0.48851 1.35783,-0.72373 2.20646,-0.72373 l 0,0 0,0 c 0.9699,0 1.74579,0.28949 2.37621,0.86846 l 0,0 0,0 c 0.60618,0.57899 0.92138,1.39317 0.92138,2.40637 l 0,0 0,0 c 0,0.83228 -0.14547,1.48362 -0.4122,1.95404 l 0,0 0,0 c -0.26671,0.47043 -0.67891,0.83227 -1.1881,1.10368 l 0,0 0,0 c -0.50918,0.2533 -1.09111,0.39804 -1.69729,0.39804 l 0,0 0,0 c -0.96987,0 -1.77001,-0.28949 -2.40045,-0.86847 l 0,0 0,0 c -0.60616,-0.57897 -0.92138,-1.41125 -0.92138,-2.49682 z m 1.2366,0 0,0 0,0 c 0,0.81418 0.21822,1.42934 0.60617,1.84548 l 0,0 0,0 c 0.38796,0.41615 0.89714,0.61517 1.47906,0.61517 l 0,0 0,0 c 0.60618,0 1.09113,-0.19902 1.45483,-0.61517 l 0,0 0,0 c 0.4122,-0.41614 0.60616,-1.0313 0.60616,-1.88166 l 0,0 0,0 c 0,-0.7961 -0.19396,-1.39316 -0.60616,-1.80931 l 0,0 0,0 c -0.3637,-0.41613 -0.8729,-0.61515 -1.45483,-0.61515 l 0,0 0,0 c -0.58192,0 -1.0911,0.19902 -1.47906,0.61515 l 0,0 0,0 c -0.38795,0.39806 -0.60617,1.01321 -0.60617,1.84549 z" 90.1972 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1973 + id="591" 90.1974 + inkscape:connector-curvature="0" /> 90.1975 + <path 90.1976 + d="m 174.0304,487.25353 0,-8.86556 1.18811,0 0,8.86556 -1.18811,0 z" 90.1977 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1978 + id="592" 90.1979 + inkscape:connector-curvature="0" /> 90.1980 + <path 90.1981 + d="m 181.71668,484.88335 0,0 1.16386,0.14474 0,0 0,0 c -0.12123,0.74181 -0.43644,1.32078 -0.96988,1.73693 l 0,0 0,0 c -0.53343,0.41613 -1.18809,0.63325 -1.96399,0.63325 l 0,0 0,0 c -0.96988,0 -1.7458,-0.28949 -2.35196,-0.86847 l 0,0 0,0 c -0.58193,-0.57897 -0.8729,-1.39316 -0.8729,-2.47873 l 0,0 0,0 c 0,-0.68753 0.12123,-1.30268 0.36372,-1.80929 l 0,0 0,0 c 0.26671,-0.52469 0.65466,-0.92275 1.16384,-1.17604 l 0,0 0,0 c 0.53343,-0.25331 1.09112,-0.39806 1.6973,-0.39806 l 0,0 0,0 c 0.7759,0 1.40633,0.18093 1.89126,0.5428 l 0,0 0,0 c 0.50918,0.34377 0.80015,0.85037 0.92138,1.50171 l 0,0 -1.13961,0.16284 0,0 0,0 c -0.12123,-0.43423 -0.3152,-0.7599 -0.58193,-0.97701 l 0,0 0,0 c -0.29095,-0.21713 -0.63042,-0.32568 -1.0426,-0.32568 l 0,0 0,0 c -0.60618,0 -1.09113,0.19902 -1.47908,0.57897 l 0,0 0,0 c -0.38795,0.39804 -0.55767,1.0313 -0.55767,1.88167 l 0,0 0,0 c 0,0.85037 0.16972,1.48361 0.53342,1.88165 l 0,0 0,0 c 0.36371,0.37998 0.84865,0.579 1.43058,0.579 l 0,0 0,0 c 0.48493,0 0.8729,-0.1267 1.1881,-0.39805 l 0,0 0,0 c 0.31521,-0.25331 0.53343,-0.65135 0.60616,-1.21223 z" 90.1982 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1983 + id="593" 90.1984 + inkscape:connector-curvature="0" /> 90.1985 + <path 90.1986 + d="m 183.92318,487.25353 0,0 0,-8.86556 1.18809,0 0,3.16628 0,0 0,0 c 0.58193,-0.57898 1.28508,-0.88657 2.13373,-0.88657 l 0,0 0,0 c 0.53343,0 0.99413,0.10858 1.35783,0.28949 l 0,0 0,0 c 0.38797,0.18093 0.65467,0.45233 0.8244,0.77801 l 0,0 0,0 c 0.16973,0.32567 0.26673,0.81417 0.26673,1.42934 l 0,0 0,4.08901 -1.18811,0 0,-4.08901 0,0 0,0 c 0,-0.54279 -0.14549,-0.94083 -0.38795,-1.17605 l 0,0 0,0 c -0.26672,-0.25329 -0.63042,-0.37995 -1.11537,-0.37995 l 0,0 0,0 c -0.36369,0 -0.70316,0.0905 -1.01838,0.2533 l 0,0 0,0 c -0.3152,0.16284 -0.53341,0.39805 -0.65466,0.68753 l 0,0 0,0 c -0.14548,0.2714 -0.21822,0.66944 -0.21822,1.17605 l 0,0 0,3.52813 -1.18809,0 z" 90.1987 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1988 + id="594" 90.1989 + inkscape:connector-curvature="0" /> 90.1990 + <path 90.1991 + d="m 196.14365,486.45743 0,0 0,0 c -0.43645,0.34378 -0.87289,0.57897 -1.2851,0.72372 l 0,0 0,0 c -0.38795,0.14474 -0.8244,0.21712 -1.30933,0.21712 l 0,0 0,0 c -0.77592,0 -1.38208,-0.18093 -1.79428,-0.52469 l 0,0 0,0 c -0.43645,-0.34378 -0.63042,-0.778 -0.63042,-1.32079 l 0,0 0,0 c 0,-0.32568 0.0727,-0.59708 0.24247,-0.86846 l 0,0 0,0 c 0.14548,-0.25331 0.36372,-0.47042 0.60617,-0.61517 l 0,0 0,0 c 0.26673,-0.16284 0.55769,-0.28948 0.87289,-0.36186 l 0,0 0,0 c 0.24249,-0.0542 0.58194,-0.10857 1.06687,-0.16283 l 0,0 0,0 c 0.94563,-0.10858 1.67304,-0.23521 2.13374,-0.37995 l 0,0 0,0 c 0,-0.14475 0,-0.23521 0,-0.28949 l 0,0 0,0 c 0,-0.43423 -0.12123,-0.74181 -0.33946,-0.92274 l 0,0 0,0 c -0.31522,-0.25331 -0.7759,-0.37995 -1.35783,-0.37995 l 0,0 0,0 c -0.55769,0 -0.96988,0.0905 -1.2366,0.27139 l 0,0 0,0 c -0.29097,0.18093 -0.48493,0.5066 -0.60617,0.95893 l 0,0 -1.18811,-0.14475 0,0 0,0 c 0.12123,-0.47042 0.29097,-0.83227 0.53345,-1.10366 l 0,0 0,0 c 0.24245,-0.28949 0.60616,-0.5066 1.06686,-0.65135 l 0,0 0,0 c 0.46069,-0.14475 0.99412,-0.23522 1.6003,-0.23522 l 0,0 0,0 c 0.60618,0 1.09111,0.0723 1.47906,0.19904 l 0,0 0,0 c 0.3637,0.12669 0.65467,0.28948 0.8244,0.48851 l 0,0 0,0 c 0.19397,0.19902 0.31522,0.43422 0.38795,0.74181 l 0,0 0,0 c 0.0242,0.18092 0.0485,0.52469 0.0485,0.99511 l 0,0 0,1.46552 0,0 0,0 c 0,1.01321 0.0243,1.64647 0.0727,1.91785 l 0,0 0,0 c 0.0485,0.2714 0.16974,0.52471 0.31522,0.77801 l 0,0 -1.26085,0 0,0 0,0 c -0.12123,-0.23522 -0.19398,-0.50661 -0.24246,-0.7961 z m -0.097,-2.44254 0,0 0,0 c -0.43645,0.16283 -1.09111,0.30758 -1.93976,0.41613 l 0,0 0,0 c -0.50918,0.0723 -0.84865,0.14474 -1.06686,0.21712 l 0,0 0,0 c -0.19399,0.0905 -0.36372,0.19902 -0.4607,0.36186 l 0,0 0,0 c -0.12124,0.14475 -0.16972,0.32566 -0.16972,0.50659 l 0,0 0,0 c 0,0.28951 0.12123,0.5428 0.36368,0.72373 l 0,0 0,0 c 0.24249,0.19902 0.60619,0.28948 1.06688,0.28948 l 0,0 0,0 c 0.46069,0 0.84865,-0.0905 1.21235,-0.27139 l 0,0 0,0 c 0.3637,-0.18093 0.63042,-0.43423 0.80015,-0.74182 l 0,0 0,0 c 0.12123,-0.25329 0.19398,-0.61515 0.19398,-1.10366 l 0,-0.39804 z" 90.1992 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1993 + id="595" 90.1994 + inkscape:connector-curvature="0" /> 90.1995 + <path 90.1996 + d="m 199.15027,479.6364 0,-1.24843 1.21235,0 0,1.24843 -1.21235,0 z m 0,7.61713 0,-6.4411 1.21235,0 0,6.4411 -1.21235,0 z" 90.1997 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.1998 + id="596" 90.1999 + inkscape:connector-curvature="0" /> 90.2000 + <path 90.2001 + d="m 202.18115,487.25353 0,0 0,-6.4411 1.06686,0 0,0.92275 0,0 0,0 c 0.53343,-0.70563 1.28508,-1.0675 2.27921,-1.0675 l 0,0 0,0 c 0.4122,0 0.8244,0.0723 1.13962,0.21713 l 0,0 0,0 c 0.3637,0.14474 0.63041,0.32567 0.82439,0.54279 l 0,0 0,0 c 0.14549,0.2352 0.26672,0.48851 0.33945,0.81418 l 0,0 0,0 c 0.0485,0.19902 0.0727,0.54279 0.0727,1.04939 l 0,0 0,3.96236 -1.18811,0 0,-3.92618 0,0 0,0 c 0,-0.43423 -0.0485,-0.75989 -0.14548,-0.99511 l 0,0 0,0 c -0.0727,-0.21711 -0.21822,-0.37995 -0.46069,-0.5247 l 0,0 0,0 c -0.24246,-0.12669 -0.53343,-0.19902 -0.84864,-0.19902 l 0,0 0,0 c -0.50919,0 -0.94563,0.16284 -1.33358,0.45233 l 0,0 0,0 c -0.3637,0.28948 -0.55769,0.85037 -0.55769,1.68264 l 0,0 0,3.51004 -1.18809,0 z" 90.2002 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2003 + id="597" 90.2004 + inkscape:connector-curvature="0" /> 90.2005 + </g> 90.2006 + <path 90.2007 + inkscape:connector-curvature="0" 90.2008 + id="598" 90.2009 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2010 + d="m 557.10841,556.73118 -16.003,17.1702 -0.4607,-0.2533 -0.48494,-0.25328 15.97876,-17.17023 0.48494,0.25331 0.48494,0.2533 z" /> 90.2011 + <path 90.2012 + inkscape:connector-curvature="0" 90.2013 + id="599" 90.2014 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2015 + d="m 546.29426,571.16937 0,0 -6.4982,3.40146 1.98826,-5.77166 0,0 0,0 c 0.65467,1.42936 2.47319,2.38828 4.50994,2.3702 z" /> 90.2016 + <g 90.2017 + id="g5002" 90.2018 + transform="translate(0.42735043,9.8529205)"> 90.2019 + <path 90.2020 + d="m 212.70434,532.64946 0,0 c 0,-0.0905 0.0242,-0.16283 0.0727,-0.23519 0.0485,-0.0723 0.12123,-0.1267 0.21822,-0.16285 0.097,-0.0362 0.19398,-0.0542 0.31521,-0.0542 l 0,0 0,0.45231 -0.60616,0 z" 90.2021 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2022 + id="37" 90.2023 + inkscape:connector-curvature="0" /> 90.2024 + <path 90.2025 + d="m 149.92891,532.08859 0,-8.86555 1.28508,0 0,7.79806 4.82515,0 0,1.06749 -6.11023,0 z" 90.2026 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2027 + id="606" 90.2028 + inkscape:connector-curvature="0" /> 90.2029 + <path 90.2030 + d="m 162.0524,531.27441 0,0 0,0 c -0.43645,0.36184 -0.8729,0.61516 -1.2851,0.75989 l 0,0 0,0 c -0.4122,0.1267 -0.84863,0.19902 -1.33358,0.19902 l 0,0 0,0 c -0.7759,0 -1.35783,-0.16283 -1.77003,-0.5066 l 0,0 0,0 c -0.4122,-0.36186 -0.63042,-0.81419 -0.63042,-1.33887 l 0,0 0,0 c 0,-0.30758 0.0727,-0.59706 0.24247,-0.85038 l 0,0 0,0 c 0.14548,-0.25331 0.3637,-0.47041 0.60618,-0.63326 l 0,0 0,0 c 0.2667,-0.14473 0.55767,-0.27138 0.84863,-0.34375 l 0,0 0,0 c 0.24247,-0.0723 0.60619,-0.1267 1.06687,-0.16285 l 0,0 0,0 c 0.96988,-0.10858 1.69729,-0.23519 2.15799,-0.37994 l 0,0 0,0 c 0,-0.14474 0,-0.25329 0,-0.28949 l 0,0 0,0 c 0,-0.43424 -0.097,-0.7599 -0.33946,-0.94083 l 0,0 0,0 c -0.3152,-0.2352 -0.75167,-0.36185 -1.35783,-0.36185 l 0,0 0,0 c -0.58193,0 -0.99412,0.0904 -1.26085,0.27138 l 0,0 0,0 c -0.26672,0.18092 -0.46068,0.4885 -0.58192,0.94084 l 0,0 -1.18811,-0.14476 0,0 0,0 c 0.12123,-0.45231 0.29097,-0.81415 0.53343,-1.10366 l 0,0 0,0 c 0.24249,-0.27139 0.60619,-0.48851 1.04263,-0.63324 l 0,0 0,0 c 0.4607,-0.16283 1.01837,-0.23522 1.62455,-0.23522 l 0,0 0,0 c 0.60617,0 1.09111,0.0723 1.47906,0.19902 l 0,0 0,0 c 0.3637,0.12669 0.65467,0.28949 0.8244,0.48851 l 0,0 0,0 c 0.19397,0.18093 0.3152,0.43424 0.38795,0.74182 l 0,0 0,0 c 0.0242,0.18093 0.0485,0.50661 0.0485,0.9951 l 0,0 0,1.44743 0,0 0,0 c 0,0.99513 0.0242,1.64647 0.0727,1.91786 l 0,0 0,0 c 0.0728,0.27141 0.16974,0.5428 0.31522,0.77801 l 0,0 -1.26085,0 0,0 0,0 c -0.12123,-0.21712 -0.19396,-0.48851 -0.24246,-0.81418 z m -0.097,-2.40637 0,0 0,0 c -0.43645,0.16283 -1.09113,0.28949 -1.96401,0.41612 l 0,0 0,0 c -0.50918,0.0544 -0.84865,0.1267 -1.06686,0.21714 l 0,0 0,0 c -0.19399,0.0723 -0.33945,0.19901 -0.43645,0.34375 l 0,0 0,0 c -0.12123,0.16284 -0.16973,0.32568 -0.16973,0.52471 l 0,0 0,0 c 0,0.27139 0.12123,0.5066 0.33946,0.70563 l 0,0 0,0 c 0.24247,0.19902 0.60618,0.28947 1.06687,0.28947 l 0,0 0,0 c 0.46068,0 0.87289,-0.0905 1.23659,-0.27138 l 0,0 0,0 c 0.3637,-0.18095 0.63042,-0.43424 0.80015,-0.74182 l 0,0 0,0 c 0.12123,-0.23522 0.19398,-0.59706 0.19398,-1.08558 l 0,-0.39804 z" 90.2031 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2032 + id="607" 90.2033 + inkscape:connector-curvature="0" /> 90.2034 + <path 90.2035 + d="m 165.03477,532.08859 0,0 0,-6.42299 1.06687,0 0,0.92272 0,0 0,0 c 0.53343,-0.70561 1.28509,-1.06748 2.27922,-1.06748 l 0,0 0,0 c 0.4122,0 0.80014,0.0723 1.16385,0.21712 l 0,0 0,0 c 0.33945,0.1267 0.60618,0.30759 0.80015,0.54278 l 0,0 0,0 c 0.16973,0.21714 0.26672,0.48851 0.33945,0.79611 l 0,0 0,0 c 0.0485,0.19902 0.0727,0.56087 0.0727,1.06748 l 0,0 0,3.94426 -1.1881,0 0,-3.90808 0,0 0,0 c 0,-0.43424 -0.0485,-0.778 -0.12123,-0.99513 l 0,0 0,0 c -0.097,-0.2171 -0.26673,-0.39803 -0.48495,-0.52468 l 0,0 0,0 c -0.24247,-0.12669 -0.50918,-0.19903 -0.84863,-0.19903 l 0,0 0,0 c -0.5092,0 -0.94565,0.14474 -1.3336,0.45233 l 0,0 0,0 c -0.3637,0.28949 -0.55768,0.85038 -0.55768,1.66455 l 0,0 0,3.51004 -1.1881,0 z" 90.2036 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2037 + id="608" 90.2038 + inkscape:connector-curvature="0" /> 90.2039 + <path 90.2040 + d="m 172.3816,532.63136 0,0 1.1881,0.14475 0,0 0,0 c 0.0485,0.32569 0.16973,0.57897 0.4122,0.72373 l 0,0 0,0 c 0.29097,0.19902 0.70317,0.30758 1.21236,0.30758 l 0,0 0,0 c 0.55769,0 0.99412,-0.10857 1.30933,-0.30758 l 0,0 0,0 c 0.26672,-0.19902 0.48494,-0.48851 0.58194,-0.85038 l 0,0 0,0 c 0.0727,-0.2171 0.097,-0.68752 0.097,-1.41125 l 0,0 0,0 c -0.53343,0.57898 -1.16386,0.85038 -1.964,0.85038 l 0,0 0,0 c -0.96989,0 -1.72154,-0.30758 -2.25497,-0.97702 l 0,0 0,0 c -0.53344,-0.63327 -0.80015,-1.37507 -0.80015,-2.26162 l 0,0 0,0 c 0,-0.61516 0.12123,-1.19413 0.3637,-1.70074 l 0,0 0,0 c 0.24246,-0.52469 0.60618,-0.92275 1.06686,-1.21223 l 0,0 0,0 c 0.4607,-0.27138 1.01838,-0.41614 1.6488,-0.41614 l 0,0 0,0 c 0.82439,0 1.50331,0.30758 2.03674,0.92275 l 0,0 0,-0.77799 1.11537,0 0,5.53643 0,0 0,0 c 0,1.01319 -0.12124,1.73692 -0.33945,2.15305 l 0,0 0,0 c -0.21824,0.41615 -0.58194,0.74182 -1.06688,0.97702 l 0,0 0,0 c -0.46069,0.25331 -1.06687,0.36188 -1.77002,0.36188 l 0,0 0,0 c -0.84864,0 -1.55181,-0.16284 -2.06099,-0.50661 l 0,0 0,0 c -0.53345,-0.34378 -0.77592,-0.86846 -0.77592,-1.55601 z m 1.01837,-3.87188 0,0 0,0 c 0,0.85038 0.16973,1.46552 0.5577,1.82739 l 0,0 0,0 c 0.3637,0.39804 0.82438,0.57897 1.38206,0.57897 l 0,0 0,0 c 0.5577,0 1.01838,-0.18093 1.38208,-0.57897 l 0,0 0,0 c 0.36372,-0.36187 0.55768,-0.95893 0.55768,-1.79121 l 0,0 0,0 c 0,-0.77799 -0.19396,-1.37506 -0.58191,-1.7731 l 0,0 0,0 c -0.36372,-0.39804 -0.8244,-0.59706 -1.38208,-0.59706 l 0,0 0,0 c -0.53345,0 -0.99413,0.19902 -1.35783,0.57897 l 0,0 0,0 c -0.38797,0.39804 -0.5577,0.97702 -0.5577,1.75501 z" 90.2041 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2042 + id="609" 90.2043 + inkscape:connector-curvature="0" /> 90.2044 + <path 90.2045 + d="m 184.86881,532.08859 0,0 0,-0.95894 0,0 0,0 c -0.55769,0.74182 -1.30935,1.10367 -2.25498,1.10367 l 0,0 0,0 c -0.4122,0 -0.80015,-0.0723 -1.16385,-0.21709 l 0,0 0,0 c -0.36371,-0.14476 -0.63043,-0.32569 -0.80015,-0.5609 l 0,0 0,0 c -0.16973,-0.21712 -0.31521,-0.48851 -0.38796,-0.81418 l 0,0 0,0 c -0.0485,-0.21713 -0.0727,-0.52471 -0.0727,-0.99512 l 0,0 0,-3.98043 1.21235,0 0,3.5643 0,0 0,0 c 0,0.56089 0.0242,0.95893 0.0728,1.15795 l 0,0 0,0 c 0.0727,0.2533 0.24247,0.48851 0.48493,0.65134 l 0,0 0,0 c 0.24247,0.16284 0.55769,0.23522 0.89715,0.23522 l 0,0 0,0 c 0.3637,0 0.70315,-0.0723 1.01837,-0.23522 l 0,0 0,0 c 0.31521,-0.18093 0.53343,-0.39804 0.65466,-0.66943 l 0,0 0,0 c 0.14548,-0.28949 0.21823,-0.70562 0.21823,-1.26651 l 0,0 0,-3.43765 1.1881,0 0,6.42299 -1.06686,0 z" 90.2046 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2047 + id="610" 90.2048 + inkscape:connector-curvature="0" /> 90.2049 + <path 90.2050 + d="m 192.4581,531.27441 0,0 0,0 c -0.43644,0.36184 -0.87289,0.61516 -1.28508,0.75989 l 0,0 0,0 c -0.41221,0.1267 -0.87289,0.19902 -1.33359,0.19902 l 0,0 0,0 c -0.7759,0 -1.35783,-0.16283 -1.77003,-0.5066 l 0,0 0,0 c -0.43643,-0.36186 -0.63042,-0.81419 -0.63042,-1.33887 l 0,0 0,0 c 0,-0.30758 0.0727,-0.59706 0.21822,-0.85038 l 0,0 0,0 c 0.16973,-0.25331 0.38795,-0.47041 0.63043,-0.63326 l 0,0 0,0 c 0.24247,-0.14473 0.53343,-0.27138 0.84863,-0.34375 l 0,0 0,0 c 0.24247,-0.0723 0.58193,-0.1267 1.06688,-0.16285 l 0,0 0,0 c 0.96988,-0.10858 1.69728,-0.23519 2.15798,-0.37994 l 0,0 0,0 c 0,-0.14474 0,-0.25329 0,-0.28949 l 0,0 0,0 c 0,-0.43424 -0.12123,-0.7599 -0.33946,-0.94083 l 0,0 0,0 c -0.3152,-0.2352 -0.7759,-0.36185 -1.38208,-0.36185 l 0,0 0,0 c -0.55769,0 -0.96987,0.0904 -1.2366,0.27138 l 0,0 0,0 c -0.29095,0.18092 -0.48493,0.4885 -0.60617,0.94084 l 0,0 -1.16384,-0.14476 0,0 0,0 c 0.12123,-0.45231 0.29095,-0.81415 0.53341,-1.10366 l 0,0 0,0 c 0.24248,-0.27139 0.58193,-0.48851 1.04263,-0.63324 l 0,0 0,0 c 0.4607,-0.16283 0.99413,-0.23522 1.62455,-0.23522 l 0,0 0,0 c 0.60616,0 1.09111,0.0723 1.47906,0.19902 l 0,0 0,0 c 0.3637,0.12669 0.65467,0.28949 0.8244,0.48851 l 0,0 0,0 c 0.19398,0.18093 0.3152,0.43424 0.38795,0.74182 l 0,0 0,0 c 0.0242,0.18093 0.0485,0.50661 0.0485,0.9951 l 0,0 0,1.44743 0,0 0,0 c 0,0.99513 0.0243,1.64647 0.0727,1.91786 l 0,0 0,0 c 0.0485,0.27141 0.16973,0.5428 0.31522,0.77801 l 0,0 -1.26085,0 0,0 0,0 c -0.12123,-0.21712 -0.21822,-0.48851 -0.24247,-0.81418 z m -0.097,-2.40637 0,0 0,0 c -0.43645,0.16283 -1.09111,0.28949 -1.96401,0.41612 l 0,0 0,0 c -0.50918,0.0544 -0.84865,0.1267 -1.06686,0.21714 l 0,0 0,0 c -0.19399,0.0723 -0.3637,0.19901 -0.4607,0.34375 l 0,0 0,0 c -0.12124,0.16284 -0.16974,0.32568 -0.16974,0.52471 l 0,0 0,0 c 0,0.27139 0.12125,0.5066 0.36372,0.70563 l 0,0 0,0 c 0.24247,0.19902 0.58193,0.28947 1.06686,0.28947 l 0,0 0,0 c 0.4607,0 0.8729,-0.0905 1.2366,-0.27138 l 0,0 0,0 c 0.36372,-0.18095 0.63042,-0.43424 0.80015,-0.74182 l 0,0 0,0 c 0.12123,-0.23522 0.19398,-0.59706 0.19398,-1.08558 l 0,-0.39804 z" 90.2051 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2052 + id="611" 90.2053 + inkscape:connector-curvature="0" /> 90.2054 + <path 90.2055 + d="m 195.19801,532.63136 0,0 1.1881,0.14475 0,0 0,0 c 0.0485,0.32569 0.16973,0.57897 0.4122,0.72373 l 0,0 0,0 c 0.29097,0.19902 0.70317,0.30758 1.21236,0.30758 l 0,0 0,0 c 0.55767,0 0.99412,-0.10857 1.28508,-0.30758 l 0,0 0,0 c 0.3152,-0.19902 0.50919,-0.48851 0.63042,-0.85038 l 0,0 0,0 c 0.0485,-0.2171 0.097,-0.68752 0.0727,-1.41125 l 0,0 0,0 c -0.50918,0.57898 -1.16386,0.85038 -1.96401,0.85038 l 0,0 0,0 c -0.96988,0 -1.72153,-0.30758 -2.25496,-0.97702 l 0,0 0,0 c -0.55769,-0.63327 -0.8244,-1.37507 -0.8244,-2.26162 l 0,0 0,0 c 0,-0.61516 0.12123,-1.19413 0.38795,-1.70074 l 0,0 0,0 c 0.24246,-0.52469 0.58193,-0.92275 1.06686,-1.21223 l 0,0 0,0 c 0.46068,-0.27138 1.01838,-0.41614 1.62455,-0.41614 l 0,0 0,0 c 0.84865,0 1.55181,0.30758 2.08524,0.92275 l 0,0 0,-0.77799 1.09112,0 0,5.53643 0,0 0,0 c 0,1.01319 -0.12124,1.73692 -0.33947,2.15305 l 0,0 0,0 c -0.21822,0.41615 -0.55768,0.74182 -1.04261,0.97702 l 0,0 0,0 c -0.48494,0.25331 -1.09112,0.36188 -1.81852,0.36188 l 0,0 0,0 c -0.84864,0 -1.52756,-0.16284 -2.03676,-0.50661 l 0,0 0,0 c -0.53343,-0.34378 -0.7759,-0.86846 -0.7759,-1.55601 z m 1.01837,-3.87188 0,0 0,0 c 0,0.85038 0.16973,1.46552 0.53345,1.82739 l 0,0 0,0 c 0.38795,0.39804 0.84863,0.57897 1.40631,0.57897 l 0,0 0,0 c 0.55768,0 1.01838,-0.18093 1.38208,-0.57897 l 0,0 0,0 c 0.38795,-0.36187 0.58193,-0.95893 0.58193,-1.79121 l 0,0 0,0 c 0,-0.77799 -0.19398,-1.37506 -0.58193,-1.7731 l 0,0 0,0 c -0.38795,-0.39804 -0.84863,-0.59706 -1.40633,-0.59706 l 0,0 0,0 c -0.53343,0 -0.99411,0.19902 -1.35783,0.57897 l 0,0 0,0 c -0.38795,0.39804 -0.55768,0.97702 -0.55768,1.75501 z" 90.2056 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2057 + id="612" 90.2058 + inkscape:connector-curvature="0" /> 90.2059 + <path 90.2060 + d="m 207.85493,530.02598 0,0 1.26085,0.14475 0,0 0,0 c -0.19398,0.63327 -0.55768,1.13985 -1.09111,1.51981 l 0,0 0,0 c -0.50919,0.36186 -1.1881,0.54278 -1.98827,0.54278 l 0,0 0,0 c -1.04261,0 -1.86701,-0.28949 -2.47317,-0.88655 l 0,0 0,0 c -0.63043,-0.57897 -0.9214,-1.37506 -0.9214,-2.40636 l 0,0 0,0 c 0,-1.08557 0.31522,-1.91785 0.9214,-2.51491 l 0,0 0,0 c 0.60616,-0.59708 1.40631,-0.90466 2.40044,-0.90466 l 0,0 0,0 c 0.92138,0 1.67305,0.28949 2.27921,0.88655 l 0,0 0,0 c 0.60618,0.57897 0.89715,1.39316 0.89715,2.46065 l 0,0 0,0 c 0,0.0723 0,0.16283 0,0.28949 l 0,0 -5.2616,0 0,0 0,0 c 0.0485,0.70563 0.26673,1.23032 0.67891,1.61027 l 0,0 0,0 c 0.38797,0.36185 0.8729,0.56088 1.47906,0.56088 l 0,0 0,0 c 0.4122,0 0.80017,-0.10858 1.11537,-0.32566 l 0,0 0,0 c 0.29096,-0.19902 0.53345,-0.5428 0.70316,-0.97704 z m -3.90375,-1.755 0,0 3.928,0 0,0 0,0 c -0.0485,-0.5428 -0.21821,-0.95894 -0.43645,-1.23033 l 0,0 0,0 c -0.38794,-0.41613 -0.87289,-0.61515 -1.47906,-0.61515 l 0,0 0,0 c -0.53343,0 -1.01836,0.16282 -1.38208,0.4885 l 0,0 0,0 c -0.38795,0.34377 -0.58193,0.79609 -0.63041,1.35698 z" 90.2061 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2062 + id="613" 90.2063 + inkscape:connector-curvature="0" /> 90.2064 + <path 90.2065 + d="m 150.00164,544.35487 0,0 0,-8.84744 4.34022,0 0,0 0,0 c 0.87289,0 1.52755,0.0905 1.98825,0.23521 l 0,0 0,0 c 0.46068,0.16283 0.8244,0.45232 1.09111,0.83225 l 0,0 0,0 c 0.26672,0.39807 0.4122,0.85039 0.4122,1.3389 l 0,0 0,0 c 0,0.63326 -0.24248,1.15795 -0.67891,1.59218 l 0,0 0,0 c -0.4607,0.43423 -1.16387,0.70562 -2.08525,0.81417 l 0,0 0,0 c 0.33945,0.16285 0.60618,0.30758 0.77592,0.45234 l 0,0 0,0 c 0.38793,0.30758 0.7274,0.70561 1.06685,1.17603 l 0,0 1.72154,2.40636 -1.64879,0 -1.28509,-1.84548 0,0 0,0 c -0.38796,-0.52468 -0.70316,-0.94083 -0.94564,-1.21223 l 0,0 0,0 c -0.24247,-0.28949 -0.46068,-0.48851 -0.65467,-0.59707 l 0,0 0,0 c -0.19396,-0.10858 -0.38795,-0.199 -0.58193,-0.23521 l 0,0 0,0 c -0.16973,-0.0362 -0.38795,-0.0362 -0.7274,-0.0362 l 0,0 -1.47908,0 0,3.92617 -1.30933,0 z m 1.30933,-4.93938 0,0 2.76416,0 0,0 0,0 c 0.58193,0 1.04263,-0.0723 1.38208,-0.18092 l 0,0 0,0 c 0.33947,-0.10858 0.60618,-0.28948 0.7759,-0.5247 l 0,0 0,0 c 0.16973,-0.25329 0.24248,-0.5066 0.24248,-0.79608 l 0,0 0,0 c 0,-0.41615 -0.14548,-0.7599 -0.48495,-1.03131 l 0,0 0,0 c -0.33944,-0.27139 -0.87288,-0.39803 -1.60029,-0.39803 l 0,0 -3.07938,0 0,2.93104 z" 90.2066 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2067 + id="614" 90.2068 + inkscape:connector-curvature="0" /> 90.2069 + <path 90.2070 + d="m 164.35586,544.35487 0,0 0,-0.94084 0,0 0,0 c -0.55768,0.72373 -1.30935,1.08559 -2.25496,1.08559 l 0,0 0,0 c -0.41222,0 -0.8244,-0.0723 -1.18812,-0.21711 l 0,0 0,0 c -0.3637,-0.14475 -0.63041,-0.32568 -0.80015,-0.5428 l 0,0 0,0 c -0.16971,-0.21711 -0.29096,-0.4885 -0.3637,-0.81419 l 0,0 0,0 c -0.0485,-0.19902 -0.0727,-0.54278 -0.0727,-1.01321 l 0,0 0,-3.98043 1.18809,0 0,3.5643 0,0 0,0 c 0,0.57899 0.0242,0.95893 0.0727,1.15796 l 0,0 0,0 c 0.0727,0.28949 0.24247,0.5066 0.48495,0.66944 l 0,0 0,0 c 0.24245,0.16283 0.55768,0.2533 0.92137,0.2533 l 0,0 0,0 c 0.36371,0 0.70316,-0.0905 1.01838,-0.2533 l 0,0 0,0 c 0.31521,-0.18093 0.53343,-0.39806 0.67891,-0.68754 l 0,0 0,0 c 0.12125,-0.28949 0.19398,-0.70562 0.19398,-1.24841 l 0,0 0,-3.45575 1.16387,0 0,6.42299 -1.04263,0 z" 90.2071 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2072 + id="615" 90.2073 + inkscape:connector-curvature="0" /> 90.2074 + <path 90.2075 + d="m 167.31398,544.35487 0,0 0,-6.42299 1.06688,0 0,0.92275 0,0 0,0 c 0.53344,-0.70564 1.26085,-1.0675 2.23072,-1.0675 l 0,0 0,0 c 0.41219,0 0.82439,0.0723 1.16386,0.21712 l 0,0 0,0 c 0.3637,0.12669 0.63041,0.32567 0.82438,0.5428 l 0,0 0,0 c 0.16973,0.23519 0.29097,0.4885 0.36372,0.79608 l 0,0 0,0 c 0.0485,0.2171 0.0728,0.56088 0.0728,1.06748 l 0,0 0,3.94426 -1.21237,0 0,-3.90806 0,0 0,0 c 0,-0.43424 -0.0485,-0.75993 -0.14546,-0.99512 l 0,0 0,0 c -0.0728,-0.21712 -0.24249,-0.39804 -0.48495,-0.52469 l 0,0 0,0 c -0.24247,-0.1267 -0.53344,-0.19904 -0.8244,-0.19904 l 0,0 0,0 c -0.50918,0 -0.94563,0.16284 -1.33358,0.45234 l 0,0 0,0 c -0.33947,0.28948 -0.53345,0.85036 -0.53345,1.66455 l 0,0 0,3.51002 -1.1881,0 z" 90.2076 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2077 + id="616" 90.2078 + inkscape:connector-curvature="0" /> 90.2079 + <path 90.2080 + d="m 177.49771,543.39594 0,0 0.16973,0.95893 0,0 0,0 c -0.33945,0.0544 -0.63041,0.0905 -0.89713,0.0905 l 0,0 0,0 c -0.4122,0 -0.75166,-0.0542 -0.99411,-0.18091 l 0,0 0,0 c -0.24249,-0.1267 -0.41222,-0.28949 -0.5092,-0.50661 l 0,0 0,0 c -0.097,-0.19903 -0.14549,-0.61516 -0.14549,-1.2846 l 0,0 0,-3.69097 -0.89713,0 0,-0.85036 0.89713,0 0,-1.57408 1.1881,-0.65135 0,2.22543 1.1881,0 0,0.85036 -1.1881,0 0,3.76335 0,0 0,0 c 0,0.30757 0.0242,0.50659 0.0728,0.59706 l 0,0 0,0 c 0.0242,0.0905 0.097,0.16285 0.16973,0.21711 l 0,0 0,0 c 0.097,0.0362 0.24247,0.0723 0.4122,0.0723 l 0,0 0,0 c 0.14549,0 0.3152,-0.0181 0.53342,-0.0362 z" 90.2081 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2082 + id="617" 90.2083 + inkscape:connector-curvature="0" /> 90.2084 + <path 90.2085 + d="m 178.68582,536.73774 0,-1.23031 1.1881,0 0,1.23031 -1.1881,0 z m 0,7.61713 0,-6.42299 1.1881,0 0,6.42299 -1.1881,0 z" 90.2086 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2087 + id="618" 90.2088 + inkscape:connector-curvature="0" /> 90.2089 + <path 90.2090 + d="m 181.71668,544.35487 0,0 0,-6.42299 1.06688,0 0,0.90464 0,0 0,0 c 0.21822,-0.30758 0.50918,-0.56087 0.89713,-0.75991 l 0,0 0,0 c 0.36372,-0.18093 0.7759,-0.28948 1.26085,-0.28948 l 0,0 0,0 c 0.53343,0 0.94563,0.10858 1.2851,0.30757 l 0,0 0,0 c 0.33945,0.19905 0.58193,0.47044 0.72741,0.81419 l 0,0 0,0 c 0.55767,-0.74179 1.28508,-1.12176 2.15798,-1.12176 l 0,0 0,0 c 0.70315,0 1.26085,0.18095 1.64878,0.5247 l 0,0 0,0 c 0.36371,0.36184 0.55768,0.90464 0.55768,1.64646 l 0,0 0,4.39658 -1.1881,0 0,-4.03473 0,0 0,0 c 0,-0.43421 -0.0485,-0.75991 -0.12123,-0.94083 l 0,0 0,0 c -0.097,-0.19901 -0.21822,-0.34376 -0.43645,-0.47042 l 0,0 0,0 c -0.19398,-0.10858 -0.43645,-0.18093 -0.7274,-0.18093 l 0,0 0,0 c -0.4607,0 -0.87289,0.16284 -1.21234,0.45234 l 0,0 0,0 c -0.33947,0.30756 -0.48495,0.77799 -0.48495,1.44742 l 0,0 0,3.72715 -1.21235,0 0,-4.16136 0,0 0,0 c 0,-0.48852 -0.097,-0.85038 -0.29097,-1.10369 l 0,0 0,0 c -0.19396,-0.23519 -0.53343,-0.36186 -0.96988,-0.36186 l 0,0 0,0 c -0.33945,0 -0.65466,0.0905 -0.94563,0.2533 l 0,0 0,0 c -0.29096,0.16285 -0.48495,0.39805 -0.63043,0.70562 l 0,0 0,0 c -0.12123,0.30758 -0.19397,0.75993 -0.19397,1.3389 l 0,0 0,3.32909 -1.18811,0 z" 90.2091 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2092 + id="619" 90.2093 + inkscape:connector-curvature="0" /> 90.2094 + <path 90.2095 + d="m 197.96217,542.29229 0,0 1.26085,0.14473 0,0 0,0 c -0.21823,0.65135 -0.58193,1.15796 -1.09113,1.51981 l 0,0 0,0 c -0.53343,0.36185 -1.21235,0.54279 -2.03674,0.54279 l 0,0 0,0 c -1.04262,0 -1.84277,-0.28948 -2.4732,-0.86846 l 0,0 0,0 c -0.60616,-0.57898 -0.89713,-1.37507 -0.89713,-2.42447 l 0,0 0,0 c 0,-1.08557 0.29097,-1.91784 0.92138,-2.51491 l 0,0 0,0 c 0.60618,-0.59708 1.38208,-0.90465 2.37621,-0.90465 l 0,0 0,0 c 0.94563,0 1.72153,0.28948 2.32771,0.88654 l 0,0 0,0 c 0.60617,0.579 0.89713,1.41128 0.89713,2.46065 l 0,0 0,0 c 0,0.0723 0,0.16284 0,0.2895 l 0,0 -5.28583,0 0,0 0,0 c 0.0485,0.70562 0.26671,1.24842 0.63043,1.62836 l 0,0 0,0 c 0.41218,0.37994 0.89713,0.56089 1.5033,0.56089 l 0,0 0,0 c 0.43644,0 0.82439,-0.10858 1.13961,-0.30757 l 0,0 0,0 c 0.29097,-0.21713 0.55768,-0.56089 0.72741,-1.01321 z m -3.92802,-1.75503 0,0 3.95227,0 0,0 0,0 c -0.0485,-0.5428 -0.21823,-0.95893 -0.46069,-1.23031 l 0,0 0,0 c -0.38795,-0.41615 -0.8729,-0.61517 -1.50332,-0.61517 l 0,0 0,0 c -0.55768,0 -1.01838,0.16285 -1.38208,0.48852 l 0,0 0,0 c -0.3637,0.34376 -0.55768,0.79607 -0.60618,1.35696 z" 90.2096 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2097 + id="620" 90.2098 + inkscape:connector-curvature="0" /> 90.2099 + </g> 90.2100 + <g 90.2101 + id="g5041" 90.2102 + transform="translate(0.42735043,3)"> 90.2103 + <path 90.2104 + d="m 149.92891,617.28829 0,-8.86554 1.28508,0 0,3.65477 5.09187,0 0,-3.65477 1.30933,0 0,8.86554 -1.30933,0 0,-4.16138 -5.09187,0 0,4.16138 -1.28508,0 z" 90.2105 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2106 + id="621" 90.2107 + inkscape:connector-curvature="0" /> 90.2108 + <path 90.2109 + d="m 164.23462,616.49218 0,0 0,0 c -0.43644,0.34378 -0.87289,0.59709 -1.28509,0.72373 l 0,0 0,0 c -0.4122,0.14475 -0.84863,0.21711 -1.33358,0.21711 l 0,0 0,0 c -0.7759,0 -1.38208,-0.16282 -1.79428,-0.5066 l 0,0 0,0 c -0.4122,-0.34375 -0.63042,-0.79608 -0.63042,-1.33888 l 0,0 0,0 c 0,-0.30759 0.0728,-0.59706 0.24247,-0.85036 l 0,0 0,0 c 0.14548,-0.25329 0.3637,-0.45231 0.60618,-0.61517 l 0,0 0,0 c 0.26672,-0.14473 0.55768,-0.27138 0.87288,-0.36184 l 0,0 0,0 c 0.24248,-0.0544 0.60618,-0.10858 1.06688,-0.16285 l 0,0 0,0 c 0.99412,-0.0905 1.69728,-0.2171 2.15798,-0.36186 l 0,0 0,0 c 0,-0.16284 0,-0.25328 0,-0.28948 l 0,0 0,0 c 0,-0.45231 -0.097,-0.75991 -0.33946,-0.94084 l 0,0 0,0 c -0.29097,-0.2352 -0.75167,-0.36185 -1.35783,-0.36185 l 0,0 0,0 c -0.58194,0 -0.99414,0.0905 -1.26085,0.2714 l 0,0 0,0 c -0.26672,0.18091 -0.48493,0.48849 -0.60617,0.94082 l 0,0 -1.18811,-0.14474 0,0 0,0 c 0.12123,-0.45232 0.29097,-0.81416 0.53345,-1.10367 l 0,0 0,0 c 0.24246,-0.27138 0.60616,-0.48851 1.06686,-0.65133 l 0,0 0,0 c 0.46068,-0.14476 1.01838,-0.21713 1.62455,-0.21713 l 0,0 0,0 c 0.60616,0 1.09111,0.0723 1.47906,0.19902 l 0,0 0,0 c 0.38795,0.1267 0.63043,0.28949 0.80015,0.48851 l 0,0 0,0 c 0.19397,0.18093 0.31521,0.43423 0.38795,0.7418 l 0,0 0,0 c 0.0485,0.18095 0.0485,0.50663 0.0485,0.99513 l 0,0 0,1.44743 0,0 0,0 c 0,0.99513 0.0242,1.64646 0.097,1.89977 l 0,0 0,0 c 0.0485,0.27137 0.14548,0.54277 0.29097,0.77799 l 0,0 -1.2366,0 0,0 0,0 c -0.12123,-0.21711 -0.19398,-0.4885 -0.24247,-0.79611 z m -0.097,-2.40635 0,0 0,0 c -0.43645,0.16284 -1.09113,0.28949 -1.96401,0.41613 l 0,0 0,0 c -0.5092,0.0544 -0.84865,0.10858 -1.06687,0.19902 l 0,0 0,0 c -0.19398,0.0723 -0.36369,0.19905 -0.46069,0.34378 l 0,0 0,0 c -0.12124,0.16283 -0.16972,0.32568 -0.16972,0.5247 l 0,0 0,0 c 0,0.28949 0.12123,0.52469 0.3637,0.72373 l 0,0 0,0 c 0.24247,0.19899 0.60616,0.28948 1.06686,0.28948 l 0,0 0,0 c 0.46069,0 0.8729,-0.0905 1.2366,-0.2714 l 0,0 0,0 c 0.3637,-0.18093 0.63042,-0.43423 0.80015,-0.7599 l 0,0 0,0 c 0.12123,-0.23521 0.19398,-0.61517 0.19398,-1.06748 l 0,-0.39806 z" 90.2110 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2111 + id="622" 90.2112 + inkscape:connector-curvature="0" /> 90.2113 + <path 90.2114 + d="m 167.19275,617.28829 0,0 0,-6.40489 1.09111,0 0,0.977 0,0 0,0 c 0.26672,-0.45232 0.53344,-0.7599 0.75167,-0.90463 l 0,0 0,0 c 0.21822,-0.14476 0.48493,-0.21713 0.75165,-0.21713 l 0,0 0,0 c 0.4122,0 0.80015,0.10858 1.23659,0.34375 l 0,0 -0.43644,1.01321 0,0 0,0 c -0.2667,-0.16282 -0.55769,-0.2352 -0.84864,-0.2352 l 0,0 0,0 c -0.26671,0 -0.50919,0.0723 -0.70316,0.21712 l 0,0 0,0 c -0.19398,0.14474 -0.33947,0.34377 -0.43645,0.59708 l 0,0 0,0 c -0.12123,0.37995 -0.19398,0.81416 -0.19398,1.2665 l 0,0 0,3.34719 -1.21235,0 z" 90.2115 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2116 + id="623" 90.2117 + inkscape:connector-curvature="0" /> 90.2118 + <path 90.2119 + d="m 176.35811,617.28829 0,0 0,-0.81419 0,0 0,0 c -0.46068,0.65135 -1.11536,0.95892 -1.98824,0.95892 l 0,0 0,0 c -0.55769,0 -1.09112,-0.14473 -1.57607,-0.41613 l 0,0 0,0 c -0.46068,-0.28949 -0.82439,-0.68753 -1.09111,-1.19414 l 0,0 0,0 c -0.26672,-0.50659 -0.38795,-1.08557 -0.38795,-1.71883 l 0,0 0,0 c 0,-0.65133 0.12123,-1.2303 0.33947,-1.755 l 0,0 0,0 c 0.24246,-0.5066 0.60616,-0.92275 1.06684,-1.19416 l 0,0 0,0 c 0.48495,-0.27136 1.01838,-0.41612 1.60032,-0.41612 l 0,0 0,0 c 0.41219,0 0.80014,0.0723 1.13959,0.23521 l 0,0 0,0 c 0.33947,0.18091 0.60618,0.37996 0.8244,0.65134 l 0,0 0,-3.20244 1.16386,0 0,8.86554 -1.09111,0 z m -3.80677,-3.18437 0,0 0,0 c 0,0.79611 0.19396,1.41125 0.58193,1.8274 l 0,0 0,0 c 0.3637,0.39804 0.8244,0.61515 1.35783,0.61515 l 0,0 0,0 c 0.50918,0 0.96986,-0.19902 1.33358,-0.59706 l 0,0 0,0 c 0.3637,-0.37995 0.55768,-0.97701 0.55768,-1.75503 l 0,0 0,0 c 0,-0.88655 -0.19398,-1.51978 -0.55768,-1.93593 l 0,0 0,0 c -0.38795,-0.41613 -0.84865,-0.61516 -1.40631,-0.61516 l 0,0 0,0 c -0.53345,0 -0.9699,0.19903 -1.3336,0.59707 l 0,0 0,0 c -0.36372,0.37995 -0.53343,1.01321 -0.53343,1.86356 z" 90.2120 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2121 + id="624" 90.2122 + inkscape:connector-curvature="0" /> 90.2123 + <path 90.2124 + d="m 180.67408,617.28829 0,0 -2.18222,-6.40489 1.23658,0 1.13961,3.70905 0.4122,1.35696 0,0 0,0 c 0.0242,-0.0723 0.14548,-0.50661 0.38795,-1.32079 l 0,0 1.09111,-3.74522 1.2366,0 1.06686,3.72713 0.36372,1.21222 0.41218,-1.2303 1.21236,-3.70905 1.1881,0 -2.23073,6.40489 -1.26083,0 -1.13961,-3.8357 -0.26672,-1.08558 -1.40633,4.92128 -1.26083,0 z" 90.2125 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2126 + id="625" 90.2127 + inkscape:connector-curvature="0" /> 90.2128 + <path 90.2129 + d="m 193.86443,616.49218 0,0 0,0 c -0.43644,0.34378 -0.87289,0.59709 -1.28509,0.72373 l 0,0 0,0 c -0.4122,0.14475 -0.87288,0.21711 -1.33358,0.21711 l 0,0 0,0 c -0.7759,0 -1.38208,-0.16282 -1.79428,-0.5066 l 0,0 0,0 c -0.43645,-0.34375 -0.63042,-0.79608 -0.63042,-1.33888 l 0,0 0,0 c 0,-0.30759 0.0727,-0.59706 0.21822,-0.85036 l 0,0 0,0 c 0.16973,-0.25329 0.38795,-0.45231 0.63043,-0.61517 l 0,0 0,0 c 0.2667,-0.14473 0.55767,-0.27138 0.87288,-0.36184 l 0,0 0,0 c 0.24247,-0.0544 0.58193,-0.10858 1.06687,-0.16285 l 0,0 0,0 c 0.96988,-0.0905 1.69729,-0.2171 2.15799,-0.36186 l 0,0 0,0 c 0,-0.16284 0,-0.25328 0,-0.28948 l 0,0 0,0 c 0,-0.45231 -0.12125,-0.75991 -0.33946,-0.94084 l 0,0 0,0 c -0.31522,-0.2352 -0.7759,-0.36185 -1.38208,-0.36185 l 0,0 0,0 c -0.55769,0 -0.96989,0.0905 -1.2366,0.2714 l 0,0 0,0 c -0.29097,0.18091 -0.48493,0.48849 -0.60617,0.94082 l 0,0 -1.18811,-0.14474 0,0 0,0 c 0.12123,-0.45232 0.29097,-0.81416 0.53343,-1.10367 l 0,0 0,0 c 0.24248,-0.27138 0.60618,-0.48851 1.06687,-0.65133 l 0,0 0,0 c 0.46069,-0.14476 0.99413,-0.21713 1.62456,-0.21713 l 0,0 0,0 c 0.60616,0 1.09111,0.0723 1.47906,0.19902 l 0,0 0,0 c 0.3637,0.1267 0.65467,0.28949 0.80015,0.48851 l 0,0 0,0 c 0.19397,0.18093 0.3152,0.43423 0.38795,0.7418 l 0,0 0,0 c 0.0242,0.18095 0.0485,0.50663 0.0485,0.99513 l 0,0 0,1.44743 0,0 0,0 c 0,0.99513 0.0242,1.64646 0.0727,1.89977 l 0,0 0,0 c 0.0485,0.27137 0.16973,0.54277 0.31522,0.77799 l 0,0 -1.2366,0 0,0 0,0 c -0.12123,-0.21711 -0.21822,-0.4885 -0.24247,-0.79611 z m -0.097,-2.40635 0,0 0,0 c -0.43645,0.16284 -1.09113,0.28949 -1.96401,0.41613 l 0,0 0,0 c -0.5092,0.0544 -0.84865,0.10858 -1.06688,0.19902 l 0,0 0,0 c -0.19397,0.0723 -0.36368,0.19905 -0.46068,0.34378 l 0,0 0,0 c -0.12124,0.16283 -0.16974,0.32568 -0.16974,0.5247 l 0,0 0,0 c 0,0.28949 0.12124,0.52469 0.36372,0.72373 l 0,0 0,0 c 0.24247,0.19899 0.60616,0.28948 1.06686,0.28948 l 0,0 0,0 c 0.46069,0 0.8729,-0.0905 1.23658,-0.2714 l 0,0 0,0 c 0.36372,-0.18093 0.63044,-0.43423 0.80017,-0.7599 l 0,0 0,0 c 0.12123,-0.23521 0.19398,-0.61517 0.19398,-1.06748 l 0,-0.39806 z" 90.2130 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2131 + id="626" 90.2132 + inkscape:connector-curvature="0" /> 90.2133 + <path 90.2134 + d="m 196.82256,617.28829 0,0 0,-6.40489 1.09111,0 0,0.977 0,0 0,0 c 0.26672,-0.45232 0.53344,-0.7599 0.75167,-0.90463 l 0,0 0,0 c 0.24247,-0.14476 0.50918,-0.21713 0.7759,-0.21713 l 0,0 0,0 c 0.4122,0 0.8244,0.10858 1.21234,0.34375 l 0,0 -0.38794,1.01321 0,0 0,0 c -0.29097,-0.16282 -0.58194,-0.2352 -0.8729,-0.2352 l 0,0 0,0 c -0.26672,0 -0.50918,0.0723 -0.7274,0.21712 l 0,0 0,0 c -0.19398,0.14474 -0.33947,0.34377 -0.43645,0.59708 l 0,0 0,0 c -0.14548,0.37995 -0.19398,0.81416 -0.19398,1.2665 l 0,0 0,3.34719 -1.21235,0 z" 90.2135 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2136 + id="627" 90.2137 + inkscape:connector-curvature="0" /> 90.2138 + <path 90.2139 + d="m 206.25464,615.22569 0,0 1.23659,0.1267 0,0 0,0 c -0.19398,0.66943 -0.55768,1.17603 -1.06686,1.5379 l 0,0 0,0 c -0.53345,0.36186 -1.21236,0.54277 -2.03674,0.54277 l 0,0 0,0 c -1.04264,0 -1.86703,-0.28948 -2.4732,-0.86844 l 0,0 0,0 c -0.63043,-0.57897 -0.9214,-1.39316 -0.9214,-2.40637 l 0,0 0,0 c 0,-1.08558 0.31522,-1.93595 0.9214,-2.53301 l 0,0 0,0 c 0.60617,-0.59707 1.40631,-0.88656 2.40045,-0.88656 l 0,0 0,0 c 0.94563,0 1.72152,0.28949 2.30346,0.86846 l 0,0 0,0 c 0.60618,0.59706 0.89714,1.41125 0.89714,2.47873 l 0,0 0,0 c 0,0.0544 0,0.16284 0,0.28949 l 0,0 -5.28585,0 0,0 0,0 c 0.0485,0.68754 0.26672,1.23034 0.67893,1.61029 l 0,0 0,0 c 0.38793,0.36184 0.87288,0.56086 1.47907,0.56086 l 0,0 0,0 c 0.43643,0 0.82438,-0.10858 1.13959,-0.32565 l 0,0 0,0 c 0.31522,-0.19904 0.55768,-0.5428 0.72742,-0.99513 z m -3.95226,-1.75501 0,0 3.97651,0 0,0 0,0 c -0.0485,-0.5247 -0.21824,-0.94084 -0.4607,-1.21223 l 0,0 0,0 c -0.38795,-0.41613 -0.87288,-0.63326 -1.50331,-0.63326 l 0,0 0,0 c -0.53344,0 -1.01837,0.18093 -1.38208,0.50661 l 0,0 0,0 c -0.38795,0.34375 -0.58194,0.77799 -0.63042,1.33888 z" 90.2140 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2141 + id="628" 90.2142 + inkscape:connector-curvature="0" /> 90.2143 + </g> 90.2144 + <path 90.2145 + d="m 275.43127,419.35698 0,0 0,0 c 0,-0.85037 0.19396,-1.51981 0.58193,-2.09878 l 0,0 0,0 c 0.38795,-0.56087 0.89713,-0.85037 1.5518,-0.85037 l 0,0 0,0 c 0.72741,0 1.28509,0.27139 1.67304,0.79609 l 0,0 0,0 c 0.4122,0.50661 0.60617,1.21222 0.60617,2.15306 l 0,0 0,0 c 0,0.94083 -0.19397,1.70073 -0.60617,2.24353 l 0,0 0,0 c -0.38795,0.52468 -0.94563,0.79608 -1.67304,0.79608 l 0,0 0,0 c -0.65467,0 -1.1881,-0.2714 -1.57605,-0.85037 l 0,0 0,0 c -0.36372,-0.56088 -0.55768,-1.30267 -0.55768,-2.18924 z m 0.75165,0 0,0 0,0 c 0,0.66943 0.12123,1.21223 0.36369,1.66456 l 0,0 0,0 c 0.24249,0.45231 0.58194,0.66943 1.01839,0.66943 l 0,0 0,0 c 0.50918,0 0.87289,-0.19902 1.11536,-0.61516 l 0,0 0,0 c 0.26672,-0.41614 0.38795,-0.97702 0.38795,-1.71883 l 0,0 0,0 c 0,-1.48362 -0.50918,-2.22544 -1.50331,-2.22544 l 0,0 0,0 c -0.43645,0 -0.7759,0.19903 -1.01839,0.59707 l 0,0 0,0 c -0.24246,0.39804 -0.36369,0.94084 -0.36369,1.62837 z" 90.2146 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2147 + id="path4926" 90.2148 + inkscape:connector-curvature="0" /> 90.2149 + <path 90.2150 + d="m 281.32327,422.07092 0,0 0,1.89976 -0.70317,0 0,-5.8983 0.70317,0 0,0.34376 0,0 0,0 C 281.56575,418.14474 281.88095,418 282.26892,418 l 0,0 0,0 c 0.53343,0 0.96988,0.18094 1.28508,0.5428 l 0,0 0,0 c 0.31521,0.37996 0.4607,0.92273 0.4607,1.64646 l 0,0 0,0 c 0,0.65135 -0.14549,1.17603 -0.4607,1.57407 l 0,0 0,0 c -0.3152,0.41615 -0.7759,0.61517 -1.35783,0.61517 l 0,0 0,0 c -0.16974,0 -0.33945,-0.0181 -0.53343,-0.0905 l 0,0 0,0 c -0.16974,-0.0542 -0.29097,-0.14476 -0.33947,-0.21712 z m 0,-3.09389 0,0 0,2.47872 0,0 0,0 c 0.0242,0.0723 0.12125,0.12669 0.26673,0.19903 l 0,0 0,0 c 0.14549,0.0542 0.26672,0.0905 0.41218,0.0905 l 0,0 0,0 c 0.84865,0 1.2851,-0.52471 1.2851,-1.5741 l 0,0 0,0 c 0,-0.54278 -0.097,-0.94084 -0.3152,-1.17603 l 0,0 0,0 c -0.19398,-0.25331 -0.5092,-0.37995 -0.9699,-0.37995 l 0,0 0,0 c -0.097,0 -0.21821,0.0361 -0.36369,0.10858 l 0,0 0,0 c -0.12124,0.0723 -0.24247,0.16284 -0.31522,0.25332 z" 90.2151 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2152 + id="path4928" 90.2153 + inkscape:connector-curvature="0" /> 90.2154 + <path 90.2155 + d="m 287.9912,420.26163 0,0 -2.81264,0 0,0 0,0 c 0,0.4885 0.14547,0.86847 0.38793,1.13986 l 0,0 0,0 c 0.21824,0.23519 0.5092,0.34376 0.84865,0.34376 l 0,0 0,0 c 0.38795,0 0.72742,-0.12669 0.99413,-0.37996 l 0,0 0.29097,0.5428 0,0 0,0 c -0.12124,0.1267 -0.26672,0.2171 -0.50918,0.30759 l 0,0 0,0 c -0.26674,0.10857 -0.58194,0.16282 -0.9214,0.16282 l 0,0 0,0 c -0.48493,0 -0.89713,-0.18093 -1.2366,-0.5428 l 0,0 0,0 c -0.3637,-0.39803 -0.55766,-0.92272 -0.55766,-1.61027 l 0,0 0,0 c 0,-0.68753 0.19396,-1.2484 0.58191,-1.68263 l 0,0 0,0 c 0.33947,-0.36186 0.75167,-0.5428 1.2366,-0.5428 l 0,0 0,0 c 0.55768,0 0.99413,0.16285 1.30933,0.48852 l 0,0 0,0 c 0.29098,0.32566 0.43645,0.7599 0.43645,1.30269 l 0,0 0,0 c 0,0.18093 0,0.32569 -0.0485,0.47042 z m -1.67304,-1.64645 0,0 0,0 c -0.31522,0 -0.55768,0.10857 -0.77592,0.32566 l 0,0 0,0 c -0.19396,0.19902 -0.3152,0.47043 -0.33945,0.75991 l 0,0 2.15798,0 0,0 0,0 c 0,-0.28948 -0.097,-0.5428 -0.26671,-0.75991 l 0,0 0,0 c -0.19397,-0.21713 -0.43644,-0.32566 -0.7759,-0.32566 z" 90.2156 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2157 + id="path4930" 90.2158 + inkscape:connector-curvature="0" /> 90.2159 + <path 90.2160 + d="m 291.14331,422.30613 0,0 0,-2.46065 0,0 0,0 c 0,-0.45231 -0.0727,-0.77799 -0.19398,-0.95893 l 0,0 0,0 c -0.12123,-0.18093 -0.3152,-0.27137 -0.63043,-0.27137 l 0,0 0,0 c -0.14547,0 -0.29095,0.0542 -0.46068,0.16282 l 0,0 0,0 c -0.16974,0.0905 -0.29097,0.21713 -0.38795,0.37995 l 0,0 0,3.14818 -0.70317,0 0,-4.23375 0.48495,0 0.21822,0.5428 0,0 0,0 C 289.68848,418.21711 290.02795,418 290.56138,418 l 0,0 0,0 c 0.84865,0 1.28508,0.5428 1.28508,1.68266 l 0,0 0,2.62347 -0.70315,0 z" 90.2161 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2162 + id="path4932" 90.2163 + inkscape:connector-curvature="0" /> 90.2164 + <path 90.2165 + d="m 296.8656,422.30613 -0.63042,-3.72715 -1.13963,3.79952 -0.19396,0 -1.1881,-3.79952 -0.63043,3.72715 -0.67892,0 0.99413,-5.78975 0.33945,0 1.26085,4.21565 1.13961,-4.21565 0.33945,0 1.06688,5.78975 -0.67891,0 z" 90.2166 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2167 + id="path4934" 90.2168 + inkscape:connector-curvature="0" /> 90.2169 + <path 90.2170 + d="m 298.85384,420.06261 0,0 0,2.24352 -0.72741,0 0,-5.78975 0,0 0,0 c 0.55768,-0.0181 0.8729,-0.0362 0.99413,-0.0362 l 0,0 0,0 c 1.55181,0 2.32771,0.56087 2.32771,1.68264 l 0,0 0,0 c 0,1.30269 -0.67891,1.95405 -2.06099,1.95405 l 0,0 0,0 c -0.0727,0 -0.26672,-0.0181 -0.53344,-0.0544 z m 0,-2.82251 0,0 0,2.11688 0,0 0,0 c 0.31522,0.0181 0.46069,0.0362 0.48494,0.0362 l 0,0 0,0 c 0.89714,0 1.35783,-0.37996 1.35783,-1.13986 l 0,0 0,0 c 0,-0.70562 -0.48494,-1.06748 -1.45482,-1.06748 l 0,0 0,0 c -0.097,0 -0.21821,0.0181 -0.38795,0.0542 z" 90.2171 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2172 + id="path4936" 90.2173 + inkscape:connector-curvature="0" /> 90.2174 + <path 90.2175 + d="m 303.94571,419.50173 1.26085,0 0,0.56088 -1.26085,0 0,1.37506 -0.53344,0 0,-1.37506 -1.26083,0 0,-0.56088 1.26083,0 0,-1.33888 0.53344,0 0,1.33888 z" 90.2176 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2177 + id="path4938" 90.2178 + inkscape:connector-curvature="0" /> 90.2179 + <path 90.2180 + d="m 306.90384,420.06261 0,0 0,2.24352 -0.72741,0 0,-5.78975 0,0 0,0 c 0.53344,-0.0181 0.87289,-0.0362 0.99413,-0.0362 l 0,0 0,0 c 1.52756,0 2.27922,0.56087 2.27922,1.68264 l 0,0 0,0 c 0,1.30269 -0.67893,1.95405 -2.01251,1.95405 l 0,0 0,0 c -0.0727,0 -0.26671,-0.0181 -0.53343,-0.0544 z m 0,-2.82251 0,0 0,2.11688 0,0 0,0 c 0.29097,0.0181 0.4607,0.0362 0.48495,0.0362 l 0,0 0,0 c 0.87288,0 1.33358,-0.37996 1.33358,-1.13986 l 0,0 0,0 c 0,-0.70562 -0.48495,-1.06748 -1.43058,-1.06748 l 0,0 0,0 c -0.097,0 -0.21822,0.0181 -0.38795,0.0542 z" 90.2181 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2182 + id="path4940" 90.2183 + inkscape:connector-curvature="0" /> 90.2184 + <path 90.2185 + d="m 389.41631,423.27483 -0.63042,-3.70906 -1.16386,3.79952 -0.16973,0 -1.21234,-3.79952 -0.60618,3.70906 -0.67892,0 0.99413,-5.77164 0.31521,0 1.26084,4.21564 1.1881,-4.21564 0.31521,0 1.09112,5.77164 -0.70316,0 z" 90.2186 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2187 + id="path4942" 90.2188 + inkscape:connector-curvature="0" /> 90.2189 + <path 90.2190 + d="m 391.4288,421.0494 0,0 0,2.22543 -0.7274,0 0,-5.77164 0,0 0,0 c 0.53344,-0.0362 0.87289,-0.0362 0.96988,-0.0362 l 0,0 0,0 c 1.52756,0 2.30346,0.56089 2.30346,1.68266 l 0,0 0,0 c 0,1.2846 -0.67892,1.93595 -2.03675,1.93595 l 0,0 0,0 c -0.097,0 -0.26671,-0.0181 -0.50919,-0.0362 z m 0,-2.8406 0,0 0,2.13498 0,0 0,0 c 0.26673,0.0181 0.43645,0.0362 0.4607,0.0362 l 0,0 0,0 c 0.89713,0 1.33358,-0.37996 1.33358,-1.13986 l 0,0 0,0 c 0,-0.72371 -0.46068,-1.06746 -1.43057,-1.06746 l 0,0 0,0 c -0.097,0 -0.21822,0.0181 -0.36371,0.0362 z" 90.2191 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2192 + id="path4944" 90.2193 + inkscape:connector-curvature="0" /> 90.2194 + <path 90.2195 + d="m 394.94462,423.27483 0,-5.77164 0.7274,0 0,5.77164 -0.7274,0 z" 90.2196 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2197 + id="path4946" 90.2198 + inkscape:connector-curvature="0" /> 90.2199 + <path 90.2200 + d="m 398.55741,420.48852 1.26085,0 0,0.56088 -1.26085,0 0,1.35697 -0.50918,0 0,-1.35697 -1.23659,0 0,-0.56088 1.23659,0 0,-1.33888 0.50918,0 0,1.33888 z" 90.2201 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2202 + id="path4948" 90.2203 + inkscape:connector-curvature="0" /> 90.2204 + <path 90.2205 + d="m 401.4913,421.0494 0,0 0,2.22543 -0.72741,0 0,-5.77164 0,0 0,0 c 0.55768,-0.0362 0.87289,-0.0362 0.99413,-0.0362 l 0,0 0,0 c 1.5518,0 2.30346,0.56089 2.30346,1.68266 l 0,0 0,0 c 0,1.2846 -0.65467,1.93595 -2.03674,1.93595 l 0,0 0,0 c -0.0727,0 -0.26672,-0.0181 -0.53344,-0.0362 z m 0,-2.8406 0,0 0,2.13498 0,0 0,0 c 0.31521,0.0181 0.46069,0.0362 0.48494,0.0362 l 0,0 0,0 c 0.89714,0 1.35783,-0.37996 1.35783,-1.13986 l 0,0 0,0 c 0,-0.72371 -0.48494,-1.06746 -1.45481,-1.06746 l 0,0 0,0 c -0.097,0 -0.21823,0.0181 -0.38796,0.0362 z" 90.2206 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2207 + id="path4950" 90.2208 + inkscape:connector-curvature="0" /> 90.2209 + <path 90.2210 + d="m 482.03976,423.36529 -2.73991,-4.23375 0,4.14329 -0.67891,0 0,-5.77164 0.29097,0 2.64291,3.98045 0,-3.98045 0.70317,0 0,5.8621 -0.21823,0 z" 90.2211 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2212 + id="path4952" 90.2213 + inkscape:connector-curvature="0" /> 90.2214 + <path 90.2215 + d="m 486.57395,421.23032 0,0 -2.81265,0 0,0 0,0 c 0,0.5066 0.12123,0.88658 0.3637,1.15796 l 0,0 0,0 c 0.21823,0.21711 0.50919,0.34375 0.84865,0.34375 l 0,0 0,0 c 0.41219,0 0.72741,-0.12669 0.99412,-0.37994 l 0,0 0.29097,0.5428 0,0 0,0 c -0.097,0.10857 -0.26672,0.21709 -0.48494,0.30758 l 0,0 0,0 c -0.26672,0.10857 -0.58192,0.16282 -0.92138,0.16282 l 0,0 0,0 c -0.48495,0 -0.89714,-0.18093 -1.26085,-0.5428 l 0,0 0,0 c -0.3637,-0.39803 -0.55768,-0.94081 -0.55768,-1.61025 l 0,0 0,0 c 0,-0.70563 0.19398,-1.24841 0.58193,-1.66456 l 0,0 0,0 c 0.33946,-0.37995 0.7759,-0.56088 1.2366,-0.56088 l 0,0 0,0 c 0.55767,0 0.99412,0.16284 1.30933,0.50661 l 0,0 0,0 c 0.31521,0.32566 0.46069,0.7599 0.46069,1.28459 l 0,0 0,0 c 0,0.16284 -0.0242,0.32569 -0.0485,0.45232 z m -1.67305,-1.61027 0,0 0,0 c -0.3152,0 -0.58192,0.10857 -0.7759,0.32567 l 0,0 0,0 c -0.21822,0.19902 -0.3152,0.43424 -0.33945,0.74182 l 0,0 2.15798,0 0,0 0,0 c 0,-0.30758 -0.097,-0.5428 -0.26672,-0.74182 l 0,0 0,0 c -0.19397,-0.21711 -0.4607,-0.32567 -0.77591,-0.32567 z" 90.2216 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2217 + id="path4954" 90.2218 + inkscape:connector-curvature="0" /> 90.2219 + <path 90.2220 + d="m 490.91416,423.36529 -0.16973,0 -1.13961,-2.89486 -1.13961,2.89486 -0.19398,0 -1.35783,-4.32421 0.70317,0 0.82439,2.76823 1.04262,-2.76823 0.19398,0 1.06687,2.76823 0.89714,-2.76823 0.67892,0 -1.40633,4.32421 z" 90.2221 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2222 + id="path4956" 90.2223 + inkscape:connector-curvature="0" /> 90.2224 + <path 90.2225 + d="m 492.90241,423.27483 0,-5.77164 0.70316,0 0,5.06602 2.4247,0 0,0.70562 -3.12786,0 z" 90.2226 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2227 + id="path4958" 90.2228 + inkscape:connector-curvature="0" /> 90.2229 + <path 90.2230 + d="m 498.79443,422.8044 0,0 0,0 c -0.26672,0.36187 -0.70316,0.56089 -1.26085,0.56089 l 0,0 0,0 c -0.31521,0 -0.58193,-0.12669 -0.80014,-0.36184 l 0,0 0,0 c -0.21823,-0.25332 -0.33946,-0.5428 -0.33946,-0.90466 l 0,0 0,0 c 0,-0.43424 0.16973,-0.79609 0.53343,-1.08559 l 0,0 0,0 c 0.33946,-0.30758 0.7759,-0.45231 1.30934,-0.45231 l 0,0 0,0 c 0.14548,0 0.31521,0.0361 0.48494,0.10857 l 0,0 0,0 c 0,-0.66945 -0.26672,-1.0132 -0.8244,-1.0132 l 0,0 0,0 c -0.43645,0 -0.77591,0.12669 -0.99413,0.37995 l 0,0 -0.29097,-0.63326 0,0 0,0 c 0.12125,-0.10858 0.29097,-0.21711 0.53344,-0.30758 l 0,0 0,0 c 0.24247,-0.0723 0.4607,-0.10858 0.65467,-0.10858 l 0,0 0,0 c 0.58193,0 0.99413,0.12669 1.23659,0.41613 l 0,0 0,0 c 0.24248,0.2714 0.36371,0.72372 0.36371,1.32078 l 0,0 0,1.51984 0,0 0,0 c 0,0.36184 0.097,0.61513 0.31521,0.74179 l 0,0 0,0.37995 0,0 0,0 c -0.29096,0 -0.50919,-0.0542 -0.63042,-0.14475 l 0,0 0,0 c -0.12123,-0.0723 -0.21822,-0.2171 -0.29096,-0.41614 z m -0.0727,-1.61025 0,0 0,0 c -0.21823,-0.0544 -0.36371,-0.0723 -0.43645,-0.0723 l 0,0 0,0 c -0.3637,0 -0.65467,0.0905 -0.87289,0.2895 l 0,0 0,0 c -0.21822,0.199 -0.31521,0.43421 -0.31521,0.68752 l 0,0 0,0 c 0,0.45232 0.24247,0.66944 0.70316,0.66944 l 0,0 0,0 c 0.3637,0 0.65467,-0.18093 0.92139,-0.5428 l 0,-1.03128 z" 90.2231 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2232 + id="path4960" 90.2233 + inkscape:connector-curvature="0" /> 90.2234 + <path 90.2235 + d="m 502.89216,423.27483 0,0 0,-2.46065 0,0 0,0 c 0,-0.45231 -0.0727,-0.7418 -0.19397,-0.92272 l 0,0 0,0 c -0.12124,-0.18093 -0.33946,-0.27141 -0.63042,-0.27141 l 0,0 0,0 c -0.16973,0 -0.31521,0.0362 -0.48494,0.14476 l 0,0 0,0 c -0.19398,0.10857 -0.31521,0.23519 -0.4122,0.37993 l 0,0 0,3.13009 -0.67891,0 0,-4.21566 0.46069,0 0.21822,0.5428 0,0 0,0 c 0.24247,-0.41615 0.60617,-0.61517 1.11536,-0.61517 l 0,0 0,0 c 0.84864,0 1.28509,0.56088 1.28509,1.66455 l 0,0 0,2.62348 -0.67892,0 z" 90.2236 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2237 + id="path4962" 90.2238 + inkscape:connector-curvature="0" /> 90.2239 + <path 90.2240 + d="m 504.41972,424.45086 0,0 0.36371,-0.61516 0,0 0,0 c 0.38795,0.30758 0.75166,0.45234 1.09111,0.45234 l 0,0 0,0 c 0.31521,0 0.55769,-0.0723 0.75166,-0.18093 l 0,0 0,0 c 0.16972,-0.12669 0.26672,-0.27141 0.26672,-0.43424 l 0,0 0,0 c 0,-0.34375 -0.24248,-0.52469 -0.67892,-0.52469 l 0,0 0,0 c -0.097,0 -0.21822,0.0181 -0.43645,0.0723 l 0,0 0,0 c -0.19397,0.0362 -0.3637,0.0544 -0.46069,0.0544 l 0,0 0,0 c -0.53343,0 -0.82439,-0.21713 -0.82439,-0.66945 l 0,0 0,0 c 0,-0.14474 0.0727,-0.2714 0.19397,-0.37996 l 0,0 0,0 c 0.14548,-0.12669 0.29096,-0.19902 0.46069,-0.25329 l 0,0 0,0 c -0.50918,-0.27139 -0.80014,-0.7599 -0.80014,-1.46553 l 0,0 0,0 c 0,-0.41613 0.14548,-0.79608 0.43644,-1.08557 l 0,0 0,0 c 0.26672,-0.2895 0.60618,-0.43424 1.01837,-0.43424 l 0,0 0,0 c 0.38795,0 0.67892,0.0723 0.89714,0.2533 l 0,0 0.36371,-0.45233 0.43644,0.45233 -0.4122,0.34378 0,0 0,0 c 0.16973,0.25329 0.26672,0.57897 0.26672,0.97701 l 0,0 0,0 c 0,0.41615 -0.12123,0.77799 -0.36371,1.06748 l 0,0 0,0 c -0.24246,0.28948 -0.58192,0.45233 -0.96987,0.5066 l 0,0 -0.55769,0.0544 0,0 0,0 c -0.0727,0.0181 -0.16973,0.0361 -0.29096,0.0905 l 0,0 0,0 c -0.097,0.0542 -0.14548,0.10857 -0.14548,0.19902 l 0,0 0,0 c 0,0.10857 0.097,0.16284 0.33946,0.16284 l 0,0 0,0 c 0.097,0 0.26671,-0.0362 0.48494,-0.0723 l 0,0 0,0 c 0.21822,-0.0362 0.38795,-0.0544 0.48493,-0.0544 l 0,0 0,0 c 0.38796,0 0.67892,0.0905 0.89715,0.28948 l 0,0 0,0 c 0.21822,0.19905 0.3152,0.48852 0.3152,0.83228 l 0,0 0,0 c 0,0.39806 -0.14548,0.70565 -0.46069,0.94084 l 0,0 0,0 c -0.33945,0.25331 -0.72741,0.36187 -1.23659,0.36187 l 0,0 0,0 c -0.24248,0 -0.50919,-0.0362 -0.7759,-0.14475 l 0,0 0,0 c -0.26673,-0.0905 -0.48495,-0.21712 -0.65468,-0.34378 z m 1.43058,-4.86698 0,0 0,0 c -0.24248,0 -0.43645,0.0905 -0.58193,0.27138 l 0,0 0,0 c -0.14549,0.19902 -0.21822,0.41614 -0.21822,0.66943 l 0,0 0,0 c 0,0.28949 0.0727,0.5428 0.21822,0.72373 l 0,0 0,0 c 0.14548,0.19902 0.33945,0.28948 0.58193,0.28948 l 0,0 0,0 c 0.24247,0 0.43644,-0.0905 0.58193,-0.27139 l 0,0 0,0 c 0.14548,-0.19902 0.19397,-0.43424 0.19397,-0.74182 l 0,0 0,0 c 0,-0.25329 -0.0727,-0.47041 -0.21822,-0.66943 l 0,0 0,0 c -0.14548,-0.18092 -0.33946,-0.27138 -0.55768,-0.27138 z" 90.2241 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2242 + id="path4964" 90.2243 + inkscape:connector-curvature="0" /> 90.2244 + <path 90.2245 + d="m 509.99653,420.48852 1.23659,0 0,0.56088 -1.23659,0 0,1.35697 -0.50918,0 0,-1.35697 -1.26085,0 0,-0.56088 1.26085,0 0,-1.33888 0.50918,0 0,1.33888 z" 90.2246 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2247 + id="path4966" 90.2248 + inkscape:connector-curvature="0" /> 90.2249 + <path 90.2250 + d="m 512.93041,421.0494 0,0 0,2.22543 -0.7274,0 0,-5.77164 0,0 0,0 c 0.55767,-0.0362 0.89713,-0.0362 0.99412,-0.0362 l 0,0 0,0 c 1.55181,0 2.32771,0.56089 2.32771,1.68266 l 0,0 0,0 c 0,1.2846 -0.67892,1.93595 -2.06099,1.93595 l 0,0 0,0 c -0.0727,0 -0.24247,-0.0181 -0.53344,-0.0362 z m 0,-2.8406 0,0 0,2.13498 0,0 0,0 c 0.31521,0.0181 0.48494,0.0362 0.48494,0.0362 l 0,0 0,0 c 0.89714,0 1.35783,-0.37996 1.35783,-1.13986 l 0,0 0,0 c 0,-0.72371 -0.48494,-1.06746 -1.43057,-1.06746 l 0,0 0,0 c -0.097,0 -0.24247,0.0181 -0.4122,0.0362 z" 90.2251 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 90.2252 + id="path4968" 90.2253 + inkscape:connector-curvature="0" /> 90.2254 + <g 90.2255 + id="g11392" 90.2256 + transform="translate(420,8.7179488)"> 90.2257 + <text 90.2258 + sodipodi:linespacing="125%" 90.2259 + id="text5053" 90.2260 + y="450.37811" 90.2261 + x="150.58965" 90.2262 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Xpress SF;-inkscape-font-specification:Xpress SF" 90.2263 + xml:space="preserve"><tspan 90.2264 + y="450.37811" 90.2265 + x="150.58965" 90.2266 + id="tspan5055" 90.2267 + sodipodi:role="line">Lang Syntax</tspan></text> 90.2268 + <rect 90.2269 + y="440.80841" 90.2270 + x="147.80876" 90.2271 + height="12.350597" 90.2272 + width="53.784859" 90.2273 + id="rect5088" 90.2274 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2, 1;stroke-dashoffset:0" /> 90.2275 + </g> 90.2276 + <g 90.2277 + id="g11409" 90.2278 + transform="translate(18.42735,0)"> 90.2279 + <text 90.2280 + xml:space="preserve" 90.2281 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Xpress SF;-inkscape-font-specification:Xpress SF" 90.2282 + x="552.58966" 90.2283 + y="513.97961" 90.2284 + id="text5057" 90.2285 + sodipodi:linespacing="125%"><tspan 90.2286 + sodipodi:role="line" 90.2287 + id="tspan5059" 90.2288 + x="552.58966" 90.2289 + y="513.97961">Request Intf</tspan></text> 90.2290 + <rect 90.2291 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2, 0.99999999;stroke-dashoffset:0" 90.2292 + id="rect5090" 90.2293 + width="52.938667" 90.2294 + height="12.350597" 90.2295 + x="549.80878" 90.2296 + y="504.41" /> 90.2297 + </g> 90.2298 + <g 90.2299 + id="g11399" 90.2300 + transform="translate(-29.57265,13.57265)"> 90.2301 + <text 90.2302 + sodipodi:linespacing="125%" 90.2303 + id="text5061" 90.2304 + y="565.97961" 90.2305 + x="616.58966" 90.2306 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Xpress SF;-inkscape-font-specification:Xpress SF" 90.2307 + xml:space="preserve"><tspan 90.2308 + y="565.97961" 90.2309 + x="616.58966" 90.2310 + id="tspan5063" 90.2311 + sodipodi:role="line">VMS Intf</tspan></text> 90.2312 + <rect 90.2313 + y="556.40991" 90.2314 + x="613.80878" 90.2315 + height="12.350597" 90.2316 + width="37.162453" 90.2317 + id="rect5092" 90.2318 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1.99999999, 1;stroke-dashoffset:0" /> 90.2319 + </g> 90.2320 + <g 90.2321 + id="g11404" 90.2322 + transform="translate(-8.5641025,0.42735043)"> 90.2323 + <text 90.2324 + sodipodi:linespacing="125%" 90.2325 + id="text5065" 90.2326 + y="609.58124" 90.2327 + x="616.58966" 90.2328 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Xpress SF;-inkscape-font-specification:Xpress SF" 90.2329 + xml:space="preserve"><tspan 90.2330 + y="609.58124" 90.2331 + x="616.58966" 90.2332 + id="tspan5067" 90.2333 + sodipodi:role="line">ISA</tspan></text> 90.2334 + <rect 90.2335 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.00000002, 1.00000001;stroke-dashoffset:0" 90.2336 + id="rect5094" 90.2337 + width="15.990735" 90.2338 + height="12.350597" 90.2339 + x="613.80878" 90.2340 + y="600.01154" /> 90.2341 + </g> 90.2342 + <path 90.2343 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2, 1;stroke-dashoffset:0" 90.2344 + d="m 149.50538,456.07322 419.95554,0 0,0 0,0" 90.2345 + id="path5864" 90.2346 + inkscape:connector-curvature="0" /> 90.2347 + <path 90.2348 + inkscape:connector-curvature="0" 90.2349 + id="path5866" 90.2350 + d="m 149.43272,510.92792 417.39372,0 0,0 0,0" 90.2351 + style="fill:none;stroke:#000000;stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1.99999986, 0.99999992;stroke-dashoffset:0" /> 90.2352 + <path 90.2353 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1.99999983, 0.99999992;stroke-dashoffset:0" 90.2354 + d="m 149.74889,576.50057 433.61341,0 0,0 0,0" 90.2355 + id="path5868" 90.2356 + inkscape:connector-curvature="0" /> 90.2357 + <path 90.2358 + inkscape:connector-curvature="0" 90.2359 + id="path5870" 90.2360 + d="m 150.01815,606.92792 454.52761,0 0,0 0,0" 90.2361 + style="fill:none;stroke:#000000;stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1.99999977, 0.99999988;stroke-dashoffset:0" /> 90.2362 + <path 90.2363 + inkscape:connector-curvature="0" 90.2364 + id="path5872" 90.2365 + d="m 149.79599,426.92792 471.66496,0 0,0 0,0" 90.2366 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 90.2367 + <path 90.2368 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 90.2369 + d="m 149.79599,624.92792 471.66496,0 0,0 0,0" 90.2370 + id="path5874" 90.2371 + inkscape:connector-curvature="0" /> 90.2372 + <text 90.2373 + xml:space="preserve" 90.2374 + style="font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Xpress SF;-inkscape-font-specification:Xpress SF" 90.2375 + x="564.11279" 90.2376 + y="422.51587" 90.2377 + id="text11414" 90.2378 + sodipodi:linespacing="125%"><tspan 90.2379 + sodipodi:role="line" 90.2380 + id="tspan11416" 90.2381 + x="564.11279" 90.2382 + y="422.51587" 90.2383 + style="font-size:18px">Interface</tspan></text> 90.2384 + <text 90.2385 + xml:space="preserve" 90.2386 + style="font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 90.2387 + x="161.67584" 90.2388 + y="420.5202" 90.2389 + id="text11418" 90.2390 + sodipodi:linespacing="125%"><tspan 90.2391 + sodipodi:role="line" 90.2392 + id="tspan11420" 90.2393 + x="161.67584" 90.2394 + y="420.5202" 90.2395 + style="font-size:18px">Layer</tspan></text> 90.2396 + <path 90.2397 + inkscape:connector-curvature="0" 90.2398 + id="path12247" 90.2399 + d="m 243.82877,575.78262 100.97409,0 0,0 0,0" 90.2400 + style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 90.2401 + <g 90.2402 + id="g13494"> 90.2403 + <path 90.2404 + inkscape:connector-curvature="0" 90.2405 + id="path11477" 90.2406 + d="m 277.87593,455.78262 29.22252,0 0,0 0,0" 90.2407 + style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 90.2408 + <path 90.2409 + sodipodi:nodetypes="cc" 90.2410 + inkscape:connector-curvature="0" 90.2411 + id="path12255" 90.2412 + d="m 303.00855,475.78099 12.82051,8.11965" 90.2413 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 90.2414 + <g 90.2415 + transform="translate(-28,-20)" 90.2416 + id="g12725"> 90.2417 + <rect 90.2418 + y="483.71259" 90.2419 + x="299.65811" 90.2420 + height="12.393162" 90.2421 + width="41.452991" 90.2422 + id="rect12249" 90.2423 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 90.2424 + <text 90.2425 + xml:space="preserve" 90.2426 + style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 90.2427 + x="303.21664" 90.2428 + y="492.81934" 90.2429 + id="text12721" 90.2430 + sodipodi:linespacing="125%"><tspan 90.2431 + sodipodi:role="line" 90.2432 + id="tspan12723" 90.2433 + x="303.21664" 90.2434 + y="492.81934" 90.2435 + style="fill:#008000">Toolchain</tspan></text> 90.2436 + </g> 90.2437 + <g 90.2438 + transform="translate(-2,0.8547008)" 90.2439 + id="g12738"> 90.2440 + <rect 90.2441 + y="483.71259" 90.2442 + x="299.65811" 90.2443 + height="12.393162" 90.2444 + width="41.452991" 90.2445 + id="rect12740" 90.2446 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 90.2447 + <text 90.2448 + xml:space="preserve" 90.2449 + style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 90.2450 + x="300.78931" 90.2451 + y="492.81934" 90.2452 + id="text12742" 90.2453 + sodipodi:linespacing="125%"><tspan 90.2454 + sodipodi:role="line" 90.2455 + id="tspan12744" 90.2456 + x="300.78931" 90.2457 + y="492.81934" 90.2458 + style="fill:#ff7f2a">Specializer</tspan></text> 90.2459 + </g> 90.2460 + <path 90.2461 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 90.2462 + d="m 282.42388,475.78099 -12.82051,8.11965" 90.2463 + id="path12746" 90.2464 + inkscape:connector-curvature="0" 90.2465 + sodipodi:nodetypes="cc" /> 90.2466 + <g 90.2467 + id="g12748" 90.2468 + transform="translate(-50,0.8547008)"> 90.2469 + <rect 90.2470 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 90.2471 + id="rect12750" 90.2472 + width="41.452991" 90.2473 + height="12.393162" 90.2474 + x="299.65811" 90.2475 + y="483.71259" /> 90.2476 + <text 90.2477 + sodipodi:linespacing="125%" 90.2478 + id="text12752" 90.2479 + y="492.81934" 90.2480 + x="300.78931" 90.2481 + style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 90.2482 + xml:space="preserve"><tspan 90.2483 + y="492.81934" 90.2484 + x="300.78931" 90.2485 + id="tspan12754" 90.2486 + sodipodi:role="line" 90.2487 + style="fill:#ff0000">Specializer</tspan></text> 90.2488 + </g> 90.2489 + <path 90.2490 + sodipodi:nodetypes="cc" 90.2491 + style="fill:none;stroke:#000000;stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 90.2492 + d="m 292.0558,457.01631 0,5.71571" 90.2493 + id="path12756" 90.2494 + inkscape:connector-curvature="0" /> 90.2495 + </g> 90.2496 + <g 90.2497 + id="g13512" 90.2498 + transform="translate(102,0)"> 90.2499 + <path 90.2500 + style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 90.2501 + d="m 277.87593,455.78262 29.22252,0 0,0 0,0" 90.2502 + id="path13514" 90.2503 + inkscape:connector-curvature="0" /> 90.2504 + <path 90.2505 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 90.2506 + d="m 303.00855,475.78099 12.82051,8.11965" 90.2507 + id="path13516" 90.2508 + inkscape:connector-curvature="0" 90.2509 + sodipodi:nodetypes="cc" /> 90.2510 + <g 90.2511 + id="g13518" 90.2512 + transform="translate(-28,-20)"> 90.2513 + <rect 90.2514 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 90.2515 + id="rect13520" 90.2516 + width="41.452991" 90.2517 + height="12.393162" 90.2518 + x="299.65811" 90.2519 + y="483.71259" /> 90.2520 + <text 90.2521 + sodipodi:linespacing="125%" 90.2522 + id="text13522" 90.2523 + y="492.81934" 90.2524 + x="303.21664" 90.2525 + style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 90.2526 + xml:space="preserve"><tspan 90.2527 + y="492.81934" 90.2528 + x="303.21664" 90.2529 + id="tspan13524" 90.2530 + sodipodi:role="line" 90.2531 + style="fill:#0000ff">Toolchain</tspan></text> 90.2532 + </g> 90.2533 + <g 90.2534 + id="g13526" 90.2535 + transform="translate(-2,0.8547008)"> 90.2536 + <rect 90.2537 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 90.2538 + id="rect13528" 90.2539 + width="41.452991" 90.2540 + height="12.393162" 90.2541 + x="299.65811" 90.2542 + y="483.71259" /> 90.2543 + <text 90.2544 + sodipodi:linespacing="125%" 90.2545 + id="text13530" 90.2546 + y="492.81934" 90.2547 + x="300.78931" 90.2548 + style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 90.2549 + xml:space="preserve"><tspan 90.2550 + y="492.81934" 90.2551 + x="300.78931" 90.2552 + id="tspan13532" 90.2553 + sodipodi:role="line" 90.2554 + style="fill:#ff7f2a">Specializer</tspan></text> 90.2555 + </g> 90.2556 + <path 90.2557 + sodipodi:nodetypes="cc" 90.2558 + inkscape:connector-curvature="0" 90.2559 + id="path13534" 90.2560 + d="m 282.42388,475.78099 -12.82051,8.11965" 90.2561 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 90.2562 + <g 90.2563 + transform="translate(-50,0.8547008)" 90.2564 + id="g13536"> 90.2565 + <rect 90.2566 + y="483.71259" 90.2567 + x="299.65811" 90.2568 + height="12.393162" 90.2569 + width="41.452991" 90.2570 + id="rect13538" 90.2571 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 90.2572 + <text 90.2573 + xml:space="preserve" 90.2574 + style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 90.2575 + x="300.78931" 90.2576 + y="492.81934" 90.2577 + id="text13540" 90.2578 + sodipodi:linespacing="125%"><tspan 90.2579 + sodipodi:role="line" 90.2580 + id="tspan13542" 90.2581 + x="300.78931" 90.2582 + y="492.81934" 90.2583 + style="fill:#ff0000">Specializer</tspan></text> 90.2584 + </g> 90.2585 + <path 90.2586 + inkscape:connector-curvature="0" 90.2587 + id="path13544" 90.2588 + d="m 292.0558,457.01631 0,5.71571" 90.2589 + style="fill:none;stroke:#000000;stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 90.2590 + sodipodi:nodetypes="cc" /> 90.2591 + </g> 90.2592 + <g 90.2593 + transform="translate(204,0)" 90.2594 + id="g13546"> 90.2595 + <path 90.2596 + inkscape:connector-curvature="0" 90.2597 + id="path13548" 90.2598 + d="m 277.87593,455.78262 29.22252,0 0,0 0,0" 90.2599 + style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 90.2600 + <path 90.2601 + sodipodi:nodetypes="cc" 90.2602 + inkscape:connector-curvature="0" 90.2603 + id="path13550" 90.2604 + d="m 303.00855,475.78099 12.82051,8.11965" 90.2605 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 90.2606 + <g 90.2607 + transform="translate(-28,-20)" 90.2608 + id="g13552"> 90.2609 + <rect 90.2610 + y="483.71259" 90.2611 + x="299.65811" 90.2612 + height="12.393162" 90.2613 + width="41.452991" 90.2614 + id="rect13554" 90.2615 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 90.2616 + <text 90.2617 + xml:space="preserve" 90.2618 + style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 90.2619 + x="303.21664" 90.2620 + y="492.81934" 90.2621 + id="text13556" 90.2622 + sodipodi:linespacing="125%"><tspan 90.2623 + sodipodi:role="line" 90.2624 + id="tspan13558" 90.2625 + x="303.21664" 90.2626 + y="492.81934" 90.2627 + style="fill:#800080">Toolchain</tspan></text> 90.2628 + </g> 90.2629 + <g 90.2630 + transform="translate(-2,0.8547008)" 90.2631 + id="g13560"> 90.2632 + <rect 90.2633 + y="483.71259" 90.2634 + x="299.65811" 90.2635 + height="12.393162" 90.2636 + width="41.452991" 90.2637 + id="rect13562" 90.2638 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 90.2639 + <text 90.2640 + xml:space="preserve" 90.2641 + style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 90.2642 + x="300.78931" 90.2643 + y="492.81934" 90.2644 + id="text13564" 90.2645 + sodipodi:linespacing="125%"><tspan 90.2646 + sodipodi:role="line" 90.2647 + id="tspan13566" 90.2648 + x="300.78931" 90.2649 + y="492.81934" 90.2650 + style="fill:#ff7f2a">Specializer</tspan></text> 90.2651 + </g> 90.2652 + <path 90.2653 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 90.2654 + d="m 282.42388,475.78099 -12.82051,8.11965" 90.2655 + id="path13568" 90.2656 + inkscape:connector-curvature="0" 90.2657 + sodipodi:nodetypes="cc" /> 90.2658 + <g 90.2659 + id="g13570" 90.2660 + transform="translate(-50,0.8547008)"> 90.2661 + <rect 90.2662 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 90.2663 + id="rect13572" 90.2664 + width="41.452991" 90.2665 + height="12.393162" 90.2666 + x="299.65811" 90.2667 + y="483.71259" /> 90.2668 + <text 90.2669 + sodipodi:linespacing="125%" 90.2670 + id="text13574" 90.2671 + y="492.81934" 90.2672 + x="300.78931" 90.2673 + style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 90.2674 + xml:space="preserve"><tspan 90.2675 + y="492.81934" 90.2676 + x="300.78931" 90.2677 + id="tspan13576" 90.2678 + sodipodi:role="line" 90.2679 + style="fill:#ff0000">Specializer</tspan></text> 90.2680 + </g> 90.2681 + <path 90.2682 + sodipodi:nodetypes="cc" 90.2683 + style="fill:none;stroke:#000000;stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 90.2684 + d="m 292.0558,457.01631 0,5.71571" 90.2685 + id="path13578" 90.2686 + inkscape:connector-curvature="0" /> 90.2687 + </g> 90.2688 + <path 90.2689 + style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 90.2690 + d="m 446.68347,575.78262 100.97409,0 0,0 0,0" 90.2691 + id="path13580" 90.2692 + inkscape:connector-curvature="0" /> 90.2693 + </g> 90.2694 +</svg>
91.1 Binary file 0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/Proto-Runtime__modules.pdf has changed
92.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 92.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/Proto-Runtime__modules.svg Fri Sep 13 11:02:18 2013 -0700 92.3 @@ -0,0 +1,219 @@ 92.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 92.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 92.6 + 92.7 +<svg 92.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 92.9 + xmlns:cc="http://creativecommons.org/ns#" 92.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 92.11 + xmlns:svg="http://www.w3.org/2000/svg" 92.12 + xmlns="http://www.w3.org/2000/svg" 92.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 92.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 92.15 + width="744.09448819" 92.16 + height="1052.3622047" 92.17 + id="svg2" 92.18 + sodipodi:version="0.32" 92.19 + inkscape:version="0.48.2 r9819" 92.20 + sodipodi:docname="Proto-Runtime__modules.pdf" 92.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 92.22 + version="1.1"> 92.23 + <defs 92.24 + id="defs4"> 92.25 + <marker 92.26 + inkscape:stockid="Arrow2Mend" 92.27 + orient="auto" 92.28 + refY="0.0" 92.29 + refX="0.0" 92.30 + id="Arrow2Mend" 92.31 + style="overflow:visible;"> 92.32 + <path 92.33 + id="path4008" 92.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 92.35 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 92.36 + transform="scale(0.6) rotate(180) translate(0,0)" /> 92.37 + </marker> 92.38 + <inkscape:perspective 92.39 + sodipodi:type="inkscape:persp3d" 92.40 + inkscape:vp_x="0 : 526.18109 : 1" 92.41 + inkscape:vp_y="0 : 1000 : 0" 92.42 + inkscape:vp_z="744.09448 : 526.18109 : 1" 92.43 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 92.44 + id="perspective10" /> 92.45 + <inkscape:perspective 92.46 + id="perspective12172" 92.47 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 92.48 + inkscape:vp_z="1 : 0.5 : 1" 92.49 + inkscape:vp_y="0 : 1000 : 0" 92.50 + inkscape:vp_x="0 : 0.5 : 1" 92.51 + sodipodi:type="inkscape:persp3d" /> 92.52 + <inkscape:perspective 92.53 + id="perspective12937" 92.54 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 92.55 + inkscape:vp_z="1 : 0.5 : 1" 92.56 + inkscape:vp_y="0 : 1000 : 0" 92.57 + inkscape:vp_x="0 : 0.5 : 1" 92.58 + sodipodi:type="inkscape:persp3d" /> 92.59 + </defs> 92.60 + <sodipodi:namedview 92.61 + id="base" 92.62 + pagecolor="#ffffff" 92.63 + bordercolor="#666666" 92.64 + borderopacity="1.0" 92.65 + gridtolerance="10000" 92.66 + guidetolerance="10" 92.67 + objecttolerance="10" 92.68 + inkscape:pageopacity="0.0" 92.69 + inkscape:pageshadow="2" 92.70 + inkscape:zoom="2.5442307" 92.71 + inkscape:cx="331.10449" 92.72 + inkscape:cy="538.12533" 92.73 + inkscape:document-units="px" 92.74 + inkscape:current-layer="layer1" 92.75 + showgrid="false" 92.76 + inkscape:window-width="1226" 92.77 + inkscape:window-height="878" 92.78 + inkscape:window-x="12" 92.79 + inkscape:window-y="0" 92.80 + inkscape:window-maximized="0" /> 92.81 + <metadata 92.82 + id="metadata7"> 92.83 + <rdf:RDF> 92.84 + <cc:Work 92.85 + rdf:about=""> 92.86 + <dc:format>image/svg+xml</dc:format> 92.87 + <dc:type 92.88 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 92.89 + <dc:title></dc:title> 92.90 + </cc:Work> 92.91 + </rdf:RDF> 92.92 + </metadata> 92.93 + <g 92.94 + inkscape:label="Layer 1" 92.95 + inkscape:groupmode="layer" 92.96 + id="layer1"> 92.97 + <text 92.98 + sodipodi:linespacing="100%" 92.99 + id="text12985" 92.100 + y="447.55026" 92.101 + x="343.00162" 92.102 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 92.103 + xml:space="preserve"><tspan 92.104 + y="447.55026" 92.105 + x="343.00162" 92.106 + sodipodi:role="line" 92.107 + id="tspan12989" 92.108 + style="text-align:center;text-anchor:middle">Parallelism</tspan><tspan 92.109 + id="tspan3147" 92.110 + y="457.55026" 92.111 + x="343.00162" 92.112 + sodipodi:role="line" 92.113 + style="text-align:center;text-anchor:middle">Construct</tspan><tspan 92.114 + id="tspan3149" 92.115 + y="467.55026" 92.116 + x="343.00162" 92.117 + sodipodi:role="line" 92.118 + style="text-align:center;text-anchor:middle">Module</tspan></text> 92.119 + <rect 92.120 + style="fill:none;stroke:#000000;stroke-width:1.08018136;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 92.121 + id="rect12971" 92.122 + width="131.7012" 92.123 + height="52.250008" 92.124 + x="310.30118" 92.125 + y="495.43658" /> 92.126 + <text 92.127 + xml:space="preserve" 92.128 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 92.129 + x="376.33487" 92.130 + y="515.20319" 92.131 + id="text12973" 92.132 + sodipodi:linespacing="100%"><tspan 92.133 + sodipodi:role="line" 92.134 + id="tspan12975" 92.135 + x="376.33487" 92.136 + y="515.20319" 92.137 + style="text-align:center;text-anchor:middle">Hardware Specific Module</tspan><tspan 92.138 + sodipodi:role="line" 92.139 + x="376.33487" 92.140 + y="525.20319" 92.141 + style="text-align:center;text-anchor:middle" 92.142 + id="tspan3155" /><tspan 92.143 + sodipodi:role="line" 92.144 + x="376.33487" 92.145 + y="533.63794" 92.146 + id="tspan3089" 92.147 + style="font-size:8px;text-align:center;text-anchor:middle">(Proto-Runtime)</tspan></text> 92.148 + <text 92.149 + sodipodi:linespacing="100%" 92.150 + id="text12985-7" 92.151 + y="447.52585" 92.152 + x="409.1481" 92.153 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 92.154 + xml:space="preserve"><tspan 92.155 + y="447.52585" 92.156 + x="409.1481" 92.157 + id="tspan12987-4" 92.158 + sodipodi:role="line" 92.159 + style="text-align:center;text-anchor:middle">Assignment</tspan><tspan 92.160 + id="tspan3151" 92.161 + y="457.52585" 92.162 + x="409.1481" 92.163 + sodipodi:role="line" 92.164 + style="text-align:center;text-anchor:middle">of Work</tspan><tspan 92.165 + y="467.52585" 92.166 + x="409.1481" 92.167 + sodipodi:role="line" 92.168 + id="tspan12989-0" 92.169 + style="text-align:center;text-anchor:middle">onto Cores</tspan><tspan 92.170 + id="tspan3153" 92.171 + y="477.52585" 92.172 + x="409.1481" 92.173 + sodipodi:role="line" 92.174 + style="text-align:center;text-anchor:middle">Module</tspan></text> 92.175 + <text 92.176 + xml:space="preserve" 92.177 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 92.178 + x="376.3902" 92.179 + y="493.19415" 92.180 + id="text12973-5" 92.181 + sodipodi:linespacing="100%"><tspan 92.182 + sodipodi:role="line" 92.183 + x="376.3902" 92.184 + y="493.19415" 92.185 + id="tspan3089-7" 92.186 + style="font-size:8px;text-align:center;text-anchor:middle">Hardware Abstraction Interface</tspan></text> 92.187 + <rect 92.188 + y="-495.43658" 92.189 + x="310.30118" 92.190 + height="9.1641436" 92.191 + width="131.7012" 92.192 + id="rect3204" 92.193 + style="fill:none;stroke:#000000;stroke-width:1.08018136;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 92.194 + transform="scale(1,-1)" /> 92.195 + <rect 92.196 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 92.197 + id="rect3217" 92.198 + width="65.276405" 92.199 + height="52.250008" 92.200 + x="310.40247" 92.201 + y="433.58255" /> 92.202 + <rect 92.203 + y="433.58255" 92.204 + x="376.40247" 92.205 + height="52.250008" 92.206 + width="65.276405" 92.207 + id="rect3219" 92.208 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 92.209 + <text 92.210 + sodipodi:linespacing="100%" 92.211 + id="text3328" 92.212 + y="425.20319" 92.213 + x="375.5488" 92.214 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 92.215 + xml:space="preserve"><tspan 92.216 + style="font-size:10px;text-align:center;text-anchor:middle" 92.217 + id="tspan3334" 92.218 + y="425.20319" 92.219 + x="375.5488" 92.220 + sodipodi:role="line">Code Stack for Runtime System</tspan></text> 92.221 + </g> 92.222 +</svg>
93.1 Binary file 0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/Proto-Runtime__modules_lang_breakdown.pdf has changed
94.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 94.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/Proto-Runtime__modules_lang_breakdown.svg Fri Sep 13 11:02:18 2013 -0700 94.3 @@ -0,0 +1,243 @@ 94.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 94.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 94.6 + 94.7 +<svg 94.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 94.9 + xmlns:cc="http://creativecommons.org/ns#" 94.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 94.11 + xmlns:svg="http://www.w3.org/2000/svg" 94.12 + xmlns="http://www.w3.org/2000/svg" 94.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 94.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 94.15 + width="744.09448819" 94.16 + height="1052.3622047" 94.17 + id="svg2" 94.18 + sodipodi:version="0.32" 94.19 + inkscape:version="0.48.2 r9819" 94.20 + sodipodi:docname="Proto-Runtime__modules_lang_breakdown.svg" 94.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 94.22 + version="1.1"> 94.23 + <defs 94.24 + id="defs4"> 94.25 + <marker 94.26 + inkscape:stockid="Arrow2Mend" 94.27 + orient="auto" 94.28 + refY="0.0" 94.29 + refX="0.0" 94.30 + id="Arrow2Mend" 94.31 + style="overflow:visible;"> 94.32 + <path 94.33 + id="path4008" 94.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 94.35 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 94.36 + transform="scale(0.6) rotate(180) translate(0,0)" /> 94.37 + </marker> 94.38 + <inkscape:perspective 94.39 + sodipodi:type="inkscape:persp3d" 94.40 + inkscape:vp_x="0 : 526.18109 : 1" 94.41 + inkscape:vp_y="0 : 1000 : 0" 94.42 + inkscape:vp_z="744.09448 : 526.18109 : 1" 94.43 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 94.44 + id="perspective10" /> 94.45 + <inkscape:perspective 94.46 + id="perspective12172" 94.47 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 94.48 + inkscape:vp_z="1 : 0.5 : 1" 94.49 + inkscape:vp_y="0 : 1000 : 0" 94.50 + inkscape:vp_x="0 : 0.5 : 1" 94.51 + sodipodi:type="inkscape:persp3d" /> 94.52 + <inkscape:perspective 94.53 + id="perspective12937" 94.54 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 94.55 + inkscape:vp_z="1 : 0.5 : 1" 94.56 + inkscape:vp_y="0 : 1000 : 0" 94.57 + inkscape:vp_x="0 : 0.5 : 1" 94.58 + sodipodi:type="inkscape:persp3d" /> 94.59 + </defs> 94.60 + <sodipodi:namedview 94.61 + id="base" 94.62 + pagecolor="#ffffff" 94.63 + bordercolor="#666666" 94.64 + borderopacity="1.0" 94.65 + gridtolerance="10000" 94.66 + guidetolerance="10" 94.67 + objecttolerance="10" 94.68 + inkscape:pageopacity="0.0" 94.69 + inkscape:pageshadow="2" 94.70 + inkscape:zoom="2.5442307" 94.71 + inkscape:cx="377.60185" 94.72 + inkscape:cy="538.12533" 94.73 + inkscape:document-units="px" 94.74 + inkscape:current-layer="layer1" 94.75 + showgrid="false" 94.76 + inkscape:window-width="1226" 94.77 + inkscape:window-height="878" 94.78 + inkscape:window-x="12" 94.79 + inkscape:window-y="0" 94.80 + inkscape:window-maximized="0" /> 94.81 + <metadata 94.82 + id="metadata7"> 94.83 + <rdf:RDF> 94.84 + <cc:Work 94.85 + rdf:about=""> 94.86 + <dc:format>image/svg+xml</dc:format> 94.87 + <dc:type 94.88 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 94.89 + <dc:title></dc:title> 94.90 + </cc:Work> 94.91 + </rdf:RDF> 94.92 + </metadata> 94.93 + <g 94.94 + inkscape:label="Layer 1" 94.95 + inkscape:groupmode="layer" 94.96 + id="layer1"> 94.97 + <text 94.98 + sodipodi:linespacing="100%" 94.99 + id="text12985" 94.100 + y="447.55026" 94.101 + x="393.00162" 94.102 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 94.103 + xml:space="preserve"><tspan 94.104 + y="447.55026" 94.105 + x="393.00162" 94.106 + sodipodi:role="line" 94.107 + id="tspan12989" 94.108 + style="text-align:center;text-anchor:middle">Code of</tspan><tspan 94.109 + y="457.55026" 94.110 + x="393.00162" 94.111 + sodipodi:role="line" 94.112 + style="text-align:center;text-anchor:middle" 94.113 + id="tspan6029">parallelism</tspan><tspan 94.114 + id="tspan3147" 94.115 + y="467.55026" 94.116 + x="393.00162" 94.117 + sodipodi:role="line" 94.118 + style="text-align:center;text-anchor:middle">construct</tspan><tspan 94.119 + id="tspan3149" 94.120 + y="477.55026" 94.121 + x="393.00162" 94.122 + sodipodi:role="line" 94.123 + style="text-align:center;text-anchor:middle">module</tspan></text> 94.124 + <text 94.125 + sodipodi:linespacing="100%" 94.126 + id="text12985-7" 94.127 + y="447.52585" 94.128 + x="459.1481" 94.129 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 94.130 + xml:space="preserve"><tspan 94.131 + y="447.52585" 94.132 + x="459.1481" 94.133 + id="tspan12987-4" 94.134 + sodipodi:role="line" 94.135 + style="text-align:center;text-anchor:middle">Code of</tspan><tspan 94.136 + y="457.52585" 94.137 + x="459.1481" 94.138 + sodipodi:role="line" 94.139 + style="text-align:center;text-anchor:middle" 94.140 + id="tspan6031">assignment</tspan><tspan 94.141 + y="467.52585" 94.142 + x="459.1481" 94.143 + sodipodi:role="line" 94.144 + id="tspan12989-0" 94.145 + style="text-align:center;text-anchor:middle">onto cores</tspan><tspan 94.146 + id="tspan3153" 94.147 + y="477.52585" 94.148 + x="459.1481" 94.149 + sodipodi:role="line" 94.150 + style="text-align:center;text-anchor:middle">module</tspan></text> 94.151 + <rect 94.152 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 94.153 + id="rect3217" 94.154 + width="65.276405" 94.155 + height="52.250008" 94.156 + x="360.40247" 94.157 + y="433.58255" /> 94.158 + <rect 94.159 + y="433.58255" 94.160 + x="426.40247" 94.161 + height="52.250008" 94.162 + width="65.276405" 94.163 + id="rect3219" 94.164 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 94.165 + <text 94.166 + sodipodi:linespacing="100%" 94.167 + id="text3328" 94.168 + y="425.20319" 94.169 + x="375.5488" 94.170 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 94.171 + xml:space="preserve"><tspan 94.172 + style="font-size:10px;text-align:center;text-anchor:middle" 94.173 + id="tspan3334" 94.174 + y="425.20319" 94.175 + x="375.5488" 94.176 + sodipodi:role="line">Code Breakdown of a Language Implementation</tspan></text> 94.177 + <text 94.178 + xml:space="preserve" 94.179 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 94.180 + x="297.00894" 94.181 + y="447.55026" 94.182 + id="text5501" 94.183 + sodipodi:linespacing="100%"><tspan 94.184 + style="text-align:center;text-anchor:middle" 94.185 + id="tspan5503" 94.186 + sodipodi:role="line" 94.187 + x="297.00894" 94.188 + y="447.55026">Code of</tspan><tspan 94.189 + style="text-align:center;text-anchor:middle" 94.190 + sodipodi:role="line" 94.191 + x="297.00894" 94.192 + y="457.55026" 94.193 + id="tspan6027">wrapper</tspan><tspan 94.194 + style="text-align:center;text-anchor:middle" 94.195 + sodipodi:role="line" 94.196 + x="297.00894" 94.197 + y="467.55026" 94.198 + id="tspan5507">library</tspan></text> 94.199 + <rect 94.200 + y="433.58255" 94.201 + x="264.40247" 94.202 + height="52.250008" 94.203 + width="65.276405" 94.204 + id="rect5511" 94.205 + style="fill:none;stroke:#000000;stroke-width:1.08000004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4.32, 4.32;stroke-dashoffset:0" /> 94.206 + <text 94.207 + sodipodi:linespacing="100%" 94.208 + id="text6035" 94.209 + y="503.55026" 94.210 + x="297.01334" 94.211 + style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 94.212 + xml:space="preserve"><tspan 94.213 + id="tspan6041" 94.214 + y="503.55026" 94.215 + x="297.01334" 94.216 + sodipodi:role="line" 94.217 + style="font-size:8px;text-align:center;text-anchor:middle">Compiled into</tspan><tspan 94.218 + y="511.55026" 94.219 + x="297.01334" 94.220 + sodipodi:role="line" 94.221 + style="font-size:8px;text-align:center;text-anchor:middle" 94.222 + id="tspan6047">application</tspan><tspan 94.223 + y="519.55029" 94.224 + x="297.01334" 94.225 + sodipodi:role="line" 94.226 + style="font-size:8px;text-align:center;text-anchor:middle" 94.227 + id="tspan6049">executable</tspan></text> 94.228 + <text 94.229 + xml:space="preserve" 94.230 + style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 94.231 + x="425.00162" 94.232 + y="503.55026" 94.233 + id="text6051" 94.234 + sodipodi:linespacing="100%"><tspan 94.235 + style="font-size:8px;text-align:center;text-anchor:middle" 94.236 + sodipodi:role="line" 94.237 + x="425.00162" 94.238 + y="503.55026" 94.239 + id="tspan6053">Compiled separately</tspan><tspan 94.240 + id="tspan6057" 94.241 + style="font-size:8px;text-align:center;text-anchor:middle" 94.242 + sodipodi:role="line" 94.243 + x="425.00162" 94.244 + y="511.55026">as a dynamic library</tspan></text> 94.245 + </g> 94.246 +</svg>
95.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 95.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/Proto-Runtime__modules_plus_plugin.svg Fri Sep 13 11:02:18 2013 -0700 95.3 @@ -0,0 +1,618 @@ 95.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 95.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 95.6 + 95.7 +<svg 95.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 95.9 + xmlns:cc="http://creativecommons.org/ns#" 95.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 95.11 + xmlns:svg="http://www.w3.org/2000/svg" 95.12 + xmlns="http://www.w3.org/2000/svg" 95.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 95.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 95.15 + width="744.09448819" 95.16 + height="1052.3622047" 95.17 + id="svg2" 95.18 + sodipodi:version="0.32" 95.19 + inkscape:version="0.48.2 r9819" 95.20 + sodipodi:docname="Proto-Runtime__modules_plus_plugin.svg" 95.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 95.22 + version="1.1"> 95.23 + <defs 95.24 + id="defs4"> 95.25 + <marker 95.26 + inkscape:stockid="Arrow2Mend" 95.27 + orient="auto" 95.28 + refY="0.0" 95.29 + refX="0.0" 95.30 + id="Arrow2Mend" 95.31 + style="overflow:visible;"> 95.32 + <path 95.33 + id="path4008" 95.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 95.35 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 95.36 + transform="scale(0.6) rotate(180) translate(0,0)" /> 95.37 + </marker> 95.38 + <inkscape:perspective 95.39 + sodipodi:type="inkscape:persp3d" 95.40 + inkscape:vp_x="0 : 526.18109 : 1" 95.41 + inkscape:vp_y="0 : 1000 : 0" 95.42 + inkscape:vp_z="744.09448 : 526.18109 : 1" 95.43 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 95.44 + id="perspective10" /> 95.45 + <inkscape:perspective 95.46 + id="perspective12172" 95.47 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 95.48 + inkscape:vp_z="1 : 0.5 : 1" 95.49 + inkscape:vp_y="0 : 1000 : 0" 95.50 + inkscape:vp_x="0 : 0.5 : 1" 95.51 + sodipodi:type="inkscape:persp3d" /> 95.52 + <inkscape:perspective 95.53 + id="perspective12937" 95.54 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 95.55 + inkscape:vp_z="1 : 0.5 : 1" 95.56 + inkscape:vp_y="0 : 1000 : 0" 95.57 + inkscape:vp_x="0 : 0.5 : 1" 95.58 + sodipodi:type="inkscape:persp3d" /> 95.59 + </defs> 95.60 + <sodipodi:namedview 95.61 + id="base" 95.62 + pagecolor="#ffffff" 95.63 + bordercolor="#666666" 95.64 + borderopacity="1.0" 95.65 + gridtolerance="10000" 95.66 + guidetolerance="10" 95.67 + objecttolerance="10" 95.68 + inkscape:pageopacity="0.0" 95.69 + inkscape:pageshadow="2" 95.70 + inkscape:zoom="1.553811" 95.71 + inkscape:cx="310.29102" 95.72 + inkscape:cy="586.15006" 95.73 + inkscape:document-units="px" 95.74 + inkscape:current-layer="layer1" 95.75 + showgrid="false" 95.76 + inkscape:window-width="1600" 95.77 + inkscape:window-height="848" 95.78 + inkscape:window-x="-8" 95.79 + inkscape:window-y="-8" 95.80 + inkscape:window-maximized="1" /> 95.81 + <metadata 95.82 + id="metadata7"> 95.83 + <rdf:RDF> 95.84 + <cc:Work 95.85 + rdf:about=""> 95.86 + <dc:format>image/svg+xml</dc:format> 95.87 + <dc:type 95.88 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 95.89 + <dc:title /> 95.90 + </cc:Work> 95.91 + </rdf:RDF> 95.92 + </metadata> 95.93 + <g 95.94 + inkscape:label="Layer 1" 95.95 + inkscape:groupmode="layer" 95.96 + id="layer1"> 95.97 + <rect 95.98 + y="417.82236" 95.99 + x="127.32263" 95.100 + height="69.307014" 95.101 + width="137.26534" 95.102 + id="rect12977" 95.103 + style="fill:none;stroke:#800000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4.32072507, 4.32072507;stroke-dashoffset:0" /> 95.104 + <text 95.105 + sodipodi:linespacing="100%" 95.106 + id="text12979" 95.107 + y="399.76575" 95.108 + x="195.84009" 95.109 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 95.110 + xml:space="preserve"><tspan 95.111 + y="399.76575" 95.112 + x="195.84009" 95.113 + id="tspan12981" 95.114 + sodipodi:role="line" 95.115 + style="text-align:center;text-anchor:middle">Master</tspan><tspan 95.116 + y="408.20053" 95.117 + x="195.84009" 95.118 + sodipodi:role="line" 95.119 + id="tspan3291" 95.120 + style="font-size:8px;text-align:center;text-anchor:middle">(runtime system)</tspan></text> 95.121 + <text 95.122 + sodipodi:linespacing="100%" 95.123 + id="text12985" 95.124 + y="447.55026" 95.125 + x="163.00162" 95.126 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 95.127 + xml:space="preserve"><tspan 95.128 + y="447.55026" 95.129 + x="163.00162" 95.130 + sodipodi:role="line" 95.131 + id="tspan12989" 95.132 + style="text-align:center;text-anchor:middle">Construct</tspan><tspan 95.133 + id="tspan3147" 95.134 + y="457.55026" 95.135 + x="163.00162" 95.136 + sodipodi:role="line" 95.137 + style="text-align:center;text-anchor:middle">Semantics</tspan><tspan 95.138 + id="tspan3149" 95.139 + y="467.55026" 95.140 + x="163.00162" 95.141 + sodipodi:role="line" 95.142 + style="text-align:center;text-anchor:middle">Module</tspan></text> 95.143 + <rect 95.144 + style="fill:none;stroke:#000000;stroke-width:1.08018136;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 95.145 + id="rect12971" 95.146 + width="131.7012" 95.147 + height="52.250008" 95.148 + x="130.30118" 95.149 + y="495.43658" /> 95.150 + <text 95.151 + xml:space="preserve" 95.152 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 95.153 + x="196.33487" 95.154 + y="515.20319" 95.155 + id="text12973" 95.156 + sodipodi:linespacing="100%"><tspan 95.157 + sodipodi:role="line" 95.158 + id="tspan12975" 95.159 + x="196.33487" 95.160 + y="515.20319" 95.161 + style="text-align:center;text-anchor:middle">Hardware Specific Module</tspan><tspan 95.162 + sodipodi:role="line" 95.163 + x="196.33487" 95.164 + y="525.20319" 95.165 + style="text-align:center;text-anchor:middle" 95.166 + id="tspan3155" /><tspan 95.167 + sodipodi:role="line" 95.168 + x="196.33487" 95.169 + y="533.63794" 95.170 + id="tspan3089" 95.171 + style="font-size:8px;text-align:center;text-anchor:middle">(Proto-Runtime)</tspan></text> 95.172 + <text 95.173 + sodipodi:linespacing="100%" 95.174 + id="text12985-7" 95.175 + y="447.52585" 95.176 + x="229.1481" 95.177 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 95.178 + xml:space="preserve"><tspan 95.179 + y="447.52585" 95.180 + x="229.1481" 95.181 + id="tspan12987-4" 95.182 + sodipodi:role="line" 95.183 + style="text-align:center;text-anchor:middle">Assignment</tspan><tspan 95.184 + id="tspan3151" 95.185 + y="457.52585" 95.186 + x="229.1481" 95.187 + sodipodi:role="line" 95.188 + style="text-align:center;text-anchor:middle">of Work</tspan><tspan 95.189 + y="467.52585" 95.190 + x="229.1481" 95.191 + sodipodi:role="line" 95.192 + id="tspan12989-0" 95.193 + style="text-align:center;text-anchor:middle">onto Cores</tspan><tspan 95.194 + id="tspan3153" 95.195 + y="477.52585" 95.196 + x="229.1481" 95.197 + sodipodi:role="line" 95.198 + style="text-align:center;text-anchor:middle">Module</tspan></text> 95.199 + <text 95.200 + xml:space="preserve" 95.201 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 95.202 + x="193.25641" 95.203 + y="426.6572" 95.204 + id="text12985-8" 95.205 + sodipodi:linespacing="100%"><tspan 95.206 + style="text-align:center;text-anchor:middle;fill:#800000" 95.207 + id="tspan12989-4" 95.208 + sodipodi:role="line" 95.209 + x="193.25641" 95.210 + y="426.6572">Language Plug-in</tspan></text> 95.211 + <text 95.212 + xml:space="preserve" 95.213 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 95.214 + x="196.3902" 95.215 + y="493.19415" 95.216 + id="text12973-5" 95.217 + sodipodi:linespacing="100%"><tspan 95.218 + sodipodi:role="line" 95.219 + x="196.3902" 95.220 + y="493.19415" 95.221 + id="tspan3089-7" 95.222 + style="font-size:8px;text-align:center;text-anchor:middle">Hardware Abstraction Interface</tspan></text> 95.223 + <rect 95.224 + y="-495.43658" 95.225 + x="130.30118" 95.226 + height="9.1641436" 95.227 + width="131.7012" 95.228 + id="rect3204" 95.229 + style="fill:none;stroke:#000000;stroke-width:1.08018136;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 95.230 + transform="scale(1,-1)" /> 95.231 + <rect 95.232 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 95.233 + id="rect3217" 95.234 + width="65.276405" 95.235 + height="52.250008" 95.236 + x="130.40247" 95.237 + y="433.58255" /> 95.238 + <rect 95.239 + y="433.58255" 95.240 + x="196.40247" 95.241 + height="52.250008" 95.242 + width="65.276405" 95.243 + id="rect3219" 95.244 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 95.245 + <rect 95.246 + style="fill:none;stroke:#000080;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 95.247 + id="rect3289" 95.248 + width="148.27063" 95.249 + height="164.03113" 95.250 + x="121.82001" 95.251 + y="389.8118" /> 95.252 + <g 95.253 + id="g3303" 95.254 + transform="translate(-16,76)"> 95.255 + <rect 95.256 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 95.257 + id="rect3293" 95.258 + width="65.276405" 95.259 + height="52.250008" 95.260 + x="310.40247" 95.261 + y="313.58255" /> 95.262 + <text 95.263 + sodipodi:linespacing="100%" 95.264 + id="text3295" 95.265 + y="327.55026" 95.266 + x="343.00162" 95.267 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 95.268 + xml:space="preserve"><tspan 95.269 + id="tspan3301" 95.270 + y="327.55026" 95.271 + x="343.00162" 95.272 + sodipodi:role="line" 95.273 + style="text-align:center;text-anchor:middle">Seed VP</tspan></text> 95.274 + </g> 95.275 + <g 95.276 + id="g3314" 95.277 + transform="translate(-16,140)"> 95.278 + <rect 95.279 + y="313.58255" 95.280 + x="310.40247" 95.281 + height="52.250008" 95.282 + width="65.276405" 95.283 + id="rect3316" 95.284 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 95.285 + <text 95.286 + xml:space="preserve" 95.287 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 95.288 + x="343.00162" 95.289 + y="327.55026" 95.290 + id="text3318" 95.291 + sodipodi:linespacing="100%"><tspan 95.292 + style="text-align:center;text-anchor:middle" 95.293 + sodipodi:role="line" 95.294 + x="343.00162" 95.295 + y="327.55026" 95.296 + id="tspan3320">VP created</tspan><tspan 95.297 + style="text-align:center;text-anchor:middle" 95.298 + sodipodi:role="line" 95.299 + x="343.00162" 95.300 + y="337.55026" 95.301 + id="tspan3322">by Application</tspan></text> 95.302 + </g> 95.303 + <g 95.304 + transform="translate(-16,204)" 95.305 + id="g3340"> 95.306 + <rect 95.307 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 95.308 + id="rect3342" 95.309 + width="65.276405" 95.310 + height="52.250008" 95.311 + x="310.40247" 95.312 + y="313.58255" /> 95.313 + <text 95.314 + sodipodi:linespacing="100%" 95.315 + id="text3344" 95.316 + y="327.55026" 95.317 + x="343.00162" 95.318 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 95.319 + xml:space="preserve"><tspan 95.320 + id="tspan3346" 95.321 + y="327.55026" 95.322 + x="343.00162" 95.323 + sodipodi:role="line" 95.324 + style="text-align:center;text-anchor:middle">VP created</tspan><tspan 95.325 + id="tspan3348" 95.326 + y="337.55026" 95.327 + x="343.00162" 95.328 + sodipodi:role="line" 95.329 + style="text-align:center;text-anchor:middle">by Application</tspan></text> 95.330 + </g> 95.331 + <text 95.332 + xml:space="preserve" 95.333 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 95.334 + x="411.16797" 95.335 + y="369.42465" 95.336 + id="text3318-1" 95.337 + sodipodi:linespacing="100%"><tspan 95.338 + style="text-align:center;text-anchor:middle" 95.339 + sodipodi:role="line" 95.340 + x="411.16797" 95.341 + y="369.42465" 95.342 + id="tspan3322-5">Application Code</tspan></text> 95.343 + <text 95.344 + sodipodi:linespacing="100%" 95.345 + id="text3376" 95.346 + y="417.42465" 95.347 + x="411.16797" 95.348 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 95.349 + xml:space="preserve"><tspan 95.350 + id="tspan3378" 95.351 + y="417.42465" 95.352 + x="411.16797" 95.353 + sodipodi:role="line" 95.354 + style="text-align:center;text-anchor:middle">Seed_Fn</tspan></text> 95.355 + <text 95.356 + xml:space="preserve" 95.357 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 95.358 + x="411.16797" 95.359 + y="513.42468" 95.360 + id="text3380" 95.361 + sodipodi:linespacing="100%"><tspan 95.362 + style="text-align:center;text-anchor:middle" 95.363 + sodipodi:role="line" 95.364 + x="411.16797" 95.365 + y="513.42468" 95.366 + id="tspan3382">Work_Fn</tspan></text> 95.367 + <text 95.368 + sodipodi:linespacing="100%" 95.369 + id="text3384" 95.370 + y="505.42465" 95.371 + x="511.16797" 95.372 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 95.373 + xml:space="preserve"><tspan 95.374 + id="tspan3386" 95.375 + y="505.42465" 95.376 + x="511.16797" 95.377 + sodipodi:role="line" 95.378 + style="text-align:center;text-anchor:middle">prallelism_construct2_Fn</tspan></text> 95.379 + <text 95.380 + sodipodi:linespacing="100%" 95.381 + id="text3388" 95.382 + y="369.42465" 95.383 + x="509.16797" 95.384 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 95.385 + xml:space="preserve"><tspan 95.386 + id="tspan3390" 95.387 + y="369.42465" 95.388 + x="509.16797" 95.389 + sodipodi:role="line" 95.390 + style="text-align:center;text-anchor:middle">Language Wrapper Lib</tspan><tspan 95.391 + y="379.42465" 95.392 + x="509.16797" 95.393 + sodipodi:role="line" 95.394 + style="text-align:center;text-anchor:middle" 95.395 + id="tspan3392">Code</tspan></text> 95.396 + <text 95.397 + xml:space="preserve" 95.398 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 95.399 + x="619.16797" 95.400 + y="369.42465" 95.401 + id="text3394" 95.402 + sodipodi:linespacing="100%"><tspan 95.403 + style="text-align:center;text-anchor:middle" 95.404 + sodipodi:role="line" 95.405 + x="619.16797" 95.406 + y="369.42465" 95.407 + id="tspan3396">Proto-Runtime Primitive</tspan><tspan 95.408 + id="tspan3398" 95.409 + style="text-align:center;text-anchor:middle" 95.410 + sodipodi:role="line" 95.411 + x="619.16797" 95.412 + y="379.42465">Code</tspan></text> 95.413 + <text 95.414 + sodipodi:linespacing="100%" 95.415 + id="text3400" 95.416 + y="369.42465" 95.417 + x="67.167969" 95.418 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 95.419 + xml:space="preserve"><tspan 95.420 + id="tspan3402" 95.421 + y="369.42465" 95.422 + x="67.167969" 95.423 + sodipodi:role="line" 95.424 + style="text-align:center;text-anchor:middle">Language Plugin</tspan><tspan 95.425 + y="379.42465" 95.426 + x="67.167969" 95.427 + sodipodi:role="line" 95.428 + style="text-align:center;text-anchor:middle" 95.429 + id="tspan3404">Code</tspan></text> 95.430 + <text 95.431 + xml:space="preserve" 95.432 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 95.433 + x="-20.832031" 95.434 + y="369.42465" 95.435 + id="text3406" 95.436 + sodipodi:linespacing="100%"><tspan 95.437 + style="text-align:center;text-anchor:middle" 95.438 + sodipodi:role="line" 95.439 + x="-20.832031" 95.440 + y="369.42465" 95.441 + id="tspan3408">Proto-Runtime</tspan><tspan 95.442 + id="tspan3410" 95.443 + style="text-align:center;text-anchor:middle" 95.444 + sodipodi:role="line" 95.445 + x="-20.832031" 95.446 + y="379.42465">Code</tspan></text> 95.447 + <text 95.448 + xml:space="preserve" 95.449 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 95.450 + x="67.167969" 95.451 + y="439.42465" 95.452 + id="text3412" 95.453 + sodipodi:linespacing="100%"><tspan 95.454 + style="text-align:center;text-anchor:middle" 95.455 + sodipodi:role="line" 95.456 + x="67.167969" 95.457 + y="439.42465" 95.458 + id="tspan3414">Handler</tspan><tspan 95.459 + style="text-align:center;text-anchor:middle" 95.460 + sodipodi:role="line" 95.461 + x="67.167969" 95.462 + y="449.42465" 95.463 + id="tspan3418">for Language</tspan><tspan 95.464 + style="text-align:center;text-anchor:middle" 95.465 + sodipodi:role="line" 95.466 + x="67.167969" 95.467 + y="459.42465" 95.468 + id="tspan3422">Construct1</tspan></text> 95.469 + <text 95.470 + sodipodi:linespacing="100%" 95.471 + id="text3424" 95.472 + y="481.42465" 95.473 + x="67.167969" 95.474 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 95.475 + xml:space="preserve"><tspan 95.476 + id="tspan3426" 95.477 + y="481.42465" 95.478 + x="67.167969" 95.479 + sodipodi:role="line" 95.480 + style="text-align:center;text-anchor:middle">Handler</tspan><tspan 95.481 + id="tspan3428" 95.482 + y="491.42465" 95.483 + x="67.167969" 95.484 + sodipodi:role="line" 95.485 + style="text-align:center;text-anchor:middle">for Language</tspan><tspan 95.486 + id="tspan3430" 95.487 + y="501.42465" 95.488 + x="67.167969" 95.489 + sodipodi:role="line" 95.490 + style="text-align:center;text-anchor:middle">Construct2</tspan></text> 95.491 + <text 95.492 + xml:space="preserve" 95.493 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 95.494 + x="-14.832031" 95.495 + y="447.42465" 95.496 + id="text3432" 95.497 + sodipodi:linespacing="100%"><tspan 95.498 + style="text-align:center;text-anchor:middle" 95.499 + sodipodi:role="line" 95.500 + x="-14.832031" 95.501 + y="447.42465" 95.502 + id="tspan3438">Master Fn</tspan></text> 95.503 + <text 95.504 + xml:space="preserve" 95.505 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 95.506 + x="67.167969" 95.507 + y="531.42468" 95.508 + id="text3444" 95.509 + sodipodi:linespacing="100%"><tspan 95.510 + style="text-align:center;text-anchor:middle" 95.511 + sodipodi:role="line" 95.512 + x="67.167969" 95.513 + y="531.42468" 95.514 + id="tspan3450">Assigner Fn</tspan></text> 95.515 + <text 95.516 + xml:space="preserve" 95.517 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 95.518 + x="187.16797" 95.519 + y="369.42465" 95.520 + id="text3456" 95.521 + sodipodi:linespacing="100%"><tspan 95.522 + style="text-align:center;text-anchor:middle" 95.523 + sodipodi:role="line" 95.524 + x="187.16797" 95.525 + y="369.42465" 95.526 + id="tspan3458">Instance of runtime system</tspan><tspan 95.527 + id="tspan3460" 95.528 + style="text-align:center;text-anchor:middle" 95.529 + sodipodi:role="line" 95.530 + x="187.16797" 95.531 + y="379.42465" /></text> 95.532 + <text 95.533 + sodipodi:linespacing="100%" 95.534 + id="text3462" 95.535 + y="369.42465" 95.536 + x="329.16797" 95.537 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 95.538 + xml:space="preserve"><tspan 95.539 + id="tspan3464" 95.540 + y="369.42465" 95.541 + x="329.16797" 95.542 + sodipodi:role="line" 95.543 + style="text-align:center;text-anchor:middle">Instances of</tspan><tspan 95.544 + y="379.42465" 95.545 + x="329.16797" 95.546 + sodipodi:role="line" 95.547 + style="text-align:center;text-anchor:middle" 95.548 + id="tspan3468">Virtual Processors</tspan><tspan 95.549 + y="389.42465" 95.550 + x="329.16797" 95.551 + sodipodi:role="line" 95.552 + style="text-align:center;text-anchor:middle" 95.553 + id="tspan3466" /></text> 95.554 + <path 95.555 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:3,3;stroke-dashoffset:0" 95.556 + d="m 135.99815,448.02605 c -36.926653,0 -36.926653,0 -36.926653,0" 95.557 + id="path3470" 95.558 + inkscape:connector-curvature="0" /> 95.559 + <path 95.560 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:3,3;stroke-dashoffset:0" 95.561 + d="m 135.99815,464.23775 c -36.026003,21.6156 -36.026003,21.6156 -36.026003,21.6156" 95.562 + id="path3472" 95.563 + inkscape:connector-curvature="0" /> 95.564 + <path 95.565 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:3,3;stroke-dashoffset:0" 95.566 + d="M 205.34819,475.9462 C 98.170847,524.5813 98.170847,524.5813 98.170847,524.5813" 95.567 + id="path3474" 95.568 + inkscape:connector-curvature="0" /> 95.569 + <path 95.570 + inkscape:connector-curvature="0" 95.571 + id="path4796" 95.572 + d="m 352.24713,414.02605 c 36.92665,0 36.92665,0 36.92665,0" 95.573 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:3,3;stroke-dashoffset:0" /> 95.574 + <path 95.575 + inkscape:connector-curvature="0" 95.576 + id="path4798" 95.577 + d="m 347.34145,484.23775 c 36.026,21.6156 36.026,21.6156 36.026,21.6156" 95.578 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:3,3;stroke-dashoffset:0" /> 95.579 + <path 95.580 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:3,3;stroke-dashoffset:0" 95.581 + d="m 347.34145,538.0265 c 36.026,-21.6156 36.026,-21.6156 36.026,-21.6156" 95.582 + id="path4800" 95.583 + inkscape:connector-curvature="0" /> 95.584 + <path 95.585 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:3,3;stroke-dashoffset:0" 95.586 + d="M 143.20334,538.09105 C 33.324049,540.793 45.933148,547.09755 33.324049,540.793 20.714949,534.48845 3.6025999,454.3306 3.6025999,454.3306" 95.587 + id="path4804" 95.588 + inkscape:connector-curvature="0" 95.589 + sodipodi:nodetypes="csc" /> 95.590 + <text 95.591 + xml:space="preserve" 95.592 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 95.593 + x="511.16797" 95.594 + y="465.42465" 95.595 + id="text4988" 95.596 + sodipodi:linespacing="100%"><tspan 95.597 + style="text-align:center;text-anchor:middle" 95.598 + sodipodi:role="line" 95.599 + x="511.16797" 95.600 + y="465.42465" 95.601 + id="tspan4990">prallelism_construct1_Fn</tspan></text> 95.602 + <path 95.603 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 95.604 + d="m 408.02904,422.29841 c 0,38.61474 0,38.61474 0,38.61474" 95.605 + id="path4992" 95.606 + inkscape:connector-curvature="0" 95.607 + sodipodi:nodetypes="cc" /> 95.608 + <path 95.609 + sodipodi:nodetypes="cc" 95.610 + inkscape:connector-curvature="0" 95.611 + id="path4994" 95.612 + d="m 408.02904,522.29841 c 0,38.61474 0,38.61474 0,38.61474" 95.613 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 95.614 + <path 95.615 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 95.616 + d="m -15.97096,456.2984 c 0,76.74209 0,76.74209 0,76.74209" 95.617 + id="path4996" 95.618 + inkscape:connector-curvature="0" 95.619 + sodipodi:nodetypes="cc" /> 95.620 + </g> 95.621 +</svg>
96.1 Binary file 0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/Proto-Runtime__modules_plus_plugin_plus_code.pdf has changed
97.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 97.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/Proto-Runtime__modules_plus_plugin_plus_code.svg Fri Sep 13 11:02:18 2013 -0700 97.3 @@ -0,0 +1,2026 @@ 97.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 97.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 97.6 + 97.7 +<svg 97.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 97.9 + xmlns:cc="http://creativecommons.org/ns#" 97.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 97.11 + xmlns:svg="http://www.w3.org/2000/svg" 97.12 + xmlns="http://www.w3.org/2000/svg" 97.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 97.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 97.15 + width="744.09448819" 97.16 + height="1052.3622047" 97.17 + id="svg2" 97.18 + sodipodi:version="0.32" 97.19 + inkscape:version="0.48.2 r9819" 97.20 + sodipodi:docname="Proto-Runtime__modules_plus_plugin_plus_code.svg" 97.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 97.22 + version="1.1"> 97.23 + <defs 97.24 + id="defs4"> 97.25 + <marker 97.26 + inkscape:stockid="Arrow2Mend" 97.27 + orient="auto" 97.28 + refY="0.0" 97.29 + refX="0.0" 97.30 + id="Arrow2Mend" 97.31 + style="overflow:visible;"> 97.32 + <path 97.33 + id="path4008" 97.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 97.35 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 97.36 + transform="scale(0.6) rotate(180) translate(0,0)" /> 97.37 + </marker> 97.38 + <inkscape:perspective 97.39 + sodipodi:type="inkscape:persp3d" 97.40 + inkscape:vp_x="0 : 526.18109 : 1" 97.41 + inkscape:vp_y="0 : 1000 : 0" 97.42 + inkscape:vp_z="744.09448 : 526.18109 : 1" 97.43 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 97.44 + id="perspective10" /> 97.45 + <inkscape:perspective 97.46 + id="perspective12172" 97.47 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 97.48 + inkscape:vp_z="1 : 0.5 : 1" 97.49 + inkscape:vp_y="0 : 1000 : 0" 97.50 + inkscape:vp_x="0 : 0.5 : 1" 97.51 + sodipodi:type="inkscape:persp3d" /> 97.52 + <inkscape:perspective 97.53 + id="perspective12937" 97.54 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 97.55 + inkscape:vp_z="1 : 0.5 : 1" 97.56 + inkscape:vp_y="0 : 1000 : 0" 97.57 + inkscape:vp_x="0 : 0.5 : 1" 97.58 + sodipodi:type="inkscape:persp3d" /> 97.59 + </defs> 97.60 + <sodipodi:namedview 97.61 + id="base" 97.62 + pagecolor="#ffffff" 97.63 + bordercolor="#666666" 97.64 + borderopacity="1.0" 97.65 + gridtolerance="10000" 97.66 + guidetolerance="10" 97.67 + objecttolerance="10" 97.68 + inkscape:pageopacity="0.0" 97.69 + inkscape:pageshadow="2" 97.70 + inkscape:zoom="1.05" 97.71 + inkscape:cx="290.73583" 97.72 + inkscape:cy="472.51234" 97.73 + inkscape:document-units="px" 97.74 + inkscape:current-layer="layer1" 97.75 + showgrid="false" 97.76 + inkscape:window-width="1600" 97.77 + inkscape:window-height="848" 97.78 + inkscape:window-x="-8" 97.79 + inkscape:window-y="-8" 97.80 + inkscape:window-maximized="1" /> 97.81 + <metadata 97.82 + id="metadata7"> 97.83 + <rdf:RDF> 97.84 + <cc:Work 97.85 + rdf:about=""> 97.86 + <dc:format>image/svg+xml</dc:format> 97.87 + <dc:type 97.88 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 97.89 + <dc:title></dc:title> 97.90 + </cc:Work> 97.91 + </rdf:RDF> 97.92 + </metadata> 97.93 + <g 97.94 + inkscape:label="Layer 1" 97.95 + inkscape:groupmode="layer" 97.96 + id="layer1"> 97.97 + <text 97.98 + sodipodi:linespacing="100%" 97.99 + id="text12979" 97.100 + y="353.76575" 97.101 + x="326.92542" 97.102 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.103 + xml:space="preserve"><tspan 97.104 + y="353.76575" 97.105 + x="326.92542" 97.106 + id="tspan12981" 97.107 + sodipodi:role="line" 97.108 + style="text-align:center;text-anchor:middle">Master</tspan><tspan 97.109 + y="362.20053" 97.110 + x="326.92542" 97.111 + sodipodi:role="line" 97.112 + id="tspan3291" 97.113 + style="font-size:8px;text-align:center;text-anchor:middle">(runtime system)</tspan><tspan 97.114 + y="370.20053" 97.115 + x="326.92542" 97.116 + sodipodi:role="line" 97.117 + style="font-size:8px;text-align:center;text-anchor:middle" 97.118 + id="tspan8409">on core 1</tspan></text> 97.119 + <g 97.120 + id="g9336" 97.121 + transform="translate(44.002789,-48)"> 97.122 + <rect 97.123 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 97.124 + id="rect3293" 97.125 + width="65.276405" 97.126 + height="37.165791" 97.127 + x="346.40247" 97.128 + y="389.58255" /> 97.129 + <text 97.130 + sodipodi:linespacing="100%" 97.131 + id="text3295" 97.132 + y="400.15268" 97.133 + x="379.00162" 97.134 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.135 + xml:space="preserve"><tspan 97.136 + id="tspan3301" 97.137 + y="400.15268" 97.138 + x="379.00162" 97.139 + sodipodi:role="line" 97.140 + style="text-align:center;text-anchor:middle;fill:#008000">Seed VP</tspan><tspan 97.141 + y="408.58746" 97.142 + x="379.00162" 97.143 + sodipodi:role="line" 97.144 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000" 97.145 + id="tspan9389">(created at</tspan><tspan 97.146 + y="416.58746" 97.147 + x="379.00162" 97.148 + sodipodi:role="line" 97.149 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000" 97.150 + id="tspan9391">app startup,</tspan><tspan 97.151 + y="424.58746" 97.152 + x="379.00162" 97.153 + sodipodi:role="line" 97.154 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000" 97.155 + id="tspan9744">on core 1)</tspan></text> 97.156 + </g> 97.157 + <text 97.158 + xml:space="preserve" 97.159 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.160 + x="517.16797" 97.161 + y="307.42465" 97.162 + id="text3318-1" 97.163 + sodipodi:linespacing="100%"><tspan 97.164 + style="text-align:center;text-anchor:middle;fill:#008000" 97.165 + sodipodi:role="line" 97.166 + x="517.16797" 97.167 + y="307.42465" 97.168 + id="tspan3322-5">Application Code</tspan></text> 97.169 + <text 97.170 + sodipodi:linespacing="100%" 97.171 + id="text3376" 97.172 + y="379.42465" 97.173 + x="517.16797" 97.174 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.175 + xml:space="preserve"><tspan 97.176 + id="tspan3378" 97.177 + y="379.42465" 97.178 + x="517.16797" 97.179 + sodipodi:role="line" 97.180 + style="text-align:center;text-anchor:middle;fill:#008000">Seed_Fn</tspan></text> 97.181 + <text 97.182 + xml:space="preserve" 97.183 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.184 + x="517.16797" 97.185 + y="599.42468" 97.186 + id="text3380" 97.187 + sodipodi:linespacing="100%"><tspan 97.188 + style="text-align:center;text-anchor:middle;fill:#008000" 97.189 + sodipodi:role="line" 97.190 + x="517.16797" 97.191 + y="599.42468" 97.192 + id="tspan3382">Work_Fn</tspan></text> 97.193 + <text 97.194 + sodipodi:linespacing="100%" 97.195 + id="text3388" 97.196 + y="307.42465" 97.197 + x="604.63812" 97.198 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.199 + xml:space="preserve"><tspan 97.200 + id="tspan3390" 97.201 + y="307.42465" 97.202 + x="606.14203" 97.203 + sodipodi:role="line" 97.204 + style="text-align:center;text-anchor:middle;fill:#800000">Language </tspan><tspan 97.205 + y="317.42465" 97.206 + x="604.63812" 97.207 + sodipodi:role="line" 97.208 + style="text-align:center;text-anchor:middle;fill:#800000" 97.209 + id="tspan5106">Wrapper-Lib</tspan><tspan 97.210 + y="327.42465" 97.211 + x="604.63812" 97.212 + sodipodi:role="line" 97.213 + style="text-align:center;text-anchor:middle;fill:#800000" 97.214 + id="tspan3392">Code</tspan></text> 97.215 + <text 97.216 + xml:space="preserve" 97.217 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.218 + x="669.16797" 97.219 + y="307.42465" 97.220 + id="text3394" 97.221 + sodipodi:linespacing="100%"><tspan 97.222 + style="text-align:center;text-anchor:middle;fill:#000080" 97.223 + sodipodi:role="line" 97.224 + x="669.16797" 97.225 + y="307.42465" 97.226 + id="tspan3396">Proto-Runtime</tspan><tspan 97.227 + style="text-align:center;text-anchor:middle;fill:#000080" 97.228 + sodipodi:role="line" 97.229 + x="669.16797" 97.230 + y="317.42465" 97.231 + id="tspan4998">Primitive</tspan><tspan 97.232 + id="tspan3398" 97.233 + style="text-align:center;text-anchor:middle;fill:#000080" 97.234 + sodipodi:role="line" 97.235 + x="669.16797" 97.236 + y="327.42465">Code</tspan></text> 97.237 + <text 97.238 + xml:space="preserve" 97.239 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.240 + x="137.31689" 97.241 + y="411.42465" 97.242 + id="text3412" 97.243 + sodipodi:linespacing="100%"><tspan 97.244 + style="text-align:center;text-anchor:middle;fill:#800000" 97.245 + sodipodi:role="line" 97.246 + x="137.31689" 97.247 + y="411.42465" 97.248 + id="tspan3414">Lang Handler</tspan><tspan 97.249 + style="text-align:center;text-anchor:middle;fill:#800000" 97.250 + sodipodi:role="line" 97.251 + x="137.31689" 97.252 + y="421.42465" 97.253 + id="tspan3422">for create VP</tspan></text> 97.254 + <text 97.255 + xml:space="preserve" 97.256 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.257 + x="137.68066" 97.258 + y="459.42468" 97.259 + id="text3444" 97.260 + sodipodi:linespacing="100%"><tspan 97.261 + style="text-align:center;text-anchor:middle;fill:#800000" 97.262 + sodipodi:role="line" 97.263 + x="137.68066" 97.264 + y="459.42468" 97.265 + id="tspan3450">Assigner Fn</tspan></text> 97.266 + <text 97.267 + xml:space="preserve" 97.268 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.269 + x="327.16797" 97.270 + y="309.42465" 97.271 + id="text3456" 97.272 + sodipodi:linespacing="100%"><tspan 97.273 + style="text-align:center;text-anchor:middle" 97.274 + sodipodi:role="line" 97.275 + x="328.67188" 97.276 + y="309.42465" 97.277 + id="tspan3458">Instances of </tspan><tspan 97.278 + style="text-align:center;text-anchor:middle" 97.279 + sodipodi:role="line" 97.280 + x="327.16797" 97.281 + y="319.42465" 97.282 + id="tspan8405">runtime system</tspan><tspan 97.283 + style="font-size:8px;text-align:center;text-anchor:middle" 97.284 + sodipodi:role="line" 97.285 + x="327.16797" 97.286 + y="327.85944" 97.287 + id="tspan9383">(data structs</tspan><tspan 97.288 + style="font-size:8px;text-align:center;text-anchor:middle" 97.289 + sodipodi:role="line" 97.290 + x="327.16797" 97.291 + y="335.85944" 97.292 + id="tspan9385">on heap)</tspan><tspan 97.293 + id="tspan3460" 97.294 + style="text-align:center;text-anchor:middle" 97.295 + sodipodi:role="line" 97.296 + x="327.16797" 97.297 + y="343.85944" /></text> 97.298 + <text 97.299 + sodipodi:linespacing="100%" 97.300 + id="text3462" 97.301 + y="307.42465" 97.302 + x="423.16797" 97.303 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.304 + xml:space="preserve"><tspan 97.305 + id="tspan3464" 97.306 + y="307.42465" 97.307 + x="423.16797" 97.308 + sodipodi:role="line" 97.309 + style="text-align:center;text-anchor:middle">Instances of</tspan><tspan 97.310 + y="317.42465" 97.311 + x="423.16797" 97.312 + sodipodi:role="line" 97.313 + style="text-align:center;text-anchor:middle" 97.314 + id="tspan3468">Virtual Processors</tspan><tspan 97.315 + y="325.85944" 97.316 + x="423.16797" 97.317 + sodipodi:role="line" 97.318 + style="font-size:8px;text-align:center;text-anchor:middle" 97.319 + id="tspan3466">(data structs</tspan><tspan 97.320 + y="333.85944" 97.321 + x="423.16797" 97.322 + sodipodi:role="line" 97.323 + style="font-size:8px;text-align:center;text-anchor:middle" 97.324 + id="tspan9387">on heap)</tspan></text> 97.325 + <path 97.326 + inkscape:connector-curvature="0" 97.327 + id="path4796" 97.328 + d="m 457.32649,376.02605 c 38.42351,0 38.42351,0 38.42351,0" 97.329 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999996, 2.99999996;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 97.330 + <text 97.331 + xml:space="preserve" 97.332 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.333 + x="604.78461" 97.334 + y="373.42465" 97.335 + id="text4988" 97.336 + sodipodi:linespacing="100%"><tspan 97.337 + style="text-align:center;text-anchor:middle;fill:#800000" 97.338 + sodipodi:role="line" 97.339 + x="604.78461" 97.340 + y="373.42465" 97.341 + id="tspan4990">create VP</tspan><tspan 97.342 + style="text-align:center;text-anchor:middle;fill:#800000" 97.343 + sodipodi:role="line" 97.344 + x="604.78461" 97.345 + y="383.42465" 97.346 + id="tspan5104">wrapper Fn</tspan></text> 97.347 + <text 97.348 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 97.349 + xml:space="preserve" 97.350 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.351 + x="638.25385" 97.352 + y="404.96878" 97.353 + id="text5064" 97.354 + sodipodi:linespacing="100%"><tspan 97.355 + style="font-size:8px;text-align:center;text-anchor:middle" 97.356 + sodipodi:role="line" 97.357 + x="638.25385" 97.358 + y="404.96878" 97.359 + id="tspan5066">Call to dyn lib</tspan></text> 97.360 + <path 97.361 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000003, 3.00000003;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 97.362 + d="m 291.99816,376.02605 c -63.44071,0 -63.44071,0 -63.44071,0" 97.363 + id="path5068" 97.364 + inkscape:connector-curvature="0" /> 97.365 + <text 97.366 + sodipodi:linespacing="100%" 97.367 + id="text5070" 97.368 + y="415.78891" 97.369 + x="180.73463" 97.370 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.371 + xml:space="preserve" 97.372 + transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"><tspan 97.373 + id="tspan5072" 97.374 + y="415.78891" 97.375 + x="180.73463" 97.376 + sodipodi:role="line" 97.377 + style="font-size:8px;text-align:center;text-anchor:middle">Top Level Fn</tspan></text> 97.378 + <text 97.379 + transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)" 97.380 + xml:space="preserve" 97.381 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.382 + x="400.64069" 97.383 + y="458.46729" 97.384 + id="text5074" 97.385 + sodipodi:linespacing="100%"><tspan 97.386 + style="font-size:8px;text-align:center;text-anchor:middle" 97.387 + sodipodi:role="line" 97.388 + x="400.64069" 97.389 + y="458.46729" 97.390 + id="tspan5076">Top Level Fn</tspan></text> 97.391 + <text 97.392 + sodipodi:linespacing="100%" 97.393 + id="text5078" 97.394 + y="674.45374" 97.395 + x="358.75928" 97.396 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.397 + xml:space="preserve" 97.398 + transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"><tspan 97.399 + id="tspan5080" 97.400 + y="674.45374" 97.401 + x="358.75928" 97.402 + sodipodi:role="line" 97.403 + style="font-size:8px;text-align:center;text-anchor:middle">Top Level Fn</tspan></text> 97.404 + <path 97.405 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999996, 2.99999996;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 97.406 + d="m 458.9835,596.02605 c 36.7665,0 36.7665,0 36.7665,0" 97.407 + id="path5082" 97.408 + inkscape:connector-curvature="0" /> 97.409 + <path 97.410 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 97.411 + d="m 514.02904,382.01894 c 0,5.6572 0,5.6572 0,5.6572" 97.412 + id="path5092" 97.413 + inkscape:connector-curvature="0" 97.414 + sodipodi:nodetypes="cc" /> 97.415 + <path 97.416 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 97.417 + d="m 514.24714,388.02605 c 85.56237,0 85.56237,0 85.56237,0" 97.418 + id="path5094" 97.419 + inkscape:connector-curvature="0" /> 97.420 + <path 97.421 + inkscape:connector-curvature="0" 97.422 + id="path5096" 97.423 + d="m 602.77166,496.02605 c -88.41298,0 -88.41298,0 -88.41298,0" 97.424 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 97.425 + <path 97.426 + sodipodi:nodetypes="cc" 97.427 + inkscape:connector-curvature="0" 97.428 + id="path5140" 97.429 + d="m 514.02904,496.31987 c 0,26.21842 0,26.21842 0,26.21842" 97.430 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 97.431 + <path 97.432 + inkscape:connector-curvature="0" 97.433 + id="path5142" 97.434 + d="m 514.2471,522.02605 c 87.58783,0 87.58783,0 87.58783,0" 97.435 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 97.436 + <text 97.437 + sodipodi:linespacing="100%" 97.438 + id="text5157" 97.439 + y="508.71182" 97.440 + x="604.78461" 97.441 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.442 + xml:space="preserve"><tspan 97.443 + id="tspan5161" 97.444 + y="508.71182" 97.445 + x="604.78461" 97.446 + sodipodi:role="line" 97.447 + style="text-align:center;text-anchor:middle;fill:#800000">end VP</tspan><tspan 97.448 + y="518.71179" 97.449 + x="604.78461" 97.450 + sodipodi:role="line" 97.451 + style="text-align:center;text-anchor:middle;fill:#800000" 97.452 + id="tspan5207">wrapper Fn</tspan></text> 97.453 + <path 97.454 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 97.455 + d="m 602.26584,528.02605 c 63.99676,0 63.99676,0 63.99676,0" 97.456 + id="path5165" 97.457 + inkscape:connector-curvature="0" /> 97.458 + <path 97.459 + sodipodi:nodetypes="cc" 97.460 + inkscape:connector-curvature="0" 97.461 + id="path5179" 97.462 + d="m 514.02904,602.01895 c 0,5.6572 0,5.6572 0,5.6572" 97.463 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 97.464 + <path 97.465 + sodipodi:nodetypes="cc" 97.466 + inkscape:connector-curvature="0" 97.467 + id="path5209" 97.468 + d="m 602.02904,520.31985 c 0,7.35629 0,7.35629 0,7.35629" 97.469 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 97.470 + <text 97.471 + xml:space="preserve" 97.472 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.473 + x="497.16797" 97.474 + y="399.42468" 97.475 + id="text5211" 97.476 + sodipodi:linespacing="100%"><tspan 97.477 + style="text-align:center;text-anchor:middle" 97.478 + sodipodi:role="line" 97.479 + x="497.16797" 97.480 + y="399.42468" 97.481 + id="tspan5215" /></text> 97.482 + <path 97.483 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 97.484 + d="m 602.02904,388.21843 c 0,19.4577 0,19.4577 0,19.4577" 97.485 + id="path5217" 97.486 + inkscape:connector-curvature="0" 97.487 + sodipodi:nodetypes="cc" /> 97.488 + <path 97.489 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 97.490 + d="m 602.24714,408.02605 c 64.71029,0 64.71029,0 64.71029,0" 97.491 + id="path5219" 97.492 + inkscape:connector-curvature="0" /> 97.493 + <path 97.494 + inkscape:connector-curvature="0" 97.495 + id="path5221" 97.496 + d="m 666.85635,492.02605 c -65.78483,0 -65.78483,0 -65.78483,0" 97.497 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 97.498 + <path 97.499 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 97.500 + d="m 668.02904,406.63925 c 0,13.68455 0,13.68455 0,13.68455" 97.501 + id="path5223" 97.502 + inkscape:connector-curvature="0" 97.503 + sodipodi:nodetypes="cc" /> 97.504 + <path 97.505 + sodipodi:nodetypes="cc" 97.506 + inkscape:connector-curvature="0" 97.507 + id="path5229" 97.508 + d="m 602.02904,491.22687 c 0,5.5885 0,5.5885 0,5.5885" 97.509 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 97.510 + <path 97.511 + sodipodi:nodetypes="cc" 97.512 + inkscape:connector-curvature="0" 97.513 + id="path5235" 97.514 + d="m 668.02904,478.63925 c 0,13.68455 0,13.68455 0,13.68455" 97.515 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 97.516 + <text 97.517 + sodipodi:linespacing="100%" 97.518 + id="text5239" 97.519 + y="770.82495" 97.520 + x="188.36783" 97.521 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.522 + xml:space="preserve" 97.523 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 97.524 + id="tspan5241" 97.525 + y="770.82495" 97.526 + x="188.36783" 97.527 + sodipodi:role="line" 97.528 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan 97.529 + y="778.82495" 97.530 + x="188.36783" 97.531 + sodipodi:role="line" 97.532 + style="font-size:8px;text-align:center;text-anchor:middle" 97.533 + id="tspan5243">and switch</tspan><tspan 97.534 + y="786.82495" 97.535 + x="188.36783" 97.536 + sodipodi:role="line" 97.537 + style="font-size:8px;text-align:center;text-anchor:middle" 97.538 + id="tspan5245">to runtime</tspan></text> 97.539 + <path 97.540 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 97.541 + d="m 271.03421,480.02605 c 193.92439,0 193.92439,0 193.92439,0" 97.542 + id="path5247" 97.543 + inkscape:connector-curvature="0" /> 97.544 + <text 97.545 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 97.546 + xml:space="preserve" 97.547 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.548 + x="157.7636" 97.549 + y="802.43799" 97.550 + id="text5249" 97.551 + sodipodi:linespacing="100%"><tspan 97.552 + id="tspan5255" 97.553 + style="font-size:8px;text-align:center;text-anchor:middle" 97.554 + sodipodi:role="line" 97.555 + x="157.7636" 97.556 + y="802.43799">return</tspan><tspan 97.557 + style="font-size:8px;text-align:center;text-anchor:middle" 97.558 + sodipodi:role="line" 97.559 + x="157.7636" 97.560 + y="810.43799" 97.561 + id="tspan5261">from</tspan><tspan 97.562 + style="font-size:8px;text-align:center;text-anchor:middle" 97.563 + sodipodi:role="line" 97.564 + x="157.7636" 97.565 + y="818.43799" 97.566 + id="tspan5263">suspend</tspan></text> 97.567 + <text 97.568 + sodipodi:linespacing="100%" 97.569 + id="text5345" 97.570 + y="395.42465" 97.571 + x="667.38037" 97.572 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.573 + xml:space="preserve"><tspan 97.574 + id="tspan5349" 97.575 + y="395.42465" 97.576 + x="667.38037" 97.577 + sodipodi:role="line" 97.578 + style="text-align:center;text-anchor:middle;fill:#000080">PR primitive Fn</tspan><tspan 97.579 + y="405.42465" 97.580 + x="667.38037" 97.581 + sodipodi:role="line" 97.582 + style="text-align:center;text-anchor:middle;fill:#000080" 97.583 + id="tspan5353">to send request</tspan></text> 97.584 + <text 97.585 + sodipodi:linespacing="100%" 97.586 + id="text5355" 97.587 + y="392.71429" 97.588 + x="555.29077" 97.589 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.590 + xml:space="preserve" 97.591 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 97.592 + id="tspan5357" 97.593 + y="392.71429" 97.594 + x="555.29077" 97.595 + sodipodi:role="line" 97.596 + style="font-size:8px;text-align:center;text-anchor:middle">normal call</tspan></text> 97.597 + <path 97.598 + sodipodi:nodetypes="cc" 97.599 + inkscape:connector-curvature="0" 97.600 + id="path5359" 97.601 + d="m 668.02904,527.28283 c 0,13.68455 0,13.68455 0,13.68455" 97.602 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 97.603 + <text 97.604 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 97.605 + xml:space="preserve" 97.606 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.607 + x="107.72998" 97.608 + y="856.99628" 97.609 + id="text5363" 97.610 + sodipodi:linespacing="100%"><tspan 97.611 + style="font-size:8px;text-align:center;text-anchor:middle" 97.612 + sodipodi:role="line" 97.613 + x="107.72998" 97.614 + y="856.99628" 97.615 + id="tspan5365">suspend</tspan><tspan 97.616 + id="tspan5367" 97.617 + style="font-size:8px;text-align:center;text-anchor:middle" 97.618 + sodipodi:role="line" 97.619 + x="107.72998" 97.620 + y="864.99628">and switch</tspan><tspan 97.621 + id="tspan5369" 97.622 + style="font-size:8px;text-align:center;text-anchor:middle" 97.623 + sodipodi:role="line" 97.624 + x="107.72998" 97.625 + y="872.99628">to runtime</tspan></text> 97.626 + <text 97.627 + sodipodi:linespacing="100%" 97.628 + id="text5371" 97.629 + y="593.42468" 97.630 + x="604.59662" 97.631 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.632 + xml:space="preserve"><tspan 97.633 + id="tspan5373" 97.634 + y="593.42468" 97.635 + x="604.59662" 97.636 + sodipodi:role="line" 97.637 + style="text-align:center;text-anchor:middle;fill:#800000">Mutex Acquire</tspan><tspan 97.638 + id="tspan5375" 97.639 + y="603.42468" 97.640 + x="604.59662" 97.641 + sodipodi:role="line" 97.642 + style="text-align:center;text-anchor:middle;fill:#800000">wrapper Fn</tspan></text> 97.643 + <path 97.644 + inkscape:connector-curvature="0" 97.645 + id="path5379" 97.646 + d="m 514.24714,608.02605 c 85.56237,0 85.56237,0 85.56237,0" 97.647 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 97.648 + <path 97.649 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 97.650 + d="m 602.77166,708.02605 c -88.41298,0 -88.41298,0 -88.41298,0" 97.651 + id="path5381" 97.652 + inkscape:connector-curvature="0" /> 97.653 + <text 97.654 + xml:space="preserve" 97.655 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.656 + x="604.78461" 97.657 + y="720.71179" 97.658 + id="text5387" 97.659 + sodipodi:linespacing="100%"><tspan 97.660 + style="text-align:center;text-anchor:middle;fill:#800000" 97.661 + sodipodi:role="line" 97.662 + x="604.78461" 97.663 + y="720.71179" 97.664 + id="tspan5389">end VP</tspan><tspan 97.665 + id="tspan5391" 97.666 + style="text-align:center;text-anchor:middle;fill:#800000" 97.667 + sodipodi:role="line" 97.668 + x="604.78461" 97.669 + y="730.71179">wrapper Fn</tspan></text> 97.670 + <path 97.671 + inkscape:connector-curvature="0" 97.672 + id="path5393" 97.673 + d="m 602.289,740.02605 c 65.24023,0 65.24023,0 65.24023,0" 97.674 + style="fill:none;stroke:#000000;stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 97.675 + <path 97.676 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 97.677 + d="m 602.02904,732.31985 c 0,7.35629 0,7.35629 0,7.35629" 97.678 + id="path5401" 97.679 + inkscape:connector-curvature="0" 97.680 + sodipodi:nodetypes="cc" /> 97.681 + <path 97.682 + sodipodi:nodetypes="cc" 97.683 + inkscape:connector-curvature="0" 97.684 + id="path5403" 97.685 + d="m 602.02904,608.21843 c 0,19.4577 0,19.4577 0,19.4577" 97.686 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 97.687 + <path 97.688 + inkscape:connector-curvature="0" 97.689 + id="path5405" 97.690 + d="m 602.6148,628.02605 c 64.1779,0 64.1779,0 64.1779,0" 97.691 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 97.692 + <path 97.693 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 97.694 + d="m 668.13452,704.02605 c -67.06305,0 -67.06305,0 -67.06305,0" 97.695 + id="path5407" 97.696 + inkscape:connector-curvature="0" /> 97.697 + <path 97.698 + sodipodi:nodetypes="cc" 97.699 + inkscape:connector-curvature="0" 97.700 + id="path5409" 97.701 + d="m 668.02904,626.63925 c 0,13.68455 0,13.68455 0,13.68455" 97.702 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 97.703 + <path 97.704 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 97.705 + d="m 602.02904,703.22687 c 0,5.5885 0,5.5885 0,5.5885" 97.706 + id="path5411" 97.707 + inkscape:connector-curvature="0" 97.708 + sodipodi:nodetypes="cc" /> 97.709 + <path 97.710 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 97.711 + d="m 668.02904,690.63925 c 0,13.68455 0,13.68455 0,13.68455" 97.712 + id="path5417" 97.713 + inkscape:connector-curvature="0" 97.714 + sodipodi:nodetypes="cc" /> 97.715 + <text 97.716 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 97.717 + xml:space="preserve" 97.718 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.719 + x="38.175541" 97.720 + y="928.84552" 97.721 + id="text5421" 97.722 + sodipodi:linespacing="100%"><tspan 97.723 + style="font-size:8px;text-align:center;text-anchor:middle" 97.724 + sodipodi:role="line" 97.725 + x="38.175541" 97.726 + y="928.84552" 97.727 + id="tspan5423">suspend</tspan><tspan 97.728 + id="tspan5425" 97.729 + style="font-size:8px;text-align:center;text-anchor:middle" 97.730 + sodipodi:role="line" 97.731 + x="38.175541" 97.732 + y="936.84552">and switch</tspan><tspan 97.733 + id="tspan5427" 97.734 + style="font-size:8px;text-align:center;text-anchor:middle" 97.735 + sodipodi:role="line" 97.736 + x="38.175541" 97.737 + y="944.84552">to runtime</tspan></text> 97.738 + <text 97.739 + sodipodi:linespacing="100%" 97.740 + id="text5431" 97.741 + y="954.75671" 97.742 + x="10.307833" 97.743 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.744 + xml:space="preserve" 97.745 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 97.746 + y="954.75671" 97.747 + x="10.307833" 97.748 + sodipodi:role="line" 97.749 + style="font-size:8px;text-align:center;text-anchor:middle" 97.750 + id="tspan5433">return</tspan><tspan 97.751 + id="tspan5435" 97.752 + y="962.75671" 97.753 + x="10.307833" 97.754 + sodipodi:role="line" 97.755 + style="font-size:8px;text-align:center;text-anchor:middle">from</tspan><tspan 97.756 + id="tspan5437" 97.757 + y="970.75671" 97.758 + x="10.307833" 97.759 + sodipodi:role="line" 97.760 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text> 97.761 + <text 97.762 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 97.763 + xml:space="preserve" 97.764 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.765 + x="556.25635" 97.766 + y="612.71143" 97.767 + id="text5445" 97.768 + sodipodi:linespacing="100%"><tspan 97.769 + style="font-size:8px;text-align:center;text-anchor:middle" 97.770 + sodipodi:role="line" 97.771 + x="556.25635" 97.772 + y="612.71143" 97.773 + id="tspan5447">normal call</tspan></text> 97.774 + <path 97.775 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 97.776 + d="m 668.02904,739.28283 c 0,13.68455 0,13.68455 0,13.68455" 97.777 + id="path5449" 97.778 + inkscape:connector-curvature="0" 97.779 + sodipodi:nodetypes="cc" /> 97.780 + <text 97.781 + sodipodi:linespacing="100%" 97.782 + id="text5453" 97.783 + y="1012.1439" 97.784 + x="-39.679813" 97.785 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.786 + xml:space="preserve" 97.787 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 97.788 + id="tspan5455" 97.789 + y="1012.1439" 97.790 + x="-39.679813" 97.791 + sodipodi:role="line" 97.792 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan 97.793 + y="1020.1439" 97.794 + x="-39.679813" 97.795 + sodipodi:role="line" 97.796 + style="font-size:8px;text-align:center;text-anchor:middle" 97.797 + id="tspan5457">and switch</tspan><tspan 97.798 + y="1028.144" 97.799 + x="-39.679813" 97.800 + sodipodi:role="line" 97.801 + style="font-size:8px;text-align:center;text-anchor:middle" 97.802 + id="tspan5459">to runtime</tspan></text> 97.803 + <path 97.804 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 97.805 + d="m 514.02904,708.31987 c 0,26.21842 0,26.21842 0,26.21842" 97.806 + id="path5461" 97.807 + inkscape:connector-curvature="0" 97.808 + sodipodi:nodetypes="cc" /> 97.809 + <path 97.810 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 97.811 + d="m 514.2471,734.02605 c 87.58783,0 87.58783,0 87.58783,0" 97.812 + id="path5463" 97.813 + inkscape:connector-curvature="0" /> 97.814 + <text 97.815 + sodipodi:linespacing="100%" 97.816 + id="text5465" 97.817 + y="526.71161" 97.818 + x="555.8786" 97.819 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.820 + xml:space="preserve" 97.821 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 97.822 + id="tspan5467" 97.823 + y="526.71161" 97.824 + x="555.8786" 97.825 + sodipodi:role="line" 97.826 + style="font-size:8px;text-align:center;text-anchor:middle">normal call</tspan></text> 97.827 + <text 97.828 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 97.829 + xml:space="preserve" 97.830 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.831 + x="556.80994" 97.832 + y="738.711" 97.833 + id="text5469" 97.834 + sodipodi:linespacing="100%"><tspan 97.835 + style="font-size:8px;text-align:center;text-anchor:middle" 97.836 + sodipodi:role="line" 97.837 + x="556.80994" 97.838 + y="738.711" 97.839 + id="tspan5471">normal call</tspan></text> 97.840 + <g 97.841 + transform="matrix(1,0,0,0.71130685,-16,120.52913)" 97.842 + id="g8395"> 97.843 + <rect 97.844 + y="313.58255" 97.845 + x="310.40247" 97.846 + height="52.250008" 97.847 + width="65.276405" 97.848 + id="rect8397" 97.849 + style="fill:none;stroke:#000000;stroke-width:1.28076112;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 97.850 + </g> 97.851 + <path 97.852 + sodipodi:nodetypes="cc" 97.853 + inkscape:connector-curvature="0" 97.854 + id="path9273" 97.855 + d="m 514.02904,496.31987 c 0,26.21842 0,26.21842 0,26.21842" 97.856 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 97.857 + <path 97.858 + sodipodi:nodetypes="cc" 97.859 + inkscape:connector-curvature="0" 97.860 + id="path9275" 97.861 + d="m 476.02904,382.79398 c 0,35.61575 0,35.61575 0,35.61575" 97.862 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" /> 97.863 + <path 97.864 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 97.865 + d="m 468.24715,418.02605 c 13.34137,0 13.34137,0 13.34137,0" 97.866 + id="path9277" 97.867 + inkscape:connector-curvature="0" /> 97.868 + <path 97.869 + inkscape:connector-curvature="0" 97.870 + id="path9279" 97.871 + d="m 481.57781,480.02605 c -13.14022,0 -13.14022,0 -13.14022,0" 97.872 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 97.873 + <path 97.874 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 97.875 + d="m 476.02904,480.3113 c 0,57.40944 0,57.40944 0,57.40944" 97.876 + id="path9281" 97.877 + inkscape:connector-curvature="0" 97.878 + sodipodi:nodetypes="cc" /> 97.879 + <path 97.880 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 97.881 + d="m 481.57781,539.27417 c -13.14022,0 -13.14022,0 -13.14022,0" 97.882 + id="path9283" 97.883 + inkscape:connector-curvature="0" /> 97.884 + <text 97.885 + transform="matrix(-0.01875541,0.9998241,-0.9998241,-0.01875541,0,0)" 97.886 + xml:space="preserve" 97.887 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.888 + x="453.93332" 97.889 + y="-466.39136" 97.890 + id="text9285" 97.891 + sodipodi:linespacing="100%"><tspan 97.892 + style="text-align:center;text-anchor:middle;fill:#008000" 97.893 + sodipodi:role="line" 97.894 + x="453.93332" 97.895 + y="-466.39136" 97.896 + id="tspan9287">Timeline of SeedVP</tspan></text> 97.897 + <text 97.898 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 97.899 + xml:space="preserve" 97.900 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.901 + x="485.39722" 97.902 + y="417.02103" 97.903 + id="text9289" 97.904 + sodipodi:linespacing="100%"><tspan 97.905 + style="font-size:8px;text-align:start;text-anchor:start" 97.906 + sodipodi:role="line" 97.907 + x="485.39722" 97.908 + y="417.02103" 97.909 + id="tspan9291">suspend</tspan></text> 97.910 + <text 97.911 + sodipodi:linespacing="100%" 97.912 + id="text9293" 97.913 + y="481.02048" 97.914 + x="485.67838" 97.915 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.916 + xml:space="preserve" 97.917 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 97.918 + id="tspan9295" 97.919 + y="481.02048" 97.920 + x="485.67838" 97.921 + sodipodi:role="line" 97.922 + style="font-size:8px;text-align:start;text-anchor:start">resume</tspan></text> 97.923 + <text 97.924 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 97.925 + xml:space="preserve" 97.926 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.927 + x="485.92978" 97.928 + y="538.22565" 97.929 + id="text9297" 97.930 + sodipodi:linespacing="100%"><tspan 97.931 + style="font-size:8px;text-align:start;text-anchor:start" 97.932 + sodipodi:role="line" 97.933 + x="485.92978" 97.934 + y="538.22565" 97.935 + id="tspan9299">end</tspan></text> 97.936 + <text 97.937 + sodipodi:linespacing="100%" 97.938 + id="text9301" 97.939 + y="307.42465" 97.940 + x="63.167969" 97.941 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.942 + xml:space="preserve"><tspan 97.943 + id="tspan9303" 97.944 + y="307.42465" 97.945 + x="63.167969" 97.946 + sodipodi:role="line" 97.947 + style="text-align:center;text-anchor:middle;fill:#000080">Proto-Runtime</tspan><tspan 97.948 + id="tspan9305" 97.949 + y="317.42465" 97.950 + x="63.167969" 97.951 + sodipodi:role="line" 97.952 + style="text-align:center;text-anchor:middle;fill:#000080">Primitive</tspan><tspan 97.953 + y="327.42465" 97.954 + x="63.167969" 97.955 + sodipodi:role="line" 97.956 + style="text-align:center;text-anchor:middle;fill:#000080" 97.957 + id="tspan9307">Code</tspan></text> 97.958 + <text 97.959 + xml:space="preserve" 97.960 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.961 + x="65.380371" 97.962 + y="423.42465" 97.963 + id="text9309" 97.964 + sodipodi:linespacing="100%"><tspan 97.965 + id="tspan9313" 97.966 + style="text-align:center;text-anchor:middle;fill:#000080" 97.967 + sodipodi:role="line" 97.968 + x="65.380371" 97.969 + y="423.42465">PR primitive Fn</tspan><tspan 97.970 + style="text-align:center;text-anchor:middle;fill:#000080" 97.971 + sodipodi:role="line" 97.972 + x="65.380371" 97.973 + y="433.42465" 97.974 + id="tspan9317">to create VP</tspan></text> 97.975 + <path 97.976 + inkscape:connector-curvature="0" 97.977 + id="path9321" 97.978 + d="m 101.87628,425.85467 c 83.54552,12.98474 93.01032,9.74762 154.91834,33.79457 83.60123,32.47325 132.79902,111.74825 132.79902,111.74825" 97.979 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000006, 3.00000006;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 97.980 + sodipodi:nodetypes="csc" /> 97.981 + <g 97.982 + id="g9341" 97.983 + transform="translate(44.002789,174)"> 97.984 + <rect 97.985 + y="389.58255" 97.986 + x="346.40247" 97.987 + height="37.165791" 97.988 + width="65.276405" 97.989 + id="rect9343" 97.990 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 97.991 + <text 97.992 + xml:space="preserve" 97.993 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.994 + x="379.35806" 97.995 + y="400.72159" 97.996 + id="text9345" 97.997 + sodipodi:linespacing="100%"><tspan 97.998 + style="text-align:center;text-anchor:middle;fill:#008000" 97.999 + sodipodi:role="line" 97.1000 + x="379.35806" 97.1001 + y="400.72159" 97.1002 + id="tspan9347">VP 1</tspan><tspan 97.1003 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000" 97.1004 + sodipodi:role="line" 97.1005 + x="379.35806" 97.1006 + y="409.15637" 97.1007 + id="tspan9349">(created by</tspan><tspan 97.1008 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000" 97.1009 + sodipodi:role="line" 97.1010 + x="379.35806" 97.1011 + y="417.15637" 97.1012 + id="tspan9355">application,</tspan><tspan 97.1013 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000" 97.1014 + sodipodi:role="line" 97.1015 + x="379.35806" 97.1016 + y="425.15637" 97.1017 + id="tspan9746">on core 2)</tspan></text> 97.1018 + </g> 97.1019 + <g 97.1020 + transform="translate(44.002789,370)" 97.1021 + id="g9371" /> 97.1022 + <text 97.1023 + xml:space="preserve" 97.1024 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.1025 + x="202.41257" 97.1026 + y="379.42465" 97.1027 + id="text9512" 97.1028 + sodipodi:linespacing="100%"><tspan 97.1029 + style="text-align:center;text-anchor:middle;fill:#000080" 97.1030 + sodipodi:role="line" 97.1031 + x="202.41257" 97.1032 + y="379.42465" 97.1033 + id="tspan9514">Master Fn</tspan></text> 97.1034 + <path 97.1035 + sodipodi:nodetypes="cc" 97.1036 + inkscape:connector-curvature="0" 97.1037 + id="path9522" 97.1038 + d="m 205.27805,418.31985 c 0,7.35629 0,7.35629 0,7.35629" 97.1039 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 97.1040 + <path 97.1041 + inkscape:connector-curvature="0" 97.1042 + id="path9524" 97.1043 + d="m 205.05995,424.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 97.1044 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 97.1045 + <path 97.1046 + sodipodi:nodetypes="cc" 97.1047 + inkscape:connector-curvature="0" 97.1048 + id="path9548" 97.1049 + d="m 137.27805,423.85824 c 0,11.43122 0,11.43122 0,11.43122" 97.1050 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 97.1051 + <path 97.1052 + inkscape:connector-curvature="0" 97.1053 + id="path9550" 97.1054 + d="m 137.57123,436.02605 c -69.22157,0 -69.22157,0 -69.22157,0" 97.1055 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 97.1056 + <path 97.1057 + sodipodi:nodetypes="cc" 97.1058 + inkscape:connector-curvature="0" 97.1059 + id="path9554" 97.1060 + d="m 205.27805,474.63925 c 0,4.54718 0,4.54718 0,4.54718" 97.1061 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 97.1062 + <text 97.1063 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 97.1064 + xml:space="preserve" 97.1065 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.1066 + x="-187.67645" 97.1067 + y="493.07611" 97.1068 + id="text9566" 97.1069 + sodipodi:linespacing="100%"><tspan 97.1070 + style="font-size:8px;text-align:center;text-anchor:middle" 97.1071 + sodipodi:role="line" 97.1072 + x="-187.67645" 97.1073 + y="493.07611" 97.1074 + id="tspan9568">suspend</tspan><tspan 97.1075 + id="tspan9570" 97.1076 + style="font-size:8px;text-align:center;text-anchor:middle" 97.1077 + sodipodi:role="line" 97.1078 + x="-187.67645" 97.1079 + y="501.07611">and switch</tspan><tspan 97.1080 + id="tspan9572" 97.1081 + style="font-size:8px;text-align:center;text-anchor:middle" 97.1082 + sodipodi:role="line" 97.1083 + x="-187.67645" 97.1084 + y="509.07611">to app VP</tspan></text> 97.1085 + <path 97.1086 + sodipodi:nodetypes="cc" 97.1087 + inkscape:connector-curvature="0" 97.1088 + id="path9614" 97.1089 + d="m 205.27805,418.31985 c 0,7.35629 0,7.35629 0,7.35629" 97.1090 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 97.1091 + <path 97.1092 + sodipodi:nodetypes="cc" 97.1093 + inkscape:connector-curvature="0" 97.1094 + id="path9616" 97.1095 + d="m 205.27805,418.31985 c 0,7.35629 0,7.35629 0,7.35629" 97.1096 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 97.1097 + <path 97.1098 + inkscape:connector-curvature="0" 97.1099 + id="path9648" 97.1100 + d="m 468.24715,383.42364 c 13.34137,0 13.34137,0 13.34137,0" 97.1101 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 97.1102 + <text 97.1103 + sodipodi:linespacing="100%" 97.1104 + id="text9654" 97.1105 + y="385.02261" 97.1106 + x="485.25659" 97.1107 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.1108 + xml:space="preserve" 97.1109 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 97.1110 + id="tspan9656" 97.1111 + y="385.02261" 97.1112 + x="485.25659" 97.1113 + sodipodi:role="line" 97.1114 + style="font-size:8px;text-align:start;text-anchor:start">start</tspan></text> 97.1115 + <path 97.1116 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" 97.1117 + d="m 476.02904,602.79398 c 0,35.61575 0,35.61575 0,35.61575" 97.1118 + id="path9658" 97.1119 + inkscape:connector-curvature="0" 97.1120 + sodipodi:nodetypes="cc" /> 97.1121 + <path 97.1122 + inkscape:connector-curvature="0" 97.1123 + id="path9660" 97.1124 + d="m 468.24715,638.02605 c 13.34137,0 13.34137,0 13.34137,0" 97.1125 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 97.1126 + <path 97.1127 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 97.1128 + d="m 481.57781,692.02605 c -13.14022,0 -13.14022,0 -13.14022,0" 97.1129 + id="path9662" 97.1130 + inkscape:connector-curvature="0" /> 97.1131 + <text 97.1132 + sodipodi:linespacing="100%" 97.1133 + id="text9668" 97.1134 + y="-464.48126" 97.1135 + x="672.00745" 97.1136 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.1137 + xml:space="preserve" 97.1138 + transform="matrix(-0.01875541,0.9998241,-0.9998241,-0.01875541,0,0)"><tspan 97.1139 + y="-464.48126" 97.1140 + x="672.00745" 97.1141 + sodipodi:role="line" 97.1142 + style="text-align:center;text-anchor:middle;fill:#008000" 97.1143 + id="tspan9740">Timeline of VP 1</tspan></text> 97.1144 + <text 97.1145 + sodipodi:linespacing="100%" 97.1146 + id="text9672" 97.1147 + y="637.01904" 97.1148 + x="486.36292" 97.1149 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.1150 + xml:space="preserve" 97.1151 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 97.1152 + id="tspan9674" 97.1153 + y="637.01904" 97.1154 + x="486.36292" 97.1155 + sodipodi:role="line" 97.1156 + style="font-size:8px;text-align:start;text-anchor:start">suspend</tspan></text> 97.1157 + <text 97.1158 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 97.1159 + xml:space="preserve" 97.1160 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.1161 + x="486.6088" 97.1162 + y="693.01855" 97.1163 + id="text9676" 97.1164 + sodipodi:linespacing="100%"><tspan 97.1165 + style="font-size:8px;text-align:start;text-anchor:start" 97.1166 + sodipodi:role="line" 97.1167 + x="486.6088" 97.1168 + y="693.01855" 97.1169 + id="tspan9678">resume</tspan></text> 97.1170 + <path 97.1171 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 97.1172 + d="m 468.24715,603.42364 c 13.34137,0 13.34137,0 13.34137,0" 97.1173 + id="path9684" 97.1174 + inkscape:connector-curvature="0" /> 97.1175 + <text 97.1176 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 97.1177 + xml:space="preserve" 97.1178 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.1179 + x="486.22229" 97.1180 + y="605.02063" 97.1181 + id="text9686" 97.1182 + sodipodi:linespacing="100%"><tspan 97.1183 + style="font-size:8px;text-align:start;text-anchor:start" 97.1184 + sodipodi:role="line" 97.1185 + x="486.22229" 97.1186 + y="605.02063" 97.1187 + id="tspan9688">start</tspan></text> 97.1188 + <path 97.1189 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" 97.1190 + d="m 266.02904,417.4311 c 0,61.88904 0,61.88904 0,61.88904" 97.1191 + id="path9690" 97.1192 + inkscape:connector-curvature="0" 97.1193 + sodipodi:nodetypes="cc" /> 97.1194 + <path 97.1195 + inkscape:connector-curvature="0" 97.1196 + id="path9692" 97.1197 + d="m 258.24715,418.02605 c 13.34137,0 13.34137,0 13.34137,0" 97.1198 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 97.1199 + <path 97.1200 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 97.1201 + d="m 271.57781,480.02605 c -13.14022,0 -13.14022,0 -13.14022,0" 97.1202 + id="path9694" 97.1203 + inkscape:connector-curvature="0" /> 97.1204 + <text 97.1205 + sodipodi:linespacing="100%" 97.1206 + id="text9700" 97.1207 + y="-276.70538" 97.1208 + x="463.34042" 97.1209 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.1210 + xml:space="preserve" 97.1211 + transform="matrix(0.00239328,0.99999714,-0.99999714,0.00239328,0,0)"><tspan 97.1212 + y="-276.70538" 97.1213 + x="463.34042" 97.1214 + sodipodi:role="line" 97.1215 + style="text-align:center;text-anchor:middle;fill:#000080" 97.1216 + id="tspan9736">Timeline of Master on core 1</tspan></text> 97.1217 + <text 97.1218 + sodipodi:linespacing="100%" 97.1219 + id="text9704" 97.1220 + y="480.12692" 97.1221 + x="261.37079" 97.1222 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.1223 + xml:space="preserve" 97.1224 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 97.1225 + id="tspan9706" 97.1226 + y="480.12692" 97.1227 + x="261.37079" 97.1228 + sodipodi:role="line" 97.1229 + style="font-size:8px;text-align:end;text-anchor:end">suspend</tspan></text> 97.1230 + <text 97.1231 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 97.1232 + xml:space="preserve" 97.1233 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.1234 + x="258.65039" 97.1235 + y="420.12738" 97.1236 + id="text9708" 97.1237 + sodipodi:linespacing="100%"><tspan 97.1238 + style="font-size:8px;text-align:end;text-anchor:end" 97.1239 + sodipodi:role="line" 97.1240 + x="258.65039" 97.1241 + y="420.12738" 97.1242 + id="tspan9710">resume</tspan></text> 97.1243 + <path 97.1244 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 97.1245 + d="m 258.24715,383.42364 c 13.34137,0 13.34137,0 13.34137,0" 97.1246 + id="path9716" 97.1247 + inkscape:connector-curvature="0" /> 97.1248 + <text 97.1249 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 97.1250 + xml:space="preserve" 97.1251 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.1252 + x="257.70789" 97.1253 + y="386.09387" 97.1254 + id="text9718" 97.1255 + sodipodi:linespacing="100%"><tspan 97.1256 + style="font-size:8px;text-align:end;text-anchor:end" 97.1257 + sodipodi:role="line" 97.1258 + x="257.70789" 97.1259 + y="386.09387" 97.1260 + id="tspan9720">start</tspan></text> 97.1261 + <path 97.1262 + sodipodi:nodetypes="cc" 97.1263 + inkscape:connector-curvature="0" 97.1264 + id="path9722" 97.1265 + d="m 266.02904,537.43112 c 0,10.33165 0,10.33165 0,10.33165" 97.1266 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 97.1267 + <path 97.1268 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 97.1269 + d="m 258.24715,538.02605 c 13.34137,0 13.34137,0 13.34137,0" 97.1270 + id="path9724" 97.1271 + inkscape:connector-curvature="0" /> 97.1272 + <text 97.1273 + sodipodi:linespacing="100%" 97.1274 + id="text9936" 97.1275 + y="624.93951" 97.1276 + x="641.89471" 97.1277 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.1278 + xml:space="preserve" 97.1279 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 97.1280 + id="tspan9938" 97.1281 + y="624.93951" 97.1282 + x="641.89471" 97.1283 + sodipodi:role="line" 97.1284 + style="font-size:8px;text-align:center;text-anchor:middle">Call to dyn lib</tspan></text> 97.1285 + <text 97.1286 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 97.1287 + xml:space="preserve" 97.1288 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.1289 + x="643.74738" 97.1290 + y="736.927" 97.1291 + id="text9940" 97.1292 + sodipodi:linespacing="100%"><tspan 97.1293 + style="font-size:8px;text-align:center;text-anchor:middle" 97.1294 + sodipodi:role="line" 97.1295 + x="643.74738" 97.1296 + y="736.927" 97.1297 + id="tspan9942">Call to dyn lib</tspan></text> 97.1298 + <text 97.1299 + sodipodi:linespacing="100%" 97.1300 + id="text9944" 97.1301 + y="524.9541" 97.1302 + x="640.23999" 97.1303 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.1304 + xml:space="preserve" 97.1305 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 97.1306 + id="tspan9946" 97.1307 + y="524.9541" 97.1308 + x="640.23999" 97.1309 + sodipodi:role="line" 97.1310 + style="font-size:8px;text-align:center;text-anchor:middle">Call to dyn lib</tspan></text> 97.1311 + <text 97.1312 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 97.1313 + xml:space="preserve" 97.1314 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.1315 + x="112.79035" 97.1316 + y="441.66806" 97.1317 + id="text9948" 97.1318 + sodipodi:linespacing="100%"><tspan 97.1319 + style="font-size:8px;text-align:center;text-anchor:middle" 97.1320 + sodipodi:role="line" 97.1321 + x="112.79035" 97.1322 + y="441.66806" 97.1323 + id="tspan9950">call to dyn lib</tspan></text> 97.1324 + <path 97.1325 + inkscape:connector-curvature="0" 97.1326 + id="path9952" 97.1327 + d="m 701.67453,480.02605 c -669.895225,0 -669.895225,0 -669.895225,0" 97.1328 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" /> 97.1329 + <path 97.1330 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" 97.1331 + d="m 701.67453,417.52981 c -669.895225,0 -669.895225,0 -669.895225,0" 97.1332 + id="path9954" 97.1333 + inkscape:connector-curvature="0" /> 97.1334 + <text 97.1335 + xml:space="preserve" 97.1336 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.1337 + x="326.92542" 97.1338 + y="577.76575" 97.1339 + id="text9956" 97.1340 + sodipodi:linespacing="100%"><tspan 97.1341 + style="text-align:center;text-anchor:middle" 97.1342 + sodipodi:role="line" 97.1343 + id="tspan9958" 97.1344 + x="326.92542" 97.1345 + y="577.76575">Master</tspan><tspan 97.1346 + style="font-size:8px;text-align:center;text-anchor:middle" 97.1347 + id="tspan9960" 97.1348 + sodipodi:role="line" 97.1349 + x="326.92542" 97.1350 + y="586.2005">(runtime system)</tspan><tspan 97.1351 + id="tspan9962" 97.1352 + style="font-size:8px;text-align:center;text-anchor:middle" 97.1353 + sodipodi:role="line" 97.1354 + x="326.92542" 97.1355 + y="594.2005">on core 2</tspan></text> 97.1356 + <path 97.1357 + inkscape:connector-curvature="0" 97.1358 + id="path9970" 97.1359 + d="m 291.99816,596.02605 c -63.44071,0 -63.44071,0 -63.44071,0" 97.1360 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000003, 3.00000003;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 97.1361 + <g 97.1362 + id="g9972" 97.1363 + transform="matrix(1,0,0,0.71130685,-16,342.52913)"> 97.1364 + <rect 97.1365 + style="fill:none;stroke:#000000;stroke-width:1.28076112;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 97.1366 + id="rect9974" 97.1367 + width="65.276405" 97.1368 + height="52.250008" 97.1369 + x="310.40247" 97.1370 + y="313.58255" /> 97.1371 + </g> 97.1372 + <text 97.1373 + sodipodi:linespacing="100%" 97.1374 + id="text9982" 97.1375 + y="599.42468" 97.1376 + x="202.41257" 97.1377 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.1378 + xml:space="preserve"><tspan 97.1379 + id="tspan9984" 97.1380 + y="599.42468" 97.1381 + x="202.41257" 97.1382 + sodipodi:role="line" 97.1383 + style="text-align:center;text-anchor:middle;fill:#000080">Master Fn</tspan></text> 97.1384 + <path 97.1385 + sodipodi:nodetypes="cc" 97.1386 + inkscape:connector-curvature="0" 97.1387 + id="path10010" 97.1388 + d="m 266.02904,637.43113 c 0,54.93536 0,54.93536 0,54.93536" 97.1389 + style="fill:none;stroke:#000000;stroke-width:0.99999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" /> 97.1390 + <path 97.1391 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 97.1392 + d="m 258.24715,638.02605 c 13.34137,0 13.34137,0 13.34137,0" 97.1393 + id="path10012" 97.1394 + inkscape:connector-curvature="0" /> 97.1395 + <path 97.1396 + inkscape:connector-curvature="0" 97.1397 + id="path10014" 97.1398 + d="m 271.57781,692.02605 c -13.14022,0 -13.14022,0 -13.14022,0" 97.1399 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 97.1400 + <text 97.1401 + transform="matrix(0.00962718,0.99995366,-0.99995366,0.00962718,0,0)" 97.1402 + xml:space="preserve" 97.1403 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.1404 + x="675.3847" 97.1405 + y="-275.31226" 97.1406 + id="text10018" 97.1407 + sodipodi:linespacing="100%"><tspan 97.1408 + id="tspan10020" 97.1409 + style="text-align:center;text-anchor:middle;fill:#000080" 97.1410 + sodipodi:role="line" 97.1411 + x="675.3847" 97.1412 + y="-275.31226">Timeline of Master on core 2</tspan></text> 97.1413 + <path 97.1414 + inkscape:connector-curvature="0" 97.1415 + id="path10030" 97.1416 + d="m 258.24715,603.42364 c 13.34137,0 13.34137,0 13.34137,0" 97.1417 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 97.1418 + <path 97.1419 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000002, 3.00000002;stroke-dashoffset:0" 97.1420 + d="m 205.27805,381.45805 c 0,3.23577 0,3.23577 0,3.23577" 97.1421 + id="path10054" 97.1422 + inkscape:connector-curvature="0" 97.1423 + sodipodi:nodetypes="cc" /> 97.1424 + <path 97.1425 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" 97.1426 + d="m 701.67453,692.02605 c -669.895225,0 -669.895225,0 -669.895225,0" 97.1427 + id="path10056" 97.1428 + inkscape:connector-curvature="0" /> 97.1429 + <path 97.1430 + inkscape:connector-curvature="0" 97.1431 + id="path10058" 97.1432 + d="m 701.67453,637.52981 c -669.895225,0 -669.895225,0 -669.895225,0" 97.1433 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" /> 97.1434 + <text 97.1435 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 97.1436 + xml:space="preserve" 97.1437 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.1438 + x="-135.75337" 97.1439 + y="434.7803" 97.1440 + id="text10062" 97.1441 + sodipodi:linespacing="100%"><tspan 97.1442 + id="tspan10068" 97.1443 + style="font-size:8px;text-align:center;text-anchor:middle" 97.1444 + sodipodi:role="line" 97.1445 + x="-135.75337" 97.1446 + y="434.7803">return from</tspan><tspan 97.1447 + style="font-size:8px;text-align:center;text-anchor:middle" 97.1448 + sodipodi:role="line" 97.1449 + x="-135.75337" 97.1450 + y="442.7803" 97.1451 + id="tspan10074">suspend</tspan></text> 97.1452 + <path 97.1453 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" 97.1454 + d="m 701.67453,538.02605 c -669.895225,0 -669.895225,0 -669.895225,0" 97.1455 + id="path10076" 97.1456 + inkscape:connector-curvature="0" /> 97.1457 + <text 97.1458 + xml:space="preserve" 97.1459 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.1460 + x="667.38037" 97.1461 + y="515.42468" 97.1462 + id="text10082" 97.1463 + sodipodi:linespacing="100%"><tspan 97.1464 + style="text-align:center;text-anchor:middle;fill:#000080" 97.1465 + sodipodi:role="line" 97.1466 + x="667.38037" 97.1467 + y="515.42468" 97.1468 + id="tspan10084">PR primitive Fn</tspan><tspan 97.1469 + id="tspan10086" 97.1470 + style="text-align:center;text-anchor:middle;fill:#000080" 97.1471 + sodipodi:role="line" 97.1472 + x="667.38037" 97.1473 + y="525.42468">to send request</tspan></text> 97.1474 + <text 97.1475 + sodipodi:linespacing="100%" 97.1476 + id="text10088" 97.1477 + y="615.42468" 97.1478 + x="667.38037" 97.1479 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.1480 + xml:space="preserve"><tspan 97.1481 + id="tspan10090" 97.1482 + y="615.42468" 97.1483 + x="667.38037" 97.1484 + sodipodi:role="line" 97.1485 + style="text-align:center;text-anchor:middle;fill:#000080">PR primitive Fn</tspan><tspan 97.1486 + y="625.42468" 97.1487 + x="667.38037" 97.1488 + sodipodi:role="line" 97.1489 + style="text-align:center;text-anchor:middle;fill:#000080" 97.1490 + id="tspan10092">to send request</tspan></text> 97.1491 + <text 97.1492 + xml:space="preserve" 97.1493 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.1494 + x="667.38037" 97.1495 + y="727.42468" 97.1496 + id="text10094" 97.1497 + sodipodi:linespacing="100%"><tspan 97.1498 + style="text-align:center;text-anchor:middle;fill:#000080" 97.1499 + sodipodi:role="line" 97.1500 + x="667.38037" 97.1501 + y="727.42468" 97.1502 + id="tspan10096">PR primitive Fn</tspan><tspan 97.1503 + id="tspan10098" 97.1504 + style="text-align:center;text-anchor:middle;fill:#000080" 97.1505 + sodipodi:role="line" 97.1506 + x="667.38037" 97.1507 + y="737.42468">to send request</tspan></text> 97.1508 + <path 97.1509 + sodipodi:nodetypes="cc" 97.1510 + inkscape:connector-curvature="0" 97.1511 + id="path10100" 97.1512 + d="m 476.02904,692.3113 c 0,57.40944 0,57.40944 0,57.40944" 97.1513 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 97.1514 + <path 97.1515 + inkscape:connector-curvature="0" 97.1516 + id="path10102" 97.1517 + d="m 481.57781,751.27417 c -13.14022,0 -13.14022,0 -13.14022,0" 97.1518 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 97.1519 + <text 97.1520 + sodipodi:linespacing="100%" 97.1521 + id="text10104" 97.1522 + y="750.22363" 97.1523 + x="486.86038" 97.1524 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.1525 + xml:space="preserve" 97.1526 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 97.1527 + id="tspan10106" 97.1528 + y="750.22363" 97.1529 + x="486.86038" 97.1530 + sodipodi:role="line" 97.1531 + style="font-size:8px;text-align:start;text-anchor:start">end</tspan></text> 97.1532 + <path 97.1533 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 97.1534 + d="m 266.02904,749.43112 c 0,10.33165 0,10.33165 0,10.33165" 97.1535 + id="path10108" 97.1536 + inkscape:connector-curvature="0" 97.1537 + sodipodi:nodetypes="cc" /> 97.1538 + <path 97.1539 + inkscape:connector-curvature="0" 97.1540 + id="path10110" 97.1541 + d="m 258.24715,750.02605 c 13.34137,0 13.34137,0 13.34137,0" 97.1542 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 97.1543 + <path 97.1544 + inkscape:connector-curvature="0" 97.1545 + id="path10116" 97.1546 + d="m 701.67453,750.02605 c -669.895225,0 -669.895225,0 -669.895225,0" 97.1547 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" /> 97.1548 + <text 97.1549 + sodipodi:linespacing="100%" 97.1550 + id="text10118" 97.1551 + y="540.12653" 97.1552 + x="259.17728" 97.1553 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.1554 + xml:space="preserve" 97.1555 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 97.1556 + id="tspan10120" 97.1557 + y="540.12653" 97.1558 + x="259.17728" 97.1559 + sodipodi:role="line" 97.1560 + style="font-size:8px;text-align:end;text-anchor:end">resume</tspan></text> 97.1561 + <text 97.1562 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 97.1563 + xml:space="preserve" 97.1564 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.1565 + x="259.61627" 97.1566 + y="640.12561" 97.1567 + id="text10122" 97.1568 + sodipodi:linespacing="100%"><tspan 97.1569 + style="font-size:8px;text-align:end;text-anchor:end" 97.1570 + sodipodi:role="line" 97.1571 + x="259.61627" 97.1572 + y="640.12561" 97.1573 + id="tspan10124">resume</tspan></text> 97.1574 + <text 97.1575 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 97.1576 + xml:space="preserve" 97.1577 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.1578 + x="262.3013" 97.1579 + y="692.12494" 97.1580 + id="text10126" 97.1581 + sodipodi:linespacing="100%"><tspan 97.1582 + style="font-size:8px;text-align:end;text-anchor:end" 97.1583 + sodipodi:role="line" 97.1584 + x="262.3013" 97.1585 + y="692.12494" 97.1586 + id="tspan10128">suspend</tspan></text> 97.1587 + <text 97.1588 + sodipodi:linespacing="100%" 97.1589 + id="text10130" 97.1590 + y="606.09192" 97.1591 + x="258.67368" 97.1592 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.1593 + xml:space="preserve" 97.1594 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 97.1595 + id="tspan10132" 97.1596 + y="606.09192" 97.1597 + x="258.67368" 97.1598 + sodipodi:role="line" 97.1599 + style="font-size:8px;text-align:end;text-anchor:end">start</tspan></text> 97.1600 + <text 97.1601 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 97.1602 + xml:space="preserve" 97.1603 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.1604 + x="260.10779" 97.1605 + y="752.12427" 97.1606 + id="text10134" 97.1607 + sodipodi:linespacing="100%"><tspan 97.1608 + style="font-size:8px;text-align:end;text-anchor:end" 97.1609 + sodipodi:role="line" 97.1610 + x="260.10779" 97.1611 + y="752.12427" 97.1612 + id="tspan10136">resume</tspan></text> 97.1613 + <text 97.1614 + xml:space="preserve" 97.1615 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.1616 + x="136.99219" 97.1617 + y="307.42465" 97.1618 + id="text10146" 97.1619 + sodipodi:linespacing="100%"><tspan 97.1620 + style="text-align:center;text-anchor:middle;fill:#800000" 97.1621 + sodipodi:role="line" 97.1622 + x="138.49609" 97.1623 + y="307.42465" 97.1624 + id="tspan10148">Language </tspan><tspan 97.1625 + id="tspan10150" 97.1626 + style="text-align:center;text-anchor:middle;fill:#800000" 97.1627 + sodipodi:role="line" 97.1628 + x="136.99219" 97.1629 + y="317.42465">Plugin</tspan><tspan 97.1630 + id="tspan10152" 97.1631 + style="text-align:center;text-anchor:middle;fill:#800000" 97.1632 + sodipodi:role="line" 97.1633 + x="136.99219" 97.1634 + y="327.42465">Code</tspan></text> 97.1635 + <text 97.1636 + xml:space="preserve" 97.1637 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.1638 + x="203.16797" 97.1639 + y="307.42465" 97.1640 + id="text10154" 97.1641 + sodipodi:linespacing="100%"><tspan 97.1642 + style="text-align:center;text-anchor:middle;fill:#000080" 97.1643 + sodipodi:role="line" 97.1644 + x="203.16797" 97.1645 + y="307.42465" 97.1646 + id="tspan10156">Proto-Runtime</tspan><tspan 97.1647 + style="text-align:center;text-anchor:middle;fill:#000080" 97.1648 + sodipodi:role="line" 97.1649 + x="203.16797" 97.1650 + y="317.42465" 97.1651 + id="tspan10158">Master</tspan><tspan 97.1652 + id="tspan10160" 97.1653 + style="text-align:center;text-anchor:middle;fill:#000080" 97.1654 + sodipodi:role="line" 97.1655 + x="203.16797" 97.1656 + y="327.42465">Code</tspan></text> 97.1657 + <path 97.1658 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 97.1659 + d="m 205.05995,424.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 97.1660 + id="path10162" 97.1661 + inkscape:connector-curvature="0" /> 97.1662 + <path 97.1663 + inkscape:connector-curvature="0" 97.1664 + id="path10164" 97.1665 + d="m 137.04459,474.02605 c 67.19099,0 67.19099,0 67.19099,0" 97.1666 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 97.1667 + <path 97.1668 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 97.1669 + d="m 67.525286,448.02605 c 69.221574,0 69.221574,0 69.221574,0" 97.1670 + id="path10166" 97.1671 + inkscape:connector-curvature="0" /> 97.1672 + <path 97.1673 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 97.1674 + d="m 67.27805,435.85824 c 0,13.94668 0,13.94668 0,13.94668" 97.1675 + id="path10168" 97.1676 + inkscape:connector-curvature="0" 97.1677 + sodipodi:nodetypes="cc" /> 97.1678 + <path 97.1679 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 97.1680 + d="m 137.04459,450.02605 c 67.19099,0 67.19099,0 67.19099,0" 97.1681 + id="path10172" 97.1682 + inkscape:connector-curvature="0" /> 97.1683 + <path 97.1684 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 97.1685 + d="m 205.27805,450.63926 c 0,11.23237 0,11.23237 0,11.23237" 97.1686 + id="path10174" 97.1687 + inkscape:connector-curvature="0" 97.1688 + sodipodi:nodetypes="cc" /> 97.1689 + <path 97.1690 + inkscape:connector-curvature="0" 97.1691 + id="path10176" 97.1692 + d="m 205.05995,462.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 97.1693 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 97.1694 + <text 97.1695 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 97.1696 + xml:space="preserve" 97.1697 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.1698 + x="189.17583" 97.1699 + y="464.4057" 97.1700 + id="text10178" 97.1701 + sodipodi:linespacing="100%"><tspan 97.1702 + style="font-size:7px;text-align:center;text-anchor:middle" 97.1703 + sodipodi:role="line" 97.1704 + x="189.17583" 97.1705 + y="464.4057" 97.1706 + id="tspan10180">call via Ptr to Dyn Lib Fn</tspan></text> 97.1707 + <path 97.1708 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 97.1709 + d="m 137.27805,461.85824 c 0,11.43122 0,11.43122 0,11.43122" 97.1710 + id="path10182" 97.1711 + inkscape:connector-curvature="0" 97.1712 + sodipodi:nodetypes="cc" /> 97.1713 + <text 97.1714 + sodipodi:linespacing="100%" 97.1715 + id="text10184" 97.1716 + y="426.41092" 97.1717 + x="188.54729" 97.1718 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.1719 + xml:space="preserve" 97.1720 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 97.1721 + id="tspan10186" 97.1722 + y="426.41092" 97.1723 + x="188.54729" 97.1724 + sodipodi:role="line" 97.1725 + style="font-size:7px;text-align:center;text-anchor:middle">call via Ptr to Dyn Lib Fn</tspan></text> 97.1726 + <text 97.1727 + sodipodi:linespacing="100%" 97.1728 + id="text10188" 97.1729 + y="629.42468" 97.1730 + x="137.31689" 97.1731 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.1732 + xml:space="preserve"><tspan 97.1733 + id="tspan10190" 97.1734 + y="629.42468" 97.1735 + x="137.31689" 97.1736 + sodipodi:role="line" 97.1737 + style="text-align:center;text-anchor:middle;fill:#800000">Lang Handler</tspan><tspan 97.1738 + id="tspan10192" 97.1739 + y="639.42468" 97.1740 + x="137.31689" 97.1741 + sodipodi:role="line" 97.1742 + style="text-align:center;text-anchor:middle;fill:#800000">for acq Mutex</tspan></text> 97.1743 + <path 97.1744 + sodipodi:nodetypes="cc" 97.1745 + inkscape:connector-curvature="0" 97.1746 + id="path10230" 97.1747 + d="m 205.27805,601.45805 c 0,3.23576 0,3.23576 0,3.23576" 97.1748 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 97.1749 + <path 97.1750 + inkscape:connector-curvature="0" 97.1751 + id="path4879" 97.1752 + d="m 465.78297,538.02605 c -193.92439,0 -193.92439,0 -193.92439,0" 97.1753 + style="fill:none;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 97.1754 + <path 97.1755 + inkscape:connector-curvature="0" 97.1756 + id="path5395" 97.1757 + d="m 466.19516,418.02605 c -193.92439,0 -193.92439,0 -193.92439,0" 97.1758 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 97.1759 + <path 97.1760 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 97.1761 + d="m 466.19516,638.02605 c -193.92439,0 -193.92439,0 -193.92439,0" 97.1762 + id="path5397" 97.1763 + inkscape:connector-curvature="0" /> 97.1764 + <path 97.1765 + inkscape:connector-curvature="0" 97.1766 + id="path5399" 97.1767 + d="m 466.19516,750.02605 c -193.92439,0 -193.92439,0 -193.92439,0" 97.1768 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 97.1769 + <path 97.1770 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 97.1771 + d="m 271.03421,692.02605 c 193.92439,0 193.92439,0 193.92439,0" 97.1772 + id="path5402" 97.1773 + inkscape:connector-curvature="0" /> 97.1774 + <text 97.1775 + sodipodi:linespacing="100%" 97.1776 + id="text5410" 97.1777 + y="671.42468" 97.1778 + x="137.68066" 97.1779 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.1780 + xml:space="preserve"><tspan 97.1781 + id="tspan5412" 97.1782 + y="671.42468" 97.1783 + x="137.68066" 97.1784 + sodipodi:role="line" 97.1785 + style="text-align:center;text-anchor:middle;fill:#800000">Assigner Fn</tspan></text> 97.1786 + <path 97.1787 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 97.1788 + d="m 205.27805,638.31985 c 0,7.35629 0,7.35629 0,7.35629" 97.1789 + id="path5420" 97.1790 + inkscape:connector-curvature="0" 97.1791 + sodipodi:nodetypes="cc" /> 97.1792 + <path 97.1793 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 97.1794 + d="m 205.05995,644.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 97.1795 + id="path5422" 97.1796 + inkscape:connector-curvature="0" /> 97.1797 + <path 97.1798 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 97.1799 + d="m 137.27805,643.85824 c 0,11.43122 0,11.43122 0,11.43122" 97.1800 + id="path5424" 97.1801 + inkscape:connector-curvature="0" 97.1802 + sodipodi:nodetypes="cc" /> 97.1803 + <path 97.1804 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 97.1805 + d="m 205.27805,686.63925 c 0,4.54718 0,4.54718 0,4.54718" 97.1806 + id="path5428" 97.1807 + inkscape:connector-curvature="0" 97.1808 + sodipodi:nodetypes="cc" /> 97.1809 + <text 97.1810 + sodipodi:linespacing="100%" 97.1811 + id="text5430" 97.1812 + y="645.39423" 97.1813 + x="-335.13254" 97.1814 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.1815 + xml:space="preserve" 97.1816 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 97.1817 + id="tspan5432" 97.1818 + y="645.39423" 97.1819 + x="-335.13254" 97.1820 + sodipodi:role="line" 97.1821 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan 97.1822 + y="653.39423" 97.1823 + x="-335.13254" 97.1824 + sodipodi:role="line" 97.1825 + style="font-size:8px;text-align:center;text-anchor:middle" 97.1826 + id="tspan5434">and switch</tspan><tspan 97.1827 + y="661.39423" 97.1828 + x="-335.13254" 97.1829 + sodipodi:role="line" 97.1830 + style="font-size:8px;text-align:center;text-anchor:middle" 97.1831 + id="tspan5436">to app VP</tspan></text> 97.1832 + <path 97.1833 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 97.1834 + d="m 205.27805,638.31985 c 0,7.35629 0,7.35629 0,7.35629" 97.1835 + id="path5438" 97.1836 + inkscape:connector-curvature="0" 97.1837 + sodipodi:nodetypes="cc" /> 97.1838 + <path 97.1839 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 97.1840 + d="m 205.27805,638.31985 c 0,7.35629 0,7.35629 0,7.35629" 97.1841 + id="path5440" 97.1842 + inkscape:connector-curvature="0" 97.1843 + sodipodi:nodetypes="cc" /> 97.1844 + <text 97.1845 + sodipodi:linespacing="100%" 97.1846 + id="text5446" 97.1847 + y="592.84631" 97.1848 + x="-288.77386" 97.1849 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.1850 + xml:space="preserve" 97.1851 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 97.1852 + y="592.84631" 97.1853 + x="-288.77386" 97.1854 + sodipodi:role="line" 97.1855 + style="font-size:8px;text-align:center;text-anchor:middle" 97.1856 + id="tspan5448">return from</tspan><tspan 97.1857 + id="tspan5450" 97.1858 + y="600.84631" 97.1859 + x="-288.77386" 97.1860 + sodipodi:role="line" 97.1861 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text> 97.1862 + <path 97.1863 + inkscape:connector-curvature="0" 97.1864 + id="path5452" 97.1865 + d="m 205.05995,644.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 97.1866 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 97.1867 + <path 97.1868 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 97.1869 + d="m 137.04459,686.02605 c 67.19099,0 67.19099,0 67.19099,0" 97.1870 + id="path5454" 97.1871 + inkscape:connector-curvature="0" /> 97.1872 + <path 97.1873 + inkscape:connector-curvature="0" 97.1874 + id="path5460" 97.1875 + d="m 137.04459,658.02605 c 67.19099,0 67.19099,0 67.19099,0" 97.1876 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 97.1877 + <path 97.1878 + sodipodi:nodetypes="cc" 97.1879 + inkscape:connector-curvature="0" 97.1880 + id="path5462" 97.1881 + d="m 205.27805,658.63927 c 0,14.88618 0,14.88618 0,14.88618" 97.1882 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 97.1883 + <path 97.1884 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 97.1885 + d="m 205.05995,674.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 97.1886 + id="path5464" 97.1887 + inkscape:connector-curvature="0" /> 97.1888 + <text 97.1889 + sodipodi:linespacing="100%" 97.1890 + id="text5466" 97.1891 + y="676.37714" 97.1892 + x="192.68279" 97.1893 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.1894 + xml:space="preserve" 97.1895 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 97.1896 + id="tspan5468" 97.1897 + y="676.37714" 97.1898 + x="192.68279" 97.1899 + sodipodi:role="line" 97.1900 + style="font-size:7px;text-align:center;text-anchor:middle">call via Ptr to Dyn Lib Fn</tspan></text> 97.1901 + <path 97.1902 + sodipodi:nodetypes="cc" 97.1903 + inkscape:connector-curvature="0" 97.1904 + id="path5470" 97.1905 + d="m 137.27805,673.85824 c 0,11.43122 0,11.43122 0,11.43122" 97.1906 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 97.1907 + <text 97.1908 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 97.1909 + xml:space="preserve" 97.1910 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.1911 + x="192.18657" 97.1912 + y="646.38098" 97.1913 + id="text5472" 97.1914 + sodipodi:linespacing="100%"><tspan 97.1915 + style="font-size:7px;text-align:center;text-anchor:middle" 97.1916 + sodipodi:role="line" 97.1917 + x="192.18657" 97.1918 + y="646.38098" 97.1919 + id="tspan5474">call via Ptr to Dyn Lib Fn</tspan></text> 97.1920 + <text 97.1921 + sodipodi:linespacing="100%" 97.1922 + id="text5476" 97.1923 + y="597.08801" 97.1924 + x="-60.107929" 97.1925 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.1926 + xml:space="preserve" 97.1927 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 97.1928 + y="597.08801" 97.1929 + x="-60.107929" 97.1930 + sodipodi:role="line" 97.1931 + style="font-size:18px;text-align:center;text-anchor:middle" 97.1932 + id="tspan5482">core 1</tspan></text> 97.1933 + <text 97.1934 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 97.1935 + xml:space="preserve" 97.1936 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.1937 + x="-208.35422" 97.1938 + y="748.6394" 97.1939 + id="text5488" 97.1940 + sodipodi:linespacing="100%"><tspan 97.1941 + id="tspan5490" 97.1942 + style="font-size:18px;text-align:center;text-anchor:middle" 97.1943 + sodipodi:role="line" 97.1944 + x="-208.35422" 97.1945 + y="748.6394">core 2</tspan></text> 97.1946 + <path 97.1947 + sodipodi:nodetypes="cc" 97.1948 + inkscape:connector-curvature="0" 97.1949 + id="path5492" 97.1950 + d="m 205.27805,752.31985 c 0,7.35629 0,7.35629 0,7.35629" 97.1951 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 97.1952 + <path 97.1953 + sodipodi:nodetypes="cc" 97.1954 + inkscape:connector-curvature="0" 97.1955 + id="path5494" 97.1956 + d="m 205.27805,752.31985 c 0,7.35629 0,7.35629 0,7.35629" 97.1957 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 97.1958 + <path 97.1959 + sodipodi:nodetypes="cc" 97.1960 + inkscape:connector-curvature="0" 97.1961 + id="path5496" 97.1962 + d="m 205.27805,752.31985 c 0,7.35629 0,7.35629 0,7.35629" 97.1963 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 97.1964 + <text 97.1965 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 97.1966 + xml:space="preserve" 97.1967 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.1968 + x="-368.06558" 97.1969 + y="674.7525" 97.1970 + id="text5498" 97.1971 + sodipodi:linespacing="100%"><tspan 97.1972 + id="tspan5500" 97.1973 + style="font-size:8px;text-align:center;text-anchor:middle" 97.1974 + sodipodi:role="line" 97.1975 + x="-368.06558" 97.1976 + y="674.7525">return from</tspan><tspan 97.1977 + style="font-size:8px;text-align:center;text-anchor:middle" 97.1978 + sodipodi:role="line" 97.1979 + x="-368.06558" 97.1980 + y="682.7525" 97.1981 + id="tspan5502">suspend</tspan></text> 97.1982 + <path 97.1983 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 97.1984 + d="m 205.27805,538.31985 c 0,7.35629 0,7.35629 0,7.35629" 97.1985 + id="path5504" 97.1986 + inkscape:connector-curvature="0" 97.1987 + sodipodi:nodetypes="cc" /> 97.1988 + <path 97.1989 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 97.1990 + d="m 205.27805,538.31985 c 0,7.35629 0,7.35629 0,7.35629" 97.1991 + id="path5506" 97.1992 + inkscape:connector-curvature="0" 97.1993 + sodipodi:nodetypes="cc" /> 97.1994 + <path 97.1995 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 97.1996 + d="m 205.27805,538.31985 c 0,7.35629 0,7.35629 0,7.35629" 97.1997 + id="path5508" 97.1998 + inkscape:connector-curvature="0" 97.1999 + sodipodi:nodetypes="cc" /> 97.2000 + <text 97.2001 + sodipodi:linespacing="100%" 97.2002 + id="text5510" 97.2003 + y="520.99878" 97.2004 + x="-219.21922" 97.2005 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 97.2006 + xml:space="preserve" 97.2007 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 97.2008 + y="520.99878" 97.2009 + x="-219.21922" 97.2010 + sodipodi:role="line" 97.2011 + style="font-size:8px;text-align:center;text-anchor:middle" 97.2012 + id="tspan5512">return from</tspan><tspan 97.2013 + id="tspan5514" 97.2014 + y="528.99878" 97.2015 + x="-219.21922" 97.2016 + sodipodi:role="line" 97.2017 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text> 97.2018 + <path 97.2019 + inkscape:connector-curvature="0" 97.2020 + id="path5516" 97.2021 + d="m 271.03421,604.02605 c 193.92439,0 193.92439,0 193.92439,0" 97.2022 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 97.2023 + <path 97.2024 + style="fill:#ff0000;stroke:#ff0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 97.2025 + d="m 271.03421,384.02605 c 193.92439,0 193.92439,0 193.92439,0" 97.2026 + id="path5518" 97.2027 + inkscape:connector-curvature="0" /> 97.2028 + </g> 97.2029 +</svg>
98.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 98.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/Proto-Runtime__modules_plus_plugin_plus_code_back.svg Fri Sep 13 11:02:18 2013 -0700 98.3 @@ -0,0 +1,1678 @@ 98.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 98.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 98.6 + 98.7 +<svg 98.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 98.9 + xmlns:cc="http://creativecommons.org/ns#" 98.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 98.11 + xmlns:svg="http://www.w3.org/2000/svg" 98.12 + xmlns="http://www.w3.org/2000/svg" 98.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 98.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 98.15 + width="744.09448819" 98.16 + height="1052.3622047" 98.17 + id="svg2" 98.18 + sodipodi:version="0.32" 98.19 + inkscape:version="0.48.2 r9819" 98.20 + sodipodi:docname="Proto-Runtime__modules_plus_plugin_plus_code.svg" 98.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 98.22 + version="1.1"> 98.23 + <defs 98.24 + id="defs4"> 98.25 + <marker 98.26 + inkscape:stockid="Arrow2Mend" 98.27 + orient="auto" 98.28 + refY="0.0" 98.29 + refX="0.0" 98.30 + id="Arrow2Mend" 98.31 + style="overflow:visible;"> 98.32 + <path 98.33 + id="path4008" 98.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 98.35 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 98.36 + transform="scale(0.6) rotate(180) translate(0,0)" /> 98.37 + </marker> 98.38 + <inkscape:perspective 98.39 + sodipodi:type="inkscape:persp3d" 98.40 + inkscape:vp_x="0 : 526.18109 : 1" 98.41 + inkscape:vp_y="0 : 1000 : 0" 98.42 + inkscape:vp_z="744.09448 : 526.18109 : 1" 98.43 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 98.44 + id="perspective10" /> 98.45 + <inkscape:perspective 98.46 + id="perspective12172" 98.47 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 98.48 + inkscape:vp_z="1 : 0.5 : 1" 98.49 + inkscape:vp_y="0 : 1000 : 0" 98.50 + inkscape:vp_x="0 : 0.5 : 1" 98.51 + sodipodi:type="inkscape:persp3d" /> 98.52 + <inkscape:perspective 98.53 + id="perspective12937" 98.54 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 98.55 + inkscape:vp_z="1 : 0.5 : 1" 98.56 + inkscape:vp_y="0 : 1000 : 0" 98.57 + inkscape:vp_x="0 : 0.5 : 1" 98.58 + sodipodi:type="inkscape:persp3d" /> 98.59 + </defs> 98.60 + <sodipodi:namedview 98.61 + id="base" 98.62 + pagecolor="#ffffff" 98.63 + bordercolor="#666666" 98.64 + borderopacity="1.0" 98.65 + gridtolerance="10000" 98.66 + guidetolerance="10" 98.67 + objecttolerance="10" 98.68 + inkscape:pageopacity="0.0" 98.69 + inkscape:pageshadow="2" 98.70 + inkscape:zoom="1.553811" 98.71 + inkscape:cx="311.64997" 98.72 + inkscape:cy="481.64087" 98.73 + inkscape:document-units="px" 98.74 + inkscape:current-layer="layer1" 98.75 + showgrid="false" 98.76 + inkscape:window-width="1600" 98.77 + inkscape:window-height="848" 98.78 + inkscape:window-x="-8" 98.79 + inkscape:window-y="-8" 98.80 + inkscape:window-maximized="1" /> 98.81 + <metadata 98.82 + id="metadata7"> 98.83 + <rdf:RDF> 98.84 + <cc:Work 98.85 + rdf:about=""> 98.86 + <dc:format>image/svg+xml</dc:format> 98.87 + <dc:type 98.88 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 98.89 + <dc:title></dc:title> 98.90 + </cc:Work> 98.91 + </rdf:RDF> 98.92 + </metadata> 98.93 + <g 98.94 + inkscape:label="Layer 1" 98.95 + inkscape:groupmode="layer" 98.96 + id="layer1"> 98.97 + <rect 98.98 + y="757.82239" 98.99 + x="-46.677368" 98.100 + height="69.307014" 98.101 + width="137.26534" 98.102 + id="rect12977" 98.103 + style="opacity:0.41346154;fill:none;stroke:#800000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4.32072507, 4.32072507;stroke-dashoffset:0" /> 98.104 + <text 98.105 + sodipodi:linespacing="100%" 98.106 + id="text12979" 98.107 + y="399.76575" 98.108 + x="228.92543" 98.109 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.110 + xml:space="preserve"><tspan 98.111 + y="399.76575" 98.112 + x="228.92543" 98.113 + id="tspan12981" 98.114 + sodipodi:role="line" 98.115 + style="text-align:center;text-anchor:middle">Master</tspan><tspan 98.116 + y="408.20053" 98.117 + x="228.92543" 98.118 + sodipodi:role="line" 98.119 + id="tspan3291" 98.120 + style="font-size:8px;text-align:center;text-anchor:middle">(runtime system)</tspan><tspan 98.121 + y="416.20053" 98.122 + x="228.92543" 98.123 + sodipodi:role="line" 98.124 + style="font-size:8px;text-align:center;text-anchor:middle" 98.125 + id="tspan8409">on core 1</tspan></text> 98.126 + <text 98.127 + sodipodi:linespacing="100%" 98.128 + id="text12985" 98.129 + y="787.55029" 98.130 + x="-10.998383" 98.131 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;opacity:0.41346154;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.132 + xml:space="preserve"><tspan 98.133 + y="787.55029" 98.134 + x="-10.998383" 98.135 + sodipodi:role="line" 98.136 + id="tspan12989" 98.137 + style="text-align:center;text-anchor:middle">Construct</tspan><tspan 98.138 + id="tspan3147" 98.139 + y="797.55029" 98.140 + x="-10.998383" 98.141 + sodipodi:role="line" 98.142 + style="text-align:center;text-anchor:middle">Semantics</tspan><tspan 98.143 + id="tspan3149" 98.144 + y="807.55029" 98.145 + x="-10.998383" 98.146 + sodipodi:role="line" 98.147 + style="text-align:center;text-anchor:middle">Module</tspan></text> 98.148 + <rect 98.149 + style="opacity:0.41346154;fill:none;stroke:#000000;stroke-width:1.08018136;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 98.150 + id="rect12971" 98.151 + width="131.7012" 98.152 + height="52.250008" 98.153 + x="-43.698822" 98.154 + y="835.43658" /> 98.155 + <text 98.156 + xml:space="preserve" 98.157 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;opacity:0.41346154;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.158 + x="22.334869" 98.159 + y="855.20319" 98.160 + id="text12973" 98.161 + sodipodi:linespacing="100%"><tspan 98.162 + sodipodi:role="line" 98.163 + id="tspan12975" 98.164 + x="22.334869" 98.165 + y="855.20319" 98.166 + style="text-align:center;text-anchor:middle">Hardware Specific Module</tspan><tspan 98.167 + sodipodi:role="line" 98.168 + x="22.334869" 98.169 + y="865.20319" 98.170 + style="text-align:center;text-anchor:middle" 98.171 + id="tspan3155" /><tspan 98.172 + sodipodi:role="line" 98.173 + x="22.334869" 98.174 + y="873.63794" 98.175 + id="tspan3089" 98.176 + style="font-size:8px;text-align:center;text-anchor:middle">(Proto-Runtime)</tspan></text> 98.177 + <text 98.178 + sodipodi:linespacing="100%" 98.179 + id="text12985-7" 98.180 + y="787.52588" 98.181 + x="55.148102" 98.182 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;opacity:0.41346154;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.183 + xml:space="preserve"><tspan 98.184 + y="787.52588" 98.185 + x="55.148102" 98.186 + id="tspan12987-4" 98.187 + sodipodi:role="line" 98.188 + style="text-align:center;text-anchor:middle">Assignment</tspan><tspan 98.189 + id="tspan3151" 98.190 + y="797.52588" 98.191 + x="55.148102" 98.192 + sodipodi:role="line" 98.193 + style="text-align:center;text-anchor:middle">of Work</tspan><tspan 98.194 + y="807.52588" 98.195 + x="55.148102" 98.196 + sodipodi:role="line" 98.197 + id="tspan12989-0" 98.198 + style="text-align:center;text-anchor:middle">onto Cores</tspan><tspan 98.199 + id="tspan3153" 98.200 + y="817.52588" 98.201 + x="55.148102" 98.202 + sodipodi:role="line" 98.203 + style="text-align:center;text-anchor:middle">Module</tspan></text> 98.204 + <text 98.205 + xml:space="preserve" 98.206 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;opacity:0.41346154;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.207 + x="19.256409" 98.208 + y="766.65723" 98.209 + id="text12985-8" 98.210 + sodipodi:linespacing="100%"><tspan 98.211 + style="text-align:center;text-anchor:middle;fill:#800000" 98.212 + id="tspan12989-4" 98.213 + sodipodi:role="line" 98.214 + x="19.256409" 98.215 + y="766.65723">Language Plug-in</tspan></text> 98.216 + <text 98.217 + xml:space="preserve" 98.218 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;opacity:0.41346154;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.219 + x="22.390198" 98.220 + y="833.19415" 98.221 + id="text12973-5" 98.222 + sodipodi:linespacing="100%"><tspan 98.223 + sodipodi:role="line" 98.224 + x="22.390198" 98.225 + y="833.19415" 98.226 + id="tspan3089-7" 98.227 + style="font-size:8px;text-align:center;text-anchor:middle">Hardware Abstraction Interface</tspan></text> 98.228 + <rect 98.229 + y="-835.43658" 98.230 + x="-43.698822" 98.231 + height="9.1641436" 98.232 + width="131.7012" 98.233 + id="rect3204" 98.234 + style="opacity:0.41346154;fill:none;stroke:#000000;stroke-width:1.08018136;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 98.235 + transform="scale(1,-1)" /> 98.236 + <rect 98.237 + style="opacity:0.41346154;fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 98.238 + id="rect3217" 98.239 + width="65.276405" 98.240 + height="52.250008" 98.241 + x="-43.597527" 98.242 + y="773.58252" /> 98.243 + <rect 98.244 + y="773.58252" 98.245 + x="22.402473" 98.246 + height="52.250008" 98.247 + width="65.276405" 98.248 + id="rect3219" 98.249 + style="opacity:0.41346154;fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 98.250 + <g 98.251 + id="g3303" 98.252 + transform="translate(-16,76)"> 98.253 + <rect 98.254 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 98.255 + id="rect3293" 98.256 + width="65.276405" 98.257 + height="52.250008" 98.258 + x="310.40247" 98.259 + y="313.58255" /> 98.260 + <text 98.261 + sodipodi:linespacing="100%" 98.262 + id="text3295" 98.263 + y="327.55026" 98.264 + x="343.00162" 98.265 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.266 + xml:space="preserve"><tspan 98.267 + id="tspan3301" 98.268 + y="327.55026" 98.269 + x="343.00162" 98.270 + sodipodi:role="line" 98.271 + style="text-align:center;text-anchor:middle">Seed VP</tspan></text> 98.272 + </g> 98.273 + <g 98.274 + id="g3314" 98.275 + transform="translate(-16,222)"> 98.276 + <rect 98.277 + y="313.58255" 98.278 + x="310.40247" 98.279 + height="52.250008" 98.280 + width="65.276405" 98.281 + id="rect3316" 98.282 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 98.283 + <text 98.284 + xml:space="preserve" 98.285 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.286 + x="343.00162" 98.287 + y="327.55026" 98.288 + id="text3318" 98.289 + sodipodi:linespacing="100%"><tspan 98.290 + style="text-align:center;text-anchor:middle" 98.291 + sodipodi:role="line" 98.292 + x="343.00162" 98.293 + y="327.55026" 98.294 + id="tspan3320">VP created</tspan><tspan 98.295 + style="text-align:center;text-anchor:middle" 98.296 + sodipodi:role="line" 98.297 + x="343.00162" 98.298 + y="337.55026" 98.299 + id="tspan3322">by Application</tspan><tspan 98.300 + style="text-align:center;text-anchor:middle" 98.301 + sodipodi:role="line" 98.302 + x="343.00162" 98.303 + y="347.55026" 98.304 + id="tspan5485">1</tspan></text> 98.305 + </g> 98.306 + <g 98.307 + transform="translate(-16,372)" 98.308 + id="g3340"> 98.309 + <rect 98.310 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 98.311 + id="rect3342" 98.312 + width="65.276405" 98.313 + height="52.250008" 98.314 + x="310.40247" 98.315 + y="313.58255" /> 98.316 + <text 98.317 + sodipodi:linespacing="100%" 98.318 + id="text3344" 98.319 + y="327.55026" 98.320 + x="343.00162" 98.321 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.322 + xml:space="preserve"><tspan 98.323 + id="tspan3346" 98.324 + y="327.55026" 98.325 + x="343.00162" 98.326 + sodipodi:role="line" 98.327 + style="text-align:center;text-anchor:middle">VP created</tspan><tspan 98.328 + id="tspan3348" 98.329 + y="337.55026" 98.330 + x="343.00162" 98.331 + sodipodi:role="line" 98.332 + style="text-align:center;text-anchor:middle">by Application</tspan><tspan 98.333 + y="347.55026" 98.334 + x="343.00162" 98.335 + sodipodi:role="line" 98.336 + style="text-align:center;text-anchor:middle" 98.337 + id="tspan5487">2</tspan></text> 98.338 + </g> 98.339 + <text 98.340 + xml:space="preserve" 98.341 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.342 + x="419.16797" 98.343 + y="363.42465" 98.344 + id="text3318-1" 98.345 + sodipodi:linespacing="100%"><tspan 98.346 + style="text-align:center;text-anchor:middle;fill:#008000" 98.347 + sodipodi:role="line" 98.348 + x="419.16797" 98.349 + y="363.42465" 98.350 + id="tspan3322-5">Application Code</tspan></text> 98.351 + <text 98.352 + sodipodi:linespacing="100%" 98.353 + id="text3376" 98.354 + y="403.42465" 98.355 + x="419.16797" 98.356 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.357 + xml:space="preserve"><tspan 98.358 + id="tspan3378" 98.359 + y="403.42465" 98.360 + x="419.16797" 98.361 + sodipodi:role="line" 98.362 + style="text-align:center;text-anchor:middle;fill:#008000">Seed_Fn</tspan></text> 98.363 + <text 98.364 + xml:space="preserve" 98.365 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.366 + x="419.16797" 98.367 + y="563.42468" 98.368 + id="text3380" 98.369 + sodipodi:linespacing="100%"><tspan 98.370 + style="text-align:center;text-anchor:middle;fill:#008000" 98.371 + sodipodi:role="line" 98.372 + x="419.16797" 98.373 + y="563.42468" 98.374 + id="tspan3382">Work_Fn</tspan></text> 98.375 + <text 98.376 + sodipodi:linespacing="100%" 98.377 + id="text3388" 98.378 + y="363.42465" 98.379 + x="506.63812" 98.380 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.381 + xml:space="preserve"><tspan 98.382 + id="tspan3390" 98.383 + y="363.42465" 98.384 + x="508.14203" 98.385 + sodipodi:role="line" 98.386 + style="text-align:center;text-anchor:middle;fill:#800000">Language </tspan><tspan 98.387 + y="373.42465" 98.388 + x="506.63812" 98.389 + sodipodi:role="line" 98.390 + style="text-align:center;text-anchor:middle;fill:#800000" 98.391 + id="tspan5106">Wrapper-Lib</tspan><tspan 98.392 + y="383.42465" 98.393 + x="506.63812" 98.394 + sodipodi:role="line" 98.395 + style="text-align:center;text-anchor:middle;fill:#800000" 98.396 + id="tspan3392">Code</tspan></text> 98.397 + <text 98.398 + xml:space="preserve" 98.399 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.400 + x="571.16797" 98.401 + y="363.42465" 98.402 + id="text3394" 98.403 + sodipodi:linespacing="100%"><tspan 98.404 + style="text-align:center;text-anchor:middle;fill:#000080" 98.405 + sodipodi:role="line" 98.406 + x="571.16797" 98.407 + y="363.42465" 98.408 + id="tspan3396">Proto-Runtime</tspan><tspan 98.409 + style="text-align:center;text-anchor:middle;fill:#000080" 98.410 + sodipodi:role="line" 98.411 + x="571.16797" 98.412 + y="373.42465" 98.413 + id="tspan4998">Primitive</tspan><tspan 98.414 + id="tspan3398" 98.415 + style="text-align:center;text-anchor:middle;fill:#000080" 98.416 + sodipodi:role="line" 98.417 + x="571.16797" 98.418 + y="383.42465">Code</tspan></text> 98.419 + <text 98.420 + sodipodi:linespacing="100%" 98.421 + id="text3400" 98.422 + y="363.42465" 98.423 + x="131.16797" 98.424 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.425 + xml:space="preserve"><tspan 98.426 + id="tspan3402" 98.427 + y="363.42465" 98.428 + x="131.16797" 98.429 + sodipodi:role="line" 98.430 + style="text-align:center;text-anchor:middle;fill:#800000">Language Plugin</tspan><tspan 98.431 + y="373.42465" 98.432 + x="131.16797" 98.433 + sodipodi:role="line" 98.434 + style="text-align:center;text-anchor:middle;fill:#800000" 98.435 + id="tspan3404">Code</tspan></text> 98.436 + <text 98.437 + xml:space="preserve" 98.438 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.439 + x="47.167969" 98.440 + y="363.42465" 98.441 + id="text3406" 98.442 + sodipodi:linespacing="100%"><tspan 98.443 + style="text-align:center;text-anchor:middle" 98.444 + sodipodi:role="line" 98.445 + x="47.167969" 98.446 + y="363.42465" 98.447 + id="tspan3408">Proto-Runtime</tspan><tspan 98.448 + id="tspan3410" 98.449 + style="text-align:center;text-anchor:middle" 98.450 + sodipodi:role="line" 98.451 + x="47.167969" 98.452 + y="373.42465">Code</tspan></text> 98.453 + <text 98.454 + xml:space="preserve" 98.455 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.456 + x="131.19971" 98.457 + y="413.42465" 98.458 + id="text3412" 98.459 + sodipodi:linespacing="100%"><tspan 98.460 + style="text-align:center;text-anchor:middle;fill:#800000" 98.461 + sodipodi:role="line" 98.462 + x="131.19971" 98.463 + y="413.42465" 98.464 + id="tspan3414">Handler</tspan><tspan 98.465 + style="text-align:center;text-anchor:middle;fill:#800000" 98.466 + sodipodi:role="line" 98.467 + x="131.19971" 98.468 + y="423.42465" 98.469 + id="tspan3422">for create VP</tspan></text> 98.470 + <text 98.471 + sodipodi:linespacing="100%" 98.472 + id="text3424" 98.473 + y="493.42465" 98.474 + x="131.19971" 98.475 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.476 + xml:space="preserve"><tspan 98.477 + id="tspan3426" 98.478 + y="493.42465" 98.479 + x="131.19971" 98.480 + sodipodi:role="line" 98.481 + style="text-align:center;text-anchor:middle;fill:#800000">Handler</tspan><tspan 98.482 + id="tspan3428" 98.483 + y="503.42465" 98.484 + x="131.19971" 98.485 + sodipodi:role="line" 98.486 + style="text-align:center;text-anchor:middle;fill:#800000">for Language</tspan><tspan 98.487 + id="tspan3430" 98.488 + y="513.42468" 98.489 + x="131.19971" 98.490 + sodipodi:role="line" 98.491 + style="text-align:center;text-anchor:middle;fill:#800000">Construct2</tspan></text> 98.492 + <text 98.493 + xml:space="preserve" 98.494 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.495 + x="47.661133" 98.496 + y="403.42465" 98.497 + id="text3432" 98.498 + sodipodi:linespacing="100%"><tspan 98.499 + style="text-align:center;text-anchor:middle" 98.500 + sodipodi:role="line" 98.501 + x="47.661133" 98.502 + y="403.42465" 98.503 + id="tspan3438">Master Fn</tspan></text> 98.504 + <text 98.505 + xml:space="preserve" 98.506 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.507 + x="131.52441" 98.508 + y="539.42468" 98.509 + id="text3444" 98.510 + sodipodi:linespacing="100%"><tspan 98.511 + style="text-align:center;text-anchor:middle;fill:#800000" 98.512 + sodipodi:role="line" 98.513 + x="131.52441" 98.514 + y="539.42468" 98.515 + id="tspan3450">Assigner Fn</tspan></text> 98.516 + <text 98.517 + xml:space="preserve" 98.518 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.519 + x="229.16797" 98.520 + y="365.42465" 98.521 + id="text3456" 98.522 + sodipodi:linespacing="100%"><tspan 98.523 + style="text-align:center;text-anchor:middle" 98.524 + sodipodi:role="line" 98.525 + x="230.67188" 98.526 + y="365.42465" 98.527 + id="tspan3458">Instances of </tspan><tspan 98.528 + style="text-align:center;text-anchor:middle" 98.529 + sodipodi:role="line" 98.530 + x="229.16797" 98.531 + y="375.42465" 98.532 + id="tspan8405">runtime system</tspan><tspan 98.533 + id="tspan3460" 98.534 + style="text-align:center;text-anchor:middle" 98.535 + sodipodi:role="line" 98.536 + x="229.16797" 98.537 + y="385.42465" /></text> 98.538 + <text 98.539 + sodipodi:linespacing="100%" 98.540 + id="text3462" 98.541 + y="363.42465" 98.542 + x="325.16797" 98.543 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.544 + xml:space="preserve"><tspan 98.545 + id="tspan3464" 98.546 + y="363.42465" 98.547 + x="325.16797" 98.548 + sodipodi:role="line" 98.549 + style="text-align:center;text-anchor:middle">Instances of</tspan><tspan 98.550 + y="373.42465" 98.551 + x="325.16797" 98.552 + sodipodi:role="line" 98.553 + style="text-align:center;text-anchor:middle" 98.554 + id="tspan3468">Virtual Processors</tspan><tspan 98.555 + y="383.42465" 98.556 + x="325.16797" 98.557 + sodipodi:role="line" 98.558 + style="text-align:center;text-anchor:middle" 98.559 + id="tspan3466" /></text> 98.560 + <path 98.561 + inkscape:connector-curvature="0" 98.562 + id="path4796" 98.563 + d="m 359.32649,400.02605 c 38.42351,0 38.42351,0 38.42351,0" 98.564 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999996, 2.99999996;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 98.565 + <text 98.566 + xml:space="preserve" 98.567 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.568 + x="506.78461" 98.569 + y="397.42465" 98.570 + id="text4988" 98.571 + sodipodi:linespacing="100%"><tspan 98.572 + style="text-align:center;text-anchor:middle;fill:#800000" 98.573 + sodipodi:role="line" 98.574 + x="506.78461" 98.575 + y="397.42465" 98.576 + id="tspan4990">create VP</tspan><tspan 98.577 + style="text-align:center;text-anchor:middle;fill:#800000" 98.578 + sodipodi:role="line" 98.579 + x="506.78461" 98.580 + y="407.42465" 98.581 + id="tspan5104">wrapper Fn</tspan></text> 98.582 + <path 98.583 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 98.584 + d="m 48.02904,406.29842 c 0,7.37773 0,7.37773 0,7.37773" 98.585 + id="path4996" 98.586 + inkscape:connector-curvature="0" 98.587 + sodipodi:nodetypes="cc" /> 98.588 + <path 98.589 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 98.590 + d="m 48.247131,414.02605 c 48.887624,0 48.887624,0 48.887624,0" 98.591 + id="path5000" 98.592 + inkscape:connector-curvature="0" /> 98.593 + <path 98.594 + inkscape:connector-curvature="0" 98.595 + id="path5002" 98.596 + d="m 98.156891,426.02605 c -51.085387,0 -51.085387,0 -51.085387,0" 98.597 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 98.598 + <path 98.599 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 98.600 + d="m 98.02904,412.63925 c 0,13.68455 0,13.68455 0,13.68455" 98.601 + id="path5006" 98.602 + inkscape:connector-curvature="0" 98.603 + sodipodi:nodetypes="cc" /> 98.604 + <text 98.605 + sodipodi:linespacing="100%" 98.606 + id="text5012" 98.607 + y="455.42465" 98.608 + x="131.19971" 98.609 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.610 + xml:space="preserve"><tspan 98.611 + id="tspan5014" 98.612 + y="455.42465" 98.613 + x="131.19971" 98.614 + sodipodi:role="line" 98.615 + style="text-align:center;text-anchor:middle;fill:#800000">Handler</tspan><tspan 98.616 + id="tspan5016" 98.617 + y="465.42465" 98.618 + x="131.19971" 98.619 + sodipodi:role="line" 98.620 + style="text-align:center;text-anchor:middle;fill:#800000">for Language</tspan><tspan 98.621 + id="tspan5018" 98.622 + y="475.42465" 98.623 + x="131.19971" 98.624 + sodipodi:role="line" 98.625 + style="text-align:center;text-anchor:middle;fill:#800000">Construct1</tspan></text> 98.626 + <path 98.627 + sodipodi:nodetypes="cc" 98.628 + inkscape:connector-curvature="0" 98.629 + id="path5020" 98.630 + d="m 48.02904,426.51232 c 0,29.16381 0,29.16381 0,29.16381" 98.631 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 98.632 + <path 98.633 + inkscape:connector-curvature="0" 98.634 + id="path5022" 98.635 + d="m 48.247131,456.02605 c 48.887624,0 48.887624,0 48.887624,0" 98.636 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 98.637 + <path 98.638 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 98.639 + d="m 98.156891,468.02605 c -51.085387,0 -51.085387,0 -51.085387,0" 98.640 + id="path5024" 98.641 + inkscape:connector-curvature="0" /> 98.642 + <path 98.643 + sodipodi:nodetypes="cc" 98.644 + inkscape:connector-curvature="0" 98.645 + id="path5026" 98.646 + d="m 98.02904,454.63925 c 0,13.68455 0,13.68455 0,13.68455" 98.647 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 98.648 + <path 98.649 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 98.650 + d="m 48.02904,468.14337 c 0,25.5328 0,25.5328 0,25.5328" 98.651 + id="path5032" 98.652 + inkscape:connector-curvature="0" 98.653 + sodipodi:nodetypes="cc" /> 98.654 + <path 98.655 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 98.656 + d="m 48.247131,494.02605 c 48.887624,0 48.887624,0 48.887624,0" 98.657 + id="path5034" 98.658 + inkscape:connector-curvature="0" /> 98.659 + <path 98.660 + inkscape:connector-curvature="0" 98.661 + id="path5036" 98.662 + d="m 98.156891,506.02605 c -51.085387,0 -51.085387,0 -51.085387,0" 98.663 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 98.664 + <path 98.665 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 98.666 + d="m 98.02904,492.63925 c 0,13.68455 0,13.68455 0,13.68455" 98.667 + id="path5038" 98.668 + inkscape:connector-curvature="0" 98.669 + sodipodi:nodetypes="cc" /> 98.670 + <path 98.671 + sodipodi:nodetypes="cc" 98.672 + inkscape:connector-curvature="0" 98.673 + id="path5044" 98.674 + d="m 48.02904,506.56402 c 0,23.11212 0,23.11212 0,23.11212" 98.675 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 98.676 + <path 98.677 + inkscape:connector-curvature="0" 98.678 + id="path5046" 98.679 + d="m 48.247131,530.02605 c 48.887624,0 48.887624,0 48.887624,0" 98.680 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 98.681 + <path 98.682 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 98.683 + d="m 98.156891,542.02605 c -51.085387,0 -51.085387,0 -51.085387,0" 98.684 + id="path5048" 98.685 + inkscape:connector-curvature="0" /> 98.686 + <path 98.687 + sodipodi:nodetypes="cc" 98.688 + inkscape:connector-curvature="0" 98.689 + id="path5050" 98.690 + d="m 98.02904,528.63925 c 0,13.68455 0,13.68455 0,13.68455" 98.691 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 98.692 + <text 98.693 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 98.694 + xml:space="preserve" 98.695 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.696 + x="78.264717" 98.697 + y="410.23279" 98.698 + id="text5064" 98.699 + sodipodi:linespacing="100%"><tspan 98.700 + style="font-size:8px;text-align:center;text-anchor:middle" 98.701 + sodipodi:role="line" 98.702 + x="78.264717" 98.703 + y="410.23279" 98.704 + id="tspan5066">Call via Ptr</tspan></text> 98.705 + <path 98.706 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000003, 3.00000003;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 98.707 + d="m 193.99816,400.02605 c -117.505852,0 -117.505852,0 -117.505852,0" 98.708 + id="path5068" 98.709 + inkscape:connector-curvature="0" /> 98.710 + <text 98.711 + sodipodi:linespacing="100%" 98.712 + id="text5070" 98.713 + y="415.39398" 98.714 + x="58.358849" 98.715 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.716 + xml:space="preserve" 98.717 + transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"><tspan 98.718 + id="tspan5072" 98.719 + y="415.39398" 98.720 + x="58.358849" 98.721 + sodipodi:role="line" 98.722 + style="font-size:8px;text-align:center;text-anchor:middle">Top Level Fn</tspan></text> 98.723 + <text 98.724 + transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)" 98.725 + xml:space="preserve" 98.726 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.727 + x="299.82327" 98.728 + y="462.45642" 98.729 + id="text5074" 98.730 + sodipodi:linespacing="100%"><tspan 98.731 + style="font-size:8px;text-align:center;text-anchor:middle" 98.732 + sodipodi:role="line" 98.733 + x="299.82327" 98.734 + y="462.45642" 98.735 + id="tspan5076">Top Level Fn</tspan></text> 98.736 + <text 98.737 + sodipodi:linespacing="100%" 98.738 + id="text5078" 98.739 + y="619.64636" 98.740 + x="269.89853" 98.741 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.742 + xml:space="preserve" 98.743 + transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"><tspan 98.744 + id="tspan5080" 98.745 + y="619.64636" 98.746 + x="269.89853" 98.747 + sodipodi:role="line" 98.748 + style="font-size:8px;text-align:center;text-anchor:middle">Top Level Fn</tspan></text> 98.749 + <path 98.750 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999996, 2.99999996;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 98.751 + d="m 360.9835,560.02605 c 36.7665,0 36.7665,0 36.7665,0" 98.752 + id="path5082" 98.753 + inkscape:connector-curvature="0" /> 98.754 + <path 98.755 + inkscape:connector-curvature="0" 98.756 + id="path5084" 98.757 + d="m 359.32649,712.02605 c 38.42351,0 38.42351,0 38.42351,0" 98.758 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999996, 2.99999996;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 98.759 + <path 98.760 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 98.761 + d="m 416.02904,404.31985 c 0,7.35629 0,7.35629 0,7.35629" 98.762 + id="path5092" 98.763 + inkscape:connector-curvature="0" 98.764 + sodipodi:nodetypes="cc" /> 98.765 + <path 98.766 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 98.767 + d="m 416.24714,412.02605 c 85.56237,0 85.56237,0 85.56237,0" 98.768 + id="path5094" 98.769 + inkscape:connector-curvature="0" /> 98.770 + <path 98.771 + inkscape:connector-curvature="0" 98.772 + id="path5096" 98.773 + d="m 504.77166,478.02605 c -88.41298,0 -88.41298,0 -88.41298,0" 98.774 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 98.775 + <text 98.776 + transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)" 98.777 + xml:space="preserve" 98.778 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.779 + x="239.60797" 98.780 + y="768.59875" 98.781 + id="text5114" 98.782 + sodipodi:linespacing="100%"><tspan 98.783 + style="font-size:8px;text-align:center;text-anchor:middle" 98.784 + sodipodi:role="line" 98.785 + x="239.60797" 98.786 + y="768.59875" 98.787 + id="tspan5116">Top Level Fn</tspan></text> 98.788 + <text 98.789 + sodipodi:linespacing="100%" 98.790 + id="text5136" 98.791 + y="715.42468" 98.792 + x="419.16797" 98.793 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.794 + xml:space="preserve"><tspan 98.795 + id="tspan5138" 98.796 + y="715.42468" 98.797 + x="419.16797" 98.798 + sodipodi:role="line" 98.799 + style="text-align:center;text-anchor:middle;fill:#008000">Work_Fn</tspan></text> 98.800 + <path 98.801 + sodipodi:nodetypes="cc" 98.802 + inkscape:connector-curvature="0" 98.803 + id="path5140" 98.804 + d="m 416.02904,478.31987 c 0,26.21842 0,26.21842 0,26.21842" 98.805 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 98.806 + <path 98.807 + inkscape:connector-curvature="0" 98.808 + id="path5142" 98.809 + d="m 416.2471,504.02605 c 87.58783,0 87.58783,0 87.58783,0" 98.810 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 98.811 + <text 98.812 + sodipodi:linespacing="100%" 98.813 + id="text5157" 98.814 + y="490.71182" 98.815 + x="506.78461" 98.816 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.817 + xml:space="preserve"><tspan 98.818 + id="tspan5161" 98.819 + y="490.71182" 98.820 + x="506.78461" 98.821 + sodipodi:role="line" 98.822 + style="text-align:center;text-anchor:middle;fill:#800000">end VP</tspan><tspan 98.823 + y="500.71182" 98.824 + x="506.78461" 98.825 + sodipodi:role="line" 98.826 + style="text-align:center;text-anchor:middle;fill:#800000" 98.827 + id="tspan5207">wrapper Fn</tspan></text> 98.828 + <path 98.829 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 98.830 + d="m 504.26584,510.02605 c 63.99676,0 63.99676,0 63.99676,0" 98.831 + id="path5165" 98.832 + inkscape:connector-curvature="0" /> 98.833 + <text 98.834 + xml:space="preserve" 98.835 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.836 + x="571.34375" 98.837 + y="496.71182" 98.838 + id="text5167" 98.839 + sodipodi:linespacing="100%"><tspan 98.840 + style="text-align:center;text-anchor:middle;fill:#000080" 98.841 + sodipodi:role="line" 98.842 + x="571.34375" 98.843 + y="496.71182" 98.844 + id="tspan5169">End VP</tspan><tspan 98.845 + style="text-align:center;text-anchor:middle;fill:#000080" 98.846 + sodipodi:role="line" 98.847 + x="571.34375" 98.848 + y="506.71182" 98.849 + id="tspan5171">Primitive Fn</tspan></text> 98.850 + <path 98.851 + sodipodi:nodetypes="cc" 98.852 + inkscape:connector-curvature="0" 98.853 + id="path5179" 98.854 + d="m 416.02904,564.31985 c 0,7.35629 0,7.35629 0,7.35629" 98.855 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 98.856 + <path 98.857 + sodipodi:nodetypes="cc" 98.858 + inkscape:connector-curvature="0" 98.859 + id="path5209" 98.860 + d="m 504.02904,502.31985 c 0,7.35629 0,7.35629 0,7.35629" 98.861 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 98.862 + <text 98.863 + xml:space="preserve" 98.864 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.865 + x="497.16797" 98.866 + y="399.42468" 98.867 + id="text5211" 98.868 + sodipodi:linespacing="100%"><tspan 98.869 + style="text-align:center;text-anchor:middle" 98.870 + sodipodi:role="line" 98.871 + x="497.16797" 98.872 + y="399.42468" 98.873 + id="tspan5215" /></text> 98.874 + <path 98.875 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 98.876 + d="m 504.02904,412.21843 c 0,19.4577 0,19.4577 0,19.4577" 98.877 + id="path5217" 98.878 + inkscape:connector-curvature="0" 98.879 + sodipodi:nodetypes="cc" /> 98.880 + <path 98.881 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 98.882 + d="m 504.24714,432.02605 c 64.71029,0 64.71029,0 64.71029,0" 98.883 + id="path5219" 98.884 + inkscape:connector-curvature="0" /> 98.885 + <path 98.886 + inkscape:connector-curvature="0" 98.887 + id="path5221" 98.888 + d="m 568.85635,474.02605 c -65.78483,0 -65.78483,0 -65.78483,0" 98.889 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 98.890 + <path 98.891 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 98.892 + d="m 570.02904,430.63925 c 0,13.68455 0,13.68455 0,13.68455" 98.893 + id="path5223" 98.894 + inkscape:connector-curvature="0" 98.895 + sodipodi:nodetypes="cc" /> 98.896 + <path 98.897 + sodipodi:nodetypes="cc" 98.898 + inkscape:connector-curvature="0" 98.899 + id="path5229" 98.900 + d="m 504.02904,473.22687 c 0,5.5885 0,5.5885 0,5.5885" 98.901 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 98.902 + <text 98.903 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 98.904 + xml:space="preserve" 98.905 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.906 + x="527.4845" 98.907 + y="436.83682" 98.908 + id="text5231" 98.909 + sodipodi:linespacing="100%"><tspan 98.910 + style="font-size:8px;text-align:center;text-anchor:middle" 98.911 + sodipodi:role="line" 98.912 + x="527.4845" 98.913 + y="436.83682" 98.914 + id="tspan5233">normal call</tspan></text> 98.915 + <path 98.916 + sodipodi:nodetypes="cc" 98.917 + inkscape:connector-curvature="0" 98.918 + id="path5235" 98.919 + d="m 570.02904,460.63925 c 0,13.68455 0,13.68455 0,13.68455" 98.920 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 98.921 + <path 98.922 + inkscape:connector-curvature="0" 98.923 + id="path5237" 98.924 + d="m 570.24715,442.02605 c 57.74832,0 57.74832,0 57.74832,0" 98.925 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 98.926 + <text 98.927 + sodipodi:linespacing="100%" 98.928 + id="text5239" 98.929 + y="732.05804" 98.930 + x="136.82079" 98.931 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.932 + xml:space="preserve" 98.933 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 98.934 + id="tspan5241" 98.935 + y="732.05804" 98.936 + x="136.82079" 98.937 + sodipodi:role="line" 98.938 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan 98.939 + y="740.05804" 98.940 + x="136.82079" 98.941 + sodipodi:role="line" 98.942 + style="font-size:8px;text-align:center;text-anchor:middle" 98.943 + id="tspan5243">and switch</tspan><tspan 98.944 + y="748.05804" 98.945 + x="136.82079" 98.946 + sodipodi:role="line" 98.947 + style="font-size:8px;text-align:center;text-anchor:middle" 98.948 + id="tspan5245">to runtime</tspan></text> 98.949 + <path 98.950 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 98.951 + d="m 627.94909,462.02605 c -56.8776,0 -56.8776,0 -56.8776,0" 98.952 + id="path5247" 98.953 + inkscape:connector-curvature="0" /> 98.954 + <text 98.955 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 98.956 + xml:space="preserve" 98.957 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.958 + x="111.73514" 98.959 + y="755.09509" 98.960 + id="text5249" 98.961 + sodipodi:linespacing="100%"><tspan 98.962 + id="tspan5255" 98.963 + style="font-size:8px;text-align:center;text-anchor:middle" 98.964 + sodipodi:role="line" 98.965 + x="111.73514" 98.966 + y="755.09509">return</tspan><tspan 98.967 + style="font-size:8px;text-align:center;text-anchor:middle" 98.968 + sodipodi:role="line" 98.969 + x="111.73514" 98.970 + y="763.09509" 98.971 + id="tspan5261">from</tspan><tspan 98.972 + style="font-size:8px;text-align:center;text-anchor:middle" 98.973 + sodipodi:role="line" 98.974 + x="111.73514" 98.975 + y="771.09509" 98.976 + id="tspan5263">suspend</tspan></text> 98.977 + <text 98.978 + sodipodi:linespacing="100%" 98.979 + id="text5345" 98.980 + y="417.42465" 98.981 + x="571.38037" 98.982 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.983 + xml:space="preserve"><tspan 98.984 + id="tspan5349" 98.985 + y="417.42465" 98.986 + x="571.38037" 98.987 + sodipodi:role="line" 98.988 + style="text-align:center;text-anchor:middle;fill:#000080">create VP</tspan><tspan 98.989 + y="427.42465" 98.990 + x="571.38037" 98.991 + sodipodi:role="line" 98.992 + style="text-align:center;text-anchor:middle;fill:#000080" 98.993 + id="tspan5353">primitive Fn</tspan></text> 98.994 + <text 98.995 + sodipodi:linespacing="100%" 98.996 + id="text5355" 98.997 + y="417.14474" 98.998 + x="457.39746" 98.999 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.1000 + xml:space="preserve" 98.1001 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 98.1002 + id="tspan5357" 98.1003 + y="417.14474" 98.1004 + x="457.39746" 98.1005 + sodipodi:role="line" 98.1006 + style="font-size:8px;text-align:center;text-anchor:middle">normal call</tspan></text> 98.1007 + <path 98.1008 + sodipodi:nodetypes="cc" 98.1009 + inkscape:connector-curvature="0" 98.1010 + id="path5359" 98.1011 + d="m 570.02904,509.28283 c 0,13.68455 0,13.68455 0,13.68455" 98.1012 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 98.1013 + <path 98.1014 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 98.1015 + d="m 570.24715,520.66963 c 57.74832,0 57.74832,0 57.74832,0" 98.1016 + id="path5361" 98.1017 + inkscape:connector-curvature="0" /> 98.1018 + <text 98.1019 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 98.1020 + xml:space="preserve" 98.1021 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.1022 + x="81.17688" 98.1023 + y="789.53607" 98.1024 + id="text5363" 98.1025 + sodipodi:linespacing="100%"><tspan 98.1026 + style="font-size:8px;text-align:center;text-anchor:middle" 98.1027 + sodipodi:role="line" 98.1028 + x="81.17688" 98.1029 + y="789.53607" 98.1030 + id="tspan5365">suspend</tspan><tspan 98.1031 + id="tspan5367" 98.1032 + style="font-size:8px;text-align:center;text-anchor:middle" 98.1033 + sodipodi:role="line" 98.1034 + x="81.17688" 98.1035 + y="797.53607">and switch</tspan><tspan 98.1036 + id="tspan5369" 98.1037 + style="font-size:8px;text-align:center;text-anchor:middle" 98.1038 + sodipodi:role="line" 98.1039 + x="81.17688" 98.1040 + y="805.53607">to runtime</tspan></text> 98.1041 + <text 98.1042 + sodipodi:linespacing="100%" 98.1043 + id="text5371" 98.1044 + y="557.42468" 98.1045 + x="506.59662" 98.1046 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.1047 + xml:space="preserve"><tspan 98.1048 + id="tspan5373" 98.1049 + y="557.42468" 98.1050 + x="506.59662" 98.1051 + sodipodi:role="line" 98.1052 + style="text-align:center;text-anchor:middle;fill:#800000">Mutex Acquire</tspan><tspan 98.1053 + id="tspan5375" 98.1054 + y="567.42468" 98.1055 + x="506.59662" 98.1056 + sodipodi:role="line" 98.1057 + style="text-align:center;text-anchor:middle;fill:#800000">wrapper Fn</tspan></text> 98.1058 + <path 98.1059 + sodipodi:nodetypes="cc" 98.1060 + inkscape:connector-curvature="0" 98.1061 + id="path5377" 98.1062 + d="m 416.02904,564.31985 c 0,7.35629 0,7.35629 0,7.35629" 98.1063 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 98.1064 + <path 98.1065 + inkscape:connector-curvature="0" 98.1066 + id="path5379" 98.1067 + d="m 416.24714,572.02605 c 85.56237,0 85.56237,0 85.56237,0" 98.1068 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 98.1069 + <path 98.1070 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 98.1071 + d="m 504.77166,638.02605 c -88.41298,0 -88.41298,0 -88.41298,0" 98.1072 + id="path5381" 98.1073 + inkscape:connector-curvature="0" /> 98.1074 + <text 98.1075 + xml:space="preserve" 98.1076 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.1077 + x="506.78461" 98.1078 + y="650.71179" 98.1079 + id="text5387" 98.1080 + sodipodi:linespacing="100%"><tspan 98.1081 + style="text-align:center;text-anchor:middle;fill:#800000" 98.1082 + sodipodi:role="line" 98.1083 + x="506.78461" 98.1084 + y="650.71179" 98.1085 + id="tspan5389">end VP</tspan><tspan 98.1086 + id="tspan5391" 98.1087 + style="text-align:center;text-anchor:middle;fill:#800000" 98.1088 + sodipodi:role="line" 98.1089 + x="506.78461" 98.1090 + y="660.71179">wrapper Fn</tspan></text> 98.1091 + <path 98.1092 + inkscape:connector-curvature="0" 98.1093 + id="path5393" 98.1094 + d="m 504.289,670.02605 c 65.24023,0 65.24023,0 65.24023,0" 98.1095 + style="fill:none;stroke:#000000;stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 98.1096 + <text 98.1097 + sodipodi:linespacing="100%" 98.1098 + id="text5395" 98.1099 + y="656.71179" 98.1100 + x="571.34375" 98.1101 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.1102 + xml:space="preserve"><tspan 98.1103 + id="tspan5397" 98.1104 + y="656.71179" 98.1105 + x="571.34375" 98.1106 + sodipodi:role="line" 98.1107 + style="text-align:center;text-anchor:middle;fill:#000080">end VP</tspan><tspan 98.1108 + id="tspan5399" 98.1109 + y="666.71179" 98.1110 + x="571.34375" 98.1111 + sodipodi:role="line" 98.1112 + style="text-align:center;text-anchor:middle;fill:#000080">Primitive Fn</tspan></text> 98.1113 + <path 98.1114 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 98.1115 + d="m 504.02904,662.31985 c 0,7.35629 0,7.35629 0,7.35629" 98.1116 + id="path5401" 98.1117 + inkscape:connector-curvature="0" 98.1118 + sodipodi:nodetypes="cc" /> 98.1119 + <path 98.1120 + sodipodi:nodetypes="cc" 98.1121 + inkscape:connector-curvature="0" 98.1122 + id="path5403" 98.1123 + d="m 504.02904,572.21843 c 0,19.4577 0,19.4577 0,19.4577" 98.1124 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 98.1125 + <path 98.1126 + inkscape:connector-curvature="0" 98.1127 + id="path5405" 98.1128 + d="m 504.6148,592.02605 c 64.1779,0 64.1779,0 64.1779,0" 98.1129 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 98.1130 + <path 98.1131 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 98.1132 + d="m 570.13452,634.02605 c -67.06305,0 -67.06305,0 -67.06305,0" 98.1133 + id="path5407" 98.1134 + inkscape:connector-curvature="0" /> 98.1135 + <path 98.1136 + sodipodi:nodetypes="cc" 98.1137 + inkscape:connector-curvature="0" 98.1138 + id="path5409" 98.1139 + d="m 570.02904,590.63925 c 0,13.68455 0,13.68455 0,13.68455" 98.1140 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 98.1141 + <path 98.1142 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 98.1143 + d="m 504.02904,633.22687 c 0,5.5885 0,5.5885 0,5.5885" 98.1144 + id="path5411" 98.1145 + inkscape:connector-curvature="0" 98.1146 + sodipodi:nodetypes="cc" /> 98.1147 + <text 98.1148 + sodipodi:linespacing="100%" 98.1149 + id="text5413" 98.1150 + y="596.83447" 98.1151 + x="528.18695" 98.1152 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.1153 + xml:space="preserve" 98.1154 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 98.1155 + id="tspan5415" 98.1156 + y="596.83447" 98.1157 + x="528.18695" 98.1158 + sodipodi:role="line" 98.1159 + style="font-size:8px;text-align:center;text-anchor:middle">normal call</tspan></text> 98.1160 + <path 98.1161 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 98.1162 + d="m 570.02904,620.63925 c 0,13.68455 0,13.68455 0,13.68455" 98.1163 + id="path5417" 98.1164 + inkscape:connector-curvature="0" 98.1165 + sodipodi:nodetypes="cc" /> 98.1166 + <path 98.1167 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 98.1168 + d="m 570.24715,602.02605 c 57.74832,0 57.74832,0 57.74832,0" 98.1169 + id="path5419" 98.1170 + inkscape:connector-curvature="0" /> 98.1171 + <text 98.1172 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 98.1173 + xml:space="preserve" 98.1174 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.1175 + x="25.533201" 98.1176 + y="847.01544" 98.1177 + id="text5421" 98.1178 + sodipodi:linespacing="100%"><tspan 98.1179 + style="font-size:8px;text-align:center;text-anchor:middle" 98.1180 + sodipodi:role="line" 98.1181 + x="25.533201" 98.1182 + y="847.01544" 98.1183 + id="tspan5423">suspend</tspan><tspan 98.1184 + id="tspan5425" 98.1185 + style="font-size:8px;text-align:center;text-anchor:middle" 98.1186 + sodipodi:role="line" 98.1187 + x="25.533201" 98.1188 + y="855.01544">and switch</tspan><tspan 98.1189 + id="tspan5427" 98.1190 + style="font-size:8px;text-align:center;text-anchor:middle" 98.1191 + sodipodi:role="line" 98.1192 + x="25.533201" 98.1193 + y="863.01544">to runtime</tspan></text> 98.1194 + <path 98.1195 + inkscape:connector-curvature="0" 98.1196 + id="path5429" 98.1197 + d="m 627.94909,622.02605 c -56.8776,0 -56.8776,0 -56.8776,0" 98.1198 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 98.1199 + <text 98.1200 + sodipodi:linespacing="100%" 98.1201 + id="text5431" 98.1202 + y="871.4436" 98.1203 + x="1.8845758" 98.1204 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.1205 + xml:space="preserve" 98.1206 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 98.1207 + y="871.4436" 98.1208 + x="1.8845758" 98.1209 + sodipodi:role="line" 98.1210 + style="font-size:8px;text-align:center;text-anchor:middle" 98.1211 + id="tspan5433">return</tspan><tspan 98.1212 + id="tspan5435" 98.1213 + y="879.4436" 98.1214 + x="1.8845758" 98.1215 + sodipodi:role="line" 98.1216 + style="font-size:8px;text-align:center;text-anchor:middle">from</tspan><tspan 98.1217 + id="tspan5437" 98.1218 + y="887.4436" 98.1219 + x="1.8845758" 98.1220 + sodipodi:role="line" 98.1221 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text> 98.1222 + <text 98.1223 + xml:space="preserve" 98.1224 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.1225 + x="571.33643" 98.1226 + y="577.42468" 98.1227 + id="text5439" 98.1228 + sodipodi:linespacing="100%"><tspan 98.1229 + style="text-align:center;text-anchor:middle;fill:#000080" 98.1230 + sodipodi:role="line" 98.1231 + x="571.33643" 98.1232 + y="577.42468" 98.1233 + id="tspan5441">send request</tspan><tspan 98.1234 + id="tspan5443" 98.1235 + style="text-align:center;text-anchor:middle;fill:#000080" 98.1236 + sodipodi:role="line" 98.1237 + x="571.33643" 98.1238 + y="587.42468">primitive Fn</tspan></text> 98.1239 + <text 98.1240 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 98.1241 + xml:space="preserve" 98.1242 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.1243 + x="458.09958" 98.1244 + y="577.1424" 98.1245 + id="text5445" 98.1246 + sodipodi:linespacing="100%"><tspan 98.1247 + style="font-size:8px;text-align:center;text-anchor:middle" 98.1248 + sodipodi:role="line" 98.1249 + x="458.09958" 98.1250 + y="577.1424" 98.1251 + id="tspan5447">normal call</tspan></text> 98.1252 + <path 98.1253 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 98.1254 + d="m 570.02904,669.28283 c 0,13.68455 0,13.68455 0,13.68455" 98.1255 + id="path5449" 98.1256 + inkscape:connector-curvature="0" 98.1257 + sodipodi:nodetypes="cc" /> 98.1258 + <path 98.1259 + inkscape:connector-curvature="0" 98.1260 + id="path5451" 98.1261 + d="m 570.24715,680.66963 c 57.74832,0 57.74832,0 57.74832,0" 98.1262 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 98.1263 + <text 98.1264 + sodipodi:linespacing="100%" 98.1265 + id="text5453" 98.1266 + y="904.49347" 98.1267 + x="-30.11055" 98.1268 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.1269 + xml:space="preserve" 98.1270 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 98.1271 + id="tspan5455" 98.1272 + y="904.49347" 98.1273 + x="-30.11055" 98.1274 + sodipodi:role="line" 98.1275 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan 98.1276 + y="912.49347" 98.1277 + x="-30.11055" 98.1278 + sodipodi:role="line" 98.1279 + style="font-size:8px;text-align:center;text-anchor:middle" 98.1280 + id="tspan5457">and switch</tspan><tspan 98.1281 + y="920.49347" 98.1282 + x="-30.11055" 98.1283 + sodipodi:role="line" 98.1284 + style="font-size:8px;text-align:center;text-anchor:middle" 98.1285 + id="tspan5459">to runtime</tspan></text> 98.1286 + <path 98.1287 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 98.1288 + d="m 416.02904,638.31987 c 0,26.21842 0,26.21842 0,26.21842" 98.1289 + id="path5461" 98.1290 + inkscape:connector-curvature="0" 98.1291 + sodipodi:nodetypes="cc" /> 98.1292 + <path 98.1293 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 98.1294 + d="m 416.2471,664.02605 c 87.58783,0 87.58783,0 87.58783,0" 98.1295 + id="path5463" 98.1296 + inkscape:connector-curvature="0" /> 98.1297 + <text 98.1298 + sodipodi:linespacing="100%" 98.1299 + id="text5465" 98.1300 + y="509.14246" 98.1301 + x="457.80075" 98.1302 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.1303 + xml:space="preserve" 98.1304 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 98.1305 + id="tspan5467" 98.1306 + y="509.14246" 98.1307 + x="457.80075" 98.1308 + sodipodi:role="line" 98.1309 + style="font-size:8px;text-align:center;text-anchor:middle">normal call</tspan></text> 98.1310 + <text 98.1311 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 98.1312 + xml:space="preserve" 98.1313 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.1314 + x="458.50388" 98.1315 + y="669.1424" 98.1316 + id="text5469" 98.1317 + sodipodi:linespacing="100%"><tspan 98.1318 + style="font-size:8px;text-align:center;text-anchor:middle" 98.1319 + sodipodi:role="line" 98.1320 + x="458.50388" 98.1321 + y="669.1424" 98.1322 + id="tspan5471">normal call</tspan></text> 98.1323 + <text 98.1324 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 98.1325 + xml:space="preserve" 98.1326 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.1327 + x="528.52972" 98.1328 + y="674.83447" 98.1329 + id="text5477" 98.1330 + sodipodi:linespacing="100%"><tspan 98.1331 + style="font-size:8px;text-align:center;text-anchor:middle" 98.1332 + sodipodi:role="line" 98.1333 + x="528.52972" 98.1334 + y="674.83447" 98.1335 + id="tspan5479">normal call</tspan></text> 98.1336 + <text 98.1337 + sodipodi:linespacing="100%" 98.1338 + id="text5481" 98.1339 + y="514.83447" 98.1340 + x="527.8266" 98.1341 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.1342 + xml:space="preserve" 98.1343 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 98.1344 + id="tspan5483" 98.1345 + y="514.83447" 98.1346 + x="527.8266" 98.1347 + sodipodi:role="line" 98.1348 + style="font-size:8px;text-align:center;text-anchor:middle">normal call</tspan></text> 98.1349 + <text 98.1350 + sodipodi:linespacing="100%" 98.1351 + id="text5489" 98.1352 + y="452.22702" 98.1353 + x="78.959503" 98.1354 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.1355 + xml:space="preserve" 98.1356 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 98.1357 + id="tspan5491" 98.1358 + y="452.22702" 98.1359 + x="78.959503" 98.1360 + sodipodi:role="line" 98.1361 + style="font-size:8px;text-align:center;text-anchor:middle">Call via Ptr</tspan></text> 98.1362 + <text 98.1363 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 98.1364 + xml:space="preserve" 98.1365 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.1366 + x="79.588112" 98.1367 + y="490.2218" 98.1368 + id="text5493" 98.1369 + sodipodi:linespacing="100%"><tspan 98.1370 + style="font-size:8px;text-align:center;text-anchor:middle" 98.1371 + sodipodi:role="line" 98.1372 + x="79.588112" 98.1373 + y="490.2218" 98.1374 + id="tspan5495">Call via Ptr</tspan></text> 98.1375 + <text 98.1376 + sodipodi:linespacing="100%" 98.1377 + id="text5497" 98.1378 + y="526.21716" 98.1379 + x="80.18364" 98.1380 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.1381 + xml:space="preserve" 98.1382 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 98.1383 + id="tspan5499" 98.1384 + y="526.21716" 98.1385 + x="80.18364" 98.1386 + sodipodi:role="line" 98.1387 + style="font-size:8px;text-align:center;text-anchor:middle">Call via Ptr</tspan></text> 98.1388 + <g 98.1389 + transform="translate(-114,76)" 98.1390 + id="g8395"> 98.1391 + <rect 98.1392 + y="313.58255" 98.1393 + x="310.40247" 98.1394 + height="52.250008" 98.1395 + width="65.276405" 98.1396 + id="rect8397" 98.1397 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 98.1398 + </g> 98.1399 + <text 98.1400 + xml:space="preserve" 98.1401 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.1402 + x="228.92543" 98.1403 + y="577.76575" 98.1404 + id="text8411" 98.1405 + sodipodi:linespacing="100%"><tspan 98.1406 + style="text-align:center;text-anchor:middle" 98.1407 + sodipodi:role="line" 98.1408 + id="tspan8413" 98.1409 + x="228.92543" 98.1410 + y="577.76575">Master</tspan><tspan 98.1411 + style="font-size:8px;text-align:center;text-anchor:middle" 98.1412 + id="tspan8415" 98.1413 + sodipodi:role="line" 98.1414 + x="228.92543" 98.1415 + y="586.2005">(runtime system)</tspan><tspan 98.1416 + id="tspan8417" 98.1417 + style="font-size:8px;text-align:center;text-anchor:middle" 98.1418 + sodipodi:role="line" 98.1419 + x="228.92543" 98.1420 + y="594.2005">on core 2</tspan></text> 98.1421 + <g 98.1422 + id="g8419" 98.1423 + transform="translate(-114,254)"> 98.1424 + <rect 98.1425 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 98.1426 + id="rect8421" 98.1427 + width="65.276405" 98.1428 + height="52.250008" 98.1429 + x="310.40247" 98.1430 + y="313.58255" /> 98.1431 + </g> 98.1432 + <text 98.1433 + sodipodi:linespacing="100%" 98.1434 + id="text8425" 98.1435 + y="593.42468" 98.1436 + x="131.19971" 98.1437 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.1438 + xml:space="preserve"><tspan 98.1439 + id="tspan8427" 98.1440 + y="593.42468" 98.1441 + x="131.19971" 98.1442 + sodipodi:role="line" 98.1443 + style="text-align:center;text-anchor:middle;fill:#800000">Handler</tspan><tspan 98.1444 + id="tspan8429" 98.1445 + y="603.42468" 98.1446 + x="131.19971" 98.1447 + sodipodi:role="line" 98.1448 + style="text-align:center;text-anchor:middle;fill:#800000">for Language</tspan><tspan 98.1449 + id="tspan8431" 98.1450 + y="613.42468" 98.1451 + x="131.19971" 98.1452 + sodipodi:role="line" 98.1453 + style="text-align:center;text-anchor:middle;fill:#800000">Construct1</tspan></text> 98.1454 + <text 98.1455 + xml:space="preserve" 98.1456 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.1457 + x="131.19971" 98.1458 + y="673.42468" 98.1459 + id="text8433" 98.1460 + sodipodi:linespacing="100%"><tspan 98.1461 + style="text-align:center;text-anchor:middle;fill:#800000" 98.1462 + sodipodi:role="line" 98.1463 + x="131.19971" 98.1464 + y="673.42468" 98.1465 + id="tspan8435">Handler</tspan><tspan 98.1466 + style="text-align:center;text-anchor:middle;fill:#800000" 98.1467 + sodipodi:role="line" 98.1468 + x="131.19971" 98.1469 + y="683.42468" 98.1470 + id="tspan8437">for Language</tspan><tspan 98.1471 + style="text-align:center;text-anchor:middle;fill:#800000" 98.1472 + sodipodi:role="line" 98.1473 + x="131.19971" 98.1474 + y="693.42468" 98.1475 + id="tspan8439">Construct2</tspan></text> 98.1476 + <text 98.1477 + sodipodi:linespacing="100%" 98.1478 + id="text8441" 98.1479 + y="583.42468" 98.1480 + x="47.661133" 98.1481 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.1482 + xml:space="preserve"><tspan 98.1483 + id="tspan8443" 98.1484 + y="583.42468" 98.1485 + x="47.661133" 98.1486 + sodipodi:role="line" 98.1487 + style="text-align:center;text-anchor:middle">Master Fn</tspan></text> 98.1488 + <text 98.1489 + sodipodi:linespacing="100%" 98.1490 + id="text8445" 98.1491 + y="719.42468" 98.1492 + x="131.52441" 98.1493 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.1494 + xml:space="preserve"><tspan 98.1495 + id="tspan8447" 98.1496 + y="719.42468" 98.1497 + x="131.52441" 98.1498 + sodipodi:role="line" 98.1499 + style="text-align:center;text-anchor:middle;fill:#800000">Assigner Fn</tspan></text> 98.1500 + <path 98.1501 + sodipodi:nodetypes="cc" 98.1502 + inkscape:connector-curvature="0" 98.1503 + id="path8449" 98.1504 + d="m 48.02904,586.29842 c 0,7.37773 0,7.37773 0,7.37773" 98.1505 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 98.1506 + <path 98.1507 + inkscape:connector-curvature="0" 98.1508 + id="path8451" 98.1509 + d="m 48.247131,594.02605 c 48.887624,0 48.887624,0 48.887624,0" 98.1510 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 98.1511 + <path 98.1512 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 98.1513 + d="m 98.156891,606.02605 c -51.085387,0 -51.085387,0 -51.085387,0" 98.1514 + id="path8453" 98.1515 + inkscape:connector-curvature="0" /> 98.1516 + <path 98.1517 + sodipodi:nodetypes="cc" 98.1518 + inkscape:connector-curvature="0" 98.1519 + id="path8455" 98.1520 + d="m 98.02904,592.63925 c 0,13.68455 0,13.68455 0,13.68455" 98.1521 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 98.1522 + <text 98.1523 + xml:space="preserve" 98.1524 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.1525 + x="131.19971" 98.1526 + y="635.42468" 98.1527 + id="text8457" 98.1528 + sodipodi:linespacing="100%"><tspan 98.1529 + style="text-align:center;text-anchor:middle;fill:#800000" 98.1530 + sodipodi:role="line" 98.1531 + x="131.19971" 98.1532 + y="635.42468" 98.1533 + id="tspan8459">Handler</tspan><tspan 98.1534 + style="text-align:center;text-anchor:middle;fill:#800000" 98.1535 + sodipodi:role="line" 98.1536 + x="131.19971" 98.1537 + y="645.42468" 98.1538 + id="tspan8461">for Language</tspan><tspan 98.1539 + style="text-align:center;text-anchor:middle;fill:#800000" 98.1540 + sodipodi:role="line" 98.1541 + x="131.19971" 98.1542 + y="655.42468" 98.1543 + id="tspan8463">Construct1</tspan></text> 98.1544 + <path 98.1545 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 98.1546 + d="m 48.02904,606.51232 c 0,29.16381 0,29.16381 0,29.16381" 98.1547 + id="path8465" 98.1548 + inkscape:connector-curvature="0" 98.1549 + sodipodi:nodetypes="cc" /> 98.1550 + <path 98.1551 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 98.1552 + d="m 48.247131,636.02605 c 48.887624,0 48.887624,0 48.887624,0" 98.1553 + id="path8467" 98.1554 + inkscape:connector-curvature="0" /> 98.1555 + <path 98.1556 + inkscape:connector-curvature="0" 98.1557 + id="path8469" 98.1558 + d="m 98.156891,648.02605 c -51.085387,0 -51.085387,0 -51.085387,0" 98.1559 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 98.1560 + <path 98.1561 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 98.1562 + d="m 98.02904,634.63925 c 0,13.68455 0,13.68455 0,13.68455" 98.1563 + id="path8471" 98.1564 + inkscape:connector-curvature="0" 98.1565 + sodipodi:nodetypes="cc" /> 98.1566 + <path 98.1567 + sodipodi:nodetypes="cc" 98.1568 + inkscape:connector-curvature="0" 98.1569 + id="path8473" 98.1570 + d="m 48.02904,648.14337 c 0,25.5328 0,25.5328 0,25.5328" 98.1571 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 98.1572 + <path 98.1573 + inkscape:connector-curvature="0" 98.1574 + id="path8475" 98.1575 + d="m 48.247131,674.02605 c 48.887624,0 48.887624,0 48.887624,0" 98.1576 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 98.1577 + <path 98.1578 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 98.1579 + d="m 98.156891,686.02605 c -51.085387,0 -51.085387,0 -51.085387,0" 98.1580 + id="path8477" 98.1581 + inkscape:connector-curvature="0" /> 98.1582 + <path 98.1583 + sodipodi:nodetypes="cc" 98.1584 + inkscape:connector-curvature="0" 98.1585 + id="path8479" 98.1586 + d="m 98.02904,672.63925 c 0,13.68455 0,13.68455 0,13.68455" 98.1587 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 98.1588 + <path 98.1589 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 98.1590 + d="m 48.02904,686.56402 c 0,23.11212 0,23.11212 0,23.11212" 98.1591 + id="path8481" 98.1592 + inkscape:connector-curvature="0" 98.1593 + sodipodi:nodetypes="cc" /> 98.1594 + <path 98.1595 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 98.1596 + d="m 48.247131,710.02605 c 48.887624,0 48.887624,0 48.887624,0" 98.1597 + id="path8483" 98.1598 + inkscape:connector-curvature="0" /> 98.1599 + <path 98.1600 + inkscape:connector-curvature="0" 98.1601 + id="path8485" 98.1602 + d="m 98.156891,722.02605 c -51.085387,0 -51.085387,0 -51.085387,0" 98.1603 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 98.1604 + <path 98.1605 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 98.1606 + d="m 98.02904,708.63925 c 0,13.68455 0,13.68455 0,13.68455" 98.1607 + id="path8487" 98.1608 + inkscape:connector-curvature="0" 98.1609 + sodipodi:nodetypes="cc" /> 98.1610 + <text 98.1611 + sodipodi:linespacing="100%" 98.1612 + id="text8489" 98.1613 + y="590.20807" 98.1614 + x="81.242355" 98.1615 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.1616 + xml:space="preserve" 98.1617 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 98.1618 + id="tspan8491" 98.1619 + y="590.20807" 98.1620 + x="81.242355" 98.1621 + sodipodi:role="line" 98.1622 + style="font-size:8px;text-align:center;text-anchor:middle">Call via Ptr</tspan></text> 98.1623 + <path 98.1624 + inkscape:connector-curvature="0" 98.1625 + id="path8493" 98.1626 + d="m 193.99816,580.02605 c -117.505852,0 -117.505852,0 -117.505852,0" 98.1627 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000003, 3.00000003;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 98.1628 + <text 98.1629 + transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)" 98.1630 + xml:space="preserve" 98.1631 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.1632 + x="22.488649" 98.1633 + y="591.78375" 98.1634 + id="text8495" 98.1635 + sodipodi:linespacing="100%"><tspan 98.1636 + style="font-size:8px;text-align:center;text-anchor:middle" 98.1637 + sodipodi:role="line" 98.1638 + x="22.488649" 98.1639 + y="591.78375" 98.1640 + id="tspan8497">Top Level Fn</tspan></text> 98.1641 + <text 98.1642 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 98.1643 + xml:space="preserve" 98.1644 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.1645 + x="81.937141" 98.1646 + y="632.20233" 98.1647 + id="text8499" 98.1648 + sodipodi:linespacing="100%"><tspan 98.1649 + style="font-size:8px;text-align:center;text-anchor:middle" 98.1650 + sodipodi:role="line" 98.1651 + x="81.937141" 98.1652 + y="632.20233" 98.1653 + id="tspan8501">Call via Ptr</tspan></text> 98.1654 + <text 98.1655 + sodipodi:linespacing="100%" 98.1656 + id="text8503" 98.1657 + y="670.19708" 98.1658 + x="82.56575" 98.1659 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.1660 + xml:space="preserve" 98.1661 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 98.1662 + id="tspan8505" 98.1663 + y="670.19708" 98.1664 + x="82.56575" 98.1665 + sodipodi:role="line" 98.1666 + style="font-size:8px;text-align:center;text-anchor:middle">Call via Ptr</tspan></text> 98.1667 + <text 98.1668 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 98.1669 + xml:space="preserve" 98.1670 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.1671 + x="83.161278" 98.1672 + y="706.19244" 98.1673 + id="text8507" 98.1674 + sodipodi:linespacing="100%"><tspan 98.1675 + style="font-size:8px;text-align:center;text-anchor:middle" 98.1676 + sodipodi:role="line" 98.1677 + x="83.161278" 98.1678 + y="706.19244" 98.1679 + id="tspan8509">Call via Ptr</tspan></text> 98.1680 + </g> 98.1681 +</svg>
99.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 99.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/Proto-Runtime__modules_plus_plugin_plus_code_back_2.svg Fri Sep 13 11:02:18 2013 -0700 99.3 @@ -0,0 +1,2231 @@ 99.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 99.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 99.6 + 99.7 +<svg 99.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 99.9 + xmlns:cc="http://creativecommons.org/ns#" 99.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 99.11 + xmlns:svg="http://www.w3.org/2000/svg" 99.12 + xmlns="http://www.w3.org/2000/svg" 99.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 99.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 99.15 + width="744.09448819" 99.16 + height="1052.3622047" 99.17 + id="svg2" 99.18 + sodipodi:version="0.32" 99.19 + inkscape:version="0.48.2 r9819" 99.20 + sodipodi:docname="Proto-Runtime__modules_plus_plugin_plus_code.svg" 99.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 99.22 + version="1.1"> 99.23 + <defs 99.24 + id="defs4"> 99.25 + <marker 99.26 + inkscape:stockid="Arrow2Mend" 99.27 + orient="auto" 99.28 + refY="0.0" 99.29 + refX="0.0" 99.30 + id="Arrow2Mend" 99.31 + style="overflow:visible;"> 99.32 + <path 99.33 + id="path4008" 99.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 99.35 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 99.36 + transform="scale(0.6) rotate(180) translate(0,0)" /> 99.37 + </marker> 99.38 + <inkscape:perspective 99.39 + sodipodi:type="inkscape:persp3d" 99.40 + inkscape:vp_x="0 : 526.18109 : 1" 99.41 + inkscape:vp_y="0 : 1000 : 0" 99.42 + inkscape:vp_z="744.09448 : 526.18109 : 1" 99.43 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 99.44 + id="perspective10" /> 99.45 + <inkscape:perspective 99.46 + id="perspective12172" 99.47 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 99.48 + inkscape:vp_z="1 : 0.5 : 1" 99.49 + inkscape:vp_y="0 : 1000 : 0" 99.50 + inkscape:vp_x="0 : 0.5 : 1" 99.51 + sodipodi:type="inkscape:persp3d" /> 99.52 + <inkscape:perspective 99.53 + id="perspective12937" 99.54 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 99.55 + inkscape:vp_z="1 : 0.5 : 1" 99.56 + inkscape:vp_y="0 : 1000 : 0" 99.57 + inkscape:vp_x="0 : 0.5 : 1" 99.58 + sodipodi:type="inkscape:persp3d" /> 99.59 + </defs> 99.60 + <sodipodi:namedview 99.61 + id="base" 99.62 + pagecolor="#ffffff" 99.63 + bordercolor="#666666" 99.64 + borderopacity="1.0" 99.65 + gridtolerance="10000" 99.66 + guidetolerance="10" 99.67 + objecttolerance="10" 99.68 + inkscape:pageopacity="0.0" 99.69 + inkscape:pageshadow="2" 99.70 + inkscape:zoom="1.6398134" 99.71 + inkscape:cx="167.915" 99.72 + inkscape:cy="557.78994" 99.73 + inkscape:document-units="px" 99.74 + inkscape:current-layer="layer1" 99.75 + showgrid="false" 99.76 + inkscape:window-width="1600" 99.77 + inkscape:window-height="848" 99.78 + inkscape:window-x="-8" 99.79 + inkscape:window-y="-8" 99.80 + inkscape:window-maximized="1" /> 99.81 + <metadata 99.82 + id="metadata7"> 99.83 + <rdf:RDF> 99.84 + <cc:Work 99.85 + rdf:about=""> 99.86 + <dc:format>image/svg+xml</dc:format> 99.87 + <dc:type 99.88 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 99.89 + <dc:title></dc:title> 99.90 + </cc:Work> 99.91 + </rdf:RDF> 99.92 + </metadata> 99.93 + <g 99.94 + inkscape:label="Layer 1" 99.95 + inkscape:groupmode="layer" 99.96 + id="layer1"> 99.97 + <text 99.98 + sodipodi:linespacing="100%" 99.99 + id="text12979" 99.100 + y="399.76575" 99.101 + x="326.92542" 99.102 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.103 + xml:space="preserve"><tspan 99.104 + y="399.76575" 99.105 + x="326.92542" 99.106 + id="tspan12981" 99.107 + sodipodi:role="line" 99.108 + style="text-align:center;text-anchor:middle">Master</tspan><tspan 99.109 + y="408.20053" 99.110 + x="326.92542" 99.111 + sodipodi:role="line" 99.112 + id="tspan3291" 99.113 + style="font-size:8px;text-align:center;text-anchor:middle">(runtime system)</tspan><tspan 99.114 + y="416.20053" 99.115 + x="326.92542" 99.116 + sodipodi:role="line" 99.117 + style="font-size:8px;text-align:center;text-anchor:middle" 99.118 + id="tspan8409">on core 1</tspan></text> 99.119 + <g 99.120 + id="g9336" 99.121 + transform="translate(44.002789,0)"> 99.122 + <rect 99.123 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 99.124 + id="rect3293" 99.125 + width="65.276405" 99.126 + height="37.165791" 99.127 + x="346.40247" 99.128 + y="389.58255" /> 99.129 + <text 99.130 + sodipodi:linespacing="100%" 99.131 + id="text3295" 99.132 + y="400.15268" 99.133 + x="379.00162" 99.134 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.135 + xml:space="preserve"><tspan 99.136 + id="tspan3301" 99.137 + y="400.15268" 99.138 + x="379.00162" 99.139 + sodipodi:role="line" 99.140 + style="text-align:center;text-anchor:middle">Seed VP</tspan><tspan 99.141 + y="408.58746" 99.142 + x="379.00162" 99.143 + sodipodi:role="line" 99.144 + style="font-size:8px;text-align:center;text-anchor:middle" 99.145 + id="tspan9389">(created at</tspan><tspan 99.146 + y="416.58746" 99.147 + x="379.00162" 99.148 + sodipodi:role="line" 99.149 + style="font-size:8px;text-align:center;text-anchor:middle" 99.150 + id="tspan9391">app startup,</tspan><tspan 99.151 + y="424.58746" 99.152 + x="379.00162" 99.153 + sodipodi:role="line" 99.154 + style="font-size:8px;text-align:center;text-anchor:middle" 99.155 + id="tspan9744">on core 1)</tspan></text> 99.156 + </g> 99.157 + <text 99.158 + xml:space="preserve" 99.159 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.160 + x="517.16797" 99.161 + y="357.42465" 99.162 + id="text3318-1" 99.163 + sodipodi:linespacing="100%"><tspan 99.164 + style="text-align:center;text-anchor:middle;fill:#008000" 99.165 + sodipodi:role="line" 99.166 + x="517.16797" 99.167 + y="357.42465" 99.168 + id="tspan3322-5">Application Code</tspan></text> 99.169 + <text 99.170 + sodipodi:linespacing="100%" 99.171 + id="text3376" 99.172 + y="403.42465" 99.173 + x="517.16797" 99.174 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.175 + xml:space="preserve"><tspan 99.176 + id="tspan3378" 99.177 + y="403.42465" 99.178 + x="517.16797" 99.179 + sodipodi:role="line" 99.180 + style="text-align:center;text-anchor:middle;fill:#008000">Seed_Fn</tspan></text> 99.181 + <text 99.182 + xml:space="preserve" 99.183 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.184 + x="517.16797" 99.185 + y="571.42468" 99.186 + id="text3380" 99.187 + sodipodi:linespacing="100%"><tspan 99.188 + style="text-align:center;text-anchor:middle;fill:#008000" 99.189 + sodipodi:role="line" 99.190 + x="517.16797" 99.191 + y="571.42468" 99.192 + id="tspan3382">Work_Fn</tspan></text> 99.193 + <text 99.194 + sodipodi:linespacing="100%" 99.195 + id="text3388" 99.196 + y="357.42465" 99.197 + x="604.63812" 99.198 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.199 + xml:space="preserve"><tspan 99.200 + id="tspan3390" 99.201 + y="357.42465" 99.202 + x="606.14203" 99.203 + sodipodi:role="line" 99.204 + style="text-align:center;text-anchor:middle;fill:#800000">Language </tspan><tspan 99.205 + y="367.42465" 99.206 + x="604.63812" 99.207 + sodipodi:role="line" 99.208 + style="text-align:center;text-anchor:middle;fill:#800000" 99.209 + id="tspan5106">Wrapper-Lib</tspan><tspan 99.210 + y="377.42465" 99.211 + x="604.63812" 99.212 + sodipodi:role="line" 99.213 + style="text-align:center;text-anchor:middle;fill:#800000" 99.214 + id="tspan3392">Code</tspan></text> 99.215 + <text 99.216 + xml:space="preserve" 99.217 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.218 + x="669.16797" 99.219 + y="357.42465" 99.220 + id="text3394" 99.221 + sodipodi:linespacing="100%"><tspan 99.222 + style="text-align:center;text-anchor:middle;fill:#000080" 99.223 + sodipodi:role="line" 99.224 + x="669.16797" 99.225 + y="357.42465" 99.226 + id="tspan3396">Proto-Runtime</tspan><tspan 99.227 + style="text-align:center;text-anchor:middle;fill:#000080" 99.228 + sodipodi:role="line" 99.229 + x="669.16797" 99.230 + y="367.42465" 99.231 + id="tspan4998">Primitive</tspan><tspan 99.232 + id="tspan3398" 99.233 + style="text-align:center;text-anchor:middle;fill:#000080" 99.234 + sodipodi:role="line" 99.235 + x="669.16797" 99.236 + y="377.42465">Code</tspan></text> 99.237 + <text 99.238 + xml:space="preserve" 99.239 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.240 + x="137.31689" 99.241 + y="433.42465" 99.242 + id="text3412" 99.243 + sodipodi:linespacing="100%"><tspan 99.244 + style="text-align:center;text-anchor:middle;fill:#800000" 99.245 + sodipodi:role="line" 99.246 + x="137.31689" 99.247 + y="433.42465" 99.248 + id="tspan3414">Lang Handler</tspan><tspan 99.249 + style="text-align:center;text-anchor:middle;fill:#800000" 99.250 + sodipodi:role="line" 99.251 + x="137.31689" 99.252 + y="443.42465" 99.253 + id="tspan3422">for create VP</tspan></text> 99.254 + <text 99.255 + xml:space="preserve" 99.256 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.257 + x="137.68066" 99.258 + y="481.42468" 99.259 + id="text3444" 99.260 + sodipodi:linespacing="100%"><tspan 99.261 + style="text-align:center;text-anchor:middle;fill:#800000" 99.262 + sodipodi:role="line" 99.263 + x="137.68066" 99.264 + y="481.42468" 99.265 + id="tspan3450">Assigner Fn</tspan></text> 99.266 + <text 99.267 + xml:space="preserve" 99.268 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.269 + x="327.16797" 99.270 + y="359.42465" 99.271 + id="text3456" 99.272 + sodipodi:linespacing="100%"><tspan 99.273 + style="text-align:center;text-anchor:middle" 99.274 + sodipodi:role="line" 99.275 + x="328.67188" 99.276 + y="359.42465" 99.277 + id="tspan3458">Instances of </tspan><tspan 99.278 + style="text-align:center;text-anchor:middle" 99.279 + sodipodi:role="line" 99.280 + x="327.16797" 99.281 + y="369.42465" 99.282 + id="tspan8405">runtime system</tspan><tspan 99.283 + style="font-size:8px;text-align:center;text-anchor:middle" 99.284 + sodipodi:role="line" 99.285 + x="327.16797" 99.286 + y="377.85944" 99.287 + id="tspan9383">(data structs</tspan><tspan 99.288 + style="font-size:8px;text-align:center;text-anchor:middle" 99.289 + sodipodi:role="line" 99.290 + x="327.16797" 99.291 + y="385.85944" 99.292 + id="tspan9385">on heap)</tspan><tspan 99.293 + id="tspan3460" 99.294 + style="text-align:center;text-anchor:middle" 99.295 + sodipodi:role="line" 99.296 + x="327.16797" 99.297 + y="393.85944" /></text> 99.298 + <text 99.299 + sodipodi:linespacing="100%" 99.300 + id="text3462" 99.301 + y="357.42465" 99.302 + x="423.16797" 99.303 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.304 + xml:space="preserve"><tspan 99.305 + id="tspan3464" 99.306 + y="357.42465" 99.307 + x="423.16797" 99.308 + sodipodi:role="line" 99.309 + style="text-align:center;text-anchor:middle">Instances of</tspan><tspan 99.310 + y="367.42465" 99.311 + x="423.16797" 99.312 + sodipodi:role="line" 99.313 + style="text-align:center;text-anchor:middle" 99.314 + id="tspan3468">Virtual Processors</tspan><tspan 99.315 + y="375.85944" 99.316 + x="423.16797" 99.317 + sodipodi:role="line" 99.318 + style="font-size:8px;text-align:center;text-anchor:middle" 99.319 + id="tspan3466">(data structs</tspan><tspan 99.320 + y="383.85944" 99.321 + x="423.16797" 99.322 + sodipodi:role="line" 99.323 + style="font-size:8px;text-align:center;text-anchor:middle" 99.324 + id="tspan9387">on heap)</tspan></text> 99.325 + <path 99.326 + inkscape:connector-curvature="0" 99.327 + id="path4796" 99.328 + d="m 457.32649,400.02605 c 38.42351,0 38.42351,0 38.42351,0" 99.329 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999996, 2.99999996;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 99.330 + <text 99.331 + xml:space="preserve" 99.332 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.333 + x="604.78461" 99.334 + y="397.42465" 99.335 + id="text4988" 99.336 + sodipodi:linespacing="100%"><tspan 99.337 + style="text-align:center;text-anchor:middle;fill:#800000" 99.338 + sodipodi:role="line" 99.339 + x="604.78461" 99.340 + y="397.42465" 99.341 + id="tspan4990">create VP</tspan><tspan 99.342 + style="text-align:center;text-anchor:middle;fill:#800000" 99.343 + sodipodi:role="line" 99.344 + x="604.78461" 99.345 + y="407.42465" 99.346 + id="tspan5104">wrapper Fn</tspan></text> 99.347 + <text 99.348 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 99.349 + xml:space="preserve" 99.350 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.351 + x="638.65094" 99.352 + y="428.96548" 99.353 + id="text5064" 99.354 + sodipodi:linespacing="100%"><tspan 99.355 + style="font-size:8px;text-align:center;text-anchor:middle" 99.356 + sodipodi:role="line" 99.357 + x="638.65094" 99.358 + y="428.96548" 99.359 + id="tspan5066">Call to dyn lib</tspan></text> 99.360 + <path 99.361 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000003, 3.00000003;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 99.362 + d="m 291.99816,400.02605 c -63.44071,0 -63.44071,0 -63.44071,0" 99.363 + id="path5068" 99.364 + inkscape:connector-curvature="0" /> 99.365 + <text 99.366 + sodipodi:linespacing="100%" 99.367 + id="text5070" 99.368 + y="439.30746" 99.369 + x="175.95195" 99.370 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.371 + xml:space="preserve" 99.372 + transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"><tspan 99.373 + id="tspan5072" 99.374 + y="439.30746" 99.375 + x="175.95195" 99.376 + sodipodi:role="line" 99.377 + style="font-size:8px;text-align:center;text-anchor:middle">Top Level Fn</tspan></text> 99.378 + <text 99.379 + transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)" 99.380 + xml:space="preserve" 99.381 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.382 + x="395.85803" 99.383 + y="481.98584" 99.384 + id="text5074" 99.385 + sodipodi:linespacing="100%"><tspan 99.386 + style="font-size:8px;text-align:center;text-anchor:middle" 99.387 + sodipodi:role="line" 99.388 + x="395.85803" 99.389 + y="481.98584" 99.390 + id="tspan5076">Top Level Fn</tspan></text> 99.391 + <text 99.392 + sodipodi:linespacing="100%" 99.393 + id="text5078" 99.394 + y="647.01514" 99.395 + x="364.33911" 99.396 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.397 + xml:space="preserve" 99.398 + transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"><tspan 99.399 + id="tspan5080" 99.400 + y="647.01514" 99.401 + x="364.33911" 99.402 + sodipodi:role="line" 99.403 + style="font-size:8px;text-align:center;text-anchor:middle">Top Level Fn</tspan></text> 99.404 + <path 99.405 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999996, 2.99999996;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 99.406 + d="m 458.9835,568.02605 c 36.7665,0 36.7665,0 36.7665,0" 99.407 + id="path5082" 99.408 + inkscape:connector-curvature="0" /> 99.409 + <path 99.410 + inkscape:connector-curvature="0" 99.411 + id="path5084" 99.412 + d="m 457.32649,728.02605 c 38.42351,0 38.42351,0 38.42351,0" 99.413 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999996, 2.99999996;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 99.414 + <path 99.415 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 99.416 + d="m 514.02904,406.01894 c 0,5.6572 0,5.6572 0,5.6572" 99.417 + id="path5092" 99.418 + inkscape:connector-curvature="0" 99.419 + sodipodi:nodetypes="cc" /> 99.420 + <path 99.421 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 99.422 + d="m 514.24714,412.02605 c 85.56237,0 85.56237,0 85.56237,0" 99.423 + id="path5094" 99.424 + inkscape:connector-curvature="0" /> 99.425 + <path 99.426 + inkscape:connector-curvature="0" 99.427 + id="path5096" 99.428 + d="m 602.77166,486.02605 c -88.41298,0 -88.41298,0 -88.41298,0" 99.429 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 99.430 + <text 99.431 + transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)" 99.432 + xml:space="preserve" 99.433 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.434 + x="332.45419" 99.435 + y="803.80713" 99.436 + id="text5114" 99.437 + sodipodi:linespacing="100%"><tspan 99.438 + style="font-size:8px;text-align:center;text-anchor:middle" 99.439 + sodipodi:role="line" 99.440 + x="332.45419" 99.441 + y="803.80713" 99.442 + id="tspan5116">Top Level Fn</tspan></text> 99.443 + <text 99.444 + sodipodi:linespacing="100%" 99.445 + id="text5136" 99.446 + y="731.42468" 99.447 + x="517.16797" 99.448 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.449 + xml:space="preserve"><tspan 99.450 + id="tspan5138" 99.451 + y="731.42468" 99.452 + x="517.16797" 99.453 + sodipodi:role="line" 99.454 + style="text-align:center;text-anchor:middle;fill:#008000">Work_Fn</tspan></text> 99.455 + <path 99.456 + sodipodi:nodetypes="cc" 99.457 + inkscape:connector-curvature="0" 99.458 + id="path5140" 99.459 + d="m 514.02904,486.31987 c 0,26.21842 0,26.21842 0,26.21842" 99.460 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 99.461 + <path 99.462 + inkscape:connector-curvature="0" 99.463 + id="path5142" 99.464 + d="m 514.2471,512.02605 c 87.58783,0 87.58783,0 87.58783,0" 99.465 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 99.466 + <text 99.467 + sodipodi:linespacing="100%" 99.468 + id="text5157" 99.469 + y="498.71182" 99.470 + x="604.78461" 99.471 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.472 + xml:space="preserve"><tspan 99.473 + id="tspan5161" 99.474 + y="498.71182" 99.475 + x="604.78461" 99.476 + sodipodi:role="line" 99.477 + style="text-align:center;text-anchor:middle;fill:#800000">end VP</tspan><tspan 99.478 + y="508.71182" 99.479 + x="604.78461" 99.480 + sodipodi:role="line" 99.481 + style="text-align:center;text-anchor:middle;fill:#800000" 99.482 + id="tspan5207">wrapper Fn</tspan></text> 99.483 + <path 99.484 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 99.485 + d="m 602.26584,518.02605 c 63.99676,0 63.99676,0 63.99676,0" 99.486 + id="path5165" 99.487 + inkscape:connector-curvature="0" /> 99.488 + <path 99.489 + sodipodi:nodetypes="cc" 99.490 + inkscape:connector-curvature="0" 99.491 + id="path5179" 99.492 + d="m 514.02904,574.01895 c 0,5.6572 0,5.6572 0,5.6572" 99.493 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 99.494 + <path 99.495 + sodipodi:nodetypes="cc" 99.496 + inkscape:connector-curvature="0" 99.497 + id="path5209" 99.498 + d="m 602.02904,510.31985 c 0,7.35629 0,7.35629 0,7.35629" 99.499 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 99.500 + <text 99.501 + xml:space="preserve" 99.502 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.503 + x="497.16797" 99.504 + y="399.42468" 99.505 + id="text5211" 99.506 + sodipodi:linespacing="100%"><tspan 99.507 + style="text-align:center;text-anchor:middle" 99.508 + sodipodi:role="line" 99.509 + x="497.16797" 99.510 + y="399.42468" 99.511 + id="tspan5215" /></text> 99.512 + <path 99.513 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 99.514 + d="m 602.02904,412.21843 c 0,19.4577 0,19.4577 0,19.4577" 99.515 + id="path5217" 99.516 + inkscape:connector-curvature="0" 99.517 + sodipodi:nodetypes="cc" /> 99.518 + <path 99.519 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 99.520 + d="m 602.24714,432.02605 c 64.71029,0 64.71029,0 64.71029,0" 99.521 + id="path5219" 99.522 + inkscape:connector-curvature="0" /> 99.523 + <path 99.524 + inkscape:connector-curvature="0" 99.525 + id="path5221" 99.526 + d="m 666.85635,482.02605 c -65.78483,0 -65.78483,0 -65.78483,0" 99.527 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 99.528 + <path 99.529 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 99.530 + d="m 668.02904,430.63925 c 0,13.68455 0,13.68455 0,13.68455" 99.531 + id="path5223" 99.532 + inkscape:connector-curvature="0" 99.533 + sodipodi:nodetypes="cc" /> 99.534 + <path 99.535 + sodipodi:nodetypes="cc" 99.536 + inkscape:connector-curvature="0" 99.537 + id="path5229" 99.538 + d="m 602.02904,481.22687 c 0,5.5885 0,5.5885 0,5.5885" 99.539 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 99.540 + <path 99.541 + sodipodi:nodetypes="cc" 99.542 + inkscape:connector-curvature="0" 99.543 + id="path5235" 99.544 + d="m 668.02904,468.63925 c 0,13.68455 0,13.68455 0,13.68455" 99.545 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 99.546 + <path 99.547 + inkscape:connector-curvature="0" 99.548 + id="path5237" 99.549 + d="m 668.24715,442.02605 c 57.74832,0 57.74832,0 57.74832,0" 99.550 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 99.551 + <text 99.552 + sodipodi:linespacing="100%" 99.553 + id="text5239" 99.554 + y="800.22192" 99.555 + x="207.23195" 99.556 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.557 + xml:space="preserve" 99.558 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 99.559 + id="tspan5241" 99.560 + y="800.22192" 99.561 + x="207.23195" 99.562 + sodipodi:role="line" 99.563 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan 99.564 + y="808.22192" 99.565 + x="207.23195" 99.566 + sodipodi:role="line" 99.567 + style="font-size:8px;text-align:center;text-anchor:middle" 99.568 + id="tspan5243">and switch</tspan><tspan 99.569 + y="816.22192" 99.570 + x="207.23195" 99.571 + sodipodi:role="line" 99.572 + style="font-size:8px;text-align:center;text-anchor:middle" 99.573 + id="tspan5245">to runtime</tspan></text> 99.574 + <path 99.575 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 99.576 + d="m 725.94909,470.02605 c -56.8776,0 -56.8776,0 -56.8776,0" 99.577 + id="path5247" 99.578 + inkscape:connector-curvature="0" /> 99.579 + <text 99.580 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 99.581 + xml:space="preserve" 99.582 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.583 + x="176.58183" 99.584 + y="829.00677" 99.585 + id="text5249" 99.586 + sodipodi:linespacing="100%"><tspan 99.587 + id="tspan5255" 99.588 + style="font-size:8px;text-align:center;text-anchor:middle" 99.589 + sodipodi:role="line" 99.590 + x="176.58183" 99.591 + y="829.00677">return</tspan><tspan 99.592 + style="font-size:8px;text-align:center;text-anchor:middle" 99.593 + sodipodi:role="line" 99.594 + x="176.58183" 99.595 + y="837.00677" 99.596 + id="tspan5261">from</tspan><tspan 99.597 + style="font-size:8px;text-align:center;text-anchor:middle" 99.598 + sodipodi:role="line" 99.599 + x="176.58183" 99.600 + y="845.00677" 99.601 + id="tspan5263">suspend</tspan></text> 99.602 + <text 99.603 + sodipodi:linespacing="100%" 99.604 + id="text5345" 99.605 + y="419.42465" 99.606 + x="667.38037" 99.607 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.608 + xml:space="preserve"><tspan 99.609 + id="tspan5349" 99.610 + y="419.42465" 99.611 + x="667.38037" 99.612 + sodipodi:role="line" 99.613 + style="text-align:center;text-anchor:middle;fill:#000080">PR primitive Fn</tspan><tspan 99.614 + y="429.42465" 99.615 + x="667.38037" 99.616 + sodipodi:role="line" 99.617 + style="text-align:center;text-anchor:middle;fill:#000080" 99.618 + id="tspan5353">to send request</tspan></text> 99.619 + <text 99.620 + sodipodi:linespacing="100%" 99.621 + id="text5355" 99.622 + y="416.71411" 99.623 + x="555.39612" 99.624 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.625 + xml:space="preserve" 99.626 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 99.627 + id="tspan5357" 99.628 + y="416.71411" 99.629 + x="555.39612" 99.630 + sodipodi:role="line" 99.631 + style="font-size:8px;text-align:center;text-anchor:middle">normal call</tspan></text> 99.632 + <path 99.633 + sodipodi:nodetypes="cc" 99.634 + inkscape:connector-curvature="0" 99.635 + id="path5359" 99.636 + d="m 668.02904,517.28283 c 0,13.68455 0,13.68455 0,13.68455" 99.637 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 99.638 + <path 99.639 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 99.640 + d="m 668.24715,528.66963 c 57.74832,0 57.74832,0 57.74832,0" 99.641 + id="path5361" 99.642 + inkscape:connector-curvature="0" /> 99.643 + <text 99.644 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 99.645 + xml:space="preserve" 99.646 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.647 + x="146.02351" 99.648 + y="863.44775" 99.649 + id="text5363" 99.650 + sodipodi:linespacing="100%"><tspan 99.651 + style="font-size:8px;text-align:center;text-anchor:middle" 99.652 + sodipodi:role="line" 99.653 + x="146.02351" 99.654 + y="863.44775" 99.655 + id="tspan5365">suspend</tspan><tspan 99.656 + id="tspan5367" 99.657 + style="font-size:8px;text-align:center;text-anchor:middle" 99.658 + sodipodi:role="line" 99.659 + x="146.02351" 99.660 + y="871.44775">and switch</tspan><tspan 99.661 + id="tspan5369" 99.662 + style="font-size:8px;text-align:center;text-anchor:middle" 99.663 + sodipodi:role="line" 99.664 + x="146.02351" 99.665 + y="879.44775">to runtime</tspan></text> 99.666 + <text 99.667 + sodipodi:linespacing="100%" 99.668 + id="text5371" 99.669 + y="565.42468" 99.670 + x="604.59662" 99.671 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.672 + xml:space="preserve"><tspan 99.673 + id="tspan5373" 99.674 + y="565.42468" 99.675 + x="604.59662" 99.676 + sodipodi:role="line" 99.677 + style="text-align:center;text-anchor:middle;fill:#800000">Mutex Acquire</tspan><tspan 99.678 + id="tspan5375" 99.679 + y="575.42468" 99.680 + x="604.59662" 99.681 + sodipodi:role="line" 99.682 + style="text-align:center;text-anchor:middle;fill:#800000">wrapper Fn</tspan></text> 99.683 + <path 99.684 + inkscape:connector-curvature="0" 99.685 + id="path5379" 99.686 + d="m 514.24714,580.02605 c 85.56237,0 85.56237,0 85.56237,0" 99.687 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 99.688 + <path 99.689 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 99.690 + d="m 602.77166,654.02605 c -88.41298,0 -88.41298,0 -88.41298,0" 99.691 + id="path5381" 99.692 + inkscape:connector-curvature="0" /> 99.693 + <text 99.694 + xml:space="preserve" 99.695 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.696 + x="604.78461" 99.697 + y="666.71179" 99.698 + id="text5387" 99.699 + sodipodi:linespacing="100%"><tspan 99.700 + style="text-align:center;text-anchor:middle;fill:#800000" 99.701 + sodipodi:role="line" 99.702 + x="604.78461" 99.703 + y="666.71179" 99.704 + id="tspan5389">end VP</tspan><tspan 99.705 + id="tspan5391" 99.706 + style="text-align:center;text-anchor:middle;fill:#800000" 99.707 + sodipodi:role="line" 99.708 + x="604.78461" 99.709 + y="676.71179">wrapper Fn</tspan></text> 99.710 + <path 99.711 + inkscape:connector-curvature="0" 99.712 + id="path5393" 99.713 + d="m 602.289,686.02605 c 65.24023,0 65.24023,0 65.24023,0" 99.714 + style="fill:none;stroke:#000000;stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 99.715 + <path 99.716 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 99.717 + d="m 602.02904,678.31985 c 0,7.35629 0,7.35629 0,7.35629" 99.718 + id="path5401" 99.719 + inkscape:connector-curvature="0" 99.720 + sodipodi:nodetypes="cc" /> 99.721 + <path 99.722 + sodipodi:nodetypes="cc" 99.723 + inkscape:connector-curvature="0" 99.724 + id="path5403" 99.725 + d="m 602.02904,580.21843 c 0,19.4577 0,19.4577 0,19.4577" 99.726 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 99.727 + <path 99.728 + inkscape:connector-curvature="0" 99.729 + id="path5405" 99.730 + d="m 602.6148,600.02605 c 64.1779,0 64.1779,0 64.1779,0" 99.731 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 99.732 + <path 99.733 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 99.734 + d="m 668.13452,650.02605 c -67.06305,0 -67.06305,0 -67.06305,0" 99.735 + id="path5407" 99.736 + inkscape:connector-curvature="0" /> 99.737 + <path 99.738 + sodipodi:nodetypes="cc" 99.739 + inkscape:connector-curvature="0" 99.740 + id="path5409" 99.741 + d="m 668.02904,598.63925 c 0,13.68455 0,13.68455 0,13.68455" 99.742 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 99.743 + <path 99.744 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 99.745 + d="m 602.02904,649.22687 c 0,5.5885 0,5.5885 0,5.5885" 99.746 + id="path5411" 99.747 + inkscape:connector-curvature="0" 99.748 + sodipodi:nodetypes="cc" /> 99.749 + <path 99.750 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 99.751 + d="m 668.02904,636.63925 c 0,13.68455 0,13.68455 0,13.68455" 99.752 + id="path5417" 99.753 + inkscape:connector-curvature="0" 99.754 + sodipodi:nodetypes="cc" /> 99.755 + <path 99.756 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 99.757 + d="m 668.24715,610.02605 c 57.74832,0 57.74832,0 57.74832,0" 99.758 + id="path5419" 99.759 + inkscape:connector-curvature="0" /> 99.760 + <text 99.761 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 99.762 + xml:space="preserve" 99.763 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.764 + x="90.37989" 99.765 + y="920.92737" 99.766 + id="text5421" 99.767 + sodipodi:linespacing="100%"><tspan 99.768 + style="font-size:8px;text-align:center;text-anchor:middle" 99.769 + sodipodi:role="line" 99.770 + x="90.37989" 99.771 + y="920.92737" 99.772 + id="tspan5423">suspend</tspan><tspan 99.773 + id="tspan5425" 99.774 + style="font-size:8px;text-align:center;text-anchor:middle" 99.775 + sodipodi:role="line" 99.776 + x="90.37989" 99.777 + y="928.92737">and switch</tspan><tspan 99.778 + id="tspan5427" 99.779 + style="font-size:8px;text-align:center;text-anchor:middle" 99.780 + sodipodi:role="line" 99.781 + x="90.37989" 99.782 + y="936.92737">to runtime</tspan></text> 99.783 + <path 99.784 + inkscape:connector-curvature="0" 99.785 + id="path5429" 99.786 + d="m 725.94909,638.02605 c -56.8776,0 -56.8776,0 -56.8776,0" 99.787 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 99.788 + <text 99.789 + sodipodi:linespacing="100%" 99.790 + id="text5431" 99.791 + y="951.10333" 99.792 + x="61.166965" 99.793 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.794 + xml:space="preserve" 99.795 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 99.796 + y="951.10333" 99.797 + x="61.166965" 99.798 + sodipodi:role="line" 99.799 + style="font-size:8px;text-align:center;text-anchor:middle" 99.800 + id="tspan5433">return</tspan><tspan 99.801 + id="tspan5435" 99.802 + y="959.10333" 99.803 + x="61.166965" 99.804 + sodipodi:role="line" 99.805 + style="font-size:8px;text-align:center;text-anchor:middle">from</tspan><tspan 99.806 + id="tspan5437" 99.807 + y="967.10333" 99.808 + x="61.166965" 99.809 + sodipodi:role="line" 99.810 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text> 99.811 + <text 99.812 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 99.813 + xml:space="preserve" 99.814 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.815 + x="556.1333" 99.816 + y="584.71155" 99.817 + id="text5445" 99.818 + sodipodi:linespacing="100%"><tspan 99.819 + style="font-size:8px;text-align:center;text-anchor:middle" 99.820 + sodipodi:role="line" 99.821 + x="556.1333" 99.822 + y="584.71155" 99.823 + id="tspan5447">normal call</tspan></text> 99.824 + <path 99.825 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 99.826 + d="m 668.02904,685.28283 c 0,13.68455 0,13.68455 0,13.68455" 99.827 + id="path5449" 99.828 + inkscape:connector-curvature="0" 99.829 + sodipodi:nodetypes="cc" /> 99.830 + <path 99.831 + inkscape:connector-curvature="0" 99.832 + id="path5451" 99.833 + d="m 668.24715,696.66963 c 57.74832,0 57.74832,0 57.74832,0" 99.834 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 99.835 + <text 99.836 + sodipodi:linespacing="100%" 99.837 + id="text5453" 99.838 + y="984.15332" 99.839 + x="29.171814" 99.840 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.841 + xml:space="preserve" 99.842 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 99.843 + id="tspan5455" 99.844 + y="984.15332" 99.845 + x="29.171814" 99.846 + sodipodi:role="line" 99.847 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan 99.848 + y="992.15332" 99.849 + x="29.171814" 99.850 + sodipodi:role="line" 99.851 + style="font-size:8px;text-align:center;text-anchor:middle" 99.852 + id="tspan5457">and switch</tspan><tspan 99.853 + y="1000.1533" 99.854 + x="29.171814" 99.855 + sodipodi:role="line" 99.856 + style="font-size:8px;text-align:center;text-anchor:middle" 99.857 + id="tspan5459">to runtime</tspan></text> 99.858 + <path 99.859 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 99.860 + d="m 514.02904,654.31987 c 0,26.21842 0,26.21842 0,26.21842" 99.861 + id="path5461" 99.862 + inkscape:connector-curvature="0" 99.863 + sodipodi:nodetypes="cc" /> 99.864 + <path 99.865 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 99.866 + d="m 514.2471,680.02605 c 87.58783,0 87.58783,0 87.58783,0" 99.867 + id="path5463" 99.868 + inkscape:connector-curvature="0" /> 99.869 + <text 99.870 + sodipodi:linespacing="100%" 99.871 + id="text5465" 99.872 + y="516.71179" 99.873 + x="555.83459" 99.874 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.875 + xml:space="preserve" 99.876 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 99.877 + id="tspan5467" 99.878 + y="516.71179" 99.879 + x="555.83459" 99.880 + sodipodi:role="line" 99.881 + style="font-size:8px;text-align:center;text-anchor:middle">normal call</tspan></text> 99.882 + <text 99.883 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 99.884 + xml:space="preserve" 99.885 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.886 + x="556.57275" 99.887 + y="684.71155" 99.888 + id="text5469" 99.889 + sodipodi:linespacing="100%"><tspan 99.890 + style="font-size:8px;text-align:center;text-anchor:middle" 99.891 + sodipodi:role="line" 99.892 + x="556.57275" 99.893 + y="684.71155" 99.894 + id="tspan5471">normal call</tspan></text> 99.895 + <g 99.896 + transform="matrix(1,0,0,0.71130685,-16,166.52913)" 99.897 + id="g8395"> 99.898 + <rect 99.899 + y="313.58255" 99.900 + x="310.40247" 99.901 + height="52.250008" 99.902 + width="65.276405" 99.903 + id="rect8397" 99.904 + style="fill:none;stroke:#000000;stroke-width:1.28076112;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 99.905 + </g> 99.906 + <text 99.907 + xml:space="preserve" 99.908 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.909 + x="326.92542" 99.910 + y="897.76575" 99.911 + id="text8411" 99.912 + sodipodi:linespacing="100%"><tspan 99.913 + style="text-align:center;text-anchor:middle" 99.914 + sodipodi:role="line" 99.915 + id="tspan8413" 99.916 + x="326.92542" 99.917 + y="897.76575">Master</tspan><tspan 99.918 + style="font-size:8px;text-align:center;text-anchor:middle" 99.919 + id="tspan8415" 99.920 + sodipodi:role="line" 99.921 + x="326.92542" 99.922 + y="906.2005">(runtime system)</tspan><tspan 99.923 + id="tspan8417" 99.924 + style="font-size:8px;text-align:center;text-anchor:middle" 99.925 + sodipodi:role="line" 99.926 + x="326.92542" 99.927 + y="914.2005">on core 2</tspan></text> 99.928 + <g 99.929 + id="g8419" 99.930 + transform="translate(-16,574)"> 99.931 + <rect 99.932 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 99.933 + id="rect8421" 99.934 + width="65.276405" 99.935 + height="52.250008" 99.936 + x="310.40247" 99.937 + y="313.58255" /> 99.938 + </g> 99.939 + <text 99.940 + sodipodi:linespacing="100%" 99.941 + id="text8425" 99.942 + y="913.42468" 99.943 + x="131.19971" 99.944 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.945 + xml:space="preserve"><tspan 99.946 + id="tspan8427" 99.947 + y="913.42468" 99.948 + x="131.19971" 99.949 + sodipodi:role="line" 99.950 + style="text-align:center;text-anchor:middle;fill:#800000">Handler</tspan><tspan 99.951 + id="tspan8429" 99.952 + y="923.42468" 99.953 + x="131.19971" 99.954 + sodipodi:role="line" 99.955 + style="text-align:center;text-anchor:middle;fill:#800000">for Language</tspan><tspan 99.956 + id="tspan8431" 99.957 + y="933.42468" 99.958 + x="131.19971" 99.959 + sodipodi:role="line" 99.960 + style="text-align:center;text-anchor:middle;fill:#800000">Construct1</tspan></text> 99.961 + <text 99.962 + xml:space="preserve" 99.963 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.964 + x="131.19971" 99.965 + y="993.42468" 99.966 + id="text8433" 99.967 + sodipodi:linespacing="100%"><tspan 99.968 + style="text-align:center;text-anchor:middle;fill:#800000" 99.969 + sodipodi:role="line" 99.970 + x="131.19971" 99.971 + y="993.42468" 99.972 + id="tspan8435">Handler</tspan><tspan 99.973 + style="text-align:center;text-anchor:middle;fill:#800000" 99.974 + sodipodi:role="line" 99.975 + x="131.19971" 99.976 + y="1003.4247" 99.977 + id="tspan8437">for Language</tspan><tspan 99.978 + style="text-align:center;text-anchor:middle;fill:#800000" 99.979 + sodipodi:role="line" 99.980 + x="131.19971" 99.981 + y="1013.4247" 99.982 + id="tspan8439">Construct2</tspan></text> 99.983 + <text 99.984 + sodipodi:linespacing="100%" 99.985 + id="text8445" 99.986 + y="1039.4247" 99.987 + x="131.52441" 99.988 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.989 + xml:space="preserve"><tspan 99.990 + id="tspan8447" 99.991 + y="1039.4247" 99.992 + x="131.52441" 99.993 + sodipodi:role="line" 99.994 + style="text-align:center;text-anchor:middle;fill:#800000">Assigner Fn</tspan></text> 99.995 + <text 99.996 + xml:space="preserve" 99.997 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.998 + x="131.19971" 99.999 + y="955.42468" 99.1000 + id="text8457" 99.1001 + sodipodi:linespacing="100%"><tspan 99.1002 + style="text-align:center;text-anchor:middle;fill:#800000" 99.1003 + sodipodi:role="line" 99.1004 + x="131.19971" 99.1005 + y="955.42468" 99.1006 + id="tspan8459">Handler</tspan><tspan 99.1007 + style="text-align:center;text-anchor:middle;fill:#800000" 99.1008 + sodipodi:role="line" 99.1009 + x="131.19971" 99.1010 + y="965.42468" 99.1011 + id="tspan8461">for Language</tspan><tspan 99.1012 + style="text-align:center;text-anchor:middle;fill:#800000" 99.1013 + sodipodi:role="line" 99.1014 + x="131.19971" 99.1015 + y="975.42468" 99.1016 + id="tspan8463">Construct1</tspan></text> 99.1017 + <path 99.1018 + inkscape:connector-curvature="0" 99.1019 + id="path8493" 99.1020 + d="m 193.99816,900.02605 c -117.505852,0 -117.505852,0 -117.505852,0" 99.1021 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000003, 3.00000003;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 99.1022 + <text 99.1023 + transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)" 99.1024 + xml:space="preserve" 99.1025 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.1026 + x="-41.280613" 99.1027 + y="905.36578" 99.1028 + id="text8495" 99.1029 + sodipodi:linespacing="100%"><tspan 99.1030 + style="font-size:8px;text-align:center;text-anchor:middle" 99.1031 + sodipodi:role="line" 99.1032 + x="-41.280613" 99.1033 + y="905.36578" 99.1034 + id="tspan8497">Top Level Fn</tspan></text> 99.1035 + <path 99.1036 + sodipodi:nodetypes="cc" 99.1037 + inkscape:connector-curvature="0" 99.1038 + id="path9273" 99.1039 + d="m 514.02904,486.31987 c 0,26.21842 0,26.21842 0,26.21842" 99.1040 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 99.1041 + <path 99.1042 + sodipodi:nodetypes="cc" 99.1043 + inkscape:connector-curvature="0" 99.1044 + id="path9275" 99.1045 + d="m 476.02904,406.79398 c 0,35.61575 0,35.61575 0,35.61575" 99.1046 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" /> 99.1047 + <path 99.1048 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 99.1049 + d="m 468.24715,442.02605 c 13.34137,0 13.34137,0 13.34137,0" 99.1050 + id="path9277" 99.1051 + inkscape:connector-curvature="0" /> 99.1052 + <path 99.1053 + inkscape:connector-curvature="0" 99.1054 + id="path9279" 99.1055 + d="m 481.57781,470.02605 c -13.14022,0 -13.14022,0 -13.14022,0" 99.1056 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 99.1057 + <path 99.1058 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 99.1059 + d="m 476.02904,470.3113 c 0,57.40944 0,57.40944 0,57.40944" 99.1060 + id="path9281" 99.1061 + inkscape:connector-curvature="0" 99.1062 + sodipodi:nodetypes="cc" /> 99.1063 + <path 99.1064 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 99.1065 + d="m 481.57781,529.27417 c -13.14022,0 -13.14022,0 -13.14022,0" 99.1066 + id="path9283" 99.1067 + inkscape:connector-curvature="0" /> 99.1068 + <text 99.1069 + transform="matrix(-0.01875541,0.9998241,-0.9998241,-0.01875541,0,0)" 99.1070 + xml:space="preserve" 99.1071 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.1072 + x="445.89752" 99.1073 + y="-468.24112" 99.1074 + id="text9285" 99.1075 + sodipodi:linespacing="100%"><tspan 99.1076 + style="text-align:center;text-anchor:middle;fill:#008000" 99.1077 + sodipodi:role="line" 99.1078 + x="445.89752" 99.1079 + y="-468.24112" 99.1080 + id="tspan9287">Timeline of SeedVP</tspan></text> 99.1081 + <text 99.1082 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 99.1083 + xml:space="preserve" 99.1084 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.1085 + x="485.50256" 99.1086 + y="441.02084" 99.1087 + id="text9289" 99.1088 + sodipodi:linespacing="100%"><tspan 99.1089 + style="font-size:8px;text-align:start;text-anchor:start" 99.1090 + sodipodi:role="line" 99.1091 + x="485.50256" 99.1092 + y="441.02084" 99.1093 + id="tspan9291">suspend</tspan></text> 99.1094 + <text 99.1095 + sodipodi:linespacing="100%" 99.1096 + id="text9293" 99.1097 + y="471.02069" 99.1098 + x="485.6344" 99.1099 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.1100 + xml:space="preserve" 99.1101 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 99.1102 + id="tspan9295" 99.1103 + y="471.02069" 99.1104 + x="485.6344" 99.1105 + sodipodi:role="line" 99.1106 + style="font-size:8px;text-align:start;text-anchor:start">resume</tspan></text> 99.1107 + <text 99.1108 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 99.1109 + xml:space="preserve" 99.1110 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.1111 + x="485.8858" 99.1112 + y="528.22565" 99.1113 + id="text9297" 99.1114 + sodipodi:linespacing="100%"><tspan 99.1115 + style="font-size:8px;text-align:start;text-anchor:start" 99.1116 + sodipodi:role="line" 99.1117 + x="485.8858" 99.1118 + y="528.22565" 99.1119 + id="tspan9299">end</tspan></text> 99.1120 + <text 99.1121 + sodipodi:linespacing="100%" 99.1122 + id="text9301" 99.1123 + y="357.42465" 99.1124 + x="63.167969" 99.1125 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.1126 + xml:space="preserve"><tspan 99.1127 + id="tspan9303" 99.1128 + y="357.42465" 99.1129 + x="63.167969" 99.1130 + sodipodi:role="line" 99.1131 + style="text-align:center;text-anchor:middle;fill:#000080">Proto-Runtime</tspan><tspan 99.1132 + id="tspan9305" 99.1133 + y="367.42465" 99.1134 + x="63.167969" 99.1135 + sodipodi:role="line" 99.1136 + style="text-align:center;text-anchor:middle;fill:#000080">Primitive</tspan><tspan 99.1137 + y="377.42465" 99.1138 + x="63.167969" 99.1139 + sodipodi:role="line" 99.1140 + style="text-align:center;text-anchor:middle;fill:#000080" 99.1141 + id="tspan9307">Code</tspan></text> 99.1142 + <text 99.1143 + xml:space="preserve" 99.1144 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.1145 + x="65.380371" 99.1146 + y="445.42465" 99.1147 + id="text9309" 99.1148 + sodipodi:linespacing="100%"><tspan 99.1149 + id="tspan9313" 99.1150 + style="text-align:center;text-anchor:middle;fill:#000080" 99.1151 + sodipodi:role="line" 99.1152 + x="65.380371" 99.1153 + y="445.42465">PR primitive Fn</tspan><tspan 99.1154 + style="text-align:center;text-anchor:middle;fill:#000080" 99.1155 + sodipodi:role="line" 99.1156 + x="65.380371" 99.1157 + y="455.42465" 99.1158 + id="tspan9317">to create VP</tspan></text> 99.1159 + <path 99.1160 + inkscape:connector-curvature="0" 99.1161 + id="path9321" 99.1162 + d="m 101.87629,449.27701 c 71.06548,12.76616 75.82677,13.24993 150.67864,41.1502 79.15373,29.50373 134.12108,64.97026 134.12108,64.97026" 99.1163 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000009, 3.00000009;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 99.1164 + sodipodi:nodetypes="csc" /> 99.1165 + <g 99.1166 + id="g9341" 99.1167 + transform="translate(44.002789,168)"> 99.1168 + <rect 99.1169 + y="389.58255" 99.1170 + x="346.40247" 99.1171 + height="37.165791" 99.1172 + width="65.276405" 99.1173 + id="rect9343" 99.1174 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 99.1175 + <text 99.1176 + xml:space="preserve" 99.1177 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.1178 + x="379.35806" 99.1179 + y="400.72159" 99.1180 + id="text9345" 99.1181 + sodipodi:linespacing="100%"><tspan 99.1182 + style="text-align:center;text-anchor:middle" 99.1183 + sodipodi:role="line" 99.1184 + x="379.35806" 99.1185 + y="400.72159" 99.1186 + id="tspan9347">VP 1</tspan><tspan 99.1187 + style="font-size:8px;text-align:center;text-anchor:middle" 99.1188 + sodipodi:role="line" 99.1189 + x="379.35806" 99.1190 + y="409.15637" 99.1191 + id="tspan9349">(created by</tspan><tspan 99.1192 + style="font-size:8px;text-align:center;text-anchor:middle" 99.1193 + sodipodi:role="line" 99.1194 + x="379.35806" 99.1195 + y="417.15637" 99.1196 + id="tspan9355">application,</tspan><tspan 99.1197 + style="font-size:8px;text-align:center;text-anchor:middle" 99.1198 + sodipodi:role="line" 99.1199 + x="379.35806" 99.1200 + y="425.15637" 99.1201 + id="tspan9746">on core 2)</tspan></text> 99.1202 + </g> 99.1203 + <g 99.1204 + transform="translate(44.002789,330)" 99.1205 + id="g9371"> 99.1206 + <rect 99.1207 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 99.1208 + id="rect9373" 99.1209 + width="65.276405" 99.1210 + height="37.165791" 99.1211 + x="346.40247" 99.1212 + y="389.58255" /> 99.1213 + <text 99.1214 + sodipodi:linespacing="100%" 99.1215 + id="text9375" 99.1216 + y="400.72159" 99.1217 + x="379.35806" 99.1218 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.1219 + xml:space="preserve"><tspan 99.1220 + id="tspan9377" 99.1221 + y="400.72159" 99.1222 + x="379.35806" 99.1223 + sodipodi:role="line" 99.1224 + style="text-align:center;text-anchor:middle">VP 2</tspan><tspan 99.1225 + id="tspan9379" 99.1226 + y="409.15637" 99.1227 + x="379.35806" 99.1228 + sodipodi:role="line" 99.1229 + style="font-size:8px;text-align:center;text-anchor:middle">(created by</tspan><tspan 99.1230 + id="tspan9381" 99.1231 + y="417.15637" 99.1232 + x="379.35806" 99.1233 + sodipodi:role="line" 99.1234 + style="font-size:8px;text-align:center;text-anchor:middle">application,</tspan><tspan 99.1235 + y="425.15637" 99.1236 + x="379.35806" 99.1237 + sodipodi:role="line" 99.1238 + style="font-size:8px;text-align:center;text-anchor:middle" 99.1239 + id="tspan9748">on core 3)</tspan></text> 99.1240 + </g> 99.1241 + <text 99.1242 + xml:space="preserve" 99.1243 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.1244 + x="202.41257" 99.1245 + y="403.42465" 99.1246 + id="text9512" 99.1247 + sodipodi:linespacing="100%"><tspan 99.1248 + style="text-align:center;text-anchor:middle;fill:#000080" 99.1249 + sodipodi:role="line" 99.1250 + x="202.41257" 99.1251 + y="403.42465" 99.1252 + id="tspan9514">Master Fn</tspan></text> 99.1253 + <path 99.1254 + sodipodi:nodetypes="cc" 99.1255 + inkscape:connector-curvature="0" 99.1256 + id="path9522" 99.1257 + d="m 205.27805,442.31985 c 0,7.35629 0,7.35629 0,7.35629" 99.1258 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 99.1259 + <path 99.1260 + inkscape:connector-curvature="0" 99.1261 + id="path9524" 99.1262 + d="m 205.05995,448.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 99.1263 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 99.1264 + <path 99.1265 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 99.1266 + d="m 116.53543,810.02605 c 88.41298,0 88.41298,0 88.41298,0" 99.1267 + id="path9526" 99.1268 + inkscape:connector-curvature="0" /> 99.1269 + <path 99.1270 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 99.1271 + d="m 205.27805,810.31987 c 0,26.21842 0,26.21842 0,26.21842" 99.1272 + id="path9528" 99.1273 + inkscape:connector-curvature="0" 99.1274 + sodipodi:nodetypes="cc" /> 99.1275 + <path 99.1276 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 99.1277 + d="m 205.05999,836.02605 c -87.58783,0 -87.58783,0 -87.58783,0" 99.1278 + id="path9530" 99.1279 + inkscape:connector-curvature="0" /> 99.1280 + <text 99.1281 + xml:space="preserve" 99.1282 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.1283 + x="115.1133" 99.1284 + y="822.71179" 99.1285 + id="text9532" 99.1286 + sodipodi:linespacing="100%"><tspan 99.1287 + style="text-align:center;text-anchor:middle;fill:#800000" 99.1288 + sodipodi:role="line" 99.1289 + x="115.1133" 99.1290 + y="822.71179" 99.1291 + id="tspan9534">end VP</tspan><tspan 99.1292 + id="tspan9536" 99.1293 + style="text-align:center;text-anchor:middle;fill:#800000" 99.1294 + sodipodi:role="line" 99.1295 + x="115.1133" 99.1296 + y="832.71179">wrapper Fn</tspan></text> 99.1297 + <path 99.1298 + inkscape:connector-curvature="0" 99.1299 + id="path9538" 99.1300 + d="m 117.04125,842.02605 c -63.99676,0 -63.99676,0 -63.99676,0" 99.1301 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 99.1302 + <text 99.1303 + sodipodi:linespacing="100%" 99.1304 + id="text9540" 99.1305 + y="828.71179" 99.1306 + x="49.880333" 99.1307 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.1308 + xml:space="preserve"><tspan 99.1309 + id="tspan9542" 99.1310 + y="828.71179" 99.1311 + x="49.880333" 99.1312 + sodipodi:role="line" 99.1313 + style="text-align:center;text-anchor:middle;fill:#000080">send request</tspan><tspan 99.1314 + id="tspan9544" 99.1315 + y="838.71179" 99.1316 + x="49.880333" 99.1317 + sodipodi:role="line" 99.1318 + style="text-align:center;text-anchor:middle;fill:#000080">primitive Fn</tspan></text> 99.1319 + <path 99.1320 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 99.1321 + d="m 117.27805,834.31985 c 0,7.35629 0,7.35629 0,7.35629" 99.1322 + id="path9546" 99.1323 + inkscape:connector-curvature="0" 99.1324 + sodipodi:nodetypes="cc" /> 99.1325 + <path 99.1326 + sodipodi:nodetypes="cc" 99.1327 + inkscape:connector-curvature="0" 99.1328 + id="path9548" 99.1329 + d="m 137.27805,447.85824 c 0,11.43122 0,11.43122 0,11.43122" 99.1330 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 99.1331 + <path 99.1332 + inkscape:connector-curvature="0" 99.1333 + id="path9550" 99.1334 + d="m 137.57123,460.02605 c -69.22157,0 -69.22157,0 -69.22157,0" 99.1335 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 99.1336 + <path 99.1337 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 99.1338 + d="m 52.45074,806.02605 c 65.78483,0 65.78483,0 65.78483,0" 99.1339 + id="path9552" 99.1340 + inkscape:connector-curvature="0" /> 99.1341 + <path 99.1342 + sodipodi:nodetypes="cc" 99.1343 + inkscape:connector-curvature="0" 99.1344 + id="path9554" 99.1345 + d="m 205.27805,474.63925 c 0,13.68455 0,13.68455 0,13.68455" 99.1346 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 99.1347 + <path 99.1348 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 99.1349 + d="m 117.27805,805.22687 c 0,5.5885 0,5.5885 0,5.5885" 99.1350 + id="path9556" 99.1351 + inkscape:connector-curvature="0" 99.1352 + sodipodi:nodetypes="cc" /> 99.1353 + <path 99.1354 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 99.1355 + d="m 51.27805,792.63925 c 0,13.68455 0,13.68455 0,13.68455" 99.1356 + id="path9562" 99.1357 + inkscape:connector-curvature="0" 99.1358 + sodipodi:nodetypes="cc" /> 99.1359 + <path 99.1360 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 99.1361 + d="m 205.05994,486.02605 c -57.74832,0 -57.74832,0 -57.74832,0" 99.1362 + id="path9564" 99.1363 + inkscape:connector-curvature="0" /> 99.1364 + <text 99.1365 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 99.1366 + xml:space="preserve" 99.1367 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.1368 + x="-217.71529" 99.1369 + y="472.34747" 99.1370 + id="text9566" 99.1371 + sodipodi:linespacing="100%"><tspan 99.1372 + style="font-size:8px;text-align:center;text-anchor:middle" 99.1373 + sodipodi:role="line" 99.1374 + x="-217.71529" 99.1375 + y="472.34747" 99.1376 + id="tspan9568">suspend</tspan><tspan 99.1377 + id="tspan9570" 99.1378 + style="font-size:8px;text-align:center;text-anchor:middle" 99.1379 + sodipodi:role="line" 99.1380 + x="-217.71529" 99.1381 + y="480.34747">and switch</tspan><tspan 99.1382 + id="tspan9572" 99.1383 + style="font-size:8px;text-align:center;text-anchor:middle" 99.1384 + sodipodi:role="line" 99.1385 + x="-217.71529" 99.1386 + y="488.34747">to app VP</tspan></text> 99.1387 + <path 99.1388 + inkscape:connector-curvature="0" 99.1389 + id="path9574" 99.1390 + d="m -6.642,794.02605 c 56.8776,0 56.8776,0 56.8776,0" 99.1391 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 99.1392 + <text 99.1393 + sodipodi:linespacing="100%" 99.1394 + id="text9576" 99.1395 + y="576.25653" 99.1396 + x="-550.32233" 99.1397 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.1398 + xml:space="preserve" 99.1399 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 99.1400 + y="576.25653" 99.1401 + x="-550.32233" 99.1402 + sodipodi:role="line" 99.1403 + style="font-size:8px;text-align:center;text-anchor:middle" 99.1404 + id="tspan9578">return</tspan><tspan 99.1405 + id="tspan9580" 99.1406 + y="584.25653" 99.1407 + x="-550.32233" 99.1408 + sodipodi:role="line" 99.1409 + style="font-size:8px;text-align:center;text-anchor:middle">from</tspan><tspan 99.1410 + id="tspan9582" 99.1411 + y="592.25653" 99.1412 + x="-550.32233" 99.1413 + sodipodi:role="line" 99.1414 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text> 99.1415 + <path 99.1416 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 99.1417 + d="m 51.27805,841.28283 c 0,13.68455 0,13.68455 0,13.68455" 99.1418 + id="path9594" 99.1419 + inkscape:connector-curvature="0" 99.1420 + sodipodi:nodetypes="cc" /> 99.1421 + <path 99.1422 + inkscape:connector-curvature="0" 99.1423 + id="path9596" 99.1424 + d="m 51.05994,852.66963 c -57.74832,0 -57.74832,0 -57.74832,0" 99.1425 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 99.1426 + <text 99.1427 + sodipodi:linespacing="100%" 99.1428 + id="text9598" 99.1429 + y="607.01007" 99.1430 + x="-584.68982" 99.1431 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.1432 + xml:space="preserve" 99.1433 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 99.1434 + id="tspan9600" 99.1435 + y="607.01007" 99.1436 + x="-584.68982" 99.1437 + sodipodi:role="line" 99.1438 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan 99.1439 + y="615.01007" 99.1440 + x="-584.68982" 99.1441 + sodipodi:role="line" 99.1442 + style="font-size:8px;text-align:center;text-anchor:middle" 99.1443 + id="tspan9602">and switch</tspan><tspan 99.1444 + y="623.01007" 99.1445 + x="-584.68982" 99.1446 + sodipodi:role="line" 99.1447 + style="font-size:8px;text-align:center;text-anchor:middle" 99.1448 + id="tspan9604">to runtime</tspan></text> 99.1449 + <text 99.1450 + transform="matrix(-0.99999036,0.00439064,0.00439064,0.99999036,0,0)" 99.1451 + xml:space="preserve" 99.1452 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.1453 + x="-162.04274" 99.1454 + y="843.867" 99.1455 + id="text9606" 99.1456 + sodipodi:linespacing="100%"><tspan 99.1457 + style="font-size:8px;text-align:center;text-anchor:middle" 99.1458 + sodipodi:role="line" 99.1459 + x="-162.04274" 99.1460 + y="843.867" 99.1461 + id="tspan9608">normal call</tspan></text> 99.1462 + <text 99.1463 + transform="matrix(-0.99999036,0.00439064,0.00439064,0.99999036,0,0)" 99.1464 + xml:space="preserve" 99.1465 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.1466 + x="-92.01651" 99.1467 + y="849.56036" 99.1468 + id="text9610" 99.1469 + sodipodi:linespacing="100%"><tspan 99.1470 + style="font-size:8px;text-align:center;text-anchor:middle" 99.1471 + sodipodi:role="line" 99.1472 + x="-92.01651" 99.1473 + y="849.56036" 99.1474 + id="tspan9612">normal call</tspan></text> 99.1475 + <path 99.1476 + sodipodi:nodetypes="cc" 99.1477 + inkscape:connector-curvature="0" 99.1478 + id="path9614" 99.1479 + d="m 205.27805,442.31985 c 0,7.35629 0,7.35629 0,7.35629" 99.1480 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 99.1481 + <path 99.1482 + sodipodi:nodetypes="cc" 99.1483 + inkscape:connector-curvature="0" 99.1484 + id="path9616" 99.1485 + d="m 205.27805,442.31985 c 0,7.35629 0,7.35629 0,7.35629" 99.1486 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 99.1487 + <path 99.1488 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 99.1489 + d="m 205.27805,810.31987 c 0,26.21842 0,26.21842 0,26.21842" 99.1490 + id="path9618" 99.1491 + inkscape:connector-curvature="0" 99.1492 + sodipodi:nodetypes="cc" /> 99.1493 + <path 99.1494 + inkscape:connector-curvature="0" 99.1495 + id="path9648" 99.1496 + d="m 468.24715,407.42364 c 13.34137,0 13.34137,0 13.34137,0" 99.1497 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 99.1498 + <text 99.1499 + sodipodi:linespacing="100%" 99.1500 + id="text9654" 99.1501 + y="409.02243" 99.1502 + x="485.36194" 99.1503 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.1504 + xml:space="preserve" 99.1505 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 99.1506 + id="tspan9656" 99.1507 + y="409.02243" 99.1508 + x="485.36194" 99.1509 + sodipodi:role="line" 99.1510 + style="font-size:8px;text-align:start;text-anchor:start">start</tspan></text> 99.1511 + <path 99.1512 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" 99.1513 + d="m 476.02904,574.79398 c 0,35.61575 0,35.61575 0,35.61575" 99.1514 + id="path9658" 99.1515 + inkscape:connector-curvature="0" 99.1516 + sodipodi:nodetypes="cc" /> 99.1517 + <path 99.1518 + inkscape:connector-curvature="0" 99.1519 + id="path9660" 99.1520 + d="m 468.24715,610.02605 c 13.34137,0 13.34137,0 13.34137,0" 99.1521 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 99.1522 + <path 99.1523 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 99.1524 + d="m 481.57781,638.02605 c -13.14022,0 -13.14022,0 -13.14022,0" 99.1525 + id="path9662" 99.1526 + inkscape:connector-curvature="0" /> 99.1527 + <text 99.1528 + sodipodi:linespacing="100%" 99.1529 + id="text9668" 99.1530 + y="-471.39224" 99.1531 + x="613.86792" 99.1532 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.1533 + xml:space="preserve" 99.1534 + transform="matrix(-0.01875541,0.9998241,-0.9998241,-0.01875541,0,0)"><tspan 99.1535 + y="-471.39224" 99.1536 + x="613.86792" 99.1537 + sodipodi:role="line" 99.1538 + style="text-align:center;text-anchor:middle;fill:#008000" 99.1539 + id="tspan9740">Timeline of VP 1</tspan></text> 99.1540 + <text 99.1541 + sodipodi:linespacing="100%" 99.1542 + id="text9672" 99.1543 + y="609.01917" 99.1544 + x="486.23993" 99.1545 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.1546 + xml:space="preserve" 99.1547 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 99.1548 + id="tspan9674" 99.1549 + y="609.01917" 99.1550 + x="486.23993" 99.1551 + sodipodi:role="line" 99.1552 + style="font-size:8px;text-align:start;text-anchor:start">suspend</tspan></text> 99.1553 + <text 99.1554 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 99.1555 + xml:space="preserve" 99.1556 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.1557 + x="486.37177" 99.1558 + y="639.0191" 99.1559 + id="text9676" 99.1560 + sodipodi:linespacing="100%"><tspan 99.1561 + style="font-size:8px;text-align:start;text-anchor:start" 99.1562 + sodipodi:role="line" 99.1563 + x="486.37177" 99.1564 + y="639.0191" 99.1565 + id="tspan9678">resume</tspan></text> 99.1566 + <path 99.1567 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 99.1568 + d="m 468.24715,575.42364 c 13.34137,0 13.34137,0 13.34137,0" 99.1569 + id="path9684" 99.1570 + inkscape:connector-curvature="0" /> 99.1571 + <text 99.1572 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 99.1573 + xml:space="preserve" 99.1574 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.1575 + x="486.0993" 99.1576 + y="577.02075" 99.1577 + id="text9686" 99.1578 + sodipodi:linespacing="100%"><tspan 99.1579 + style="font-size:8px;text-align:start;text-anchor:start" 99.1580 + sodipodi:role="line" 99.1581 + x="486.0993" 99.1582 + y="577.02075" 99.1583 + id="tspan9688">start</tspan></text> 99.1584 + <path 99.1585 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" 99.1586 + d="m 266.02904,441.43112 c 0,28.2402 0,28.2402 0,28.2402" 99.1587 + id="path9690" 99.1588 + inkscape:connector-curvature="0" 99.1589 + sodipodi:nodetypes="cc" /> 99.1590 + <path 99.1591 + inkscape:connector-curvature="0" 99.1592 + id="path9692" 99.1593 + d="m 258.24715,442.02605 c 13.34137,0 13.34137,0 13.34137,0" 99.1594 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 99.1595 + <path 99.1596 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 99.1597 + d="m 271.57781,470.02605 c -13.14022,0 -13.14022,0 -13.14022,0" 99.1598 + id="path9694" 99.1599 + inkscape:connector-curvature="0" /> 99.1600 + <text 99.1601 + sodipodi:linespacing="100%" 99.1602 + id="text9700" 99.1603 + y="-286.46057" 99.1604 + x="459.30908" 99.1605 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.1606 + xml:space="preserve" 99.1607 + transform="matrix(-0.01875541,0.9998241,-0.9998241,-0.01875541,0,0)"><tspan 99.1608 + y="-286.46057" 99.1609 + x="459.30908" 99.1610 + sodipodi:role="line" 99.1611 + style="text-align:center;text-anchor:middle;fill:#008000" 99.1612 + id="tspan9736">Timeline of Master on core 1</tspan></text> 99.1613 + <text 99.1614 + sodipodi:linespacing="100%" 99.1615 + id="text9704" 99.1616 + y="470.12714" 99.1617 + x="261.32681" 99.1618 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.1619 + xml:space="preserve" 99.1620 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 99.1621 + id="tspan9706" 99.1622 + y="470.12714" 99.1623 + x="261.32681" 99.1624 + sodipodi:role="line" 99.1625 + style="font-size:8px;text-align:end;text-anchor:end">suspend</tspan></text> 99.1626 + <text 99.1627 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 99.1628 + xml:space="preserve" 99.1629 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.1630 + x="258.75574" 99.1631 + y="444.1272" 99.1632 + id="text9708" 99.1633 + sodipodi:linespacing="100%"><tspan 99.1634 + style="font-size:8px;text-align:end;text-anchor:end" 99.1635 + sodipodi:role="line" 99.1636 + x="258.75574" 99.1637 + y="444.1272" 99.1638 + id="tspan9710">resume</tspan></text> 99.1639 + <path 99.1640 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 99.1641 + d="m 258.24715,407.42364 c 13.34137,0 13.34137,0 13.34137,0" 99.1642 + id="path9716" 99.1643 + inkscape:connector-curvature="0" /> 99.1644 + <text 99.1645 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 99.1646 + xml:space="preserve" 99.1647 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.1648 + x="257.81323" 99.1649 + y="410.09369" 99.1650 + id="text9718" 99.1651 + sodipodi:linespacing="100%"><tspan 99.1652 + style="font-size:8px;text-align:end;text-anchor:end" 99.1653 + sodipodi:role="line" 99.1654 + x="257.81323" 99.1655 + y="410.09369" 99.1656 + id="tspan9720">start</tspan></text> 99.1657 + <path 99.1658 + sodipodi:nodetypes="cc" 99.1659 + inkscape:connector-curvature="0" 99.1660 + id="path9722" 99.1661 + d="m 266.02904,529.43112 c 0,10.33165 0,10.33165 0,10.33165" 99.1662 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 99.1663 + <path 99.1664 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 99.1665 + d="m 258.24715,530.02605 c 13.34137,0 13.34137,0 13.34137,0" 99.1666 + id="path9724" 99.1667 + inkscape:connector-curvature="0" /> 99.1668 + <text 99.1669 + sodipodi:linespacing="100%" 99.1670 + id="text9932" 99.1671 + y="452.53967" 99.1672 + x="180.9785" 99.1673 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.1674 + xml:space="preserve" 99.1675 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 99.1676 + id="tspan9934" 99.1677 + y="452.53967" 99.1678 + x="180.9785" 99.1679 + sodipodi:role="line" 99.1680 + style="font-size:8px;text-align:center;text-anchor:middle">Call via Ptr</tspan></text> 99.1681 + <text 99.1682 + sodipodi:linespacing="100%" 99.1683 + id="text9936" 99.1684 + y="596.94305" 99.1685 + x="641.43158" 99.1686 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.1687 + xml:space="preserve" 99.1688 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 99.1689 + id="tspan9938" 99.1690 + y="596.94305" 99.1691 + x="641.43158" 99.1692 + sodipodi:role="line" 99.1693 + style="font-size:8px;text-align:center;text-anchor:middle">Call to dyn lib</tspan></text> 99.1694 + <text 99.1695 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 99.1696 + xml:space="preserve" 99.1697 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.1698 + x="642.85406" 99.1699 + y="682.93286" 99.1700 + id="text9940" 99.1701 + sodipodi:linespacing="100%"><tspan 99.1702 + style="font-size:8px;text-align:center;text-anchor:middle" 99.1703 + sodipodi:role="line" 99.1704 + x="642.85406" 99.1705 + y="682.93286" 99.1706 + id="tspan9942">Call to dyn lib</tspan></text> 99.1707 + <text 99.1708 + sodipodi:linespacing="100%" 99.1709 + id="text9944" 99.1710 + y="514.95538" 99.1711 + x="640.07465" 99.1712 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.1713 + xml:space="preserve" 99.1714 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 99.1715 + id="tspan9946" 99.1716 + y="514.95538" 99.1717 + x="640.07465" 99.1718 + sodipodi:role="line" 99.1719 + style="font-size:8px;text-align:center;text-anchor:middle">Call to dyn lib</tspan></text> 99.1720 + <text 99.1721 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 99.1722 + xml:space="preserve" 99.1723 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.1724 + x="113.18735" 99.1725 + y="465.66476" 99.1726 + id="text9948" 99.1727 + sodipodi:linespacing="100%"><tspan 99.1728 + style="font-size:8px;text-align:center;text-anchor:middle" 99.1729 + sodipodi:role="line" 99.1730 + x="113.18735" 99.1731 + y="465.66476" 99.1732 + id="tspan9950">Call to dyn lib</tspan></text> 99.1733 + <path 99.1734 + inkscape:connector-curvature="0" 99.1735 + id="path9952" 99.1736 + d="m 733.1031,470.02605 c -727.990461,0 -727.990461,0 -727.990461,0" 99.1737 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" /> 99.1738 + <path 99.1739 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" 99.1740 + d="m 733.1031,441.52981 c -727.990461,0 -727.990461,0 -727.990461,0" 99.1741 + id="path9954" 99.1742 + inkscape:connector-curvature="0" /> 99.1743 + <text 99.1744 + xml:space="preserve" 99.1745 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.1746 + x="326.92542" 99.1747 + y="567.76575" 99.1748 + id="text9956" 99.1749 + sodipodi:linespacing="100%"><tspan 99.1750 + style="text-align:center;text-anchor:middle" 99.1751 + sodipodi:role="line" 99.1752 + id="tspan9958" 99.1753 + x="326.92542" 99.1754 + y="567.76575">Master</tspan><tspan 99.1755 + style="font-size:8px;text-align:center;text-anchor:middle" 99.1756 + id="tspan9960" 99.1757 + sodipodi:role="line" 99.1758 + x="326.92542" 99.1759 + y="576.2005">(runtime system)</tspan><tspan 99.1760 + id="tspan9962" 99.1761 + style="font-size:8px;text-align:center;text-anchor:middle" 99.1762 + sodipodi:role="line" 99.1763 + x="326.92542" 99.1764 + y="584.2005">on core 2</tspan></text> 99.1765 + <text 99.1766 + sodipodi:linespacing="100%" 99.1767 + id="text9964" 99.1768 + y="601.42468" 99.1769 + x="137.19971" 99.1770 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.1771 + xml:space="preserve"><tspan 99.1772 + id="tspan9966" 99.1773 + y="601.42468" 99.1774 + x="137.19971" 99.1775 + sodipodi:role="line" 99.1776 + style="text-align:center;text-anchor:middle;fill:#800000">Lang Handler</tspan><tspan 99.1777 + id="tspan9968" 99.1778 + y="611.42468" 99.1779 + x="138.70361" 99.1780 + sodipodi:role="line" 99.1781 + style="text-align:center;text-anchor:middle;fill:#800000">for Acq Mutex </tspan></text> 99.1782 + <path 99.1783 + inkscape:connector-curvature="0" 99.1784 + id="path9970" 99.1785 + d="m 291.99816,568.02605 c -63.44071,0 -63.44071,0 -63.44071,0" 99.1786 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.00000003, 3.00000003;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 99.1787 + <g 99.1788 + id="g9972" 99.1789 + transform="matrix(1,0,0,0.71130685,-16,334.52913)"> 99.1790 + <rect 99.1791 + style="fill:none;stroke:#000000;stroke-width:1.28076112;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 99.1792 + id="rect9974" 99.1793 + width="65.276405" 99.1794 + height="52.250008" 99.1795 + x="310.40247" 99.1796 + y="313.58255" /> 99.1797 + </g> 99.1798 + <text 99.1799 + sodipodi:linespacing="100%" 99.1800 + id="text9976" 99.1801 + y="613.42468" 99.1802 + x="65.380371" 99.1803 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.1804 + xml:space="preserve"><tspan 99.1805 + y="613.42468" 99.1806 + x="65.380371" 99.1807 + sodipodi:role="line" 99.1808 + style="text-align:center;text-anchor:middle;fill:#000080" 99.1809 + id="tspan9978">PR primitive Fn</tspan><tspan 99.1810 + id="tspan9980" 99.1811 + y="623.42468" 99.1812 + x="65.380371" 99.1813 + sodipodi:role="line" 99.1814 + style="text-align:center;text-anchor:middle;fill:#000080">to create VP</tspan></text> 99.1815 + <text 99.1816 + sodipodi:linespacing="100%" 99.1817 + id="text9982" 99.1818 + y="571.42468" 99.1819 + x="202.41257" 99.1820 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.1821 + xml:space="preserve"><tspan 99.1822 + id="tspan9984" 99.1823 + y="571.42468" 99.1824 + x="202.41257" 99.1825 + sodipodi:role="line" 99.1826 + style="text-align:center;text-anchor:middle;fill:#000080">Master Fn</tspan></text> 99.1827 + <path 99.1828 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 99.1829 + d="m 205.27805,610.31985 c 0,7.35629 0,7.35629 0,7.35629" 99.1830 + id="path9986" 99.1831 + inkscape:connector-curvature="0" 99.1832 + sodipodi:nodetypes="cc" /> 99.1833 + <path 99.1834 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 99.1835 + d="m 205.05995,616.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 99.1836 + id="path9988" 99.1837 + inkscape:connector-curvature="0" /> 99.1838 + <path 99.1839 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 99.1840 + d="m 137.27805,615.85824 c 0,11.43122 0,11.43122 0,11.43122" 99.1841 + id="path9990" 99.1842 + inkscape:connector-curvature="0" 99.1843 + sodipodi:nodetypes="cc" /> 99.1844 + <path 99.1845 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 99.1846 + d="m 137.57123,628.02605 c -69.22157,0 -69.22157,0 -69.22157,0" 99.1847 + id="path9992" 99.1848 + inkscape:connector-curvature="0" /> 99.1849 + <path 99.1850 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 99.1851 + d="m 67.27805,626.63925 c 0,13.68455 0,13.68455 0,13.68455" 99.1852 + id="path9994" 99.1853 + inkscape:connector-curvature="0" 99.1854 + sodipodi:nodetypes="cc" /> 99.1855 + <path 99.1856 + inkscape:connector-curvature="0" 99.1857 + id="path9996" 99.1858 + d="m 67.05994,638.02605 c -57.74832,0 -57.74832,0 -57.74832,0" 99.1859 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 99.1860 + <text 99.1861 + sodipodi:linespacing="100%" 99.1862 + id="text9998" 99.1863 + y="485.57098" 99.1864 + x="-422.58896" 99.1865 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.1866 + xml:space="preserve" 99.1867 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 99.1868 + id="tspan10000" 99.1869 + y="485.57098" 99.1870 + x="-422.58896" 99.1871 + sodipodi:role="line" 99.1872 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan 99.1873 + y="493.57098" 99.1874 + x="-422.58896" 99.1875 + sodipodi:role="line" 99.1876 + style="font-size:8px;text-align:center;text-anchor:middle" 99.1877 + id="tspan10002">and switch</tspan><tspan 99.1878 + y="501.57098" 99.1879 + x="-422.58896" 99.1880 + sodipodi:role="line" 99.1881 + style="font-size:8px;text-align:center;text-anchor:middle" 99.1882 + id="tspan10004">to app VP</tspan></text> 99.1883 + <path 99.1884 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 99.1885 + d="m 205.27805,610.31985 c 0,7.35629 0,7.35629 0,7.35629" 99.1886 + id="path10006" 99.1887 + inkscape:connector-curvature="0" 99.1888 + sodipodi:nodetypes="cc" /> 99.1889 + <path 99.1890 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 99.1891 + d="m 205.27805,610.31985 c 0,7.35629 0,7.35629 0,7.35629" 99.1892 + id="path10008" 99.1893 + inkscape:connector-curvature="0" 99.1894 + sodipodi:nodetypes="cc" /> 99.1895 + <path 99.1896 + sodipodi:nodetypes="cc" 99.1897 + inkscape:connector-curvature="0" 99.1898 + id="path10010" 99.1899 + d="m 266.02904,609.43114 c 0,28.51925 0,28.51925 0,28.51925" 99.1900 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" /> 99.1901 + <path 99.1902 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" 99.1903 + d="m 258.24715,610.02605 c 13.34137,0 13.34137,0 13.34137,0" 99.1904 + id="path10012" 99.1905 + inkscape:connector-curvature="0" /> 99.1906 + <path 99.1907 + inkscape:connector-curvature="0" 99.1908 + id="path10014" 99.1909 + d="m 271.57781,638.02605 c -13.14022,0 -13.14022,0 -13.14022,0" 99.1910 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 99.1911 + <text 99.1912 + transform="matrix(-0.01875541,0.9998241,-0.9998241,-0.01875541,0,0)" 99.1913 + xml:space="preserve" 99.1914 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#008000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.1915 + x="627.31714" 99.1916 + y="-287.61206" 99.1917 + id="text10018" 99.1918 + sodipodi:linespacing="100%"><tspan 99.1919 + id="tspan10020" 99.1920 + style="text-align:center;text-anchor:middle;fill:#008000" 99.1921 + sodipodi:role="line" 99.1922 + x="627.31714" 99.1923 + y="-287.61206">Timeline of Master on core 2</tspan></text> 99.1924 + <path 99.1925 + inkscape:connector-curvature="0" 99.1926 + id="path10030" 99.1927 + d="m 258.24715,575.42364 c 13.34137,0 13.34137,0 13.34137,0" 99.1928 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 99.1929 + <text 99.1930 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)" 99.1931 + xml:space="preserve" 99.1932 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.1933 + x="183.75761" 99.1934 + y="620.51709" 99.1935 + id="text10044" 99.1936 + sodipodi:linespacing="100%"><tspan 99.1937 + style="font-size:8px;text-align:center;text-anchor:middle" 99.1938 + sodipodi:role="line" 99.1939 + x="183.75761" 99.1940 + y="620.51709" 99.1941 + id="tspan10046">Call via Ptr</tspan></text> 99.1942 + <text 99.1943 + sodipodi:linespacing="100%" 99.1944 + id="text10048" 99.1945 + y="633.64221" 99.1946 + x="115.96657" 99.1947 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.1948 + xml:space="preserve" 99.1949 + transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan 99.1950 + id="tspan10050" 99.1951 + y="633.64221" 99.1952 + x="115.96657" 99.1953 + sodipodi:role="line" 99.1954 + style="font-size:8px;text-align:center;text-anchor:middle">Call to dyn lib</tspan></text> 99.1955 + <path 99.1956 + sodipodi:nodetypes="cc" 99.1957 + inkscape:connector-curvature="0" 99.1958 + id="path10052" 99.1959 + d="m 205.27805,573.45805 c 0,34.21814 0,34.21814 0,34.21814" 99.1960 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3, 3;stroke-dashoffset:0" /> 99.1961 + <path 99.1962 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3, 3;stroke-dashoffset:0" 99.1963 + d="m 205.27805,405.45805 c 0,34.21814 0,34.21814 0,34.21814" 99.1964 + id="path10054" 99.1965 + inkscape:connector-curvature="0" 99.1966 + sodipodi:nodetypes="cc" /> 99.1967 + <path 99.1968 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" 99.1969 + d="m 733.1031,638.02605 c -727.990461,0 -727.990461,0 -727.990461,0" 99.1970 + id="path10056" 99.1971 + inkscape:connector-curvature="0" /> 99.1972 + <path 99.1973 + inkscape:connector-curvature="0" 99.1974 + id="path10058" 99.1975 + d="m 733.1031,609.52981 c -727.990461,0 -727.990461,0 -727.990461,0" 99.1976 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" /> 99.1977 + <path 99.1978 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 99.1979 + d="m 170.94559,442.02605 c 34.44005,0 34.44005,0 34.44005,0" 99.1980 + id="path10060" 99.1981 + inkscape:connector-curvature="0" /> 99.1982 + <text 99.1983 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)" 99.1984 + xml:space="preserve" 99.1985 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.1986 + x="-165.37918" 99.1987 + y="439.50415" 99.1988 + id="text10062" 99.1989 + sodipodi:linespacing="100%"><tspan 99.1990 + id="tspan10068" 99.1991 + style="font-size:8px;text-align:center;text-anchor:middle" 99.1992 + sodipodi:role="line" 99.1993 + x="-165.37918" 99.1994 + y="439.50415">return from</tspan><tspan 99.1995 + style="font-size:8px;text-align:center;text-anchor:middle" 99.1996 + sodipodi:role="line" 99.1997 + x="-165.37918" 99.1998 + y="447.50415" 99.1999 + id="tspan10074">suspend</tspan></text> 99.2000 + <path 99.2001 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" 99.2002 + d="m 733.1031,530.02605 c -727.990461,0 -727.990461,0 -727.990461,0" 99.2003 + id="path10076" 99.2004 + inkscape:connector-curvature="0" /> 99.2005 + <text 99.2006 + xml:space="preserve" 99.2007 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.2008 + x="667.38037" 99.2009 + y="505.42465" 99.2010 + id="text10082" 99.2011 + sodipodi:linespacing="100%"><tspan 99.2012 + style="text-align:center;text-anchor:middle;fill:#000080" 99.2013 + sodipodi:role="line" 99.2014 + x="667.38037" 99.2015 + y="505.42465" 99.2016 + id="tspan10084">PR primitive Fn</tspan><tspan 99.2017 + id="tspan10086" 99.2018 + style="text-align:center;text-anchor:middle;fill:#000080" 99.2019 + sodipodi:role="line" 99.2020 + x="667.38037" 99.2021 + y="515.42468">to send request</tspan></text> 99.2022 + <text 99.2023 + sodipodi:linespacing="100%" 99.2024 + id="text10088" 99.2025 + y="587.42468" 99.2026 + x="667.38037" 99.2027 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.2028 + xml:space="preserve"><tspan 99.2029 + id="tspan10090" 99.2030 + y="587.42468" 99.2031 + x="667.38037" 99.2032 + sodipodi:role="line" 99.2033 + style="text-align:center;text-anchor:middle;fill:#000080">PR primitive Fn</tspan><tspan 99.2034 + y="597.42468" 99.2035 + x="667.38037" 99.2036 + sodipodi:role="line" 99.2037 + style="text-align:center;text-anchor:middle;fill:#000080" 99.2038 + id="tspan10092">to send request</tspan></text> 99.2039 + <text 99.2040 + xml:space="preserve" 99.2041 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.2042 + x="667.38037" 99.2043 + y="673.42468" 99.2044 + id="text10094" 99.2045 + sodipodi:linespacing="100%"><tspan 99.2046 + style="text-align:center;text-anchor:middle;fill:#000080" 99.2047 + sodipodi:role="line" 99.2048 + x="667.38037" 99.2049 + y="673.42468" 99.2050 + id="tspan10096">PR primitive Fn</tspan><tspan 99.2051 + id="tspan10098" 99.2052 + style="text-align:center;text-anchor:middle;fill:#000080" 99.2053 + sodipodi:role="line" 99.2054 + x="667.38037" 99.2055 + y="683.42468">to send request</tspan></text> 99.2056 + <path 99.2057 + sodipodi:nodetypes="cc" 99.2058 + inkscape:connector-curvature="0" 99.2059 + id="path10100" 99.2060 + d="m 476.02904,638.3113 c 0,57.40944 0,57.40944 0,57.40944" 99.2061 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 99.2062 + <path 99.2063 + inkscape:connector-curvature="0" 99.2064 + id="path10102" 99.2065 + d="m 481.57781,697.27417 c -13.14022,0 -13.14022,0 -13.14022,0" 99.2066 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 99.2067 + <text 99.2068 + sodipodi:linespacing="100%" 99.2069 + id="text10104" 99.2070 + y="696.22418" 99.2071 + x="486.62335" 99.2072 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.2073 + xml:space="preserve" 99.2074 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 99.2075 + id="tspan10106" 99.2076 + y="696.22418" 99.2077 + x="486.62335" 99.2078 + sodipodi:role="line" 99.2079 + style="font-size:8px;text-align:start;text-anchor:start">end</tspan></text> 99.2080 + <path 99.2081 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 99.2082 + d="m 266.02904,697.43112 c 0,10.33165 0,10.33165 0,10.33165" 99.2083 + id="path10108" 99.2084 + inkscape:connector-curvature="0" 99.2085 + sodipodi:nodetypes="cc" /> 99.2086 + <path 99.2087 + inkscape:connector-curvature="0" 99.2088 + id="path10110" 99.2089 + d="m 258.24715,698.02605 c 13.34137,0 13.34137,0 13.34137,0" 99.2090 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:none" /> 99.2091 + <path 99.2092 + inkscape:connector-curvature="0" 99.2093 + id="path10116" 99.2094 + d="m 733.1031,698.02605 c -727.990461,0 -727.990461,0 -727.990461,0" 99.2095 + style="opacity:0.3125;fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.99999982, 2.99999982;stroke-dashoffset:0;marker-end:none" /> 99.2096 + <text 99.2097 + sodipodi:linespacing="100%" 99.2098 + id="text10118" 99.2099 + y="532.12646" 99.2100 + x="259.14209" 99.2101 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.2102 + xml:space="preserve" 99.2103 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 99.2104 + id="tspan10120" 99.2105 + y="532.12646" 99.2106 + x="259.14209" 99.2107 + sodipodi:role="line" 99.2108 + style="font-size:8px;text-align:end;text-anchor:end">resume</tspan></text> 99.2109 + <text 99.2110 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 99.2111 + xml:space="preserve" 99.2112 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.2113 + x="259.49329" 99.2114 + y="612.12573" 99.2115 + id="text10122" 99.2116 + sodipodi:linespacing="100%"><tspan 99.2117 + style="font-size:8px;text-align:end;text-anchor:end" 99.2118 + sodipodi:role="line" 99.2119 + x="259.49329" 99.2120 + y="612.12573" 99.2121 + id="tspan10124">resume</tspan></text> 99.2122 + <text 99.2123 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 99.2124 + xml:space="preserve" 99.2125 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.2126 + x="262.06427" 99.2127 + y="638.12549" 99.2128 + id="text10126" 99.2129 + sodipodi:linespacing="100%"><tspan 99.2130 + style="font-size:8px;text-align:end;text-anchor:end" 99.2131 + sodipodi:role="line" 99.2132 + x="262.06427" 99.2133 + y="638.12549" 99.2134 + id="tspan10128">suspend</tspan></text> 99.2135 + <text 99.2136 + sodipodi:linespacing="100%" 99.2137 + id="text10130" 99.2138 + y="578.09204" 99.2139 + x="258.55069" 99.2140 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.2141 + xml:space="preserve" 99.2142 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan 99.2143 + id="tspan10132" 99.2144 + y="578.09204" 99.2145 + x="258.55069" 99.2146 + sodipodi:role="line" 99.2147 + style="font-size:8px;text-align:end;text-anchor:end">start</tspan></text> 99.2148 + <text 99.2149 + transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)" 99.2150 + xml:space="preserve" 99.2151 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;line-height:100%;writing-mode:lr-tb;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.2152 + x="259.87955" 99.2153 + y="700.12482" 99.2154 + id="text10134" 99.2155 + sodipodi:linespacing="100%"><tspan 99.2156 + style="font-size:8px;text-align:end;text-anchor:end" 99.2157 + sodipodi:role="line" 99.2158 + x="259.87955" 99.2159 + y="700.12482" 99.2160 + id="tspan10136">resume</tspan></text> 99.2161 + <path 99.2162 + inkscape:connector-curvature="0" 99.2163 + id="path10138" 99.2164 + d="m 170.94559,610.02605 c 34.44005,0 34.44005,0 34.44005,0" 99.2165 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 99.2166 + <text 99.2167 + sodipodi:linespacing="100%" 99.2168 + id="text10140" 99.2169 + y="560.2088" 99.2170 + x="-282.23102" 99.2171 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.2172 + xml:space="preserve" 99.2173 + transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan 99.2174 + y="560.2088" 99.2175 + x="-282.23102" 99.2176 + sodipodi:role="line" 99.2177 + style="font-size:8px;text-align:center;text-anchor:middle" 99.2178 + id="tspan10142">return from</tspan><tspan 99.2179 + id="tspan10144" 99.2180 + y="568.2088" 99.2181 + x="-282.23102" 99.2182 + sodipodi:role="line" 99.2183 + style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text> 99.2184 + <text 99.2185 + xml:space="preserve" 99.2186 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.2187 + x="136.99219" 99.2188 + y="357.42465" 99.2189 + id="text10146" 99.2190 + sodipodi:linespacing="100%"><tspan 99.2191 + style="text-align:center;text-anchor:middle;fill:#800000" 99.2192 + sodipodi:role="line" 99.2193 + x="138.49609" 99.2194 + y="357.42465" 99.2195 + id="tspan10148">Language </tspan><tspan 99.2196 + id="tspan10150" 99.2197 + style="text-align:center;text-anchor:middle;fill:#800000" 99.2198 + sodipodi:role="line" 99.2199 + x="136.99219" 99.2200 + y="367.42465">Plugin</tspan><tspan 99.2201 + id="tspan10152" 99.2202 + style="text-align:center;text-anchor:middle;fill:#800000" 99.2203 + sodipodi:role="line" 99.2204 + x="136.99219" 99.2205 + y="377.42465">Code</tspan></text> 99.2206 + <text 99.2207 + xml:space="preserve" 99.2208 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 99.2209 + x="203.16797" 99.2210 + y="357.42465" 99.2211 + id="text10154" 99.2212 + sodipodi:linespacing="100%"><tspan 99.2213 + style="text-align:center;text-anchor:middle;fill:#000080" 99.2214 + sodipodi:role="line" 99.2215 + x="203.16797" 99.2216 + y="357.42465" 99.2217 + id="tspan10156">Proto-Runtime</tspan><tspan 99.2218 + style="text-align:center;text-anchor:middle;fill:#000080" 99.2219 + sodipodi:role="line" 99.2220 + x="203.16797" 99.2221 + y="367.42465" 99.2222 + id="tspan10158">Master</tspan><tspan 99.2223 + id="tspan10160" 99.2224 + style="text-align:center;text-anchor:middle;fill:#000080" 99.2225 + sodipodi:role="line" 99.2226 + x="203.16797" 99.2227 + y="377.42465">Code</tspan></text> 99.2228 + <path 99.2229 + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 99.2230 + d="m 205.05995,448.02605 c -67.19099,0 -67.19099,0 -67.19099,0" 99.2231 + id="path10162" 99.2232 + inkscape:connector-curvature="0" /> 99.2233 + </g> 99.2234 +</svg>
100.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 100.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/Scheduling_states_2.eps Fri Sep 13 11:02:18 2013 -0700 100.3 @@ -0,0 +1,460 @@ 100.4 +%!PS-Adobe-3.0 EPSF-3.0 100.5 +%%Creator: cairo 1.8.6 (http://cairographics.org) 100.6 +%%CreationDate: Sat Nov 13 08:19:40 2010 100.7 +%%Pages: 1 100.8 +%%BoundingBox: 0 0 196 77 100.9 +%%DocumentData: Clean7Bit 100.10 +%%LanguageLevel: 2 100.11 +%%EndComments 100.12 +%%BeginProlog 100.13 +/cairo_eps_state save def 100.14 +/dict_count countdictstack def 100.15 +/op_count count 1 sub def 100.16 +userdict begin 100.17 +/q { gsave } bind def 100.18 +/Q { grestore } bind def 100.19 +/cm { 6 array astore concat } bind def 100.20 +/w { setlinewidth } bind def 100.21 +/J { setlinecap } bind def 100.22 +/j { setlinejoin } bind def 100.23 +/M { setmiterlimit } bind def 100.24 +/d { setdash } bind def 100.25 +/m { moveto } bind def 100.26 +/l { lineto } bind def 100.27 +/c { curveto } bind def 100.28 +/h { closepath } bind def 100.29 +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto 100.30 + 0 exch rlineto 0 rlineto closepath } bind def 100.31 +/S { stroke } bind def 100.32 +/f { fill } bind def 100.33 +/f* { eofill } bind def 100.34 +/B { fill stroke } bind def 100.35 +/B* { eofill stroke } bind def 100.36 +/n { newpath } bind def 100.37 +/W { clip } bind def 100.38 +/W* { eoclip } bind def 100.39 +/BT { } bind def 100.40 +/ET { } bind def 100.41 +/pdfmark where { pop globaldict /?pdfmark /exec load put } 100.42 + { globaldict begin /?pdfmark /pop load def /pdfmark 100.43 + /cleartomark load def end } ifelse 100.44 +/BDC { mark 3 1 roll /BDC pdfmark } bind def 100.45 +/EMC { mark /EMC pdfmark } bind def 100.46 +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def 100.47 +/Tj { show currentpoint cairo_store_point } bind def 100.48 +/TJ { 100.49 + { 100.50 + dup 100.51 + type /stringtype eq 100.52 + { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse 100.53 + } forall 100.54 + currentpoint cairo_store_point 100.55 +} bind def 100.56 +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore 100.57 + cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def 100.58 +/Tf { pop /cairo_font exch def /cairo_font_matrix where 100.59 + { pop cairo_selectfont } if } bind def 100.60 +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup 100.61 + /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point 100.62 + /cairo_font where { pop cairo_selectfont } if } bind def 100.63 +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def 100.64 + cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def 100.65 +/g { setgray } bind def 100.66 +/rg { setrgbcolor } bind def 100.67 +/d1 { setcachedevice } bind def 100.68 +%%EndProlog 100.69 +%%Page: 1 1 100.70 +%%BeginPageSetup 100.71 +%%PageBoundingBox: 0 0 196 77 100.72 +%%EndPageSetup 100.73 +q 100.74 +Q q 100.75 +q 0 0 197 77 rectclip 100.76 +% Fallback Image: x=0, y=0, w=196, h=76 res=300dpi size=776967 100.77 +[ 0.24 0 0 0.24 0 0.916468 ] concat 100.78 +/DeviceRGB setcolorspace 100.79 +8 dict dup begin 100.80 + /ImageType 1 def 100.81 + /Width 817 def 100.82 + /Height 317 def 100.83 + /BitsPerComponent 8 def 100.84 + /Decode [ 0 1 0 1 0 1 ] def 100.85 + /DataSource currentfile /ASCII85Decode filter /LZWDecode filter def 100.86 + /ImageMatrix [ 1 0 0 -1 0 317 ] def 100.87 +end 100.88 +image 100.89 +J3I@:GU(oO"FIqV0;rCK*=mro@So+\<\5,H7Uo<*jE<[.O@Wn[3@'nb-^757;Rp>H>q_R=Al 100.90 + C^cenm@9:1mM9jS"!dTMT<$3[GQ$8#0$s<4ZX!SPQ1`A'g"%<TR;.<aa6d`HE,+YZP^B4!g 100.91 + 3;B=(iZ<kDqOh/Bf.DHAorf'R[o?>ioWjnAY&^gM+`4=1jRLW!YA=M/6)*KS9PE`kN%="Tc 100.92 + _Aoh+fk'&t\ctI:h]"?)EVlIDd]!t-Xh$Ve"[JLu9_eZN2gNOTbQKrP([VkioDBB7=[,UR, 100.93 + Hi@$GNQ^C&p\W4]93o[!Fh+rPIlj(Jn9-kkY-14!k3ht)5*"HoRH<m_r]WPZbLQ=\HN&Dt^ 100.94 + XMoO5Hj,<r%.;1#6R5q'GCO!c[3P"3fin8!'p!h(Bd%.<&4_0Y]I&S^9EhP$:=6h2[i'Xe5 100.95 + Hi.ORs\,]MULe&O`lL:DH='_T*?\/t?>d]TK".)b+h3HQG[sd`!J'DZ"t[_D3s3(.rT]M^h 100.96 + <(_S[]nEccj\7PZ6M.8)G'`o"._.^6"^W"Ppcc4c/u3R3him5rW-bk4-FPO/64ckHom6-ti 100.97 + J%7AMW9b)h,-_jSiSuV&ELS'g5/:Q%^br&5DeEnb\e.gFr;4j*_9i=p_2*k2@[8f4f<AenT 100.98 + <`W38;-MOnKj.e_Q,3?(f9Om7?e4oCJQgZ*h2u1!2'n#gg%K!DB3<_"X(keF*MZ_@G1Ed7> 100.99 + ;haXA))8C?"dI7ot,?P2T;S5?2%pJG?hVRcZ<)f7H[>"\)m@0?8V'$JR>njlZch42=GEj[T 100.100 + 4&n?hf?XIq!P\.u@^0VDF-?GfCPQA,''qCLT7E23?\J*`H"p).jbLiOLj8QXgt7CRShB%EX 100.101 + iFq6k?EkOj:*SRe,%AVXodSr'0))J4\okLfL'T'%#7D6$`!`A)dSfo@#OBmIG1V.mMqX0?E 100.102 + InfEH^'PuKNd`;(C\aGrimCVg+cLnm>S*p6in/MrB_=3sJ%E%]U:DLk=S8TFgnf3]:amtt* 100.103 + /^*`*cS`u=SF8VeoGnH2dI`t_:"/bU:K>s<SSqfcp)T3*g%Lu>q+ssgKcl$loZ@-jp`9s"i 100.104 + V8utNT9gU:R1&;So:1_qAt]ol2%!TXm>j*caE0;T'sA]r#ZHgnbf"4c1ClU:Y#.:T5WQ[rZ 100.105 + @3_q>R"imJHo*ch78:TC;^Xhuj(2:F3QNPpBD[Js(>X@KF9s*<Y5Q&V<hS$:.cG"lR<:K2? 100.106 + Fq6.e=*i<1<W:lZ/T=A9+[qup"1*.pM>])p%>.#(RD)FIVD%H55cLJ[C[6eHetiWMQ';%=d 100.107 + <=H*&a;#Q*#g(u1n*:KUa;2S4G.RdIA(#m/7Mc"@E7G,9iirieH&L<&FZF9n0Hjks2Xu8c% 100.108 + h&GC-EK3oA3_*<>*TP(`Kb5XX`7SK>U]c71;@Z#a=UcP87#@%(/k/Ca#i)(-?%E3_1_7*i, 100.109 + G`8GP>Z9n5GAiRV$*J3dYr(d=\L[65g5KkXC+ZJG:Vd.YSC']>"`"1.ODluQW!6X9;*jh`' 100.110 + hG/;\!2k3K,!@7*1iq+?3'AbqnL8d@&s:C'@bB2<Mj1Rc,`6"A-9ck60b6;iYln+FQ8dSEZ 100.111 + SCY'*Rnh)jeQnX`#NH;7W14m(ZpRoAa(9q\[Sk*5rU_:jK7\We7N7)YI%:52EpGUTMD[[*Z 100.112 + )MG"j=0Bg?TUJe%&dFh5CV&8?Z,JK=4g.b0'74EU=nju1$.1>000r7jpRT!C,"4V.\*0fki 100.113 + b*c3_l3+=,<=W20!C\WZNCfL(#,Y(^RN*^]>cL_9,h6&9%B@A6"EeMm<R=*7^l;d(5WZ1N$ 100.114 + I)`>7;8l(Y-qBbh-93!ENW<e\lW)&?0fITY>t#)=5*U[lihV72@ctm.h,Qr5U$At/p.8#*B 100.115 + 8Y!Odbn>/'njfA`cO0ZW&>F=kRsGXTZ!HQB#&URnPW?7&CrIY#))IDen`oZ%;POHon**5pQ 100.116 + ?6[oVqR7`OU>7kMQAd]?p5=^Wa45btqglpb7-$$56"CV!G0/6uD]&h_,[#5<"X!dhUi!4Cd 100.117 + e5T92q)pNZs7HqKeY4c2Vh0\UEn\/)MqHm&!"7O#=^K)Hkhq?O?_=ZUlQk&D8M4bf,7*1h5 100.118 + %Uf[&*%,]Y[&@HV=A#j'L$@7N*Z/eOiS6R?Xe_.Y1r;mTX?VR37O`bkKQ,quWJebc0pY_]: 100.119 + ub]&;X/)>%2eFcA(e!snc1qr=*F$5r/Fg/5"WKA0.(5`rI+`p@]WTX.Th3oQ045b]3sKBKL 100.120 + tc"B"ZV$ZjLLOr67O+0S7PK.lM"ph*Rt5Q(cmW3bM^b/ugcAU/`-okM5HooEKjWq@>Dr=d* 100.121 + F7NarR7MagLt"r/oW1t#=<'5:^P@K=-1b$&]!J=N1.o`e*kJ2e!Q>q-/Y:d`c66mm]%>T*3 100.122 + fagpCB88D'_XlZ4df2iYqN?*ErV$UMJ>7Y1/X@#Xc*)=GZb@9hoSKj+Rn\[=kC^e"Z/-TqE 100.123 + `hJ45M*VZ]k"'7B=bnJD>uVBu<i6$]X9NRu6bE)HB=ra5Z"]:Q@P7-tSNu4a:&D.--Fd4:< 100.124 + !55N=puRa71,a*Dh_+4?,Pm1],4dJNJt]S`T[5r*?8rnaq>f&jOYE:'ShX,hCDD,*3^5aY) 100.125 + *Jq>qX(10qgo1RS8h/c0,Y?$ZfQ%F4nOI!Q=9<TVfY7TI5s_O%I$q,Qm[S&.El86L$j4WWk 100.126 + Yg*BM.F&>EC3$?!L.qZ\bm")"nLT$=LM#ANR$04VrC?a?KBC[PKR'.K'sh8\W'Q$CMQ$*O1 100.127 + MHiSH]=R7kP>_!FWha7L[/-pLWQ/h2O!V06K;Ltk[%(sA:o2C.="Yd@Ik(\\[2)%;>+XQC7 100.128 + hKbDrcdk`!;(D*\e<JTt:oOrhmGq`>PW#U_b%jg0XY@k_(5uEi90al$hgc;"c=H'Fh_[Ij> 100.129 + +5&4+Tr,$$GOK8!hX93IGZ4/2eWU%T8XQb>QLl,s66N^PLG@<NU$b8`;X"HC>9ED6G:G8OV 100.130 + *\+7UcdhY2]IX"TW2B;62O<!N+rhi2FuUoSjF&TYT?UT_b<g!j%=_m7.!A*W`K)nuStsWRM 100.131 + 0W6jU"fRc(j^l(F]"m,iirQqh*'iBIMqB^>b;UB,h\bUsk(FL@jT!0DU6kW0mO66":-)GlA 100.132 + 0d#d?tFI%k.'<73.0!q$"#c^/#!_L,IJ56#M3:WXb"&&"'%8QL[F:$=8d=B1)5k5N6e>U3# 100.133 + %BZ]L@Dr^#[g3Q/LX+V4lq%12lORcUg*o_j+_qW=N"PRc&!7800bEr[Wr/Mnnu_'_bNdQW_ 100.134 + ?.lg"DQB^TUQTJU=K=iek;VAmuE]j@-g\Q`M(/50_lG<<5ZUGU`m,\kuJV*A/6n5W6h+I&T 100.135 + IQldL5Qc$.)'FWtkl#ZiP0'&dndYJ/8:R[L$rA(N'QiDj:MM55kSD)QrWMK2WM)[!tj)O31 100.136 + rOEPRSC2BDn.*3R6TNOK?_*"R&B'97AG5^sh0K&'fi!3to.bKf@&0cse#+/!ZslDb.DU>/# 100.137 + `ZU"-pEY.]U1mW]4+g$"@_4q9e]Ta]o*&9)inh>HC']WWKg6&BPnCeZ']G/TLeo@;H^rIJ[ 100.138 + kQi;>-(mOMmZARulI2Ct-D5W2lR;SF'dmE[-a@1uTrf^ta!3?qH',]*lZ4J[P_92k*:fX+_ 100.139 + 5,[KEi?en.^>Sh:C[QV[2si)/$`]hE4I:Q5jA>Z-#qfN^u[.!(86:+\Nrd]NHkG[6On.'0! 100.140 + ajsk\=$>f.UR90<S+do)P+n(AZ6tnF.n2i&<ACR4IRR!E1!@nUA9RT"1O4-_X$7dXiCT9.p 100.141 + hH[YnrCVg06Q3AbBs+mMB4'2\sn[ikbg/Kj-^O@TY^(uE%32R=7'%6Fqr%\)el\j4jNO4k; 100.142 + SKd!./Q#2&9#3Rh,PrWoQOFp1GTsk=/N5BLnq,:Q%i4P[3YQhm+40on-;]-G^:;@>B$Se8* 100.143 + O5VQ%2`[mN1WsV8$r&mKRSlt()t2i)JQ"cf#SHTuk=s8>0dcHV"#fGn47<peZ<@G4NBqX.% 100.144 + ?qjZ@/hgA7k.;a%O&dae)`qR2+)9D;@uUh8gkG`iX`Cf%*A)k5[<0nn>oO0!`,?;Tci=Q>k 100.145 + d437^P.9&rtX#P=G$ImbuhK&HW`PRhl)*RK/aHo++8h#qMYT*g7*W1U-0FkpiAG1=Ds9oW\ 100.146 + (QkspuK9=2B",/3f8V*m)l7"G.9&d&`.-Lq^-!O78Ji0cmHfenV"pbFj&kbUd*i7X@aVSX' 100.147 + 3ZgU+%;a58o4L'AKYIX`HnK,IQo!6?/0m8s>eLeU_;Qp`!_:(D$qbqVt;me`6_A*d6V++88 100.148 + *J!lG$iqnYR,.-jk])srC7a1dM&Pq8;s6LHJb&iX\IULV<ljbR')EO;UmH&Ik<O5nmjg;h" 100.149 + Uii6qZ'Tbo<A`=@5pPF(Y,V\+k9dSI9Uj)>ID+m@NHL(`#(AQgMG@N:s@_cC'9Y?aj&u*2. 100.150 + 'B74"=*%;cUROM',_&b5]uc?KeCe&*ZV9igD;FkRm%L'U^Zu2ToL'@B:"LXhGA3N@4CN;76 100.151 + @3p+^&81q%#WrmU=>NXucL38a9&"V!N7OcZ,0U=O+A'p'",(,gP>oiICRAgfoB:L_1]fbs6 100.152 + >Z+t)U[XdTo7p4B9"SGJ@O_>LRQ"b1(%p!O]p7Z4ZUk=gipaKod1/T)8Iii&P^9j:1m9(RR 100.153 + E"rmmm1uRE(1utLHYhm;/+';1Pc55pdl&m5=\V+G:FdOFF$-,cDm3RQP;?\!fl2-AE46726 100.154 + W6VYSeZGeCC[I^<Xuhqk=#oV@P?\([\H"+F^MTfHt"09n7_d/*q8\M<G\"):phY.Gg'/]iI 100.155 + Noo:<4A)?$!JhG.2=3kbT8:`>V=2eW!@HbM*DbU^0hi>*CaVeF@TMG./,RG6aC"d$3jI/C> 100.156 + 2=h_c7bTEfg!`G8DW64p%AktQ!GSU>Y'I(.=XJe\3M>1RI<=kA2;0>e3!*r,:L<jXZ"1j<o 100.157 + ep)S1'/Wi%qi-,QelWI%:S+br9O5S`X@=7hfJ[c_Okj0Ho'eROjT.hn2O2CamP;!#DUb_Ii 100.158 + (Rnn$UH29e%G4A0o[^aB'd[82KsGk6=?-BuB7^t7L:D)Tkn>%S-5]]j(NG(UlN95A4IYjj3 100.159 + `j92QpB>HqB62,)6/Z"==hP:jPJ:6%+ZYCJQF]0TgKZ:Mn$HYpqW)f&F<5#KqQT:5\XN)!> 100.160 + u?loSH`g'Xom+nfP:5N7U'M8k9unIkm52A@JiECYn:$X#JC3jUk@K3>%B6'p39>;GP1;n"U 100.161 + MrbitHo+OYaoD4?A@OVLiD#*qU'lO^c%g<3mGPdC(L&tBs;)3oJMQ+:/;os,T6M+lD7#h7S 100.162 + 3o=lD&eH$(UP?-97,/3h*gBs$+]oJL3Nc^Xi0*bMEQ2-u=q4X6.4AsP`*DKZ"b5YmH+;FX^ 100.163 + O"4S(enWmam;-^3Dc7Fb&%2P'@rJ%1:ednKq5'ZCjdpb]fS8Pi%D&j2J-)bH;2N$AZn/$IP 100.164 + d]Q>Ik,kh0Uil(,eX^=<Ua.DO\MFY-),]7U9;p^Dgn'TLJ]]Knk%A:q08$i^pWoGc7L,RMp 100.165 + 3+T[09N?_`BBGqI-6^AF3qO#)s3tb4uX8,GHUlUhMb4Q)G*PKnrA$5Yd(Ca`iYEmA>2tWOe 100.166 + Y"m@P<g.2VdYY1*Ukn6\],mAJ&5;V60s<)GnQq+6m"d24m03h`Z:eZF/Mm5\Y_X][aNm+uO 100.167 + d#0>b)'m5Q#m>j0Fk=Z3b>/r/&<<\JL)`l`Xq[p(p'\K0Z1=?8\$KG:9T."Bd%e'F0LuFXY 100.168 + V'UI2Y0hj#n):M*(USN\[(B#N'enCH`N2\n)$uuTkd.=G\ON:Hf&8VI3i]A%ro[33PrhdNq 100.169 + gl7=KZ!>`%2`!G1mn]3k_a^tMF,'G0es'EY-/S2"^#uJH\]3p[C^dqVM-=cJPNufk?1[=pZ 100.170 + RI,F$Y)=P_d_jSW>;$cR")U@$KEX^:WdHqs^JDl#'ZaXn2cZ\cRZ!dB?)_DK"KYHW[G<d5@ 100.171 + A<^H<OQr#rp+0VgL0r$pY&/SC(lBt:0S+\l8V)K;ja.pVs[_H]gRr)(E^%7eeS&"G2Qpk8E 100.172 + uCVtrt+VXT8lK7>h.$b`0`E[i3r.2p;fVC4GDT^i_%AJO0nR%b>KL-chg5)n2%u'kfaBYji 100.173 + r3=En`=;6cXqJ^5kXWa>mE):bDKrEsWoaJ4e\h0Cb?WlJr8GpLMJdF1-7[VM:J$tQ1WG4tp 100.174 + [N^8G's(Tp!-hLd(Kn8k]&r<@]gF(S)!auB_s4q6@p$JDHr.&cA,uE#LOPPe%IonkWEa$gL 100.175 + TU&?$hlhg]u&Z"E&R'YNk)&:QM(f6.UHuf"GmO[hPn$6ER9+jTm<K'19HH!0l)j2[]ioS2J 100.176 + mrQ.^SRfr+GMOohbf4+i>6c\L^^e>]TChdN1Q>X?3Zh8.l0`S>+];_ZS#\Gl9e*SSQm'\gR 100.177 + .lOaG/akhI1hS&9'1>0,dd90^=eU8R:Y2)TR-@RfUJ4eLUo3I9Fn)8^5iP$:WGd36#c]@`% 100.178 + J,I7r(=ep&e0,H$Xq?9\4s/iL7HAng+7s-UC=(gbA:K$[HunTE!+`4="ba\H+Wa;=rc.*ak 100.179 + A5S=XR)XV-h$/p^Bn&IXc;]n5'?*RQ0E^c_8.h-[F_Mclf^jJ7NQlX.DJXWRHo=4lb,G=b1 100.180 + eg;2LV-I]j,l0jYHYgAF`<U],nZQro*9-XA[12XgG$UI].Q:[e$NR9t"9o?NKX\"irF=/5" 100.181 + FKG8,KInp.@4F\:BY\@(gU-1ZO7_C^&uhuQ,-gjK,;GrYB<C>0Rf"7j2uoY4,4:fsj'g3p[ 100.182 + gZMlV*[!h'DgOL:bo`&e%s)G;1*uHKX$_F/B)_G-@?@!hhoEs7fqaL6DQ2,otWR\'dg_-^W 100.183 + S:+a*GN'@iWn?,+(&>VTqnKh=Dka@.41E8TnRgqH9%qI<\,63YrP.0RZ6cdc&bDRm[]=8t5 100.184 + 0eC0+K_mdb.ldU&,6hK#mGrIi=MAU/f>+R6fJ[pPYNYBMacY<R+-"6*KN_O&fDCD8L9QljV 100.185 + !t\Y$!?C9BHm*Pg3u#Rn`&ZRFLYM#;K#i'H.N@M"@B5hpe"[/b)P]e*7Y!_sXKsI_uo.O:? 100.186 + )]64R)PFrB\-a^qe]m1u0kY1[[$>OE:HQ-SW:]3XkAS(6s&ID9.WD;5[9$!j4%E>4:117Ip 100.187 + W<,&a1h-(HBb6%8P?iV]:bg0ZR)BBTS8YsmMobsB%Y?A!ZC\A\fQHs9QJWr)2Tt]t0ri9#' 100.188 + cYS;1X%S(/GlnOWC:4.AF8"E2QVXU2lZN(FT%@nkh=#Rc*Zl(ZC$!T9YYEds-[eYK5'T1.Q 100.189 + :iY13dpqu'9DV&rVo+O"9SZiE$Pen5k%/T"[R!OX:<#4d2NBTCg$W/^+=?fii;2SLCZDHct 100.190 + *ePn750*7.EZD'h*+Q>8K`uKOYlD6VM7>#Vj7Gp7JJi*iHnLR[2&!Z6M3O!Cj_c)9Ho0RjU 100.191 + euKVKtgEho`d7*d;qblG'.i@cH0@t)G<a/jfl&Q;'f!"m[jY;]2IK]>'fF/8+`:@lE'0-1* 100.192 + -qTTfJ"MkGF8qVl?*HXOe75I\8@*)2$Kd0/eFJUK\;Y7pa9dClF3mA3n"U,pnPUYmEeEi:c 100.193 + <B5riNE9&$Kk"7dFerkX<qXFPedL$g1aZ;s'Z>AY/fDuF1B:W9/(o'qRqGmtKqi?cG,;6D& 100.194 + 9brK:5&<K).CaHPs@U@5TS#nReF/<F^93&gNQrtL#U`!GG?tshX=o:0\b/&SpFc/pc-M+GU 100.195 + ;I(@/*2)Kjf4<)i#SK"sZ!-a$')&_XPB?ND2lc4,;kl#"+M`GpZ1J7OFF"2&dEF/Q'`0&tU 100.196 + UcCs[6mAGO5dSS*61H_4s:agIg:7YZhf=AB1YV,9L!1f7u`#,A/4HD[aDCAPdOE9hRE4CRI 100.197 + JiuD(cCsWWt:Mm@$[1bW6gUD%sL?#g^H`$,@DYqHF]l/8[qnI(I#6Ve]Hm]<>E;W3>`Gp9; 100.198 + p1j-k[a\+C]Vd:'Er<s6c#\9q43qr$O$g"@pnp@*FT"^.eTH:Q>M!bI:L_`k4f$S@pA4u;V 100.199 + ^^XZHHc^:"/Z=uF'":[GlC3sj`u;fS*,(rLSO*[I]'74HN(skm<a<F]C1$@\&3!+@"5r_I/ 100.200 + c^comM=&g\6-rLSc,AI3-)srr:%1rI9=[qu8nMnGl9.72cK3Tado?O%6KD"f>rq_"WNP+8c 100.201 + e(OB)`TGVKD1e/*KV=n0<V2[Eh+,D;/E'0^'k%j.emK^cDd6MOst@5Iuq#*<1ZFOW>pe-RS 100.202 + .k]AFR#%j%B&U^h*,=Hd=&n4g5I*d$I`)rEA@['fKOW"qNZ%j''e6@inFpc,S817s\7PfsF 100.203 + h%,'p)H0JeNKFfi.FUF"A!D%pOk)TaGjuhbe9d7=p-2(C!?bneK92636V)J7,%OZ2OchUm8 100.204 + GO1bP>k:\YEChrGp+MFe=2YbG#(^*5q$:YUQLD5/%(`1IR>*UP`iIV9)2mHAX'NeP/L\MFO 100.205 + _3;(k.g+BGJ_cb^7;[_d&+aWCGnV(8b$*R=r\HN@?4LUoY[e;^a4ke`?lAe>I'pV";]"Ye( 100.206 + S(\U[//AVG1^'W4oB.RG>')5&iL:T;a)djAYO)=U71I*mSq:+/h>mljf`g+^uqX3KZ^3%,E 100.207 + iS7gti)B_C89[JWjPH^p?.PPIboc'K7g3T%;X[;7a,+iN1Ke4c=5UO/h>r3+qct9CH$oKE/ 100.208 + M`uleH6-G6<BEoQgg8B:n/lBWRK\rlNgj3M:h^@rWJ"lHc2"0C.S'Q=FZ!l2ie:&EXYME6d 100.209 + ]4mUDJ#liI[FT/blGo61!'LoN8bV^)5'9#C,rZ$F]P]tEZ\6D9i5):epuA+RoTk*>&'=ATi 100.210 + LCYXQp1IXC_*HcC*6SlX<[)(030jWoe-`odd:*FG*_qB4!)Ue>ZIIcRWc6!%]?nYf-gb>'2 100.211 + ]3b3b0A,JMn4RrDu7&>;Te#[(C(eCkCtS$j+IJQ`DmBU4Xr\B<CPg:!hn5R"@%W`Ide.qi5 100.212 + lXkR1*h5(VIHFJY5j%WA*?VH>CBs+R_\J?7J/IRtmeW%n(P+i^iCYsN(V:R+SA@`L`;1M?e 100.213 + =hodaX"f1l^efn%\9=%8?E<`tDf)Yl.m!Ia'f17]<VD>0idTj?/Uma(r[qZT'.0DuMJt<<3 100.214 + <o[@@e2Dg0pUt!=G"0D4/[d5DAU=8<t.TTq2]F!?C[,,]FW5K0>Ue[JW&TQ=Z0Y=16J"ZJ. 100.215 + \oD)Ei_R[R-d7ip&%qH']5*5Jrlo0e")2M$nad&uhg0B(Ard(ARU3_n67fF#8<_VHKPbQHj 100.216 + )g(RMDX@*;Y>5UUBi2fHB+_tkB8AspeI.G3q2i'Sh:9/C+C)nSq?X%ucBd)@QeL!TTVE9Jk 100.217 + mB_1X&e@M&/kaE$Vle\Vkai?q_@d,q*Q0!b][lGp8l8:I4I/lqMJt"=/X]j#KM<8S*m%iaE 100.218 + .?:^@3n%agI;W<.k1`U/S=!q8qO'rj]F2ld!2op9Cc5&?C:c6ND!_\D'"65hHW&ql@qm5If 100.219 + )#ccp#GMfS%e:bZFEH=2/S;/6aV\e)>l?:R@l:Q7o'fQqJSBa1;Z$CWL<n$G:T-<f=[Q<m] 100.220 + 'HSO_kej6#Wo`_n%Pf4jF7i\2m[F-*VE2Hk^"LDWiEoJT)J>W$](gC'L4FJsq-Uak?\>YIp 100.221 + @$-N31;GI?kr#1;msI^"_*RT8LHUH4#k^m]o-@j]a4"<T7HO@SMCm>7b^p@\DJ3_)s0m8Kl 100.222 + sXl6<RLATkH6\/J@5".Ni00^h6_3^1WCHA%$lDDnFOF42cr/bU_M6"FdD]Y-hl"!S<'H/<k 100.223 + WT\AB2!<*'E?%a';utUO9jXnABegMeI?==!L!QRh<d3Bf?Z[o=IsmG413C5:fD&q'`8)LON 100.224 + dPQHpnTR:$)9BLd7;GQSnssXDm0Y!dV9$eFJokF8th@""&E=Zo-UI]#^C%/+Z\$grp_H8:' 100.225 + ke2k-'W%P(ikXbQQiD!Wjaml3i7#08&*hOn8b:":0AT^15$?oEC.oj-kki1AKM;G_85jbr> 100.226 + gi^h^)48t7kCS0iQAJFPJtoFjF`S\GIQ]1TVtgDL&92&e4O(;N5#G_2W^T`D_G-ZDHYN#rE 100.227 + hqMeF)MA)A8_gk"qI_Z'r$d8X;Hm">@$O@FCWUcXW\;!>+f0[Bq6<hAg8sd(m=Li3M]HHg% 100.228 + `%;Md1Qc25$)#3>lEgP"2$.#C4,C1"q,3J;H]Oi[#XHKgn227K!.dC:6l:KBk[tQ*#fKC>" 100.229 + 5uWQ=Iqj(e3Z-f^sjSfnA@Yf'VH^?NO1O#4=7;>!fN"4L_Il736aRY1d\i-%\ut=bZ0S.#a 100.230 + tl&ZlBFlG_j=Q4h)J#P>cnK.#jlEkJWIb`C&h-n;`^eX9C^c76AX]9+_G'?&UT<#eUQS1ej 100.231 + "322Q'+#1t4kl/RD$E&'\-$To.e4?X86L8ujnJ;N<GfGfNlGQ@)U*][aAfJpFOEXB*D*LYW 100.232 + Bak?s?]0G?TJntCK4CJR2:.;Cu7/J"D#e3<:J\Iq9%5`p$>`+C!=IK(i^0FjZ.#LOibso4" 100.233 + _AVT&nY6A3JHBQM\--N%S15S-K8_L;THMKK8;p+_Y/W0\7`^cGpcZaqg]0o'$6TPTfXAgL1 100.234 + IKfN8&RCh=lhVgk!>-dK.(V0W0g*-dCsl`5*:rJ\@p&SSOd6W2-X_7I"a`e9>X5Rb5fo4A; 100.235 + X#>\OahS]blsSgbK;bMS&)i.I`0`8a]+tKhKhZ`5%/Ona?`oR",0q7TdPh39a#mO2&9""6u 100.236 + kEcl1-@D2X(C6"HetWNh.Z'$UaOU&o*WGa1n:d2l/I95qMf@%0e$)&T'8K!=El1\lkIe-dO 100.237 + &bV63A['e)-M8_$^%+BXJi/gCMhp*(V7I/&\<8\$=RLD%1#b9rZP\?+?jp!f+7RO7NA7<Jn 100.238 + X@@HJbE6'Zo,!#Z?dDA=Ls3I@X6Mp\!`&6Y9H]*^Gk8pKQG4Rr8P7p(pk2Cu!&t*Zb]&&qg 100.239 + 7M&4is8VG&'S!H"R$aTq+6[%c`j*7d"fW>Y0,\gb^bS0OBg0-.a\PT!%HsN#X_HNg'?!8]/ 100.240 + (4a`2(F=N!te@d?kNnWUGj\-W/+r#mB%AoMWsZI14XHQsA5NXWiUtfFhH*+!<=:BOK89\d5 100.241 + tjM<kJnJYLFi!6\2n`G>@tM<25MJ'#:[8Lo8:E.YlR"cDX'LnpO^KTcUjMU8'Z9MC+8*%re 100.242 + c0Gd]+Jl&.,*6FO,NR)EA*q_4CEnNDSbD;E:67@Oad"tR!Th,fKbY79E7#qUOfgS/_;eViQ 100.243 + 1nDGQYsAAEO(<aBg2jdWjGmn&eQVKu!5,uqZophMLqp&HOB=#h&0F<eJLFDrk`8W/^.u:j/ 100.244 + X8mr\ALuClH['<\*N5,9])F19*u?UZFjS`YcboM"OMC,;T"#cBs#AMU=QE2$oDES'd:Onl\ 100.245 + MZR^dMKfeT6PZmRC-tf-Khh4Rig0,a"Im<C$/,'n8oIWeTGhec;84r'erVB?S)J'AY\jQ"L 100.246 + A=XWGG=LckFAS7,GHLeZjpeF8.DdHukQneQ1R=W-7fYT0uZf`u2I<"S;cbZ%\hL/d(2<m6W 100.247 + Fm;'L.P<L!X$4T]8]Ed*Y!)tA$ddZZ^\La4cIAPjd2^B%;oQ?aX@Pu\r$cL<?Pg5+(CEIWh 100.248 + !OR(TI40o*Jd]7#$5DaY"b]e/CHt8afP0DMR"A%4@oH<S;jB#FlRUO`k#n@3cfHn`D6o$Qm 100.249 + *siGSrG\XMHi`,CKOSa),h%ZJ2Z2.jUQ(X)f5W^26_qZmT?#nd#a+8j*n!#!`+f$cMUXtFd 100.250 + WRMIG,D6#DE92[?q45l:)LscgZ`pV6W/$Z]j4Z%mA'k'f<p<1g>+M"%=GkSWK.he<<aVJ3. 100.251 + %:[1nEkQ9H#f>oD\Xd#(`:O$^d7`_F)e=G5,A[n_'=LgqsLMkLDfZ&/u_Nl,)X8a<40%8$= 100.252 + XLAgrX-*#!FPM^BR4S6jRNQ[6^R7V8QM@E$^'I6`tl<WV'gOP)&h:IHG/4j,!#Yi*jFeBe` 100.253 + n;&\)T"r'AaX.22&0@D(d0M4UXqP,dJRA2AT)A[bBSSpnnrM&1Lg7mQEtMX'L/+jm>Yp&Zm 100.254 + MXNn:dgkd<qqPO>2Ri#`8=Lp]G0OeIH-W@*$1<(J>bA8W]5eTk`1S[i#&WUrZ.VEL.D1q*h 100.255 + FWb7667K/7.`J=d@NEAg"4E!8l2aZDg<dGW_71@o\oC6a8tq`V^#]qk=,a^N^RTZP8,S4BN 100.256 + SY%5j's^k:I/$/p0i>tN`U2$7)CoAD3Rgu\\Lb\(4SJ_f*2L$O?O\6d>6o>s:melX9G*`*+ 100.257 + X;c#k4A<l\@^"[!m;r,[rROtsU<\=^o#0AiWhAtUQFiHF]2i!]1A.e/.[V&+;2nR/C5^>NL 100.258 + gT2&gp"6,gLaA^+aG8NH7gL]7?EfPSI@suhKis]]#`^N>`LVM_SqsgaM2isLFqY%YmK$(2@ 100.259 + iNE\^.nr&LtT:%#c[Q2NGTa9$>/-JMX<pq=Mn[rJkkt7%b"Xrcksf.Gl[.V(&0+bW&>;s7o 100.260 + FS>_k>`Dj7,3-P#7T>T&j7?W&0CQ<nU$*iD@$nj`cLZ2Irso;AL'Nc>200Ja)$@gHbAn6*2 100.261 + '`r9>te>Gd75AoNQ\GM'ogjfI`WI7.NeM;g3l@k=).=Gc4.QFB6.Jtc0cQnrMAZtiFECL4G 100.262 + bDRXD1\8.,8CS&+QY.JJ`\B9Br!fk!,SqRG=[Gj^W@"'ra@)HB#oJiE"?Mu"*2E'_L%VH`/ 100.263 + #fZ-9lc7le@;%"&Md$W6VS$aEcts9?D'%,B0%4Y=a.IlPm9Y9U@#%ENS*HRd#u2=u4+JdR` 100.264 + *J%M8?=Z/J0p(1g;50]NqEkm%K!mWO:&:fJRRbSE!n?B/AlA\M&)NfIXpH<K\o<#C4=iN(l 100.265 + .Mhmg)<46VK%4\<T=,<p*LdLphKfG#7CFdR,q;M`=)mW\8;$rJkP:n(h<(,hn5^MW]G,D:Y 100.266 + _#?L1hgh=$s=C+f9D[]E`ep'<LnLu,?BHOW7^r,Be(?<m*_5!9?D1g.7f#aQPlTTnlST][X 100.267 + sm<2"d(?t<BT\MG(eimMH2\Q\hif=<(ks1=KGYoME2t,BEOH;r&\7jUoX5mO8cBbX>Aa](q 100.268 + "7#l&miM^@?Rj$4CBZlhi+Em#:lF\=NblGLMXI;H<sjdjqLh'BF'85IBHm%srkV))Ej"inK 100.269 + ?A8=..Zg6E)-Ol)<G2mWG3%;kViQ[Sp>CMZZ*L8o4LN9D<6B<8-RmBE;7o!`tSLY!JipWnn 100.270 + joh7k8ZEJ+UKLnqS(7?8ot?@<<k:@s[KA&H>U8pec.Y;1OW203`=8._Tu$Bb:sc2X63++7) 100.271 + 2sLgOQ3cCXXJ;Y31M>R&IA-S+Q?0j^R=od;D9;>5$q_/nLFMgT&da);Vj5f%qiG9:jL06;> 100.272 + %FE^N'G@,N;Dg-DTG^"#dT6@pMNk]bp.<PkFGK4HA7r!l@j3F2HD3"..p<@gE6$(,YYgR<2 100.273 + O,%t0Lj4u;Gb9k<YD9f2q!D0Rm;I[aCrGb5m0XXbn!A]K1kfRlO_i:PoJF;Hpoa'`T8sL&N 100.274 + rN2m^jAq'O%fArKo@)YMq`8K^WsSoEF1ucInsuQB(g_;p1KQa7LjZ=AGA1XoiBpo0X9R+-+ 100.275 + f'bT$HM2K!]-T,C6a!ok15P50`UGFGR*h!!f7Tmh^f2CinjFLPF]+-Gs<])i6e?p)e\XB8+ 100.276 + gG_:-ML@/sORj?Vngj`osoLk[O.(kc0Z'XuZ6mK'H/f(TG?5X7dDd^<r`(sQGi`(!PEL_9b 100.277 + sO2ZpA[En&]%i:XopDrn!eogboq$HHIr)WYaV=ZD0l6j>pkM>D_E0F>WV7u3ma56RSQ?oai 100.278 + MdNOtSjVHKHf6,!iBVnkOI8YC@cdnWpb1a_#'G`?9nb`jq/tHl(Ja_EE+Mi7IjSD,=&F=2# 100.279 + ^G[qHihiG&U!Ztk$jpC@^uu_9F;%-rWNCU6"&&a6m`WVL-oCr0Eaik&r4>&;0\U"HQ.a4,L 100.280 + Mn^L.*8DVP,T07#k7tOiH"WQV>D%1R^a@ET?,?EAjCaB@H\[n_litSg`),74+9mMSH.:g4S 100.281 + C\p8U8jeL/9&[8;>$/(OLk5/eWr=_nk#6H[h8[S!Yp-qoY`EedpE[qXs`D0giVA-gB^rqUP 100.282 + r;C<(`Ml+l.-KAVH*/2]HMonb_=a:oi23lI"F4KlBL=cOT%eRl671J2aYlj?YD#Snh2TRjt 100.283 + UtGpd#pGNk@Je^^hc13*aS2p0XGrpsT;hY5c(#jd);;tfZ7]?K4k\q<-f#f'E*M@a%m8\j8 100.284 + #Oo'KoCH2^d#c8o2pEJ?[,3SopO)%5Ko9WV7,TOKV>+*HJ4Xmm`HAV_9beFMnogj'\^?AJg 100.285 + 1Z=.T@Bt]<9W_&@.9nMPJ*e4#j,[b2TY+7E;F4XWM<=;&Z-&CL/S^c&=Lg5qT]lO?aEklO" 100.286 + g(!Z*+*;H/nE8CC2'T"2g$5q0GsnhVdE12M-*1?Oeq91uT2aFU@HYTl!#@3!oa9uc8PT>q5 100.287 + [b8j9ZqF';9CeM)`Ui7hbKK<e9DW@G?*!jR#LdX<GU++e9^_)DA91'iiaO*\U<*Beb+7;`W 100.288 + 9T9TEer`j0Z]N6[oR\#Z,]]GPK"Ek)4Zf?U(g?LCosK'OZ`r^s*8!s4/9][fj7Hd(2=t`hT 100.289 + l'oeP,Ltn<fa%J`2??XNNB@GgCA;)Ju."<,+^+168M1bnKaj$]("ODGbB7i6DG&-Q10Ao;. 100.290 + ?@<WlMgS)+Kt9f/]RHXpC\(#b88tccF@?J(`?=g4Wp[RN[Q^Z=Ys=j/=JeP[2CpYjXB.k"? 100.291 + 75\AdP_fm$8"YZ?R<=u0d1%WN44GVURuAgfKa$rFJI(7-V5Z=?C<+9QN"VjBl=M,fuK5(g^ 100.292 + cRTtm,g58=5:O+:sRHNdFEErg=*mpUt5lTD"mF[;GAEE\`l+6<,>!]?0nZD#:?JF8UIB"cc 100.293 + WiN.%&u!)m)<)m5EC_suM-MN*(5Zs3c/?EQ]YoW<o6@`/MK:Ti\#CV-RLMG@H(%)`+^0VTh 100.294 + c<KYZ@luYqZ42LXf\Te+nm0J=D3r6<kr:5Na.]KS:?oUSK<$Xk`oJEcH>[-#9C2<.9^_h-J 100.295 + 3WDib9rcIAWkk7p2M$GrDYLU:pd3;ANTqR72O[>V5M[?e7BTCntV52KtVjcX=P=_1i(KJV) 100.296 + 1*4*#U:p&[Ms,i&b.g4EqU^6+`]"j^D)+/NC%U?#cage8\_7?'>I#U2eS&SPlS[Jm(ZglP( 100.297 + KH#taW)T*t46/8O5,YljC15%?WLgs81Na.5ipjEV(,KV2a/e^YdR.]=ZBRYke;n@R4G"F/% 100.298 + -g5^FY*/j@91%DXmf>h0eKl(G/2JHroDh:2)JYi-3[;gZqih90l!k9`?"FWq0:2Z+i!`MFb 100.299 + eaTQp`UgAA;r`JJKRMD3<i$E)j3Zg%mgL.N#Xr*/$`E6`CNu"(',:37@i1q(tcd&$ofGIH8 100.300 + d+[>!SZ?Ss6?.P002!6_=BqKqpb85,[biLh$6>&!d,]QPC0j"Ak<r4G1d%m5-/ceXFYS6'3 100.301 + T(2<Nl^OY\mac.U&n%8rQl8S%#016EjgPa7k.rXTO-jI+IZ,=ZX<ED7hee/n-fM+Tmk3Q[N 100.302 + JV2VQ$L$i*dapO@]=U0o&C-)[=V\Y'aj.,$-SfO/*@olNB>%>E1Xa'8TTX9"iE>XMZd:GBU 100.303 + /!$*OAnOm7)*Y$b25\mYT?WND2X/1DDC=iWVCI!jhI158FV6^U"mUrE5mrl/&:6_m4$D[&q 100.304 + 1T4u;:O=-<pJ\YV;tC=e^kO1.huWsd70Z,$@,e>eDI,:L:1.t\k=4nEZil9!)Dh*;ocg"E5 100.305 + cEb:9)EAX<iS)a`u$/)\1RQ*K.2R4Yg',f467/DQFSib#snQ7$SK#1,_J3=/sMP/+f@9'iM 100.306 + kJG'd8+eZH70'!IEI_e[f1NOG/0g_@pWY3jH_ZI[1B>MFjNaBbL=Q*S+WiTe2`]83JnG2$7 100.307 + pV0(XdYp)*Ol671BG&HEZ[r;]BaD69JmLA-fenX4uHKAidh"G,u=P#m-Vg7a-oj8M;!*tNL 100.308 + BC=UQ^Xa1hhtSLBn'0t0=<=X%RdGGONISLiVYJ]"kCPCb'fJ#1rF'0QC7K.B_cVA^?lVGfn 100.309 + 0T$kGb/n_X4C5)*IYW/:A<QQ3;,'".)sopL#It"NX>+Oa-cj&@P!&HE@s>oGodH)WoH3SSF 100.310 + dlS\pS!=,AQ_>8BTS;*E4SnO)^[ibB\OEj=J*M1+lbSH(F).X-&;_rD9)q_^NdRI@;sgeB9 100.311 + l%L?C\hT%HeIc\U1.kPYP-F&dS3P%t9UC`bY.eq;B$5<J*"$);U.Pt&=]9-12;VKCg'd'f! 100.312 + &eI&-enW%Y5\CXL@Ra%XM[Zo<G][(;O?tV=QZe!0P:Y&a5^TM1,^'Nn+ll*:41p4"6>9'GS 100.313 + /Wa&AY05M;03m'[G)PpFcd^WD%cpug[cXa2dT[Z.DA!Vg[hV,1<\&4YOrq&GmL7Tkq^H=je 100.314 + \'sThU24QH>Y=V^.<FlhjaXh<R'?PX:C3=qeL]NR?qAn<bC+a+,+\Hs1\8j#N+<<Ept!VP6 100.315 + ]B.an`hi9muQO3?kogg,kGf?"_,:;#fPQ[qB]\[Dt9#e\W9KQueQt_^>[!hY><O-D#q<qBn 100.316 + _qh&iG7Ss@b#B2.XH5H&]GV:>@><U/CIXEC,Bf)"Q8leN\GffjLCn0^NfrL^H?T%2QlB5R% 100.317 + l^USJ/jj?=0F[W^>-0cIUU3X3PgDJCmG!?+iq*'FWnLqh*T,$A`B8uH<5KJ*l-04uu)!kQ: 100.318 + ZM@ibk5=D5oA4uDH65T:XVSM:<gUPdqrQc7@V,&?$cDg*AaKAn[J&J7gj>K6D`r$,pKmmXH 100.319 + ln(3r[52I]1]hBY>`)^?`j.FgXkWX^\#CHeb\01m!YM6pAX72qqlnmINQQ(s!Qq+hk0OiT@ 100.320 + Nf<BC5ZT^\E:#jni8$IJMq$C]C$irr;0[s3L]F&-Do/#69hn!70^?YS+cjP1PEii3-+s:[\ 100.321 + ?Q6M`A`!miS&&2OD[0_F^<e;WDJ:*B^Y7P,0%"HZC_&5ra/,iEMS!UlEX0NSHFHN_].#1.8 100.322 + n&9?HC>5<$<k7DbA!XAq6K*[Qs#geUR%VWu2HNYu#bKu@U:koAhV[ANd$HosbN^2aqRgSXb 100.323 + $;e>C&AnoQ`mDY)`NN,H:AkFeaTF63%?THW&E=6l5moA1j=.1l0]qB!h%*?Z&((=f#(G9:> 100.324 + h?2e#LL!m0*`#M'+p?G&^_X_0^@L,%gFa2jq/CBd5)G52\Uc^&lB)EYgt6H`tXQs'[]\k&Q 100.325 + 9EA<u$j%(!aB#EFLHg0b^g-(=@%4Ys,Q,eI_kI<"Fm(&VCotLDZ/26NGRQ&SC3`hWN:+):> 100.326 + &p&JGIBkm<IA"@ALmnVnJb[i:IA)p^kh!7MfR^tfTt*7<(Q&D4gXh[\#B&u(^3,"2M%k8oc 100.327 + O*msEu&b@)ApA9G3*&5HNERQ%.#9]+b(JRO:0mY9'iZ_eA+jp_*Z2GOa]bZbS,18+h%SIr6 100.328 + 5oS+?eH14DJgDSV%jNSH,#Q<'Od<<CRj>:D-.6,Y;$LCs*>`Z;b(@AR+sS@B#,MAf2X47c; 100.329 + /A<=DLH5TR^,^3&^)L6QRS)dgQH+OdVB%"DCa.U!"sI@LmD"<K+c1gOt!R`&lTd1)_'4Y/C 100.330 + Mhoni%'CWt-LS*$Rm'$5E#F9.R!)I\<.!ZGJ&R.kMD20@Kj<En)2YW>bp_/eT6V.N14EH;> 100.331 + dq'2jT6J=A0JT.`Nt09ZDm'/MF;bo1TT&onX+nU3+.74oo60d`,nZSmDe73D*>+>["U'4Wp 100.332 + n__\$d)RA$7n_l<66SteULeB^+1M2Nn=X%n\,tie8PD)"qQT9s?0N!*P1)DlY5rYe^8^jc= 100.333 + _V[+fM*"9"18:$ho:%j@a#o3j3V%"@13#?a1HMIXL<:DfMC]2@nfm(<N!G;@_Z5K+F;uR'N 100.334 + <D#3K)dthINg49F@^U>;s5LDClX+t-`GT^_N@%D-6jaQ,dXp&1aY1,)a`cZL53X*V)Dl6)A 100.335 + Yq'$)1%dP!Cc9r1`E';H*i\@re?n&gS,p37>h0Zcbj<G=RO/.MH]gP1h&lXZ`Zh6&Lnd1Tk 100.336 + f)H6Q;s-3@[AinAQ"IW?gE<)cdcM3UYs$V"SDQm@-JB!`p2I&Q)$O+Q+[WXNtn5^TEKR,ft 100.337 + h!Z+J+_b05Z/j_?`dk*QFaZ22):XoD@#brj]$S#"&0U);dnjuJ'Fsj/GO0k.4U=c*<mO2\3 100.338 + CQu(teAh#-@!<;5-?UXY',ZMR[o>a=2'NE-U_?`"%OH6X6F,rk-X;J7c@2!A,#n.r'_]>Lq 100.339 + bT.s=4Mb;Zd1+Bdjh]U+gVbUob`'BdV29S<lIC(-6l[1&<&C4-.QNK8^0GATN#N\,@t1AeN 100.340 + b5:'3-.U5A*5-;RUgZ#?kRI;9+;o-dEj6auOSq+uQSHo2%Htn2I7uG!Z^H5u1j>;.%f04k7 100.341 + n)APZT@">s3:7RH'<_0]Df:L$o@3PnrEL-[e^;+C.a=;F,3(.)@CKi$<V0XBRmQ&m86n/u@ 100.342 + g<3gm+[9QO\)eFUA.b2H\L6XiBUKldsQLfZ3WF]ZARqA[`*Y^L=[4ibgUIiuOT]2>`p'jRD 100.343 + KHq;d+dGJj+q&%L1*X/U+t7s`PJ/J%_dlfkCt?l`(.g=t%l@<a2jRG5ZFOI36V\gE<)lsBp 100.344 + )G8)jIfM;LK:<I5QPbs(me9L-]$_TVP.]jD/iPA/Hn7]nuYe*r+0E6CdO8#QI0bT2fjS>c& 100.345 + (NAYa5eTd-q_!D:>J%#^oIA_eMLcBXG]4pDbO%rW!_ME$U3X(?QkY?;`TLEgLcdLu:2c$ms 100.346 + SZ0t2rf2^"ePqe>_pUBJ&Hei,$5a`FqlHIo;K2Us%W6n&h,FXUB]U,")14"/]23sIWhGBJ* 100.347 + Qs&umn+ZArm(:.g9dsc3p+Yt99jJlH$A0JGP@WrW:(XHhSS>DqpIC?\)28=N2"+<K`<u/hX 100.348 + 9MKjN-\@^9HW+o/cN?U;:Hb&ZI:FdXGO&Z2c%L0E@?oh,64,G+i$)7YJ<umR0/[pi&2dJ1E 100.349 + ms>FiSfOBpP0SWKD6C2[f:R7Af;F4@\R@dJi/)r?\.r+Jh2n5\>+p^d=V"C2`BDf2jo2k_h 100.350 + :"WL)5Ds+qKH>0n*2A.9O/4p)5/r]k/I:NBqoNP45.^"b).gN+=)\="Ym[1Q$GSO40RpEbQ 100.351 + [5[inhb=OKWjfS22Lcl_NJ?:&u^R*&Z9'PV=IF4\`=FYk:CE(=N6DZY?NajYc"7uY<8@X+% 100.352 + f\Li*ZRu_fd=.'#R).Q1(WgXWTU"Kr(=VH`=4cu!uKu+RBq*^UF+\QkEI#85pLVI<_ckPT0 100.353 + B`c&;oL"E/7@JEJQY5iUQ"a7j:*TE;M3Ein<,ieDAXo13:YBELq.q2*]hqdnRe[bKJd6POM 100.354 + (ujdG(M#X62uVTE&Y9-R2N"Jg$U%E]Kc30Mq2I1q+I@U'Hl*&,MDsDRMT$#_,iY9-$db1)D 100.355 + dHd3q&D*=EdD?\2d[egS!3^R3HuGe$`,Zm?0dAL#Z[=U&RdD!F]"./]W/\K2bf:>bZjN:3^ 100.356 + @mqK,XsH%291,8Ib_(q--,:R^"%+^/2j(Ss";Q(qN`Wm`[\Y!3r5Tl$!iUfe;*RH'*,&gu. 100.357 + (<XFio\N*ZA-?<Tr6Wb*7R=Cmhc^:S^Dh8.X"<hEhnj,=uL&.!kqT#SeSZSWAXl:ZT(QjbF 100.358 + JWH8'Z.g?<n^f\Q4_2,iAGEL7j3skL#HZPK9H)BBiZF3QaaobWTE9\AA0E@q'<\'2PPH/e6 100.359 + JJpBSZisIY]W=$D\GgV(+8tuZ5\;'&Mosa6(LMiQP-Kg>Ap)N0IT!n;mrbTe6-!rmpNY)-7 100.360 + 5Fk>/b0t6<hT%'`&(XBXf8]j-\gH]KnEfRCbi>V4j9-\Q`j;5u)k2)nMaL0fuXURs6=8ICM 100.361 + B9^X3"jBeQuj$(["bP+$q,4:aD3^LN\LA)%%#*$Z60!kGR%OHZH$g:rt7g;*SDq;UeV:hc3 100.362 + M-,c<H'6J`0QIfZt&S4'aZ37):(48FD[f62566^hnddN+I=g=Je`8#j`&Hfft-,=\.\FSXa 100.363 + dMPqNZX4@^[l<uJY?At91Wc'NaOC%.q3f9L.=rHi3?3[q*5`7KL6:8K+C#8Z)d7`9jS@T][ 100.364 + 921PQlXA;S]fOYbZsV_&A+u"JX3gLX4o>5j&K9[Jl5Zpjh1hA`jsI/Xhg@%7m-Ck*?tj&pV 100.365 + f6JX1U78$X6#i#+u;LIs5#urAW+bi3V6*[+scZ\gtVq-.SPj"T6?']Za=PO'*K./0%!]*:$ 100.366 + [SD:b>*"$L%hI/VM6>M%Q%W`D3]SVu0,QK>bVX*7,Aie,JrRC9m3a.%Frh5T.7[c'=t1]8o 100.367 + EGd5nl\Y;D8gACX!4iuMcf%L"POSrbEIG(hFcbs+3JmIKq*V.VVglU@Nesp%'=]`mo>Me#+ 100.368 + i'%\1%):\UV;L&b,%*k!*[BZN-fU^Jinc?K*])h_2rgJkj5*#]*^f!p8*$77jPE\o*`M0,= 100.369 + 66#Xin\Q/h:(=HBBGd#F6oA7SL]=/\_:8K)ub?N*eWZ_LZSXg^Rf6**g4-!(5b9pkanF3*i 100.370 + &!tMr("GeUEeL*jWU'R"X:+0d)>>*lI>Na6]D@m,$(U*n0L_fBo0amG?ag*olZpkO+r-mb[ 100.371 + F$*mOj/p&TX>mlpd@*s;"=fFgCVdFlS+?PDs'"m^t)ek:$$+!^.2l10cs*a^N#?SWfkS+DS 100.372 + 7kl2Ik+%#EMbfujN\Q&rtIWpmT-l/FZAUPE3!AX:ICZ'"@oD_8R+*+?q)M7u1[i\chT3b>F 100.373 + /-Fde,QJ5J"D#FMDtdV.q9!:CLaVr?DtkE-_P+gC"%WD97M^Kcq0loNs24bA7UM2Lh>Akt> 100.374 + VYoD>qs*K^u5V!!a'akXo&)*Q2eo)+7c<M.G=P^g*-OsJO&.T=>V'2$&(_)OP"Y=+VBPtQB 100.375 + =uH?83:A7cJF?oR9(LO\"D>Bf'F!(^*Ieo%>;&@540Di6<^XVD+=,9dc.Xo_sD-Thss;=u@ 100.376 + @`8Yo>LPhL7DTi%dglBPP\?EmY8<pPj6omQ^GHs#7V>;_E0qmBO5[G#"Pi@-?`mFPN`<G=F 100.377 + N`nhMIo`^D-]jSV^S2L<Y5asU7F/65l+d'lWnsNak?SRtnB(MGGp4#B%d7<NklXcg7p!m4t 100.378 + :V15!6#[(aY+#k8is0tdAkcLb-0TQhh<+6Pg#!=&alRR=SDJHSU!`+HqOLs"%nih+=`mMGA 100.379 + Zir&JaBh!Y8/L*HJNl3c_#/LiP1l_IZ;[_ZEqN`A%s,CoD\eU0GF`n5d3'U">[.&`3HqWl0 100.380 + em8XaA@a,n$3e"KHB4E:q*u.9d?I:QYSh6cr'oS3N,m<u+60FC,kS0pH;h7];7]I]X0&<jB 100.381 + M;$n/X&c)b`T_eDe++s_bfQOu18*1kU#.>1N^`DVr(/5%bJ[k:=ZoY3"K%7@ZI/M@1[+?"6 100.382 + S0eapE1/T;kW);/-!7S<E&K$_]jG6Eb7'/XL1_g6^:p`(j6r>BA`9j/Alb:t@mh@71_Xp_N 100.383 + 2kr0g%S>-U`:,Q^1qEuX,;]Qo<)keU=&r>/F^E>5%rq0H/Fi)Pp/6^c/Qa.&au#,ViN7l2a 100.384 + e4?K#TiXZ8t<Eam@S&q2O11T>.18<pK"=H+UQS;%4`UU(&IZ4d,qa^@bi.-;g);X]D#rAf9 100.385 + PNF?FR?2HpDd^nC5[eo[.SO<s72r,0s946Ou.VeRFB&FkjuC%"7`)@^rj"N+4iqZ[L`6ol! 100.386 + CZ%_ZtBf9A:dPUsme`W/qN1!Q()\Wj8*"1b`B!bXDN+I%F;n/%a1)9L@%;)Vl:;r`1)Q_nK 100.387 + .G+YVgES`o9A2VWH?/.7foO7r,nOp).>7qC2;eL:!6u='\f9\s<k2)%T6Y>MjQ\VI+4DuZ> 100.388 + H+l/5<rPC(3NtQ'&c=PHGJuM$TuM)bG9=nH1ZkMSff/o6JSR4k$I[&T)DDSA,B$%OoVCA>_ 100.389 + 3j%[:/-XpG'jFf!k2eo%/mF?ghu;L'>0AFhY;brSe49J#lZapM"+T>-0BKeGG")F0,?W)C7 100.390 + Mrbo$h1T[t\0WT>)sQLKYeVpYk*RZ^o?X%ASFl:Smi85F:R0I]CGf7pjfeYr1$VOPN*N"n& 100.391 + !*/HK3^LjZ"l^-6\8qd4^DJe1BX5r^:s87VElm"'&[2R(;,dY\:6L&me5i<`L(#pV,UBu&m 100.392 + J"eg#kL(M?B2"e)T(=Lu9:iX^qk;K&fe3AUu&X3^f:>VXB^k&X7.`0hN'4Q&ZM@i9W6&5*_ 100.393 + TAp#R7IZRmLk8(sA7&>5TSu49P4E'dbDK/o2+G+/)c<D1HI(u/]p2\8,IC`#i[R)\(l\l36 100.394 + ICLLU,PV'#pEh9LH6$a*&8b?aT)Di<C5D26kBSL7kC!fNqt!9aT3$<r(N4cL/CQ'8L[;RPX 100.395 + 3Su3CBb/Wm,=Q!tTP7"EdocLqI8^Z'nJ0.8;I,oY6b,"J//_2%F/5*Kfi><<kOOpI-(JQEg 100.396 + -<a7Z,KAe`jd'4u)UZ`mOC@f1PX/^-i;=u7T^klJ,eh+\bE+/IuJPKK=j:!)W_B=.DfEtPF 100.397 + g\W76_9KcCK^4@Y^^HkkQ[K$s"GY>$t0.4^LU(g(R4SW["LU?&umV->?auGsrocKju8mBP/ 100.398 + T/ER<-`%NSPqeWpXf'so3jLe;.e1hZA>fSa?uhf6`E,AS<@+4e2MY2AM,A"F7o^5elc1s\[ 100.399 + "5&L0QSp.XU9JJ(%!?I'kXRJ]"",>ni9ROAs^T]@koL%]apC(_2QOi<@JXhWli2[<SH\CCU 100.400 + J@Ont?;^)-9%8,0qgU3l)DYDdc\;<LrdaL/]Ym@r-:KZ4\LfUSN*'.V)XbTp!Y4KfULG4`@ 100.401 + 7k?D+Z^k@AEeVmR;9`)Nc6=_ID?=p"u^-X[AXXShISFsbU=]1Gid<PQ$[#2p9.=V\$O)C?) 100.402 + %Ejb5$F)H-H\edj#>s#$.DRJ*.(M<&?1M(atp#!CuL@JS3a`lFk.>rD9oj58`HZ$oQ^')Hd 100.403 + gcObKDmf<coMupT>0(h8Pfb6RLB0o($%[%R#Jh6)"^nt\K5buE_AGcFL7B]?XW-]8\)Rp+] 100.404 + K(_Md^?C/ZDNf_"?:@d-cHq#'k4gYMfEnn`XAgS#+R8`0ZCcD\E=lB]1m9Zjo2@6!0?,<j: 100.405 + O.*8')Vr-"OZVPB(hBar*\uANZrWEjf&m).tO4]XaALp0Z#]LG<C'QsfHU2)s7K*bN(<Rqb 100.406 + ,NVATHej<?aL$da[T)7_D4Cat\=]FW=l#=3#`l!C*e5<=#fJ7'?%Sb(-[9,[=>BC'K.1kq@ 100.407 + G)J2?M@I#DG2BoIEP=Capn0.GP7+,53M/%HAX*&M]c564Cj;f%uobf4.]"JtrSLL"Mf"]iV 100.408 + "o<!Pa,%haG1;sCktYZ\7g*7Q$+i]?$SA=3:"b.DgL05^URA:lIIl)qLN.2iSZsTe4=3-7> 100.409 + \p1+>!q@:h8_Tp&M<-dGH&^=`05.X:&2PJo(Bom\u"["Of5NCNmu*.G@4.D/;X#DhBkmBOT 100.410 + $SI\?=F:=eB$c^&Q,tpE*Q8RcEgf@Ch:b\N*"NPo)\a03$dS0I%Z`1dTPX[YRX(-;TP]c?= 100.411 + 1&l(d,]O+$R/M:$W)J`L&LP&On9apq2T,ojjtF7Qll#Y.qZ"m^GRSGTeerYaquLTu"ZB@:S 100.412 + h`[#r!N:c.med7CT.ilEWG9]?.%,X>r>n=5b^A6Y_7\%r]+R*RAe#iF0m-!2<UN^1Hj#gb? 100.413 + n`F>o&g$`']XO7!#@"N<lMa>d;&J\U$oE8c;i+*>#9mA-+,R.<8pqOiomKAkq!SnibNB?"" 100.414 + QO-A05O+s5JQmj]@$NG:1$,?Qh"[>b5%Zto6t\fo6JO)OrlkVr<^+2KVsWicVQt%B<?i7hj 100.415 + SO\CV;q]+Q9R1S*\!Tb?jYq-QR#nEN[!OHO%ms+6WS?5GP=ORp*/!_`M)@%GTnNe+KUp\$. 100.416 + Q@2KJu2]CJ1EftTM'^<6Yo@#%"J"i$.`^S?3<q_^Un&A]%mR,Y<7RYrm.ZaC0N^_>'[+QPF 100.417 + gq)s(j^f1Sr'GuY<S%4AMMrU,<J;cdeKtX9$#a=uje)ES/JrA[X[YW_+5_=a7.#]+s^po$* 100.418 + A)P.l[^tKj^T1^-,VR%<0T)<bQJ2<r//>cj(;@-lN`-S-^qr+E+GfpTLbmSkH?4p1m>+FZ\ 100.419 + ]BTB0T<QSdg5;!Lr4t'9HT)&i\o"3]M&(3ljl=f&47.'`2$"^MuL@.>!+<f[S):6X=Lt,ho 100.420 + !fs_k<F.r&tEPM*FOq6]d?qLhsfR["pOY#g:hV$rW%ZjG<]p`3`jioO!E%9Fcut3@m#f"7( 100.421 + u[:]iu!`>F?K^kB[Ri]YD*\`?4LFDD.U#/s-#2nWu5bUUP9+ulq][8H$T"EVUOFGNl2/)sF 100.422 + A;hDhr:,cER&.Bci`,J$WC^BB/`$.<5XDnMu\M7cM6pL_Y,\OWOE]Diq7oY5aFC6rd'YNJ5 100.423 + 4S3,Q5laEZN&Gb`6gPc0`!o5\J4Sa<a9r^$Y_'j4KFEfF#kVFoI$_s-kJe(s7O+ci5m,%"N 100.424 + 'MWC5!/%["?<qk5mUFga4-g*."b)jObh56auIbi@#i?NR*(Ym]B#B?I%&*6VScgC3lC!k=H 100.425 + pn^#tYhq8n`jhP\Grd,`3:faqSg9kiKs3M9:dW9;K/0"+\9=Z,8\K6VMbf4F.PYSB3%+bC$ 100.426 + Qg.#H(lZ,XGq#YYY_`'k"QYDGZg6_(HoXG'",N_?b(bi>Hk_Mc;fF/Sq1b1+3<'ZgX)4%\A 100.427 + D7=;R<*5bKuZV=sY^G)0PBSSU@_8j?_7A,mignb:p%>dI_\eG\!m,QAYJ',"Y9#SHg.-Ea? 100.428 + L<FB]6B#hG.ffp'Zq:..c+&?`A6+L#m5K.OLa/?HAEsn^-\s&83P=d9AG/dZg'De#^!_p:E 100.429 + .fqrgdR<[8*GoG,l>mXF&,3#\$X@IKJ-(p"OL(Sc<05SCl6F.!R3=Q8BO%gTSLeV@`o%/7= 100.430 + ,;9!.n%G_?a]a]#<ti,h30"gou1b#gD9ibi;N*(t"O@aGeKV*7;bX#f1WiNJ/#_AIjT]`tE 100.431 + 3PLc^uu$e<S!_h^/n9ONJ#AL.Uf,ej_#c2@Jn'S;Of/-rp)#fRTBV&3(#0[g[na'a8(*-\u 100.432 + !XNA!7]i#rum#<FRL:4HNL4o='CMC5ML+t7/7>O,k,k<s32pfE_4^7\E9gU$%6O<#4[\Y&G 100.433 + "*ZpT.YsR[e9*kWPeg0@DU:6"`/QM$ohVgZ#**7"^8-ZZh,$/':!nAaeO<NhEo5CYjjbSF; 100.434 + :IJNj]@<J\;6B[e\tkFns.a]j].dS<NK]\4^X&B>mQEr<^gWOEdGt-M*@/]<@q\$]k<1eAJ 100.435 + =Gb<lJt-np=CCjOP:Nf!T#=r*.]O0@aWTf4B-&"`TJjEJWtR<kW]NX@GV="3f;B=64n,/U. 100.436 + aGGmKse=#GJ&!/o:sj]:Jq=Cm5]FY_E.M8Maf$lPV*9oIZCN7c[?f]A.GooIc0OP(A2fd2g 100.437 + 723Z]^PhB'%fk$K&FdLd8R+[amf^3M]I:cT(SCu<S=9.10&;a!M(to^ug*NKI25AkoUlUdo 100.438 + `SH7$h5AtXq,uq9=nmg,%Ad7IXP24,g?#KkmA<HlVco(bgEF[BR+PT@Lg%Kq>@k7tFgp+Z\ 100.439 + <\_N8qjNS/\BcRVUg_G3`R.+Gh/Mc^t][@ga0hm28e3<`8"A3gh"L\FiW9kaP<'&gni0K[E 100.440 + I@EbhUanguZh`["Y8<]\O=MRYo4OCOn'SC"T!)%/$,rA_5ah<nfU]gJ-=ZNRqIDgtgB'>r$ 100.441 + @@auIFaM+csdN4n"Q-0*iJ/_Gd,^[p^H:#"F1kMDKghGrF$SS;DIC0mRJhDO]Wp$\s+hO+! 100.442 + &7*GVf!6AL6oA<R@O$20U(#%PQW8C>Ehkg10A\H::d4L(L$FT]ejo=6=cel]th,WFl#cZ_T 100.443 + "5m2`N0X,H%JX==U0p_%i2-j=ecuWg#[jm/i1:D9p(*$t)W/dYhqenO/e6hu']Dl]?<uLI/ 100.444 + MuEm'Ae`diMINN4q%l!%:QYe:duJap)f/%*";N]@Ka5MSg*/`,`(k3%.5<K:krIK-fUF2?l 100.445 + eB:/a$T7*`q2LioVkL/g_"d7gQmlj!HPA2DaA_1uhUoj(:40FuSH939-;bj/+lt[QENh4QG 100.446 + !Uj5rPcp-7UB5i`\Hj8^K:2BLlO7,m>_%,N^CQ:L"j8E?(.jJAY/[RF`H+66hSA9LT+p.sc 100.447 + S:urHij@2i)2BZFD_+#>RAL:I>G$!d[=P>Z+jZZl,8K8L;h&XmRQ'pS9i6p`l@-/55jsFR" 100.448 + 2Ikl=AEHp(T1F.fG%]rlB]bUpk,)nU[VP$FD!';ck2pRDp2B*uE9A!Vk9b642KS%NFQZ\Ik 100.449 + @So#G&EU@A`oA)kGERg[X72WI-9(/kN76Vp4)91JERc"kU(oF2M:3_K]lHjk[oS5G),:9M! 100.450 + 1.]kba7$[Ys@hN9JiPkiRogkdG'mA;?b=LR++(&[;Sl?YNBr$YG]_%[H:5Q"bE-l&M4op6k 100.451 + 0RRq\IUC!N,\fRE)QR-DV`l!C"I#,2@bUM<8jBr7`kAtS?pV.t1Ll#s&kVOd"4W+qotl?9. 100.452 + A-Eh10VX!TOCAtMS%\@GWXD15/CL4%+hQpqa[VIM#CHf4CSuuk3U[([fCQ>o?^6e/7[;5cQ 100.453 + CMq"**jfYl\SP$QCX0k6m_N\aX)(h*m%0a5k/6Nib\PeNljh5'f"Z$-_efn0Co5QqI`H9U` 100.454 + pD!rCYm'J51aTla_`r0D4])@(>%rfg2)M\m7,LjL>-PlbAI76D=5j>hUq2_iU,4SmKV5/k2 100.455 + g<3b3j/lmXEsZNnWnZipITBm[if`T%S#Dm-]VuDPkqOY4$9Un8;j4m`+AVG4TX,ennIYl%% 100.456 + ?@#Q~>Q 100.457 +Q 100.458 +showpage 100.459 +%%Trailer 100.460 +count op_count sub {pop} repeat 100.461 +countdictstack dict_count sub {end} repeat 100.462 +cairo_eps_state restore 100.463 +%%EOF
101.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 101.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/Scheduling_states_2.svg Fri Sep 13 11:02:18 2013 -0700 101.3 @@ -0,0 +1,210 @@ 101.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 101.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 101.6 + 101.7 +<svg 101.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 101.9 + xmlns:cc="http://creativecommons.org/ns#" 101.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 101.11 + xmlns:svg="http://www.w3.org/2000/svg" 101.12 + xmlns="http://www.w3.org/2000/svg" 101.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 101.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 101.15 + width="744.09448819" 101.16 + height="1052.3622047" 101.17 + id="svg2" 101.18 + sodipodi:version="0.32" 101.19 + inkscape:version="0.47 r22583" 101.20 + sodipodi:docname="Scheduling_states.svg" 101.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 101.22 + version="1.1"> 101.23 + <defs 101.24 + id="defs4"> 101.25 + <marker 101.26 + inkscape:stockid="Arrow2Mend" 101.27 + orient="auto" 101.28 + refY="0.0" 101.29 + refX="0.0" 101.30 + id="Arrow2Mend" 101.31 + style="overflow:visible;"> 101.32 + <path 101.33 + id="path4008" 101.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 101.35 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 101.36 + transform="scale(0.6) rotate(180) translate(0,0)" /> 101.37 + </marker> 101.38 + <inkscape:perspective 101.39 + sodipodi:type="inkscape:persp3d" 101.40 + inkscape:vp_x="0 : 526.18109 : 1" 101.41 + inkscape:vp_y="0 : 1000 : 0" 101.42 + inkscape:vp_z="744.09448 : 526.18109 : 1" 101.43 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 101.44 + id="perspective10" /> 101.45 + </defs> 101.46 + <sodipodi:namedview 101.47 + id="base" 101.48 + pagecolor="#ffffff" 101.49 + bordercolor="#666666" 101.50 + borderopacity="1.0" 101.51 + gridtolerance="10000" 101.52 + guidetolerance="10" 101.53 + objecttolerance="10" 101.54 + inkscape:pageopacity="0.0" 101.55 + inkscape:pageshadow="2" 101.56 + inkscape:zoom="1.7990428" 101.57 + inkscape:cx="380.09076" 101.58 + inkscape:cy="756.04202" 101.59 + inkscape:document-units="px" 101.60 + inkscape:current-layer="g3898" 101.61 + showgrid="false" 101.62 + inkscape:window-width="760" 101.63 + inkscape:window-height="1141" 101.64 + inkscape:window-x="889" 101.65 + inkscape:window-y="6" 101.66 + inkscape:window-maximized="0" /> 101.67 + <metadata 101.68 + id="metadata7"> 101.69 + <rdf:RDF> 101.70 + <cc:Work 101.71 + rdf:about=""> 101.72 + <dc:format>image/svg+xml</dc:format> 101.73 + <dc:type 101.74 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 101.75 + <dc:title></dc:title> 101.76 + </cc:Work> 101.77 + </rdf:RDF> 101.78 + </metadata> 101.79 + <g 101.80 + inkscape:label="Layer 1" 101.81 + inkscape:groupmode="layer" 101.82 + id="layer1"> 101.83 + <rect 101.84 + style="opacity:0.44897958;fill:none;stroke:#000000;stroke-width:0.1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.39999999, 0.10000001;stroke-dashoffset:0" 101.85 + id="rect4618" 101.86 + width="245.17555" 101.87 + height="96.120583" 101.88 + x="248.82765" 101.89 + y="196.71402" /> 101.90 + <g 101.91 + id="g6133"> 101.92 + <rect 101.93 + y="223.7659" 101.94 + x="346.78796" 101.95 + height="19.030159" 101.96 + width="51.619602" 101.97 + id="rect6089" 101.98 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.60163802" /> 101.99 + <text 101.100 + sodipodi:linespacing="100%" 101.101 + id="text6091" 101.102 + y="236.91867" 101.103 + x="355.0636" 101.104 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 101.105 + xml:space="preserve"><tspan 101.106 + y="236.91867" 101.107 + x="355.0636" 101.108 + id="tspan6093" 101.109 + sodipodi:role="line">Blocked</tspan></text> 101.110 + </g> 101.111 + <g 101.112 + id="g6138"> 101.113 + <rect 101.114 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.60163802" 101.115 + id="rect6095" 101.116 + width="51.619602" 101.117 + height="19.030159" 101.118 + x="426.78796" 101.119 + y="223.7659" /> 101.120 + <text 101.121 + xml:space="preserve" 101.122 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 101.123 + x="438.72571" 101.124 + y="235.94211" 101.125 + id="text6097" 101.126 + sodipodi:linespacing="100%"><tspan 101.127 + sodipodi:role="line" 101.128 + id="tspan6099" 101.129 + x="438.72571" 101.130 + y="235.94211">Ready</tspan></text> 101.131 + </g> 101.132 + <path 101.133 + id="path6155" 101.134 + d="m 322.39366,234.14931 c 15.56383,0 24.45745,0 24.45745,0" 101.135 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 101.136 + sodipodi:nodetypes="cc" /> 101.137 + <path 101.138 + sodipodi:nodetypes="cssc" 101.139 + id="path6157" 101.140 + d="m 479.14368,233.03761 c 10.00531,0 15.54343,-13.29992 3.3351,-21.12234 -25.62918,-16.42178 -194.34421,-13.27617 -221.31651,0.3335 -14.692,7.41328 -15.07228,19.58187 -2.13564,20.78884" 101.141 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 101.142 + <path 101.143 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 101.144 + d="m 399.05855,234.14931 c 27.79256,0 27.79256,0 27.79256,0" 101.145 + id="path6527" /> 101.146 + <g 101.147 + id="g3898" 101.148 + transform="translate(0,0.4467926)"> 101.149 + <text 101.150 + xml:space="preserve" 101.151 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 101.152 + x="267.54309" 101.153 + y="254.91867" 101.154 + id="text6077" 101.155 + sodipodi:linespacing="100%"><tspan 101.156 + sodipodi:role="line" 101.157 + id="tspan6079" 101.158 + x="267.54309" 101.159 + y="254.91867">Progressing</tspan></text> 101.160 + <rect 101.161 + y="271.7659" 101.162 + x="267.2655" 101.163 + height="11.804094" 101.164 + width="51.619602" 101.165 + id="rect6145" 101.166 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.60163802" /> 101.167 + <text 101.168 + sodipodi:linespacing="100%" 101.169 + id="text6147" 101.170 + y="280.90646" 101.171 + x="277.74329" 101.172 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 101.173 + xml:space="preserve"><tspan 101.174 + y="280.90646" 101.175 + x="277.74329" 101.176 + id="tspan6149" 101.177 + sodipodi:role="line">Stalled</tspan></text> 101.178 + <path 101.179 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 101.180 + d="m 283.06571,260.15959 c 0,10.07749 0,10.07749 0,10.07749" 101.181 + id="path6153" /> 101.182 + <path 101.183 + id="path6713" 101.184 + d="m 303.08493,271.76394 c 0,-11.10513 0,-11.10513 0,-11.10513" 101.185 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 101.186 + <rect 101.187 + y="223.31911" 101.188 + x="262.8187" 101.189 + height="66.833359" 101.190 + width="60.513218" 101.191 + id="rect3890" 101.192 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.60163802" /> 101.193 + <text 101.194 + sodipodi:linespacing="100%" 101.195 + id="text3892" 101.196 + y="236.91867" 101.197 + x="272.02063" 101.198 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 101.199 + xml:space="preserve"><tspan 101.200 + y="236.91867" 101.201 + x="272.02063" 101.202 + id="tspan3894" 101.203 + sodipodi:role="line">Animated</tspan></text> 101.204 + <rect 101.205 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.60163802" 101.206 + id="rect3896" 101.207 + width="51.619602" 101.208 + height="12.915796" 101.209 + x="267.2655" 101.210 + y="246.54515" /> 101.211 + </g> 101.212 + </g> 101.213 +</svg>
102.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 102.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/Time_in_VMS_1.eps Fri Sep 13 11:02:18 2013 -0700 102.3 @@ -0,0 +1,943 @@ 102.4 +%!PS-Adobe-3.0 EPSF-3.0 102.5 +%%Creator: cairo 1.8.6 (http://cairographics.org) 102.6 +%%CreationDate: Sun Nov 21 13:32:58 2010 102.7 +%%Pages: 1 102.8 +%%BoundingBox: 0 0 330 127 102.9 +%%DocumentData: Clean7Bit 102.10 +%%LanguageLevel: 2 102.11 +%%EndComments 102.12 +%%BeginProlog 102.13 +/cairo_eps_state save def 102.14 +/dict_count countdictstack def 102.15 +/op_count count 1 sub def 102.16 +userdict begin 102.17 +/q { gsave } bind def 102.18 +/Q { grestore } bind def 102.19 +/cm { 6 array astore concat } bind def 102.20 +/w { setlinewidth } bind def 102.21 +/J { setlinecap } bind def 102.22 +/j { setlinejoin } bind def 102.23 +/M { setmiterlimit } bind def 102.24 +/d { setdash } bind def 102.25 +/m { moveto } bind def 102.26 +/l { lineto } bind def 102.27 +/c { curveto } bind def 102.28 +/h { closepath } bind def 102.29 +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto 102.30 + 0 exch rlineto 0 rlineto closepath } bind def 102.31 +/S { stroke } bind def 102.32 +/f { fill } bind def 102.33 +/f* { eofill } bind def 102.34 +/B { fill stroke } bind def 102.35 +/B* { eofill stroke } bind def 102.36 +/n { newpath } bind def 102.37 +/W { clip } bind def 102.38 +/W* { eoclip } bind def 102.39 +/BT { } bind def 102.40 +/ET { } bind def 102.41 +/pdfmark where { pop globaldict /?pdfmark /exec load put } 102.42 + { globaldict begin /?pdfmark /pop load def /pdfmark 102.43 + /cleartomark load def end } ifelse 102.44 +/BDC { mark 3 1 roll /BDC pdfmark } bind def 102.45 +/EMC { mark /EMC pdfmark } bind def 102.46 +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def 102.47 +/Tj { show currentpoint cairo_store_point } bind def 102.48 +/TJ { 102.49 + { 102.50 + dup 102.51 + type /stringtype eq 102.52 + { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse 102.53 + } forall 102.54 + currentpoint cairo_store_point 102.55 +} bind def 102.56 +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore 102.57 + cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def 102.58 +/Tf { pop /cairo_font exch def /cairo_font_matrix where 102.59 + { pop cairo_selectfont } if } bind def 102.60 +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup 102.61 + /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point 102.62 + /cairo_font where { pop cairo_selectfont } if } bind def 102.63 +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def 102.64 + cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def 102.65 +/g { setgray } bind def 102.66 +/rg { setrgbcolor } bind def 102.67 +/d1 { setcachedevice } bind def 102.68 +%%EndProlog 102.69 +%%Page: 1 1 102.70 +%%BeginPageSetup 102.71 +%%PageBoundingBox: 0 0 330 127 102.72 +%%EndPageSetup 102.73 +q 102.74 +Q q 102.75 +q 0 0 331 127 rectclip 102.76 +% Fallback Image: x=0, y=0, w=329, h=125 res=300dpi size=2165625 102.77 +[ 0.24 0 0 0.24 0 0.991089 ] concat 102.78 +/DeviceRGB setcolorspace 102.79 +8 dict dup begin 102.80 + /ImageType 1 def 102.81 + /Width 1375 def 102.82 + /Height 525 def 102.83 + /BitsPerComponent 8 def 102.84 + /Decode [ 0 1 0 1 0 1 ] def 102.85 + /DataSource currentfile /ASCII85Decode filter /LZWDecode filter def 102.86 + /ImageMatrix [ 1 0 0 -1 0 525 ] def 102.87 +end 102.88 +image 102.89 +J3I@:BHu(:pOk^R:T.dk*=mro@So+\<\5,H7Uo<*jE<[.O@Wn[3@'nb-^757;Rp>H>q_R=Al 102.90 + C^cenm@9:1mM9jS"!dTMT<$3[GQ$8#0$s<4ZX!SPQ1`C/m<k<ioH)<bk^Hj`\=EYZP^B4!g 102.91 + 3;'o"oFO(X`dh"8*[iD5A+f'R[o?>ioWjnAY&^gM+`4=1jRLW!YA=M/6)*KS9PE`kN%="Tc 102.92 + _Aoh+fk'&t\ctIN)4XQLiVpoI(>.nOW?*DmsG$@,,f58"PDKf<uk4a;=i,EpG4sq/+a5h8d 102.93 + >eAJlo*B]ZT!'31_l[h@F?.u;GBO/Fms$q.0(\8JhnaScr]a26g[)`OH[c!ea5-IbHN.>J^ 102.94 + &uma4O=2qs$*R]rqo%N,N/ekE&6SU_%/pY#XOP%r<0s`>VcdTn?Vp$6h#Hs$,(:o3t4UJ1d 102.95 + _,U&KE;87<)6$&4UXR>8tG!P4okbE:do]7$5Dp*BCCsHPf9CjGP9SnfmZ1_N<P!(W<VLV's 102.96 + ;<['M)NEcU[r8b'0?1!"Cb@l$\47%5DoZW,[19_.8^3D8sSk:fZ;U@13?EtkSs9(MWO4YG4 102.97 + F$U78RFTXQtoORPZ;"=bh1/W+Gdn<DW`8=*<Zo'p,;=t(t:+\<q912Ep<4>aKPr2cC;DiIe 102.98 + =]UeUj&Ji3AS5+DoHeiff@<$:=41&B!EIOt*KsUYFo?So=&oL$B%e#sM.tF<D6m'kFksZG= 102.99 + uLf4CKoB/ED,(FrP`g5G;KJD?.$pUG2AN9::[qD>26Ti%akKdi"uq-J`)nJ%>3UV:)/KAQu 102.100 + 3q"iY[\%M;jo*/W8X+c8CUAR-m+uj;AFrOfAd`n:WD!U$%]D85^LXAf6I&RHBp?D4'K(L2E 102.101 + LD\^#SOB:9<[SS1%?LS/=k^5o"&3Mqk7kIM_.VeLHHVl/fmm]ihX]$@^_CHC=GWp8=[_6.G 102.102 + Ip;s^Yq_lp-laqo/ZtJ-*Qb..IQLh\)\o,L%Dn8]q]k9FI$c6e.G5&spqr\X.EVpUTU@<PR 102.103 + A]/We[i<>"*&ft'F*r`Zd<%L:n'Gma-U5juI-3<;Bq:#`eTLhgA(u0T2b2\G]Va`?F5=$Fa 102.104 + S4O<Kus,g5Cq=/4n"TjpqDNUjCat^LZ*PCVN'tW?8nqBp0MZ9lhTE;^$Yasn#bsN5A.7crA 102.105 + p#"Wd]5c/+EA*8)Noa?g#T.+'\5aDup!QVmuYsli_a@$3J#!)Z:dP#(E\'$,@AU"^jG(Ja_ 102.106 + :]4,:cLTH"St0KKBRGU!M<*#aL7.MK[t;[4G_b'spRejB-\$Xn]JL@Adp_74[ri=nJ-d';? 102.107 + >8:_*l/+/6J1*a["QO0C67#A/A.DtpsrS[;CL9X2j^,VAoU1@>\O]jA*LoV*Hll_7l3\Wu. 102.108 + gD$Cs0o&V8,=2&86dB[m3_Z@5(7&DoU]c71;@Z#a=UcP87#@%(/k/Cb*@'WuOciU;8kE/;- 102.109 + 03"4P>Z9n8_H6SjTM9A;N=XI=\U@,7&cGLY#\0J>q>#iZ'J;5>"`"8/`jp]QW!6X9A+_Hjo 102.110 + iMf;\!81=cG/u7*1iq/nRf1SMTD]d@+!/C/%j52<Mi1Ar?r&ZI///fqAA8;iYln=j8ti7-U 102.111 + 7@Y'*Rnh)jeQnX`\)H;@]24m0cZT2V*W:YG\2VqhBH<"=LV=q*d]71#Ye/r!3V*CK%E&Y`6 102.112 + "MGF!I7HgikUJu,k;;+0'kli6+<0!,>>"qTQ74G'4Y*Mu>>ta@_(SC?:RT!C,:$KVWVc<)U 102.113 + ;qcXq.?sn2oa[]q>)b^V#nJY"XQ^N]^s)#qefFn8WWn?_:hT!NX&Vu!<@X&2lNHIQ!!9CU> 102.114 + 0U497.@3VEiTD%a&[k)>cZDP\l7n7?#.E)Y>t#)=5*U[lihs1<N`@PHEg^*Ok-a;/s"V2). 102.115 + W#eOg8"_H<<IE>AJXkWg1lP=kXU#XS&9o<J%$.lBX_,2,5=DL5HEJ>SCt.A%#>0[b<f[6#? 102.116 + e7[oVq1>2c/k!c>9P<n?,4>%:Sc29EC10'6EnSTF&'^:4sdZ.r!GF03^=]2rn<?$iDaDP]Y 102.117 + 1f661[S&osE7.@RYmaI53R`hg=:nf23qHb,>.IY7?\Q>6u?ebNCn"ApZf*_E_HiJ";jp/_) 102.118 + 0*Yh>*J<RY!Pim)!oXM7JoJ.9_cUg_hcqO2n?*b9G[h=p>:"UUdF'/u,,^LU,UTdM1:S+rF 102.119 + &a`=N!.M\a&neM@SD'.mTqlm<l5hN>]"8]`]>&!!l3j_R?R2r;9E$:ULYi-N9tdG3nW=,A? 102.120 + ;b9Ectg6=cW_tC&aJ'L0>W9Eua5Qa]Yq[DpD>F'G.:4C2\Y"[?O"_NZA"fm$;Y<)@j+:h#F 102.121 + '&mE!Zn01KX2*MW0[iR.>i6"rJ6V<c]pdhUn8l+K5J1T:)oj4;anX6#s1<M.etb7%B%$YCg 102.122 + #E#AGsMcGaBIPlfYXgf03Bdr_E/tEdhRh&h=H.u$#m,Q?VA4C*4o5C[a6OC9_?Kp91[HTU# 102.123 + \Fg)Ddj`bJ`BLi)g<3YplGpCn'st!q(LM"VOc21,s4CcOG&(7\Z=arrYk;dE:Q;&K[[,Fhg 102.124 + M:VE?4FaG7=!gT_hI1=d:&sPj;@dJR;i#Y7J5L3h]'(=@u]M5\"<9Je6e4(We4P8m.B2p1P 102.125 + "KpX/bqj1$2HeL%.bi4ZIH4ebhdSeZEK&q&Mc\eB<f.IQ,$NGad[apQ4pINB9$f`oPXmP\$ 102.126 + 9Ob5#_>jnj+ep"BqTFWRC*F?akt$TUM_D_N:.#Gp6La#Y^mD8+P@HL2\:7IeDpUA,N+pNcX 102.127 + lB:e_`f#t7A>!L\e4h0lag6p5mfm#1mDk-dHaC5)44Zg-*!$13Edk:HF4<K*F?45##cOK.; 102.128 + 8#c/\Mo8`$($W,=Mk"*;i8HmH5:X]o]KTYIq4@oT-Wco2reC?s+%b^B^T70;/r'5MiS$G\a 102.129 + 8/!K&,UXqjZTekpQNeXGOL)b]ALNphMQN)J!!RABBbsGXQN=+$.uXK&+@+<@F1UplmEQ\TA 102.130 + P`[h=-m5O)Va(XQ;(c^4CV2mb7a#HCaMb\.BAE+o]SZbc<5#r!R&U$j)sEIa_*8fP[Xg9Y? 102.131 + msPkRekrD61\Ds#nPlCeaVgW@V<:B($faT'TeqWb;eYR&#u'`g!!!K]F9YT3`5+TbJhi\2k 102.132 + M$YKPLklXXm",Yb6?i[>@6Ca-,nun5[n?E?T[0mODj:G@bOBW(]?H+Y8^rab(OC\L=M#_Fp 102.133 + S<.jo&?GjC'aMPLT?r0+Y_L1pTWSjUWt:L90UN^HS=MA.":X)nN-,8b[h3TsSM7Y>OM7B,_ 102.134 + XXVO"onZ'OO4K_K*LhtbqC(;d,=dMr=3d.%^:Jl&0CMl&0!>2&Wljf0`M\=#+Z?1$>INfYs 102.135 + f'u)YHk@[1,[Q0#jU-V!YDT&l57j:[fImSA6jr#n`>kN$R!%<1M8i\.CFjd#+IB#cqtNSM1 102.136 + cQ;)Js35n'aM)DRj#ER:5<LCQ%rTM['7$-*p!ko$ZP)!TEfc79fIb8REi)X62f&[n_P\t'G 102.137 + J*/W8ZnLk>#f,kTI*ASWYnfZ4tf,#P1*NAWNl2)4ci?%OP&Fq\'.H;S.rrNMI++Th&d-.?) 102.138 + !iRjYSFR#Zn7j'9&LJsO,Z6QF12un!-JD<g,4Y%6ER,M#Ii4D4):2W[&o=2G8=WRP,nWcr: 102.139 + tm$H"Y(tQ-1CRO8]`<"YamP5"L<(6d<`LMn=/b'`QBV*O)hZ;$Rp"j-o$i4ntbJHoUa>E+V 102.140 + K*kDRUQ_W1FE_"7]Y$dbQ.,"QKik.uZUB;[V\#Ik1#p/II*>'%\aS)(+r&,RMQIo-H+i!hE 102.141 + 6V#H>m".JkEjfe9I;#kK](EBc-u&.K9^2+d`Bdb?Af))cPM2QRoRc)!0KSt7\l/'nA?1Nt4 102.142 + q2]P+YVGciP;a:<r7%JBj#h&`0o7o1Wf/8bg0U&H,DJM/Z[*Wl5b4=&s'%nN$I5d4^1D>A4 102.143 + ''gNOs#B!;3AZtl;jumUT.Vp1S[(ZS;suFsYr*3'dF,nFo#T>/bbL=4XE3&Hnf$^JlOqJ)T 102.144 + 5GH*0_h0D&OF^m2lY6+P+`Q<pGt,,rDX-)'Fs`@q)@hd6'3@_oH)q390R(/6>?))e1@.)0V 102.145 + \0r4B+C3oPmAORmZIn6o"!pPXuLEbs]AC6Bm$WoMmonbsg*85."dhP\-Q[CFI[G7oZS;P^, 102.146 + 7;4Z5-t5no"]@5Oi\)b'Bh8HH^^e<`<s.5Oqo9XCEV[%f9R2"ibe9'jXK/6'Ssm_u1t#B8] 102.147 + Qn\[aolTUGR40g@O'Xpi$lVUMS$)u/8YKjRuK2$Hu9BjP*'>mXH(J`>b:XU[g'.Z1_)!t<4 102.148 + ,1RQ/eP<Uh*p8e4\5an3ePB).0f([;;O'7Col4%_nPdXt.rt_iF_b"k;](c3!Hd!fZkZHG< 102.149 + oWdU\s6W%<C35+B0>e-:j$nam!i)oYpP=H8b-W1Q&#aRI7r+-=Z$^eaidQsRi+)rS5lH@[? 102.150 + 4Z%`D73=rY,R4nuYBEpK@1J<=`]UQ.9.4a&hro>a:!k<S"Ts-!dn8@'qk#e`?O+o1E$W@$U 102.151 + [m25+C9dpP%-@J2?X2D&>nVdG^M@e6p7'nKgP<Fp>UVR@jI<,H0Rb5et0<K,7+[QuO1.qD; 102.152 + .5?/#"p,sbr:Ls0'BWN"]o0Zuq;.:;3SP0,qQ>p0\B407YB9mm*p4$h!WD_<&:"G9@PQ*1U 102.153 + pna'27<YY;[^7.L[&>h%-l,`r<Y&l/X)7Rd9")?8f"U9Ib=P`e@.nW3QIef0:Ik-CD"^57c 102.154 + rk/7]0*P;@CC`*2^*3#,bc(K5#u/\G7'kL!reFBDmhH$FkLcCd;]pVBt$TRpEt)7)fi/37@ 102.155 + ,$32b]do2[*8EDRU^,f3`W\Tl1WRFB98s(KA4O_\_qI(b/S.eejtOOUbA)E;*47ePr'AgJ] 102.156 + R(GrL4o2f3^SK'#"SENU+'FFA&rm'[5FH?Ep=f6MA&JU7$XH[":opYg/e@rrNl)pf*\f:-t 102.157 + CT2N.mS<qK(M@X-^`I55UJ?,-V(Ta2E_1+ALG?:JcQ_b0NWCYY,H.V4[3$!On)#]$jrRL83 102.158 + (V>)SefXWg!#&c!F5qDMLCBIt:3RA)<Ijt>!?RR,K20+53%KJMnV"DJEO\pS1JF<Y/P:,SJ 102.159 + =%9spgo2GiI?)hM7B*p3"^MhI%6RLB@nc,R"%FOabY,*I2I$]nYk@Q08Wb'M>5<*pnNQ\N1 102.160 + CfdCDa4GGdE2Zo7`K<Tlq<115gUKf8T%!K7WUl_<lmKaU,;e>m]&2pb@VmQ[VNd+V&skbC* 102.161 + )%m>=eo:,$0S3;%IipsJk0J#UnZ(?^a'07B6FSG=/[Y\(;r,h6#I@ehT!3AH9!2jS`':>%^ 102.162 + \$."hR1OE6IE1$BamX^WHTp9Q`P*Fn)Ohl/8CRJs*QMCu;\0ZOr\!NG$P\Jm>)'P8Gc'!?V 102.163 + -M_"QQa;<)R(HFTO@gXq:$1X,Nj*#qH$R4=fcH^3/LKuE=P*A8)6BAh,ESnX$5pZC)3%7gV 102.164 + &Pf6RX)lBCc.amLRh24SUoajeU<@#kb#EFS[mokq<IL<4cS^`T6>.@nS&q&0:9;^FIEFaG[ 102.165 + 6ZI&Z'eV-UY#,/SCV_ri0-FQ8n&$.PINqfqS4*UGs?k(j)?14a_R,>$=@\)G,k_8LF:0-(5 102.166 + 4.fh80QUnsLo&"4?kWQ1m&mot)_Sf(D'H7*1uI@g:nWHo)B9r4JnO.Z&ATJ\=#Znmh*VS)` 102.167 + J(_>W"fj=/h@%>kubo6Bg>*#'0ANijIg_l<KcSicUSS"+3N/>SOd%udYnB]C0D7LONGVaV[ 102.168 + \Zp+1'\GpYCWWb4rNC0.a%`B1RlaWlb=X8CYc`+C>">h0@l6=eZ;lYi4!Md\d+>l[E-_%rf 102.169 + )_peK<oN`['<c<3mY/PQ+:_mZqg(sO<_-c$agoSZck/3MRBk.i@A)KBkdUUE880sCU[?8>T 102.170 + 7YogW5o>Gh.3nYo/fLRtRYCM%CVc$5ohRS+*1WSGKasSGN*'P4u@A,t;%"Fh>&nPJt0R+1t 102.171 + fcTDKX=:><6,e%K1N]t0oOqn5ms1od$*]!g_8.iDZP<Lh@VB$<HqGUGg_)SXp\(KLUI>V0+ 102.172 + I#Hu80WjQ%-qDjd#9>>C<`!eH@lbg[ZV3Kb9]KBCrgjlh<@sQjB^`$+AS8D.dEMtfN@N9Xa 102.173 + >^adX[*"o&`XR^B11eP-WQ=`]bGqhhGP0(NRu!N>V>HABr25JhAV3+Jn9h^jmgm@\-cfBj3 102.174 + 0+<gQV#EPfsfb(n(_TY>i!!;9?oTCO^'QbS-rk4n@:YL4"OMcW[d2si9dPu`uNa&DQu7OFj 102.175 + <S)doaQLmX;/14P-`[=cg9,M\FF><9Z)-hJ2!M>8PeXjISM:^E#;iC[ipg-GeM3&Y4@[*Bg 102.176 + Cu3jmUNkc6\\*K&O=Fk(=,e[G_5$TH.TQK,++:[oP<SSnN,F4%VVSfN+krJn\,L"Lh,h5h^ 102.177 + N]oUi/T;Z%`eFR&"!DhD>J(cLJ&Y5hi+9C9cb2.PUT5B/6^]E$/[FZ@UdJY)pl,h`Ze(?Ge 102.178 + WEn?>pib5:2\%u3`Z775rBiGj8)/sQhjmX%h,WAS"_QTtgHB)=ILfBU^YBuZgjCog4E@!!- 102.179 + 0(Qdh0q&b>3gFEm`GAkkPgFCSr;h3Q0EabV`p=/^7gsDTB\:RkVgH'?Dm([[&3i/l[HP5rk 102.180 + Y(q/aP[CM8$UgZaVJ7^$=sZm/GE"lPk_1iU20Zm_/_ihXQQ]h=!*BO4aQPN1o]hq=&W9m!f 102.181 + ?2rt4N\"n=ep/,pFUYd<WN0ZnkenfKHi*ZstQ2=l4)o"R3Vn(%$e5kR>f5YS0L?Us_f;>!. 102.182 + VosVX.IpMb#&b[;Wi?(^;heVsNFn^B2pV2.Ns+0quQ.!&4m@T+-s,m+AQ2,otq7iKrrd^(; 102.183 + Pg7[)n/nA#s0;Gc[JPHaqnKiAl0J'BL8A,AbjC/E>es4JKj\\U*8eQ?hojAp_:9]ir@1;`s 102.184 + 4FUg(&gC#X1bk_&,6hK#mGrIi=MAU/f>+R6fJ[pPYNYBMacY<R+-"6*KN_O&fDCD8L9QljV 102.185 + !t\Y$!?C9BHe<jNIW^Rn`&Z1ZC07a.GIB',]0kM)M(]BN1BeVO9?=;sG)9Ptn;YX&\I#Ra` 102.186 + *q33Q'>;oE5BO$IqjiDb+\'%'aTf5':Nd`Ufd[b^BgS(6rrrkCYd%u_1V#kc)CT,7gfpDJ= 102.187 + fj73jp5#32=XOA1K7?O?*BZq-3'^OnB8YsmMoajfWY.p0!j_O[<AnsA>QtQ%Pb_&9.WS_Xh 102.188 + *$,n,M8eLpq&GqXl^.\(Cb+6kc-pI"VJ$:I/luu%h=#Rc*%l-pT6eQM[[Gftj0RdLD]0Z=Q 102.189 + d=on^H\u!T@O\Np;A[Z@J]1Nb_gMT/P2t&XM!i9i9WKXX<S$<E2!dC2c)9u"99!2Ym)MtJo 102.190 + 90ma=4G/60Z5''gf09>8K`uKOYlhEMB9;[?/Pc%E#3Y5-$uob&83>E[6Pf8Ef\`e]01.G.' 102.191 + c^Z<n0K9UnY*7)mGIS&Il+OY9ArS*n6M&*"(E^[)(*!Q[eubkN__I!ICgna`L#205;Z4\oa 102.192 + =l@MaTjP[Pn;rRa@-)B'(p`]4F]gS&`/L*hbFJUK\;XQs`JPZQ)"L$19jYWf/m#<_u<:r[X 102.193 + PLNRn4Kh]th*dN*oNE8)V\FPZ>ut_c`5&Tn.h9B\$u=*9U().V-;_+5=Y;V8AU.unD@N%ef 102.194 + dY'V8m9SIO(qnn"iG=bG9a_;+L]/'D,PR=;.m5$NQZTRGGJMfTQa"FA^iX2N7d!s"aOGsF! 102.195 + ZGpfQ0cE]\`;7JVG941L4ZA%BEbe,$0`f'ZF`!iCC0='l&KF8]"HIe<g.:Q"=YF*j]G#"sn 102.196 + M'N92^P+rJH8Y@@:mH&o*g$[RNfP@T#hjdJZ&V.k6e`L%\bIUk8cfW-BkB+<9,S`]_?'9FT 102.197 + 0(3Q>u\ME3065jaj[;BYRT;]&?RW#3jqRl^,k]kmpSsgPn^S&;&`lDuY4(ep>?u/6U1EQI* 102.198 + M#gu<7PU[308>;-DTue4&N.e&DXsK**lsSCc*"7*nD-ONe"Bc\/!=r:G&i6dguga,oC04UX 102.199 + %SnVe^X?m#D:u[DI4dDprG[*-$C.In'EF&WDChqSY(&PVS+U#ebGa!]9[elCO+)USAas5b+ 102.200 + .XlfD<,mX57HJ\%VT!Hp\(V=A2I'a5MJ6':4o8YX9/92`hJ%JL,uHJl6qtE.eqUW:M]/M]n 102.201 + .!YFUi@olBpLMt;RYS[Uid5ld$%?@]-a/#$\iLEKg_K'thC5m!GWM=_KomV32seacF?`#XV 102.202 + pp)cZsGmE7Q+X(e5RmL0W$-(1<<Y/E._d_X7#>?linBnp9k\a':b8Pr:!\["8FV(906m5DE 102.203 + R`'de!XYP[M6UM*`<*dgU81h*:\:_UPFV:j"FDeurEkV=b5NB$CHFpI^6<6=6;l2hJg<BGP 102.204 + >nY)@d*tLn//Ns=.p\2PZ]K>DE^Y`kelIA23B..7t:ma6Y/BBM:*.K'8\8,:tt2tEP/E>Bh 102.205 + nnD"M:"`p0T6t7+[^@M'8%R<6S<n9r2B<M=S<Kb7YC<iRF<ad^c,E3I`r!dO^b0Bh(i`(GV 102.206 + VBNgVXfTY,QSC5\%t+S/2f^:BXhMTiT#TE8Cn\aW3uXFO^#TZ+.0n>cltD^U]K'1Y&=4:$? 102.207 + &/<I/LcDf5Y9Z+Pm0/eW]B^IusdDhhH_L`'9%2*>AS"W52L(ihm4J6g7+Oj-\93NB;A&6]j 102.208 + FOlp[H>mgOm2r,L-4/%^,tZ*>.<JM.U6,4Vgn"(VV+"9X;jsCZAF%<:Zkdf2EXP\-,sd^th 102.209 + M0=43CGA,&h13%<n)0!9^5n]Xb9i.T:th*9I0U3:-m6j@`1VKEAa?K/bbHTo2m<H@^'td!* 102.210 + E^X;sS:Y.J;K"=:u?TkHm)iec*2pb7RnD3>>ZJ.$[qIo4'?eUU6>ON*,(ZA-bnmYG<Yp!"2 102.211 + e=WJ+'TFeUKh3\a(j27p>V[a\H").'>K>I&o?f@q4'B'r5*Za?s7g@B)rD=++#kO,l^8cW/ 102.212 + ar1tQ7T$uKV%.YJDi3Ua9h-E+hfkbfdO]0j"hKN*lD]QF%UnUfEbL:oYebb]bDK&4KgdTh3 102.213 + c+XtM_U?((gM[8n_3d.\.1+(BBo*G;GKU0JMfEu\8OC/crs%:Mr4s-Kp.X(HrQl2;.II5*R 102.214 + .^mo^s"S\0,>A.R(_;6Z=A<%r]@*ASpKD%l&05`0t(2qg0Yh>N3B*8;%j9[K\;]Q16tk]NM 102.215 + snWU2!f8AE1ZH+"lSi0pf1H7)7K.%;&9KP&d^@W]=E.jcXnTigpk+R>3S14N3I>7WulKT0/ 102.216 + @;7K<q<;9b?VIE306rb)3X]33X?fW6SaDk:L[7%6g4>TKT0Q>4FMpH3&)-_L%A*fSWqP\H+ 102.217 + SWc_4he8n[FBtYsL[,qM;Giqe9]l>GXDIq;M(Er&q*N_-n0[uoPYNq_gLg3UI`6o<#OpesR 102.218 + T`@fn3qI"Mr9p5c*KAYI,5uA`%CA[5,`J&?j^[,mSMFNA,k@LSmHrlFGEOi=";c&_c)7sn7 102.219 + ekece<k/[kJ1;7!$HXFc>T54[IjI3g=rN[Q#5<fp_;JTDqoZK_=&N4[b2l`ZJpthO(L@I%c 102.220 + Mdc?Z'Wm[s4IUi.MK!7<0KkD@[uR*$9XsZ<*]0AmFGFpRcNuO3:&n0-XZEI;81AbrIg]h44 102.221 + YG2P,WM#`hI>="g%OSqKMBd5B!N4tpYqqSG'qcKQU'XV5?76fZ2,k.EpZo8^+G]8p9br<or 102.222 + q?ID3Q?DlNqpJC,b<(D*bG^Q(2_g$YBi:laUmbe2[OP]_.qQB__rWB$\^?=L'd['=Jba`qK 102.223 + )<?*.DUJ=(`KDkZj1I%7MuA8@814)`#uXrW,W_a@4fQ#n%tEQ"V(?koEU,/_F7u)fL&67Gm 102.224 + W/>VfJI6u,%?`bl)2DpT3(=k+,H#,W=AYA$fcHf9qSrX2o@jBD#=gap&@q&q`%79OO(Q9r1 102.225 + ?O;T9_?uIt*5$YLEGho@FN5B"6TM#he;Ud$_YiJeA.l$*n_:UXD#PS0r9H,tT^P!1#ajrh/ 102.226 + ;^^aPY.e-$$s"V5p\56J4%//#NtG,jm2"69e$<!rulXagNb^s!]_X;\n-nJ9206(!/<$<TS 102.227 + 5[_Qtj1GfCES/-kg(U$cd_6bO&e/S[DAO&?@#V7&EHlt^BnidFF57AaP@kL$IeVO\O_;lr7 102.228 + ''cNTlame@TB"+NX2^3B#/\8p5>+bd#_O9ka1$F(]F6Qjg^FGc2ieq<]!Odj)rA??-+K%t5 102.229 + iU\;4?g]282?Do`!GMD*$IPAb/?8'%V.^b`'-SJ:_@M8]^[:9ZqNk<h)WD9$]Ii:`'u?V:m 102.230 + _@:0e>17aL9"]JXD;()4IB(5nU"VENu!9ZuF8LLd!K1:IAr#U%DS,BQtGYMFI<H[Zd2uU_= 102.231 + #u@]-/q7R2nf_T,,NE(:9-`bC5HN*Vm?pdUG@]#3[8`,*4o%Z-]n0/Ouq'RL@\E^e>RRu,Q 102.232 + 2W@GmiqR-N8a)JUZ1jOnaD_&JIQQ0/AK<`L&Le*J]8=YQ.XG]W^N(D0P+.S(m98uKtO@]kC 102.233 + 8K<mb/<`XfPY"Q6$&a\5]8T;YQ-"uQ8Xu5@XIDeoS4Uqq1b=[&%%YN<TLoWd8fXQt/>Gg"U 102.234 + _Ko%`N)I#9W(L1W(N#J8t;nRXK+t'LWWgi6X6]bm&s%ZYY,D09,t61/$D<$\I\>09/O(MCq 102.235 + !&b\4_dk9:WR7%'<*S]$&=29AI6Sm(Z3k^e>$kbIcEN'Z3U,`(WkD9O,S2Cq`RgLWjk^9Us 102.236 + 7!XNO;MbY66-a_A^cI)=+WcqOqr9cVSU/CR<Sh9=q`9&*WF7+Y.\fM.=X9q9p3WG5+[Y"c: 102.237 + Z:#+T"m,(P8i(aR*c,A2Y']VqNjA&D1:0cpV"LLNiek0c@cCF/pXQrWolqYd2:3cc[o^,EO 102.238 + n4sJ_:E8q$/;h^ukta//:L*ThD"g_QpbQIQ:Q5-GXSYf+r(kQ8+p?FeFPP3u!)O+*:`TU6/ 102.239 + HZ[Arj]MYbl%XjD$Nmc#Z-Ke:meoASI/3,$rG1X:u)UXk_)d?%oEcJ;&p9H/JCmss/VZtd6 102.240 + /7BD&6&t(f?76cK"t&>o?MQ*)Xs$;;E9cI1RRd/cr-u;B6p9>pE54#))q$!M(Q8BI2)T,Z9 102.241 + T#K\\+U,p<CS/5h`""J%/CD'jkJ0N-9"dJ=mgPqsY]0eZ6P"?<Rbof#fD3(bSUe!R=:GU:g 102.242 + tl@[&=$Leh[m5t``1*Gs?#*h#DqU8AK2Ud&:`E9=(_^u7l1/p+He!Mu@XXI/5jjVR=;rp4q 102.243 + /OhZA-Id9C</cf59[?Ci*n22seABU45b(bl%nSP6NNH)YAI_\992iN.:.7lVi"iFP=cDHGa 102.244 + H]#`j])\GkuHH,eSq#.Kipf[.k)3E:u,@_`B.+jj&P<5;sdqo/SJ1DN7KHRei9ka9l)6.Ad 102.245 + PkX8L\Efi]IS>6<?;Teu5(h]m3?ND$dmn<W\63ESCnUGfR43+-gjbgR)'UA^\OceW"`,T_9 102.246 + D#C03oMe"phZ]noJ>I#57Zf(Fe.\pC(*Ls`%6:5U/r.aZh]K[XL6e5VSPgdXNiPYc4C$+5+ 102.247 + _N7uq*Rb6?B=`bY&m#+s`mo_F*=?W-#h/nLUFkLPJ`usIPe5KO%PZaBBfr_2INLTtPSLkdO 102.248 + 7/7YQF=We[TH<Ko/rPeEWa=C=!*W'Yg=l[mn>"%`;D@Tq$R3\F!]Gk:In/:#4i+nOA&m>CU 102.249 + 0E-J83@G$nO1*Qc4kW64K5BEiCCmC2Q>_NP^RUW0rEZd!*Z5B9gu,:b0aF'=JG2lgYKBDJ; 102.250 + @F(iN.9q>I]Ppc,!A!YRcGZ]0n?igP9&SF:#Xt)r8QLh8GOP`NoH^O]C8YJ@PuWaHR.`^.l 102.251 + aS."g7\mTUUD??OMfjg85kOWN3UZ?p?9qn`N#p^1TK%UeX((kk84)kP<K&H2&\<U^8^.Zq7 102.252 + -3pJ(#&pI\*ck>I6PDU+3WO6!Mc!U+k>jY;>gIGT)gg9>8)`??*36Y_Hh-V]^Ln4/L^%FX5 102.253 + p;)1POM1J#jnde<'b;/J?e,C@D:Ssj;c$b!;_9fV7I"7n04)>X>?aTFEo]/J\r2RE7jrUQ8 102.254 + IO=PJR@(<[l,4`rZ0uMq*+[s<r&J!"rJ/B!*HZWboQpemK5<.)`\TF@R-Glg3R'`-K03$@M 102.255 + &Ym2D,<M,MlS.^QR[;@?N3Z"O?]V<$iDb-7P\g)-CIH0u\p)`Se3nIY1$0A,(YWOR*<8AWM 102.256 + P]=bIKCkf8[(+Ul>6TMVFF7R6#R^)Wu@NkhqI=L/>q;rKhP+%AYXjrYaC?BV`mi=4UIQ91L 102.257 + 8.+QmMbml5Tjuuo?j('BhjLtqV*aK$m6Oa5f8--Eb>.*F/7uX$1MIoHA7O=YF@:eYRAbj$Q 102.258 + `_PYC*b>D!iAfB.<%;H82i57W`h%#.@ROdHJ_kt;?BWFj[TT<t4P"b\f8MBeP;b['__`EN3 102.259 + JeIZIN>V/j!SESAJ2)`-:#%0I:j[]?.n;pS9T\G_chBM$*C,'FuEuYH=`+q9a4eRk'?.BJS 102.260 + 2-4`&$K,$GU6A*FSI=BFV0/*WCk1`oLY]Z@7uCL5#sj7R_,R^h'^*2MlqgMWJH.L_b+S*d2 102.261 + "9NLh29fPW$C2OWgkBaC.i=TX<=A7SsJ0.H2Ah$_],'J4&k?0KkD9YQPH]l31YgKJiTlCEa 102.262 + rY"'fZdqX7l6^0Xs#+gZu@7I\rl^9u)ETC7:[94[ql96q<*i2t=Q/gF6/9VE>b&_5mMBP`j 102.263 + #V5?-QG(4Y+PjJpLqtVOFu!gpYK";sCrX@-k-8bSam1O\/Oman/s#@LM<pPFLdoPL51)h.C 102.264 + 8P$n#j0EkT$PInY/b:]lioIL()GLSg$M)Tl<ZWPUcc\[7;KNslfQFY_Q^,-Jd<VS`4k(?2@ 102.265 + 'podI.J=mSRq?54VBZeQhmZmegqiNi:#/]g-s[DS@uGaFWd9\npNt>p8p\7d9:eq$8=ASef 102.266 + 1UG4V:8k%n:KLs#S`C#h^/Bn\`^LJ@[,VX?lrLI?%M5pl@l*s7bAo5OWGDbA#>-O3+>nLAG 102.267 + _-[uHlY%M[oMK)mTEJFL4hZ9;Z!q?ljn4i9'k1=QYgW*M_k%Pe!f+dYMPD9WpMEQ#;No7u# 102.268 + +E>dhnII'B%h_&J+)*)&DQaPb%jDS",B='Jl2F&--RQMbd-SM"].Q(j[8cQWK6"-4fi;YCT 102.269 + -!Mm22Ks#kPlgENef,BEt9<2`BK!]Eo;#anaPEgF-0DlVaa>J/$!S%6g$Vs<do'g*G]YhF< 102.270 + ;EWUHnJ77I.-FEVhCt98q503RqJ,S2VK<\MFep8b#,0Dm=CcqH>GL'jkY@'rL52QS%a*;"a 102.271 + Q[o%-m,f11!8]_%&uMt$]WO'(t/J+]D"]2r3UO%]/mcunLFoM3g)'?bEGE-3[B0c\`e`oCR 102.272 + +jD[%g)IHOEYq?'tGRG('pR(GnIl)sC;Wp`K.k%UY2OqXGD![c(4-cYG-K00^VKZ/1p-47( 102.273 + QXpdH13eU2GaMn6W;Do?/B(BZUIl-,T$<')mYSE&E6Jh)2h?'PNH"Ulp(qWBD<LX3IQ`(>F 102.274 + [pNG=,*/VG,`8Dq:M/:+.iU1TEQ^:G&!%^cMr^k'VdpH$RB3fH\3pE'Hp#</SN@5QIkg@@! 102.275 + !ccPc'7^gp_NR)M]]F!)Km,YS$al5PmuhHX!0>2jA0>')GFWqIFG2;K/iGPV95>$(n4)B<, 102.276 + *gh7_tsFVPG_KXC/!@rm?fqY-Lr7lp!7W/#lE!+3kWGR+/V0RV3(L(B3%:O@?Cg1A.5i9ND 102.277 + >+fgMYe0tM@B&l-=9&KS[.!S7kHsm<Wn(LDfYS&'5IFuSj&)REVhuqBbGl1eET7Mg\53#bl 102.278 + F6:(431t[q5AnX?rGpC4Do$Sr_KgD($j*qd5<!^[3rQg:I!'RQZF5260b846s&_JbBPi6Dd 102.279 + X;([GM%$!5(!9:K6$c67-dLaT]QL]C':ho!$KX548os&L-hRFphWDG$\uSCEHl"p',Za"A' 102.280 + t)TL.*>M8S$7p7&Es7Q:kf;q1Qb!1R_$Mds8lZdlWGMkL5k'#),F=;/"I*74+9mVGh3YqLq 102.281 + D8,<St8U>!R][2`].@o`:`-H&oi/SrbV7;ahfUY@+JRt3KZ@(JY,7,*?k7]3t+Dq@A=#!6^ 102.282 + gf3%eEX9g`e=^`L6knZTQP(gZVcb.0U2"o3XF4mJ2@J9ZJ>.!".]1Z.3E9hWbrJ&@(ZeB8> 102.283 + gO7!t&%d^S\(dJZ"]<1U?cP9Na!KK`e7C$Jl%U&ne$*rAQt^.%:2'&]mes$/L*LuZT-C>n7 102.284 + R"RBf!o^#%kh_Q&bI`'L5=Zhf-TWgs)&5G!5MDN#m.oh3W>S/.I)Bc6-t!&#f9E..13r=&u 102.285 + n&DlHClK1l(9>&@eb@/J='u3M@.tYPO(SV9Y:'YI`#r<p`*=o&T:&88H;^]^JH?(F8HbhQO 102.286 + XDj5u*1Z+:@%aAR+^aN>o@/:TKN"#tW`a/_JQ6h'HXKf)>`=P$5&4OH"1;d@tR2e5!rhp&K 102.287 + r6?5iK*:O'V9-C6::WLud3`&BSiBj9B]a$sQ<*^A2dF:i)"poC".8&%<]eN408Sg0lKs]P\ 102.288 + ,h,c27]ZchD,>9'<<VJOSeO8s<[dO?Y0F;Sq_^#`W0r6C*.pM^qcG`[Kjr]#4bmS#el@iDg 102.289 + "(#6Am/5`VeFeM]rc,)[b\3+=G!c?:+QJ)T'b:a4hGgj=&mXjh:HN&G$\6ukBPjM^$U4(\) 102.290 + $S'?WZXrJ)FE%$%UsD*Y!e](g[`-iE16p)hm;r.L#o=[NCIeR+<F@j-]f_!<>A28Woa^8.Z 102.291 + %9\QP>del,87Qf_GBBpu.n;'J.>6\(r&kIK`'T]d:8J"l.12Mn3n>#(K]C"cmcVWo(kV5if 102.292 + A^7Zg,_$VY2KHS:6XD6K"ag(3e(=BGT4$M3'm@/RV\F&%:iOSC2Y49)A>JBjEn!j=T_!eoX 102.293 + !Q&e\0+l+l>W3P=n[r3LaRU=BXt0dN1+EieJ9N<[oA&d/-O&HE9p1$7&-=#1@DPUfb;lpYR 102.294 + .^hlB[!e\gpVS(<RLZ$Q6f,6+U-t?L#R?+09P;j?8n;5q7^4,kkZ?mTBc8Z\#J]j?I-1KHf 102.295 + !YpiJ,0/*3]Z68MT^_?LQM8rSMPPp3p@ukP5%K^[:su^YeS\Io#b<5PPB]THjPgYRUb#Qk9 102.296 + DX4:Qj<3X.kE,lb[t)%0tS"9;gY"CU:%K@!@(_:V$VJ1q*-%[Ie?n5ft86nKI!^"JYQ[#GA 102.297 + 8L*EJN(rM_`%cQA((STJ4MNF23U(g"OE>BffGa/l8A4_W_/gj()TbQL6<JjXW.ReTi(1Q?, 102.298 + MpYcS!VfDW_2oE5EGdGKf[1Vt<,IUL^,AIeh&Kq#F,nYj4@`NF*TPXtO-0E)a;FjuU]c=3d 102.299 + M>5A8JNE0>`"T+5"A0^)^OKtP`epF9M'Le(P7/_!_2edJ9`psV'Mgt@8IU<3)_<B!"Y@2MH 102.300 + C;OAIhC41Fo8i)\Dda/I@';+),.fV8[Ie')<2bmfj?IQq%FZABK>(NUiA/cMD-peX:J^B$G 102.301 + V/2J2%&S'u7nc.Tomk7m$J1S/V^M9P^eX;<&LAe!%bjZ7%Ml^lER!e<NT.iC#ZT>B*/-96< 102.302 + K%r/<X#c),`iZ`_Ed9o%8%Z!t#,s^Ge6'H>XMp[qc,%D$k+VC"rdAeojkp7RMe;BJg>#S#W 102.303 + <@t&3^6R.c>th5O1T&[QS5W%&:$LGHPHoRkJa#NsC#qdD+\#7'`_$8H?r*c=[\t)O-;Z*>% 102.304 + mKV0Kb2rT?V:8-Waqu69E_`*%1L0VA4UHp&_\RbJCCWc]!g2dj]lStE3@a:]@U6V?L--iY; 102.305 + Q<n=:5"7CaF_<edB>t>8(4.pidIlJ4'Y4F^hGKLU+?@bZT9MAZY!]ZaObt=rTb@m/<cf<gq 102.306 + H?HW=ftAZ3#fY1MC^@;P=r[C/!Mg09JPDJeL7$:-@*&Ps_U5g?pNf';=#gQQXF<O3>_4D96 102.307 + V!W]5t@&\Yr*.qXd/hZ*r+-h5KSm/6JMj<55f:MU`@CRnC0[UR90)&]\hgB@=o=ii!r*N\" 102.308 + IIG_b^R+rui#DWFYQb3FfG=Zu9GN)pYX/R?<$$Y\;h=FE$,W':$XoPUL@E2&_cV*o@JiQLY 102.309 + pLX4\;q;4S5G164tX`U],"lRAW1W+0ZMbk)rk1CNq([`a#O)?A.3mJE[F/pfI/HWY_#;0-l 102.310 + `=L(Em?0To6dL56gk@\cTZ8#=M+4%qDq"?BU"eZGC^s\VQF"'l@(8'kK4ET/74'`gK=,ER* 102.311 + 7p4>UO)S3Zdn2BuEkAVNSQJd-oBqApH64T&%+ERq*Z>--r$-)C11Pr?cQLQggIV6oBUe(T6 102.312 + &.FK9:RA`9ufjN\<j>&UcAtUJS2&OK\+JEpt$CAZn>U>W?QYSCjetecqQ1U9Dp*Rc2`CE)@ 102.313 + ']lUB318IJX;#L`$+0CIbU1KB`b=Fl?r)qtg=q*rDB1m;#Y(9<>G$"TS^^O0&I?mF][-Y<j 102.314 + QSpAoaDep?142>]#e"*+Id&(,]QVfFtRMO$"Y^SbhoV5i="9`CP$N^-,fNVaWVS#MA%\)`m 102.315 + ,tFj2&'`6V]GYq'RKLg/E#'IEfn0B.`6!K6E?)hQ2q1YW03&,'/l<cLamckJX-JE/Ma*36r 102.316 + *Z]LSUdSs9eqYm9;0/<C=TV4bo0H3!Ut-hCV_5'huileR&p-D"+$\R/e3h4M&&c=0)MR]He 102.317 + N]Wa`,<sqD_WZ8^M]PD"0mC59piEPc-FCH??43rWMaA\stDP,m>hi/cA*#sf",]^q?#L'OD 102.318 + MpR(D?0Fd)0/E"6qB&,Lq\T>"^5pciT2]V'=9.`gA79g(U]=7?((K-VQAj-AjlKVco3Q5[q 102.319 + ;$pj#SD98jiGDg,R_GZ_4Gj<hkG*d"@>3uX8:^Yds-rTiql:!qo>%(%<O,h4m<XTf8q?LT0 102.320 + ?N.DqP$G^TeHs14t(3p&<k):).V8LD7U*&24#;K`E2_,lEHr,HoB9%m\VIMM20#0-gVpO., 102.321 + P(i8Ll:+Rc?1&2ODTAG]05"(Qr`W)+]-&4[8ZiNLf=U+6?8<s=4ioWM$oY[[l5Y4\u)mgqg 102.322 + -YR^Vn'$T`*0oW@<6ZVBCr0V@;kbD229t^aMQO/6s"0ImrUaC7O7ec@0q+]3u+gV<'+UTp8 102.323 + $c7Gun*(5L`sdu8#-[h+E2FnbWq1mCe*[2YitVqG,#uPH$X`rhK7O;Ef`H%.n1]s`&=![/# 102.324 + 6,7+c`mcM@PmasIPDEH&^_XF&Aln9+VKnef^R0bn66>sHok0-,O'4l"VD#8p)e1\f0_P/Y` 102.325 + ;D=P0U<a(!f;[d9d"ZVX5V^8VBSL;0*;2,o9F*(X27[&7ZAl<u>DBf'RMmnP]3\!9iqV(\+ 102.326 + *[nREI>AJhRt4p(j>0rl44[e*FB)j.lT%7:(hh$jo[)c&sDiggTt'*tcB!jS-^ELe((k1t$ 102.327 + R*eLd?+t4,"V#$(`pjk:4j2sQh1.<nTbeTZ%:bX/sr"_uI,=H.0igBqP6m9rl*qCrQn\$.[ 102.328 + 2^="](bmll_G3(b5oHq2+7]@R,6K&t-D;%\!!;U41#sVn)'QjI+p!]^j]j")b7@H@XARWpd 102.329 + G3W@/0N@U,I3?YZ0`tAQQIt40B,JK_koVq8hT/Y-D^/X@S[Sl;%94l.,u#i,LmB(QRn05,> 102.330 + u]:'%0&956[4=,;Jm:d\7>:VI\,T26sAQEj?t=[jm!k'>mNY!Y5er7S:u$q5i<H/gi&t!@Z 102.331 + CH1!@rn;][>bh'@"9#7:2\U)K`/0/)=S/^l"&%:(OV6St!!.rs;P1.!88.kWV1WDbPqP;^X 102.332 + k3\"!E+S*B-cm!ZET.r&"'la=$d31BarA;T@1,Fe7P<L.p2D;tU2Z`pcUAR3W,7^Kq/-?S3 102.333 + ''LQ-[/o8*<R[Zmo:@C0PrTN#cI59G_ehABlTHn&2%e(j6<88.RP0ks49Fb.D.k(kWY`"E+ 102.334 + B,U-b.96i\fm9O7540goCOL^&0e-e3&0"JD0m!kkn;Ir/sG"4'9>K^><J&@/7U"Wo4T=?WZ 102.335 + tJ25*Q-SOA$l3FSuk\+u=$Xdfq8N4%"+)U(bpD_d>a[Bh'd'4n(C#PW]1:4tICAX$^)^YhU 102.336 + JP[033c7?g_>_AbrUn0!=\8oqs1147>eJN'jk2tBU.[!+n0H;kS99TrOA1.=nm`COH0'6Kj 102.337 + @U+\0O%51%@$SllZ6D$e*cVKTmr_:QE<;J1G`CtCWlnj1o<;%F*k=oK>;7$[,eC.0#!D]@\ 102.338 + :?!?CJtGq`.jqY1QgE;TESCPXLE7')3&0Sn<=DWebuI`";=^D\nsrN3/IRg!9eos"ohn#>@ 102.339 + o]p_G'%_*_f&UVK&h%d"#UfjPm]tpPpDW4eg'`3Q%gOu80IR\q/Jt?d?@O+rCbWh,5%d7KY 102.340 + ^ZR_BMs)3L+k\<GPVMR5oBqrNp3C(!0cN0j#1Q2AO&7c-oe@nQ?SK)R]T>2;MQtPn*El5a3 102.341 + EH'I=W=^E,7.*&GYk7$]p/+$0NN0[fG5j/au"Yu8KV0iY%n7"?QJ&2@'\%un20d@XZdo20Y 102.342 + j27;($<a\/CA0Zb]:m"1Q(27?GG#HlVB7dTJKVr9HnR@^].tYBC!Y&X+$"JQW$T:4Y@M*,o 102.343 + H6h'4ponsGXggq8AS:":?Z5C?[WPk"/Q[,7;:]l%j^KYm)),$i6.QVc;\`9905H]Z@KZXE+ 102.344 + qXQKmSo@\,\:8",5lGs5:+9?@^2V<Fn8kgH!hE4>da`GeV/$%]5iSPB@eU_(5#!K![,qkDh 102.345 + RY"AI),A3%gOa,52F?(CtQgAS^c%Cc,j;2doju*DMgLD"hI*'e^7Ze3Xr0>BD5-OtgkF*]e 102.346 + L=+]9^1n/+45k<$Wj8WjTuZh@5"mP.`N+\E=^pJ`>W*%pjR*WdPo1@R?U<&]f%&GK7GGA1) 102.347 + ZD-;(&AbXt'Eq+Io&RQ>UI`$)Ep[9Pt-S>(K&XSFupQ-PBPWF#V;?>a%nm3qMU*&K&H@c<L 102.348 + GHkmAZltdG/m#`6"2fLRVgh$=Fg(+RpXi(SeUP'eB!g$96Jt+jmn+gE2b.n4Fqnmq)-#4AJ 102.349 + !Xmp=6E/o$V"(r5GB6T\$efD++Q[<Jq>3)!q1n23A2)+&_@\&f@,E)+,#s#=qtafJh]/M%m 102.350 + e,UI^hIu"&XP-_C4"m//XZtdMO6S'8RhY0,TQk(lfbAOtKk`,5@X!=NDbT55lBdM`,4*GXm 102.351 + iSDhM%GX+CqAUN:::@r9.3GLD+CD:^Le>8C:p,.Q>S&[PCMnfh.X@lQFp25tZ,ng%@$Bj!_ 102.352 + <32'Z'V3&/rQ+6p\pePO*2+4uG5e+Ri=`Pu/a-T,FN7`]DU5>2%Z4DO?Pe[<I@U53`!K#Kg 102.353 + 4>Q#bU8],MAK8(.LA>DBG$Bj5f8o^3MW,qL@NV#4[m?)%6b+:3[7Q+=l")TaP/8<$_JVCP( 102.354 + R^\-4#mh@o[0.I]9QCXQ'o74q.#]D!Hrap;L(G<Qjb2!g+eko.X?$&3[-!JH(mWBQf8UK,' 102.355 + 0>b"<tCr,WN8@@Srj7I?0HHO4j,dRL*!Ip3'UMPkl"_@POR.$),4eJ_%%Jg(ZlAd=tSJ>LD 102.356 + o1qG\a2)0HR`,':"S6=3?(6Pm<1>abVg)@*9&@AmA/Wd'1ZcS(;[pRca^X4YBemT!(E^G:) 102.357 + <Rp!(9pit]hSkfD@W>E8pg6VfNa<R-GrRt&C3i0#@$_UW+YG)tXLJ+[WAZ2Vn2XueL0hre@ 102.358 + j/:L]>PcU%g@cf'>m+>0Wo@#Feo;I/SQn4LZ<Hl#)>1*HgRigADmK>5dNu1;l*Z,.U75=4g 102.359 + +Tbk8$p91YM-%Q;qJ?[?m0j_q\o"33`i\59<\,i\7-8_Udoq:AM?1.9/Sj[oHOXm(T6ffW& 102.360 + nXKR"n*T%:b$a\.b"2Q&2j%K71@iLE!M.gWUj^BtI@7AE*E[e&SkCH+nl_[JT584(YbX7kX 102.361 + r4]:+qjQef<$n0]0&qYS%;>Lg6QEO5dG]pc7b2RF1qi[*(co(rqj:AYQgJ%D*iW#On<\.ba 102.362 + N"/o&a-EuriP*`gD$,rE=(VB.Te^q>./\baZ`*#+(S4fb!a<ga]^`6f0Hk".,8#MiSL3ot$ 102.363 + *'n/cVhLn>-/*Ge\`pto2oU0"b1s0.ggSADZ,'X_]c,^A3SDDT>KQ_N-(Lg>4LQM?L!<?DL 102.364 + $tRe4H6VPJVMmj`gh=DghXa7/1];/'1-9#U(NeL6d!'rd+o32]X?-,(X)`e_4%LP>eRK@RK 102.365 + +93%:iD+*>b/42#hPOdnWW^p(P_O]>NC*a]\A?i^)"^0+RoW,SKX01=OU`5LuB?m6)35qt8 102.366 + 8:8_#O[caIuH][A(]?n\'fY.:FsRB+ubq8fjqP#g`o[d+iYYL4UB`o-ZA@e61C.q>!6Mj+I 102.367 + #=.10;&3RJM"VTq>!Z!r-0?4ZSepWnA*TH2:ERS38,sAHd,2q9c+5=/b5XA1pF:9'.bM49Z 102.368 + gu9E$I*G4@_qg`=b1t\,9l&Fm,2HBLg/4QtSTZ9*$8E_/+JKrVSeo8^8'k]uE#[Mb4Y7;;h 102.369 + r6h(jj!VXSJU/"=6"nr0i^/C=r'!07QA+Tgfjh7*`]V>+m&)QYo=F_SOq+r+3rWidJ\G0o' 102.370 + ej6@q!rDdC96.\r&-#X?O3N+uZPG*-[dA\31nH&cPqs^=2IDNTNA9k$nd5*`)hXVBAVYlJ8 102.371 + H`KO>CD_<Z-<m(Ni$`)C3\`#ut@m"'NMg<&QMf$]#.>?N+RRFTD$)4*P7nt.T,%2\EH1\6E 102.372 + FnUEUF4t#naT:LD*S\II3+"d.-=7qDao7(!<"Z>oO@]TMtGTN4FQRh`9F8);Q;ZC+uhh"[3 102.373 + BD>&4e39)e>tat#kP'Imq;7c;5CrYQVF&%SqM/M/1O5n4PtW:'=J))[ho#@ZKDJrqr58^6h 102.374 + p,5oD8X,.rD`Uj+5d')kEgM3m$buoTCP;*e,MierIP%LJO&.T=>V'2$&(_)OP"Y=+VBQ!i@ 102.375 + QI^!\kRO\7:XloR9(LO\"Pr=Yu^I.@!NeP1ark@540Dk)sgKhDH,\:?Jn9o_sD-Thss;=u@ 102.376 + @`8Yo>LPhL7DTi%dglBDrV??-#lf'9ZsomX_cYup@Y>;`#".Qgo#,277;iGlD5m[%$[qXFB 102.377 + q4tht4p&=a]]ft>`>IGS;(26fZESO#J+d'lWnsNW;h%*YZLU,Ugp4#B%d:i0@>rJ<PEN>OD 102.378 + 26pPd@BnL%p7#?q`n#CCg\1O#pA\uSIph.r>Q+^"K>PBJ(/.aa0cY0(HC\BO?a1ZrAuD2kp 102.379 + OC$<nTau'?T(8QXfcsJT&4b,iUGXj`P3M(hsh-6@.6,LX8]oF9Jc74\aG*H!\@u;(0Nqu6l 102.380 + tOl"CrkaQ;C`C"N)qAWpQ]8gc#d40bd+j7'SRDKY8hX>nf`+N%YOSj$Y*uOcZXt(Ip4/Y5+ 102.381 + tGF6ajf1(t`-YA<G$s.6G%o]=/./.BNa&orY=8tp.*#g4X7ALY!A9YVF\o'2nYUJUm/1efc 102.382 + *f/?@0EX<I*;.SPr8u@9E-Hf<2\N2LOq9q$W'C6#HUJ^sp6r>CdMLE7F6ic;iO<#$g8d`e= 102.383 + 8gLb@ohH_84[2WCd#CAa9W61];H5SS=&r>/Ego%`1S%kC;fqC!:R(OHdo"_8"U^48p%=):d 102.384 + >SKt,bF^/"Qi^kZ?&]ALg`/U.l5-1K0o1;W(e3hoq\hD[f\7Q6dG)>FBph*f60\bMD88iXo 102.385 + 5eG9(p+0D+_7u]PQFsV8[pB[K80l?oTu?@n>diP9mGtSQBI!<fR%`ib\hu>gXAm%YrQUe^' 102.386 + 7d3>P,JA?<2qXZ^qc;i7j)2DJ$)GhuKK?sj0HRV+9c&pupnK*=hL[:UW&\p-DNQs4a0n>q\ 102.387 + >F`WHak!#]@%uSSB>gN8H1CBh5ap_VC0p\<,CT'_>?L)=NX*^W<;)P4fH@8#VTle"S\&ON$ 102.388 + g4\&KekM2*'h3>_E4e+?`$Q?jj2A:86=74i.+YGtA]XSBA*lh<Yts[hG.@hGWQr>b65u$^Z 102.389 + QT-81lUgbW_(:T*Bu'L+hPL)]Xe]Xq7CRncPjCWfuJ['2nA(!,uQ^GKnprB5:qA$C!:O_`k 102.390 + Cs]DB\skY)HQ_IsR)@^>1g<:ApLWN1rMF\;bh`EjK$&5@=NaT`:UuP41RUMuJ4@oD`?=/X8 102.391 + R'*qY9;e0WGCqnD&4ptiXEFAISp^uVlu>`uRFUe1eT3#MiibOJO"c4#eimc`RPAU$]8'>h( 102.392 + DUCJ^J39BsjUt)",P)I[n:W_(Kf/0'<6jOoNnaWAP'):E&s+a&u5EPO0g'BJ3K&l#U3J%[1 102.393 + U5/enKH;22G^b8(HJXHk9s5k>\Iut6Qt<GO%mjnArg<m?NY08k7l8`rNI5h#;'jf#k]l:Il 102.394 + s+?]!.dNdr'mD($]*$FJk)PV)2M6dCb^<R`H!aKg72/8c^]s5R#<+roRVq=(.'lfF!9GJA6 102.395 + P-UJ]<J;)P7-,Ns2*hU^:N_9;BO)mj4Vh[9V)hN&Y+A?7X.fH:]5WGa1ZWn[?s6<b3ulK4J 102.396 + F@54bHq#V"1g/+A9caUK)C7)qpk,_jOP^F@B;eoa]@pdh@77\0a#1QpI;:H@Z&:F(+T`KFY 102.397 + $W;[H>E?gtS2K9;Ma>>0Xd$`@-KhW*Z1us&7S>7KJ*=9)>k2@2Go6gqe=i-NHPm&;O7W^[W 102.398 + HTK^,e1m0JYY.#W91nid@;PmS9A"(Jfc#@'PP&2%+r*MeeKZ5Qnq;h9#=Bo=$E-jgKgn+$6 102.399 + sP!B6L<!i8\-*6C/!H^OHAZ<-#D_m'X*LV,'[#Na]WC:B/2:&Zk_;757#\^VfIHFeM8jU.R 102.400 + N!jA/_3pqL`*(<EZ$g1l,-(Z@_@iFGgl5LfJaU;TKT++Vf*XVoNXTlWI#[Q<qfM8moOX<&A 102.401 + 91eS%V\73`GhrukF1OtJ7.3MhF'[Ig3GfinSEm85+-p9o.,RpfE(4_(gB#2rfKLeoU%`@=o 102.402 + V#hjkDD93GI[mV"_h%C$:#TZ^O`.mJY@OH:N[E'[1B(0+^<6l=Gs&h_GRDVr>.pPGTV_?JA 102.403 + &6KAJ>P6U[OYZjc$/JO`h6aV7f)$oNG")c1e%b;di*K(pK5buE+BKWj'^O^^T`+I)QjWr(q 102.404 + k\m_jh/M+)ZO#GAT+frVSdWl%cU+dLTP_H_IU[V@iT/LY;PKtCctckhuMS<1MERb.ho%2.< 102.405 + ii2hSn+]!"g`jOOMaEUcBe6jLhBPf.(Blpt%*/]X]#dQ<bqb!f0Zh=-Jj(?b3d@(Z3sLD!g 102.406 + Y,^K@f>Ao,bcZS!rM\\foZ!aUcVk$>=#ae7*UgC<7c`1l=%N9#B:0rWbcW8o;FBWE/CF2jN 102.407 + l=9B4ICKI9GeoK(4B*Djh:R6)$Vpu]_!0r4=!;02Zd3qX[l,#_mfBmu*2<R-^h*Inm#&DiO 102.408 + _cg`uH^&\+Y9V`tA75oL0!AQSd'VL.1H;R6#s?J9lV2,XRdHX:G.Z$XcYD&`Kr;?`,1kSDZ 102.409 + "c`m4Eb'"hAaF8Ac:[d[\[lq`2@EONO1$ic$%1`#8_870MD*\8D*ghL?u&XEZoGBL,e;WA% 102.410 + P.IXWtbrCX[0'U/`CO3<[Q$:-N,M^UeH_]XE3&TCKd$_=L^F?oTfoo0-m5=*CZ?>.^7;:,B 102.411 + ?S?=YBFHBL0Oq7(O\9$*I4PuUS096k^fgYEsBOFA(sm(X'c*(J97V,NF0o8(sHie-R"K->7 102.412 + Z&"n9%4R=-@\qh.!Z*jaToaO.-HB+_=SBIsW^A6Y^DY3D9Vm*"Ha0nR@'[FCiF7Od>hDm:s 102.413 + mM]$7Eo#!F]=+F#ScjZ<?StK"D\CEZV2c^BWob/((Z[EA:<Gm\&]n(YC?RkD&P`Mc1JYXI> 102.414 + T:i]NnkJ_0c8>%kB8g::$6saa8#q;^jMbFe%IRtob4:fHK#+r8WU)'.*L<7Nhtb3:C6m9X/ 102.415 + Gc6#l+B0Sb&I#H27HK`;8p;BWQ1\igc]Q;Z'Tc^RTkG-SX(a,N""RI#0B-^E^oY]!dgF^VA 102.416 + -H5N/V&)biG92n[>-SN97NOjocY]g#I*^uQ!+9:Q`\SNg'KYhT#149R,R"c*![SBM5Qqpl% 102.417 + s!A;jW[Nkpfj2O<fFMGWu_,M17o<gdC#`("\Lr$+,Y`:udR_MN,,GQ3D6dRJrd24qS*kA;e 102.418 + OaI^E`#cK"Lar1b\SaJ+)nu4h4hL8KC`"<H/jAm\2`**0fo\PL-:="X_k=4t>NA,Eha4Yi# 102.419 + [B0j9Jm)40,3b,34lf<S01(\hM=ii0\eoEHl>C073k8$&<%^Aga0k<'uFs$Q<QYlMY@u#bR 102.420 + pj*OcaN>k_C1;"H6chOf>]M;Gj\m'h"!#5_MM;G_j=48t'j&Rg[2(RfgL#$DP)2`,U&iN(h 102.421 + 5ZAB%H?6bE"[&IHE"#K8Kb#b5.[KN8YS="*ZF6ZKk,<!#8M"%!QQ7^Q17ghasrD8TQF`.3D 102.422 + .'":=RC-&^q7To`*@U6):k-g/pZocMD]$j'SHAb1$a:s6I1kUW1B#m6Y8,<e7I"d`RH:WV) 102.423 + 8%WESe1!ZSQq3U>80j29oT.'uKh29_8CWc_N/:+\P,Wum8&MJE,HjKc=-9R7La'qgm$*C+B 102.424 + ?ALoalK%I/>(&&TZRs0aV:G+>a`LfKh8KK3u"G%-tLJRT#p1rb+tpT/$'nMHU<?u8Af[<,c 102.425 + 2ge?E)p7.s(+#['RqD[*):$at0rWr3)tCZ)#TD#gBVJFM#`3K#k#h9&rf-N$9@V,g4EJbTt 102.426 + 'HgpYE\QcoL+bS8">FL00E?57-jbb,it[*-\'F3N+&7X.Bl)7bG`?VGjpbp:`Md*,2%b6*. 102.427 + BbqPj8m*C=CXN+;kc(pTJN-pn(FU'mQ#M=GhFP;Q?^PCn/c33.P1uk)cGR!qZLVS->AE6L= 102.428 + kg#9G7,%9$m)]ue+b>/EJe/`PAF>.Z8-C>RcBs=gK_(#@#>\/E:Ls%BFSF+42i#1nLM0]iO 102.429 + ;<O@-35t$JM:jC85%9bci`qAJ;jVda<"/H!74Wgc+KAX<:E_;mfZ0G#%[so+>;*WXF`kMd' 102.430 + XA1oad-TIZ)_T;'c)EJ56;B&.F\j!L4GJ<>WDP]TP"@V9H',FU6:jmf\_>3c,%PI34?f/CG 102.431 + 7M;C*O80^DRerQii&"J@s,3T,g(+!FW3d\6\;Cu<TemnpkfKA^=fph%tXWWcL!di_rF2(I' 102.432 + D1t,:D#N0ra[3X)VBS?FTdo`tLJ7Ou(<E%7Le)`X>oW-B$IA)%idBQ`(+;iDc/Pbdr"#s^f 102.433 + rC>@k8CW`tLJV^i>rYX,E!>H,e=B@ao0:[6?%P<\"a(de&1Ie5:XrHFeR_d;QtuqN:Xm/n# 102.434 + CpateQ5bi>cnN4Q(TW/0Nul>,Cudp#LIkH`EcM5ACaa)L$1RL]d/;6-im.oMoB8Y[;2Uu?5 102.435 + 7]E!t\j;`:*sj@0\r3=!_n=1ujA<HAA&)JRp*\^bu7*F4Z\&Scn>6Wq=B;<eOH[<rDCgGVF 102.436 + jUH<:o5fHd@!Lei\(=b`kRKXHEaFbc=nHW2Fp"ZT9^`I?4U<X*MRLK0.4ooIc/%L94\LHT= 102.437 + %>pP,#-@n.&LJW$E%@>b!<S#Q!"s@9./W<I*2$2E;$n-U.NM"o.TX?bl#O#RupbGj?AqI^i 102.438 + >%ORp<LK+cF,)/ifu6A`?rI3lCg(t`g?#K=\7u1$8_'@1#7+^kSZc6d[#l'(3n0JH3E:[(+ 102.439 + bcbmKjZ,+TN;?eD)a,T>NNTRn_aX+AHhj/!cSk(Qs'S'+]/f!>Q)RsE:R4@j4Kc$"9:H:4` 102.440 + >n*N6_Z+L!Y,NS]4o_d+oGaQ6:7'E+.(s(L%mX#7+]@Q-rrlfT!SC'mNmcBQ$b`,QYDVfYB 102.441 + M"-t(<e\)!>.hBh0D4k!\%.:#pO<L@'ELagoOT3aD>hOr$ITiVIiF5!Ik:B33QaBhua6A*? 102.442 + j<il%U&E-rto\WOF?"dAH:"=ePe;&j"#2St0[JPlAM*G]oK.nf_"fhcN63_*XJtQE%^dNh= 102.443 + A_HG1#;-46/dHqK#h.^:ho6#][>9V%IKk$l"?lNX88SNd:uJQ8i?]RtGY6p[DIHQRiF&Na[ 102.444 + <tX+@Tpa/g9<"-#[)pBEX/NnebtF/n2Q.[i6<t7!:D%ga=H7>(?/@@Q#M&)=E=Z@4Tb$^?= 102.445 + a!=0LQ"kkhio/!<+Um/gb'.Ol!WP#=*>8W$0YZ*!Q+BLDY&e&:+E),_`Xb"0G%JW-V_PdM] 102.446 + 9JLNYlA%R9"T2$WPU"^"h-YSgoH,lo]+".1QniL\u3?t>B*Kr.K'%SMY=0pV5fK,A"D^bu8 102.447 + X?O.Kk#=*V<!%8#qN+FtRLBqf'PgP6:=F^laJehOE2I#7^>ij?GLR<,f!+:HS1#u%SKs3@b 102.448 + 4Q_E:(5HL5KSF*_\-hAKI:edNk+Ip[=rC]#FQ6JCfYD0T@!.8BGDC-b"'@/Zoo&r[*<hFkf 102.449 + lY8hSp0>"Git1`LX:>PLhHqT6s2BMg`R;2Qs9_q-&9!SB*MW'>j(:AKS]TJa^ojcPi7De/- 102.450 + 8!qg9s`\#_NB'HjARuKD9%\`9d_98d%t($fHJI<g2c:l<IG.Kr@n'J1Uf8p]XZ3<L@%oGUU 102.451 + n*GA0gCl/72)d:*8m;?ks9#&%NP8;)\Q</0T]!M*-FjR30V.#$#a#-OM2m]5WlVVG9k"fP? 102.452 + 'QnX*qp]XbJJRu\!<EY%n5m'PtLRtU5G*H_:@Hf0iJgIt]YVC`s?"ebAL8\d@?n?n!MHn[" 102.453 + C1(*Gpe$:DP3[S9lt(2Bk)>&I=bR\q!rsEWO=#ND=b?\qgDuO`OAQ./U24_pk,u4[OBD``D 102.454 + V2t%hl)7an9kF.0&*$NJll7/%<:b^h!NWV#Inu5?%ms)=G#`WA4TpW5U6MH/*'/LjA8nZ\/ 102.455 + GSh@Kjd-m\X7JI-]%nFkQ0]hu/Lc=<*$L*/C2BL(IYr+=Mg9=kfeqL,J=QY3PJ1ps42/#2! 102.456 + Yp84NcjZ.EmUBD=B:G(9X*p]^.KK$\h!:3Q)m"QEb:(DpijBQ`PC*!;ii"r6]bE-DOpHis. 102.457 + (>e[,ga<Z>@=+od/L7igIQ9=Y<'_,/0#M=BYW,ICJ<n^S_cdkPeW+#l`2J:nG:Xs-0<<!*2 102.458 + IpgS;ng4``@<@0A6&'N@"[Gkk\;BUeg',1$Da7HZAt`ZM,4a>;``RBg\7Z"O-A?+_JW<.O8 102.459 + /)7F6%_F7KWm`+I[KZf70V$t!fm*]V_3&0qf4]=A%6r=cm<_'X)'1uL44d]Ss"d%9*VM,C3 102.460 + IGGcTd,n?%nqji*<Z5I67&H9]*km#:OAA?ql?`j7/cUDK$KuGYNiFD$?"t"fO2./bij1)0J 102.461 + bPneRF2f3@+'L1\E6)),e0J9G`\*+@c/jWJmV#]^.]H%ZGa#"Jsgo^DqG-AB6?Kog7hgnOs 102.462 + !Cl$.qG3%WT[p4+\^5&q9#=]7.#[RV0BA$?`o9^q\i*$:4D?[OKKr?eMIlPh%Pm03:"-@j7 102.463 + DPQq:JDMqBQY9?P!,U<-!X7H4M'-R<OETiq\k`Q%"gD&4s")7\9R+qjK=?m9(Q[8LIg8`O" 102.464 + Ya;9a=_Nu;2'6GJZ*16^d3#1BD7KdKqL/P(.@sP/p"J%LGtf`&!1FrJer!5h[j@)mGI]SP& 102.465 + 7sfGa.Z1OBVlb:kmO_nO.t^VlP]r$$t3pLGtlPom-jnE/)se"kYg:TN(YmHuk*D!dGE6#X8 102.466 + D+ZA"Zm#>fIGQr4'C=9@+pA5.9"?ugug@d;%n!T1bF8&L''`;9I=H4bF/%Gt^j%g4";##@j 102.467 + J/Sa`&EW\!Gmd7Su86CPL7>?gXmsK`9^Vf7(</",erFK6h=EK:RA7r\GF_DtA*<("DSGAbH 102.468 + LNm]kY[mrf4R^ihL!Va[J8p;l>jW<GKX^*$a8pa?<rSH:j8SAJ<Z%>RfD9+j"COKLDp)b#T 102.469 + *?]NLG1Q:csHQ^<`D%Zp/kj@mmBQ?TDkbae:;iM3,o/\>6Q]i";itLBRgg%$Beec#mQ!tiD 102.470 + >mkW1#,@SP'EgP(i>kF["[N<q>KU]/^TLE/>j"G]P@F=Y&,$q>C8[9P.3`Ut0BAS5*]q\`E 102.471 + I45G1hd<&u<@NCTdBBiMZT2P!X2O=EL&V,TrdHIcgG]&e+K?a*XK<]_Unc"FCeD-"8[[bYl 102.472 + 3>\fMcoBtu?]N/rH>JoIeqgRI@=?IoG@-VhsMWA?J#[XUQA239mX!.35Ib37(2`]7/_T:q\ 102.473 + qCIf6bZ8%$Ptfl:eb=gNCj'#GVUo[oghq=?^#o';^Yj'U>WsMONQ:*Y?VaamQ'B!pV@ZC!. 102.474 + 2GG*L.PdQ_N;0[JMXc:$CAB<f.hJ-g5NtTrENDAp,bTP;)hIm6Q7%_<bEfXs1f0S"K!f)6j 102.475 + s/`"l'gn_2rIR#Jq%2,mhGMWl2J%lfmdGY=n0[^p>`%7&HJ$n`23Vlt]*+Q%QTp@@lYg?Ef 102.476 + o2_;7QjL00BQ(!S"Oa,,Ap?q:j+EO]hV&KI&^ac^J2-d!'\V('QMXK="r&u#)J*lg:2@@AJ 102.477 + C(mBiR:nAB8;bODu$Xpl77h3QWMHloHZ=8/$Vb+$kP=<:<--]5R=t57REAU!'LH3=)d?JJf 102.478 + j;^"9+%anFXY!2p'[-Lb0'gG6euLLqm1<2oC!^oBUA1<ba5p^]/ska`i-_W(@FfdhKUJbe# 102.479 + K;s4<n6=-Al]kkU#pc&[S.T@=biQ=AQfk/V.nYLXfZBn'Vt#9RO1=t;A(;>ln"E2J6,"_1G 102.480 + D^_MWUm58tDj,UmFIsqj)Mt"n>u.%tap''O;3jFuY@T&Q4T0[a#VAiL"L'LZ0/2-&J_1iV% 102.481 + ZZ'`C6n0FS^FruL9:n2#t+j]X?q-.0eQSng[^IMX;m_,luRr)h$s+gG??O![_mA0!&fqNp7 102.482 + =.^iu($E,&CN>cN]Vs)ipV5`aKY-"bj$PG(7*(Cf`B9QjY"t<h[$g*S;@gITrP!e$c>TZJ0 102.483 + jI0s6Q1A%EA/NZnMBQTUK>$63Qq@n0EO]b!4AQ^2nXOM<a7:-,/W:c2e2NCeS;V?4Sqk\P0 102.484 + pjh7K=i"u.bu#6jEV#D$":qaRl%4&YToIPq'p-LLDF+=C?"u8WiD_9KR.m6kDeNt*`&'_q2 102.485 + 4G7INO>j\n`7=\P?ZIUT%o^#^cHSq%b1DG%6Y%Q4/&/`r^.+Sk"(??5:Ht"hjB=oB?&g6hn 102.486 + `A(ZgeS5"E60J5?^W5ZeHri'[cYaCu,6'(C\/oEd,0jEqKVE&,sW6O!Ur9ShZ'oGSlhF+`[ 102.487 + YMNPIg!m&&u$FDYoZ$\&*+PRohWW9j]T_&KI3JUB1WWni=%AEtkLf"X+6rX.L7p+mn@h;lS 102.488 + !BMDnn957,Zml.Om%@9b3'RGND2V7`4@]t;-V>Y(%?Y$G`V=]dLXe4EptU89aDD7$A64WKn 102.489 + 2b#8H&khj5"F9(+3gkp;p[A85kRVMA-$0t6ZaQ*<-lg5H_2-/c5N#m]JbOqQ4[Up.YL*%$I 102.490 + N6L"sUE7L/EOSKlGoj6cE5"Pc?McJ7b*75$CSCD(Xkf\X-&\4-!a60?15q'#P8I#,,QDJ`K 102.491 + mljG[:IE/ZQ*Lj:5>Y^$^E]M=7HQQ8FeA;qa!,?+/`R<+=M$]s!S7]<6uZW:kb\_T@1K^kX 102.492 + 4c,[mKn6Y$mIZWmHH5+c22$\3/(<X!3"2SFu`IQi("pBDaK/au@TZE8$4kRjY916\MDGG#j 102.493 + <Qa"l8*L1#Uf<A;35t,>7f-I,ab3+l&H3NcLg:6a.C5S/\-lAK:([SiA.-6C49oR`*^bm(O 102.494 + [2;fKEu1IKFW#N&TShBI-I2C>*@E>X]=Z*=fY%*HV]4X4mN4^T9X5c%ftNN"0cGUDSS>gTn 102.495 + YTu3sdf;aF&nC=uV(qA/HI";9Au5&V6=PXWn9`NTNPk.j@n*egqnFd1'UIT[0l$:<H^D/Cm 102.496 + >TqB%6+Bs;$7-%l?dWH?O0"OKq#68R7(UMO*@7H-/$atkDTi-::@`%ZnHcjq>A0E^W36W5t 102.497 + [%q0p^%oLd>XM)`d="`W?gFYRQqAk[AG-Ti^C=%b*V%[?E*RR5Fkf&pi)l1!ua[&rU`mAE- 102.498 + :o]F8#t-:ZaMAVnTPb75cCM,D!t#k4*WQ1YJ+(Y`^fV*K+9pgf7nD&G0pkcGOWGP'Le_3JW 102.499 + o)9'81]Af4ZhVnG6pR\1BnEd*b3-]9p,(W#"7;[Xc7hh;.(/j\Af+(^i55EB8Ef>"ij+R"U 102.500 + hU.O7D'maB8sHP2nDAeHCSu=&U:V3A*E;7I6bGQ'r.ZUJO\>.ir/Y9au'c("kJ3bXRk\$c, 102.501 + (S`i.Q/UUp#,dqE)RAoYS[$T_ndm@EjgGp^kAGE/Aq1</Oe'b,[[YJA&1!U^\.-eMXXOHTD 102.502 + AOOk5!Cig*UM,3]Y5p'Ui7&BRj,XqKS$dhj&<8#@'6!S+3K32+[M`AC+f!.,bQWaAPC_Ls. 102.503 + T@R37?>IuuF<%WSOW!!e$=PtR!^f#$0Pj&\JWj=hOhHT=cr:>AZ[.>l)Tm3t`J[es1PS`E* 102.504 + =u%rCZ<QEKV%E7>HA!Gd?hK>2Y#X.c<H?LgcF$Ea,?[VAdM<6WhRdreA.NB[P='n_rgh:K4 102.505 + &>g]C8ZB]3Q343)#,_F;r)UCu@RJ7YI$8+U9^E(^qX8E`1[D\OHHHTb!G*://q-L:hPCB40 102.506 + OS1TsY(nn*ouS;QhtY)R;(2u>oY%C"\+7Kr7a`f\i1!;[YS0Wu2NESS1?@T4iXpZCR"CA#t 102.507 + Cf>fOQlMZdLG#Y8#7o8;?_[\^6k1Ca,@'9q<duCeE?5>i/_@-##]8m!.2P,BZ.)`\N%D;fm 102.508 + /Q:DN]FD29S7ETdR._P1T<if@bW3>O,kFH(!;YKc.(m$_oN*\RA=\EsH':T2!i0];&:Q1dJ 102.509 + 5lkacrsLl0Bs#9miB=)R#V1G*/6[Pl#^#ZKX#I)`ZVu8Wu5Go1>X)OL&D6`:Zm.5XnBkHpM 102.510 + e#JPtVcCK7gc<$>KtdpKe*("jh2q046hU_(e^hk@hC0.i``I]\Z"GG6YgL'2oHa(nhEKX;F 102.511 + )DW7DKa!91R0E"iFO(_Y19!>$CU.HL-%UrdM_jIt]W61bfK)B(-;Fo\fS!GmF_](Y0Ggl9/ 102.512 + k%DLT#L<<n]#!lE&!5o]T6k^`FTBt3DE$QnDV?]cj$BTfDE.nR9Ye]Qa`h@(G:V^7hfEX)) 102.513 + CrZTNMf]m=>SE&[(d[@++ikt.67F5K`<!1XTf2H0'a`k,j/J[^8)>!$d!\`I%H=rP:uMn'k 102.514 + _O1+T.7eMY,W#JiY]qM0oi%KNQB27rlmaabCQi$6%K3u>6Ucm=+Oln5jT?q&0'X@iUH+["@ 102.515 + */'3:idE.^0m*d5)JV8AHV*Vua1B+i5&sAAbV',iGcCi,9%J/0o-$#0<MH7g9L@-koB*(np 102.516 + ::J^>p#l9A^E_1@[[JEE8mNlA1=i+s_VJER@*F<%!9(TfD+Z*bNj\JqLDX/YUS0_5%UTG_1 102.517 + fgC!kBTkNYmJjHT-(kI,UXhG0nQko33U;4bUJTd5CU)@Bu*<ojiJ^Y`M<?SL[*+HGE+j(@Z 102.518 + (`2``%T0n`1*gU'knkSj*FZ#eVth($:(i[q%UcCSnRuaXrYAn[#R0u3%O_ls\/)nS_',!], 102.519 + .qfuN4"4-_8,Q1/i=O:C/&*E#9ea3!6UZP/=U(2J*AI-Eg8(oR45$k%d]H#E"4[4cKB#`1* 102.520 + E"j@:Bkc(`G!'6>ig;@CYR\N;-;Rb\Od!^qLWHEmO:U*O;1`JPRn6qEY)i*`DM\1A*;2Rj, 102.521 + $`(rc%]"l'`nh^'MG#d$rLD?c)OBFJ:%d)4KHmb8YrHAhm7ZRS'iB;%*'<#S%j&]`rA!GDm 102.522 + ,K/#VbmQbI4bZ%>'Ek'HY09]g&1M&IV)(H.m#a,$*!8It`J?R,j'sbnnkjUpBDAj[c*FUo? 102.523 + 6)G)>;`F771pIl,@(7#o3Z:;E(dZICP@u9Cf/p&0"V\^6F2^7O?t_k$r^jO9;Ze^hFOVGGn 102.524 + P^)KO_A#fW!Is+&&?+$Te6m-(mi3NR`nGVUWOTo.N"8G'<f42i1b.ErB=,('u6mT6$s1C\; 102.525 + A$7[c)!2ZcPRV3CC/9;3PhYc%cbeSf'iD%Nr]31<q_L`X6-rp7]/P"@VuMn/$Xl*'k2JTp? 102.526 + %HB0#!C^$NoaOl.4Qi`:)g%J5_`1mBJ_a%<X&8bAZ'Vu@bLgF0nP(SP.RJP6\sE7?#B4oh7 102.527 + mPT;-Ya?EPd%(#=c'D4S@?ka:PV$g`a%5o8c?5p_('o'L8cLhLM9H`:r$=I0a+L'ngm\jp@ 102.528 + BN1a(2&/u2(dY<:Eis0Ze410,%"dakYKiRKJH?^jX<!K#-/lQWJ`?lq,T.,'POqn!'7V)IF 102.529 + qS3p)<$0Y9+Mtp5T4c])`;RbKKq$F7b7X0+b9n<eV-l.Lt?Mb:r1Ks!KB_1?E-pJ_ePbLmK 102.530 + 6.(9Yt]_4jn=C5pog!df*#D/TNEZmImmF!@9<0:SJK/e*7d$$4Ui9M.(?`Ttp`ZM`Y@,?M3 102.531 + Vk2=s.56W-^")aW7"Jaa@>0H/Gd<=QC2^q^9XEYRIp)[Rob@DnF'll3bL%mcHaPuC+`:_uj 102.532 + ?(L^ts/uqi8WFW/2.Y34`2>:ZsYtf3Em<%\0N&onTpo+8;S1jP@'ZuF&;-N?T[o3Mc27i02 102.533 + bUq"J1;V$K_0#Xoh@@lN63(S064Ypf-4>I#&4R)e@@lPG=[U'u$Wb'o^]kR_a_S?0Cu]SDZ 102.534 + DB"RDARk=*&5iN@9C5$ndT#`(]e^uE<]%/c5_E!(BItb'QP(!ZjBUsDF\(A5_'VXp^Q2>'T 102.535 + 9F?U"".DKeJ!;EpNQ%QSfs&d;u6!?A>m/_7CPkr#;>M'g\c4Td7*GmL2f.$!*a7<N%%B;)% 102.536 + Q=mIl-=;2k'3cX)4_Vr__5_45r4>"g(U?%CM6$n$3`9Yt4W%=jf_i>)o6p(L1f(^Q3Cf0*5 102.537 + fkQ\N/^S[:tiO+&W[sY[//U#X9F2\^,,S8q+$0?L;Vab<MPSh5e*6U3HjIm4[5TDX<)5U;4 102.538 + QOqAVh@-'W(N$n\[O*%hgDe[Z)IW`"/_14nM1VJ:+i/UEGVn#Rc\&$``7M:8JZ]m:i88B9% 102.539 + 4jG(8&>LOG@u/*s-+BUTS41@U^gh+'>YB]ergh8gD).*GJ`>cdOcla3YcC4!!(^h5hl\_@s 102.540 + 3*'4"nZkDqOs,hXIlSK@\B`34-Gn08lNbMtjQ935d99^b9]HI8i:X2Xh]0l55PHDFt6O2[9 102.541 + L47T%-@*oVPa!QIZ]SOK5pNV4$I-!Pg!A.LrX(mYIQ-@n6Yo`q4lF$L$-!;DFt-oS4K?;18 102.542 + 7C/c-<@MCb\Bq^+hTZ!?TAU0:oVVu7u^l)s.<2Gap168m#_p4>eqB(:P*<F1skGf6g/=:t; 102.543 + S18HA_m5ZfGs0^"(U8I:3@gM,A.2V2#+;/-q3d[sW$f*u!k-]X.4K9<Xp^ni(DEDR!?4sXW 102.544 + Gc>iEg)1h)%7@E+\0[,<HMMriG97f^)R0b*\4K_@fG2V'Yg=dTD>O\,)8d7ZF0<&GaGI,3, 102.545 + :ig[MH[*#n'7[fn:W8rWW-<#nHV*!N$Q>+XNgU3Pg(`iOg)pBH>!8`s8CYcf((=6K@cV)3a 102.546 + *;qIDc`-FFYOV3';aTqZG9"fJ)2;spuig4cH6d`IeW)[t:2#X&;?#Cp5b#s`GF&GR*qjr<u 102.547 + *;^'.#!Ts-M+qUH?JAHFARG>qt7ZpS-)BjGsqQ_/e)_$!N)aG@F/,C,El)8egc]]qD/gMBE 102.548 + Ae])Ghk:"9eHE8jaeE_K4lC$soA';%FH"%#'k(Z%eI>8`IVu_b)Z!O!Y!*\R"q<+-E'"Ii1 102.549 + `58VnBd>7*9!>'B@%VU^TQ<s[JOC@,%IRU05ShQb/)gSQ8Ob,hNVF%$c.;E_6HrjE`AiD+* 102.550 + StETf<u-)Ao-C#VTVca'l'I5q@M]7`!&pH1M`+EIm(-]B:RmJPEdbD7lOp]_f\_gLTBH9d8 102.551 + 1XFFfer246_pF_RcE%$dTTQ^=FNq5.f=[)$2ZJ97<sRj]E&-PJTSnU!-V0H%E=*-A&;].Kh 102.552 + *1));HGo2bQ'2c+]kG#Tp560=S+[-K6%p:'82;!JnHr\.5=g$9rEl%-$pr'cFVA[5%IA*6$ 102.553 + "BDq!!r/I-XPp)r!SP(rT\=Ve<Pb9L.fd39UnZSd76@Vg`?I_*M*ob'%;YeDI'pqo0>4WDZ 102.554 + ]k?"15Oq@#^h0_ToM4PHi(^47QZ-*D'4@&O7=$/[.*'S(TUmegKHTg9jUTHUY'Gr=HNJ(UW 102.555 + m$Ad-.].]a,Ik&.S4n&_:HU..>?M.FPm]`LL:53O>-3a;[FH*T9<tiN10R[5mpjg[fKHV5R 102.556 + taU`#lW'k'KL5ml;t"$,/+O<fDn&JZCXUusk@/iUEIX8>J]a3s2P--!Ej2m3[$p(K"aL94H 102.557 + uq+Jt\WR1bSM`5!XY9,'3#4V*?,6=>E[^\XU0n_i`,BMKM!:nZFi>LIRh=d]R+DoJ][\m=( 102.558 + 'RE"c!Q#dDle(%lhu3Yq]4k/hm,%j1]HOis(@9]t?TJ"T(4+9h-67,jNRd@BI[1`c4`/6$> 102.559 + 3W2M(]c)u6(nq)4<=7B'WVu_^r,8]Zitfj'4SJ,!C>jVXlccli&cnSlT(eMA/&9:&QidQ5d 102.560 + Q2KA'LC36&Tsmh$LmC_9agh0KW)JBA=F1\'JTT-.&q;OKUqCBbrNng8le?rTFg.g)8j/&F, 102.561 + 8#iSY[6Za-0BmG`jQSmE.\l0]V[M]N+Q>M$CDL30@H$/g,2g728(!#u\`@Q,adU"8G9/f@t 102.562 + Oj*J^%OVqZ&"qKUU\5K<aeJ&oD3ID$sl_1BIj<i=d[ka+_V2s:G1[@>uNM]l0L.0e%JC?84 102.563 + ;A)^uLN/9DRWq`V"#@mR.$9Z&I0e>m37O:d$(FP'511a+fBo\#oO"7?iNN)cHhsJ:!l(r[T 102.564 + =+M[\Rh24%iE^^"\1OH^E$-TNZg:n+f69VDJIILnNg?5+V##kQ".?*ngZ5QM+SUK65gcB+: 102.565 + XX;\aoNE5N*0@<%]$tLI:&5(mIcE'oPN@&X_'c3?=/Nj%7?(!_F[>8`%m`"KklZQV6HS)3i 102.566 + E\24I>'&LZo/o($f[SBSt\D.o_Y-W(:?.BRW--S%fa'hL)R;l\@teXFHpY?e83X-NPsEEH* 102.567 + SXNVpniQSC@6(/[*1ZM2#O_q2LDDj!+f%"A.S+!hueoQP_8$Gcj>?RKN>,cBe`S&2+AJWqb 102.568 + )4\]aW2_3P<e_e*r:F9+,Yp"'8m0$I=h>U]pVXi#LYH\?)kGRKH+i*Rp`(=k%uJ8n/3+>L< 102.569 + 04r@j)b&;*g][%ea%AT*M1l$\_Z^rhqf1,NUc+Vq>ChR=,lqPpNQTY+.(8hrdMVN/B:p.o# 102.570 + `54`H[%PQ&l[d!PkofNZ+2$=TE%R7eu-A6>1r:HCnf;S9:*n+gscLL02GF(Lf(1=$[B[;Zf 102.571 + I.6s16iU*sPQMunQN5n:n#9MV&]3J;IE7lfrD89,r\502Y%P*1Q?A;_g,nq<a,T'(+E`L4a 102.572 + IIT[Sc3@\R%j2$+*$Y>F8*u.+U:sLji%,3[7lM4g>#3EqY-CA<Lc=R^,qc$4Xjlp)nRO1>] 102.573 + ELWlRkm9sWgLbW"#'l#?Q%[hN71MbrdNl089\3'7b5#?p#)2:+/"'q0p1tJ^l-<lX8"%S?+ 102.574 + 0Q\&>?:F9F'Vjija,pD2?HJ^=CnUm?Wd"jP@[m?AXd=8p4IVZT?h#iHmLJQcYG\)EVjG(pB 102.575 + >kh*bWl.<1AM*Z<kMZA-O33-#!?>R.,eGE4UhXoR<9A\_^SW7fb53RNnKL@1#=%B6M8HAf$ 102.576 + /XiULG<N+NAE7%+:a>]6)9U"k!da5-3H46N2-?tABE;O`Kq@"jpX3J!TdA9k%ehk*E<k'!4 102.577 + `Ohb<>-BU\dR%u^q>Rc9n==Jsrr8CIdo6FXnL:T@3@1XY<Qq@n/WDH46"aSI.(s2<\INKrO 102.578 + CuK3n\^Y@3F]g]#%:tX8*pL;Th7AB=!;J5c`5r4$(<&#VBc/;/hKA3jB,em2r.cK`S=H8Bb 102.579 + 9!1o--^LYk<%"2r<GZSg30O?CcrQga):NTB3L[q7r\_pR3Es9LHoj9>"9,nC"RRq4`c'qpZ 102.580 + >V;F;4rSZ9o-l:rk-)OZ.35`VuZ6+bg/.Zm:sTd+De@,]TVb(+0;GG93ZZ6f@o[l1=WM++o 102.581 + jZ&tc)TqcN:nk]E>M3LjN;Tk#QMfRG`/H+g\QSH;L#XpX+6>mBem0gm^4)?P.P3&+,,7MtY 102.582 + 86Z@K+GOB>RW9G;!Zrsm>"tmfT<#&h,'gRMBdXc[Z$E[u+%Dcp2c%+/</(tQPpjiuc'LR\= 102.583 + (*c4lOV2,&9/j#8niC?d8mP$U4n19X3Pip!a.SS,j#eT>F9;,3.K:.BE(LKtd/'KI3+!p&D 102.584 + @M`d/qo\O'+]aWL2hk\_@m98;>'1opTF3rfQ[jDIIN/'?H1XaBoR*QR1.-s8S!4.P(jg'&& 102.585 + J&H#2%oP6I`RQ&W@o$J@Q-*4L0S&@+6*.WX7g<1'BN3(^=*,B0M4qjA`NqWEAFt+<;J. 102.586 + ;riJSSU`OUm<\dkQ1$#2`V=H*nV,,$h5)i*'ubR(O4B%5S)PBLk=q8#%'';C?$mIq-YUD/b 102.587 + =gkrFuG:UMf43,.-&n=`aK99R6K!7ZZUBk098`!0sE9nYK0Op-*;CESbbRC[<&u'XKoVdp& 102.588 + HU?@HL7sAC7[/]Jj'6;Yfbm%X)jD=o16VlF:^O+#k9bh-QOV)G8=\sE*GRiK2\D2tK<Vor_ 102.589 + *Soh\X,)1BIXe6S0JG."r]seTFk[U>RHe80o)Fc*-2IT&dbZn#/I>S@g##N0j5:mKgAG[0H 102.590 + &F!`\doRP8p>??B7t53GQ6KY*ISM=*jCCCXmd8Nj`u1B25n5>H47%p;7o;Hp,E(Kc0MGkm* 102.591 + m80h44b0U<]E\tQbpa,%MI6]=ft@B(G;TZBTSk/U=<;'42!=:"P&N%cEM7g?3GU]\tl=_Bo 102.592 + :mEm3^(A'T@qf&;LA@rkukZ/,^2BbNiHOJiK/VAr&!fH!3#(l>*"`mE[A[%UCK,e1*<G<AS 102.593 + #o5WJ]oA#F@OOlgBRt]^k`o]*$3e4\$$U"@MTMfA<qYLfQhLGIRTqe4AcKQ5(B\&m&4LC4: 102.594 + g50q.D!/*KMBPK*(.siN/7VQ_GE3-#]OXP*$e/4:u<4XDU++?05,2>@L>Hee(Uj$7)`P6#_ 102.595 + LD`L/EOI`$!>?@Z5.4Tnk`RaRhX5q[fg4A!12\A'(,YkX3l)1+LqG(r@CSe521'07-MoK%) 102.596 + Q/<j!<t3/FQNUid,$PbYO('W-M-?&Hk+)j?@Bb@$]="^knF'&]!S_[7II]`FdJ'$3b`X?#K 102.597 + `%AH8IMpQc/7qhiE#]Nu!,qbq.`Cos$FO;*I""\Ru=/6jh5f9ifClg]O^c-6eitOgfCK_mC 102.598 + (rDjs#*_IlCOBZEKm'a<9?:V_@A^f["g]5EaEWc:9QX&q"kesX:Mfum9M?#k0;C4;MZH!s" 102.599 + CQ;o!i./pI-P;rE&bC:IcLcMmk5Vld33_uSW+ek.7B;^$?sMRedu1l0&H&cgTuBJrW$oRcN 102.600 + AV]B7i3ql+hOF$fRU4ltJ9&H;@h"dl]^G7bq6*UE^-R+T,B$6%*"J[\l9`KPqAEJhDg+)8c 102.601 + 7>,AUOqb\]mK#U7JP"sJLA":38G,@k9m#dQDpS=%CQN0fS8O=e%?Hg-04V\;Nl4NCN%^l=k 102.602 + 36aDLs')6\f!N7=+WE%SEaK#XjZCV4,EZLX/2Q!#^J&B[R0a5U%(*R^0FsA\PN?DM"JlZ>e 102.603 + *o5b%(P<q6a2:+c:&tNrMt!;sa*@V,6St?b_:i6%Go`Z6#FcAD01\S=0q<N$^R-8%'9`qUr 102.604 + &Fp/S/VMT5)c_u(Idgh#GTD0CPu+Y_Y?nC+nR^P@59(kgDWF(Y'?"g88a+db5aa`(]=4A*9 102.605 + >/8Ug$Z:_IuauK7HgtH\AP73m]^;#`Y%"ekK._)JmH)3#(r'<[lnp=EaTQ$6r5AM%$00^/+ 102.606 + Y+S[]`Upa<i_C;:ef^aoRQ4$Yot8urSO-Y&%L6Um-@Ii^jk\U.NmBJY7U?3a#BXK2[6J9Qc 102.607 + fHp/r^KkPBH!,2Pn2hi_6!cVC!HeZAn'c;I(4c!Hu:d5.m*<s;fL$3Qb89gnG%uA"R_C>9] 102.608 + Ca:@uCBo*&#.V:!)+t'nZiU?u$L7>X.]%f&\:qct-j0Gg89LTB!kSNu$L4jHJdDNmDM?/34 102.609 + )?(XHoNs=oL"Qu6``@!]EL!)#HTI<ZiFqIY]mJUlBjh>L4Ek@<'H/LeH[%e"s@9.-r_TnSH 102.610 + `ad!ru^s,T/b^5FokJJm_gcb!N4\=bU7%2!B'1)rs87%E2KG5)LkL8Os%94ba5+K+OsgPPC 102.611 + eE1QrA%L3QGr3,jTP=U1H=L\hWJ17AVj;S1^>+@;fS1NTRQ=tRBT`iNrF]PL']D+<1QV^cb 102.612 + c8:*_Z#KGd,&?pS8pc/O=Kq6:dKfEs?+P\k/I"nS5LM?:6"(4VaA$KEI2:P=?q#Q(\*JK;+ 102.613 + K$[hW3'E!m;?YWf\O^a-!S'8PP!2uE!o/\<'T=4K%u7B1L1k#4bBcC"E45R9Jl5a(k\l15= 102.614 + $JZn^8)#C8Y60EpC-m82Yu_@\86kD:DJ\)7tdL+r1HXjTh6<!#b4#aZj+%9U9HEb"W0r<\T 102.615 + `aAKrp#<b#mH)-ut(SH3QoKLH&:f&8aQ)B*45N"pc]1(g9H59bD,qa5^8*#YToXc9u/B8;o 102.616 + X7#Y@\3OqkQ:-6k[;&2#F/3i+fC"1Tp4=@NNLAHhp;6qHgR3+Y/+1WcR/Pq8F/J5?YNF%Wg 102.617 + b9^0VZQurMld6(N79_?e.4Ob-gUVLCF9hPGJk];>`*<h:Ra?X<0[+>cooEWe8"lNR>#YtSr 102.618 + C,LTtL"hTlN8u5][]sYXbDa!QJG-]LP6>9VJ/%<6p`>4?m14g>_JG`qo.\CY>dk@/S!d90k 102.619 + psCLCb($V]B_*O+p9QU;M)dX"UjWjbkt8YAV<2F2IHTL=XMJF!Djd<%c#UIXJE5B!j07TL; 102.620 + 8"bUpLtB63\ToY8%5$/.!kpHCcO,"`RBEil-XtJqageJiHrW;qoT">r@;5#.S,rpi?["E]? 102.621 + ^I!W<rZO<Drlm$)UZV$K%>)`ji]*<nJlK:;[r"J7"P]`l=J'1rBGX)!C`HO!r#:q\AW\L3' 102.622 + \/L6.8"iW,m`@t4"0aXV23/DmA:j^H(0rrbH`9:GC>FU?IHj@<N;cr=[8b4@k'I^J"W3$b/ 102.623 + 9S!A'2hMBD;$^<Y=Dl0PG/lC)QL,Ulq':J-P(]Au%P[C-E,GlT^5H)D2mi+4iqA*L63C*c" 102.624 + VOO%,+:UY"3&FG!Qi+[+En%BC/_ND<N,8M^^=)bk(!^a<Tn*rrEE;3@9+C(\;YE.)S8F+%# 102.625 + *Yob913ASN>=emF/n3e'[[6jZcL69Zi/D!ao6?oXG+4*eu;JLSUrS.!4'39@m9ef4a"GfR! 102.626 + k"-&jlI;A/2i3`r5_9S[:tL5UN'=gnT<9*:+?]+Ug;5W"6=A-M&e<gAGBGi0&s=9b%J=G;Z 102.627 + 8]`M"nA(\Y\(DqQ:8TgW)4,+Er=Q(H)TQaG@BiF%19208+GZIP(5u\t!"Aibi'$Q,h,.M$( 102.628 + =m1%^r:W%Y:`q=*<;<VRBI?"U7_d#rbk,VP-rnthB.>b,^K$J$]rYD^X]jP==OYG\jfTs&G 102.629 + lo`Nem[j[:h&,6Y`b)mLOac,BOh?=<Y4U;#%_@t5laj[5GIpS_6?I`0P@?G#)@T]1]Vh,3, 102.630 + o(_1P2huJ`mVu7AC3s1Y=s1Kt()X][p58H;?\(TLhm3>`OOY@lc3Lh(<'53GI;,eQlGY7e- 102.631 + 4C"c_>IDVJiPc7+I#J3o!5fbNi%3B1B"^i>%[8;<Q#L*[J[4d\+K"bTBh9,(6Xn8&@N_Q2? 102.632 + W<(X8T3p<m=,1UuK5LfVG;u6]Ll5FGXbX=)>h=OVZ!/%uY/a*THmJ($_q-T[<NtCj$qK1PQ 102.633 + qBj,lLW)1h>TM_TB#g-70_#[9$X'%%WEr1]2:L33nV[U)hZjF-#7,UQ#^?RSD'\uRJm+h28 102.634 + cmG#,Z%_uL1j55$5jatm/i-:"b</P7KHqVr>+T,iMlVg!%?fl*F[_6g@YT]^)eP8bs]A_,R 102.635 + @_1Y]4+YDq9V2(GK_0=?hOJ1BOde6&#R\?mlkO$*ca1L.&2Y3[0?`G)&d?g6JEtGY\Cn++k 102.636 + CPJUi"pXXj^eG)&n+KYTlW.Km43=Q3@F:X%2gj2;6`ETA0)j=WeZ[NAFK6_^nr>N$@Pi]!_ 102.637 + 57@=^Y#OU`1F[LoMZ!LgEa7_$N?#GA+63G#6gR)id-0^qAQkIbRKCCTbD1ao"ouTa+#KV1G 102.638 + NA1b'GG]mZ,rmidM4t)e?=]X:9_5.dp]KYL.HX`=Ao6&[/nejT5uoP4A6*Cg7<,QR'a!#6K 102.639 + t)D4G&*UVeJI.fKof:=mCL@!W8#]$Yh3&?id(g)Xp7+N9iRFtLh$X%3mSKqTp.CR#[&%b$] 102.640 + XXgkUC=54j>KR8[GoE'3haC@8m?a@S-!,kcCL>7S.:%NG.&Jk+M=p7Vc\s+jL@.(g&kP87B 102.641 + <"OW968L3R87;q6W<5(eAq=`/C!EHjA&g]h_'KqNCj)(A?mn:crW!Ta$>8m(2J`/Z<gJA.o 102.642 + ]QDan7W<Vdj4E=k";`Wt9<fE"2BjRu(2M:;oZ"k:WA5&h8+s4*B5%"C3lTrl&:ilrKe@l3& 102.643 + 4Q:^cc;0R#I>+_("_^egfP^u@GZQlo8SE.!:gXmO1Za2kR]/l3hD#7+lNLV;;W%OeBO3e=_ 102.644 + Zijl'70H%+?AYW[r!'Y=%IFdIaeD4eH,BpD'mkOHNWRk"`8ha8!\#r]XB]#9C8G#3[*-Pn8 102.645 + 8@?3eg,;l*sbRkZP=cG)#.pllFL`f#X<D9#@#"C*4Qdn3b'#CQA0GDX$rt0(<J"L<j<8"(= 102.646 + t`qXoVoDhcQoDehUk`qUX@?*Fh5Dm&sfS33+VrGT6n[NXFgC_h`D$LcsHZ4M?Hk]"oUk69^ 102.647 + bld"P#p>nec&dOH6$#E`4/V9WfTu0UOfD,aX2\6I40N=]:\7;QITL`YaW)V^-#(H\oHN^], 102.648 + ru[=fnZNdL^DnMqf-a#bgAGs\aj%n/CYc\ZncBoco,n9':P>Z]duD!b%(4"kKS0=d"uodP2 102.649 + %9hmBq#0%!dXtQQn\XBeHE<@6q+0#KP-KTlQJ.5ni&K\kU,n\7tf2LBZE('^H<UHfjY1KS9 102.650 + lI/M&)lpiq)FXLa[^@2D.pg:ND;H!pCtb`P7Xr7u)V:$s6L4`p4pQc\<9&"%:*3qYaU7*hf 102.651 + oY2ZYi`3M;%SV=Z-9/*-(eVcNJO=WH<^gBUlLXVhA@]9-jVoJ^!K)prA=F`^9HFB]UaL`(l 102.652 + e56:g<"Xk[s"0laMG_D@++rFU/^D_b7T8.0D0'HU5af&2N2-`<jp&B(RCI5C19nLu?F6@W= 102.653 + Is<'M>4MW;QOZq2??l4E,Wu]O#"WlN+>nc/?XQ\ZJY5Vg0HgLj<.\IU+@o0-80A%k15'%?" 102.654 + b:IIl6HDfN<q!;puk-@qJU$_cuW'r=B<Z?f9@8:B),cVE<'Ko:RHEac"Qc+\=VCLO`.NYJ; 102.655 + *M/[FV!r_BWtqCk`KeK4q7ZBZs_3'80I3!ba3;YXB=5W;5(C"NY@k-OQCNPD0:b"F%$rg0t 102.656 + Ks+H5&nL1!W+q`jo^[2C&fJ;:TUO?%ZK[JQT-9i_&qg;#sZ"DJCXQ<8%"LB!B:RJD?HSdP& 102.657 + n`&-!62nL1JKjZlmE2A8"5g*/n`1:nt@Es.#AqE7m#q]D4UT!_29I0VW$F;9c&&S9:E-G\A 102.658 + <S/5gG``-leU=(D&q>3*WFfOpL!]#<*.gm(T2LkX1X&:g#[=#-TP+R<:+*0L>;o"_0.2D)2 102.659 + [1[7Kn+*tU!4j-<rUfF.[Y5*kHY+M1#DZ]s!_:Zch%GQom\poIq\7u^\8K$H&%K0@NcJok* 102.660 + :FQBCda3aUtHW!jns^Bdf+iQ]o,_$\h#Wd.h+Md.UWn>K>3>(mI!^&;BDjoR]:NP"=Wo6&N 102.661 + &3ARMRgmDtLF+Z#Q]B%)%Dk&ibW:M8/Q"U9ZJSN0g\eT"]%W?qqNPj3#)]KC9lfX+8iB!kj 102.662 + G=)6@`"bt!+Z<;"pHUXg^CURGaf)(-Vl#Tm29UB_sjkY9nhf%-E"pY<a_I7E9Hq#IuMoK7H 102.663 + f_gIo-'OlaZHp2$k;;nXB3uPS_sR>rb%YtOI7C,7=]qdEdTI3fGd_U,p=k#8kB2f5^##kK) 102.664 + F7P+(fU4Zg3k5X^dpd5(0A]<prd/.&kI1kCmMQ_G@]G@(r9<i/h`IRk/3J&o\KCmds(EVq# 102.665 + s9g8YUYs5YT*_)P77kh"ST\*!l\^co_mC_+P*L#(R84+UAfZS/2OLd(D(A_bf,K%`?Zk5nK 102.666 + opZ2DtTkJK?,`DJ]`d@[ZX@2R!\dmefq,)LEo$\Df)bXM&lJKW$.\bpmuL=p<>Q6PO7r4aj 102.667 + $?tkjYM=Pq`/.o[8Sg>72CQ/D;HLEaJ&jeG`Aareu)bH!CTq&H7aZ.3e6/H"1_\AW<Q"#8E 102.668 + D3fl$gHa+b*=5'Zd-+=p_D$5P7aUdU+\:$\SLI1Ze@dQ.7$08i'ZFnlI*tqN*D'/$jr&Jcb 102.669 + Y;fb;cV@qL34Dh=`?8*PKWSu$/nIE9+V?Ei-$k'3QcZ5Kd!l`N$\U&<m6U#66W0MJAbh2,t 102.670 + Y[lS]A]!0AF9:^cC1??-*Kqk4u5b$t9rj=UX3QenZ/RL$<p?f=g\TNVD'sIZ9]iIt6E9*XR 102.671 + GVfKKn#iDLmQbXD*nlP<GSrYLIObsO%3N?Zlhn%2$$N.5=4*_<fn#AK>kNpj=DjCQZbLdI) 102.672 + 6OiVIM7sWg9<J/*<@L0fD?"_Appkfq(UU\`\Q\DEUHQK*@"Dd9f*iVSY"%KO&SE=gGJHe!J 102.673 + HoqdL\_M>g]0=WLm8,g`[Zk!@h71C]'/Y+(HbT$_mp"ZE^;/7T*7)T/)<uS<d;;=eEEl\'l 102.674 + 5^NRQ>lAaT'jcDVVuDkQ/]Sn>UedmjssasS/-Ak#K^d`)rmU8@9L/T?mURSJJ(/7Ar2mtj" 102.675 + ZB:hLJo0+9VC/#DiSQ`R.gOKiPsX9Ft)Nq9""iT;h+M(^Y\m63ap0l[.Lg_=7A0+0!$tEBa 102.676 + b*T,^<LnpT9<2ib<k(oCS_It-u\*X;_Q?&h3JcP4c9(P15t(]qd.^N;S"7p,L#_O,3Fi4^k 102.677 + j$U]NekoL0T1,XhXk8pRTBgNB%#fCI)5iu2u#o.D/JnQPO,/@#>Qt6]bU6mQCciV+NX<jS$ 102.678 + 22BQX+@I'#&C&D\@HMRGYp2Zr@O+ZJlCh30!^>Y=FB(Z25\g_#0Ijqq/;7j*B*k7;5)5g%: 102.679 + ns\)%oH.O#0:9]K'h22oqX*D@)<`>jDgsU4H#:EQ5P9N5:_:e'S15`(o$.C8=:2:c-SJ5^] 102.680 + m=2fd%skUl:Jb?;*qY2%S\%SV[lVp.;e_OO&eB7g?an#8)qDj^F5l,D^3J!36)c0Y@mH>^) 102.681 + 1TXJlEFeK)M#6k&R\&4N+/2Bbm?Ma9<J`hLD(mtCIs_3-$qZFCYNC`Er$YVYBWh4)eoF\WN 102.682 + M38l9&%'uJ0NEOcA)`6HCe%U'&)<@V91NbLNGu-o<gH=ZY"r:[LDOUif.n<_+-<'Vk()JMZ 102.683 + `F,0s@'s5Hi3!L.kdV?[=aQq&LbHdt(`:(+)716W"f%H1B;6;O%V0>7#O.Tm_B:e?d\]-^( 102.684 + u:lBhOHO`*DY=m#cGquSCAI2;!K>qMX30JcY;f1U/ZN=eNCr1iV!ocd2b=.KM0M"TiT6]A0 102.685 + #.W4U((`0LPVF*lG4(1,a)8'1ggbiB1Ah@RA,SC<.HkdASHZiEj]4d:OQ(>RN7(&-nlk2RR 102.686 + SD=HuQ9/7[C"iu6!@X!M<CV3S@*%SiaT5/_*Y:9sS@[tsP[1Q?od#iaBrg'SJD`YbrgM)CW 102.687 + iP*GLU>R=q9<KR^[PWFI/FVtmFO[4''<<\2F&YhfP9_;jXDI=Hp_2d_S_T$/A5`H82i*(kC 102.688 + MEOI+jgA0=n0/R*56,if?_EO""nAL:mg\Ztf=q#P4#4`(CeVQ%gnG7oZ9/d3`>@R'r(4GnP 102.689 + _=]@"Ua0q#Je0"0([R5_m"Lq;)gH8cq,#%)M*\UkV=IL!CQt+&2diCLrT-7/+5;\?%C'08% 102.690 + @q,=9f[Q'$E7):nPbE[i?/]pP6#>4ic4T+?/UAqJ>3X@X/2('2[<t7JX0#K+fNK9NjK2n95 102.691 + 7;Hk_Q[<[OrTmZb3UEsE8r0Pcdm%cO?pN?OcQ:pB?3^dC(=@#:Drr$bpFJ0,:fcoCTVIF#h 102.692 + o3bT=Y!0D^id+SFeBUom4gI=PY/f8rX*>sqBaKcd"$)9)K\YS*omMfY4=_EWo(]jK=)0%KM 102.693 + NH*eu_q<+EpB@5q&B$7l:rTOb/9'p:Vlnkf#9+TZXptJ]/>ff,*Wq(4C!Dp%7,H1'g'i)j* 102.694 + LF/,VUaDB[e\UglTY$UmPEnm-Nh1oC_^R<Easo6Md]^%_0WU.62WJc8M3(0;"pAf:a^nCAM 102.695 + LJm^)=g9(SJ%@^rkU$)P]#MK!Y'[_0G>d,=cfp)a9b3/<Jl,";pZkTuQko*TPq)O>2WT&__ 102.696 + ?"aS^e^lG8^$,HiM4-<P!i;'a="^sEah,TmQSrVfU-^qOdc@9)9*6?Qc]SZNa]g__85p 102.697 + ^5r]RC@=-2/V,3[kXE/NUX4I.1?0fJ!CsRO=fBfYJdfQn$%fJ?>(X18E69mZ6Lq!fspq.?K 102.698 + ,^^,Bq#eXp<sZ[nTg;NU*6'u!*(.sfO2I\EK5aXg"(5/d^=hT)-9Ldi?d*ef2:sBI9'fT%q 102.699 + g#c-5)75X\;%e&O`*XeHr0STJdaL&:ia3<D+5UWk^JF5<&[.B6l(ai=575Y4NEQ[6dblugC 102.700 + fr1`0brFIm(E)0;KpYTJHAl8/D.7[J'U_cg3A6cu%+@6:<5Ij_&s&#(_R)e;3rBUWd)#OLV 102.701 + FsTOJ0Ob]8^O-b&,<fa7_,hen#ji1^J8B([=[Pb]dZc%u0\9G]tP$7O%hn(@bs$l!Y5Z+p> 102.702 + VYVuWf3s3hnfl+Ucan5cCqA=d2MBcT?#>B$^8k*aS*bfEtj_u"9ed5dO*MLoo%u;;n4;*4D 102.703 + G"SjG6!+RA^ssVC5cbe_6h6s:BH;Z@)iq350W%8->meP#1S?$%7][$F]*e&B$kU:g&4FUA, 102.704 + n*AVmihH3i+ggE4r;%QYjfq*623kWWljfM#"+or.LI65#S-s!Ju$>X@58G2V%"Ym1<RD694 102.705 + C*Da;Da8?XV`*^g.S+iZ+'A'*O!,!8n(/3YRW>L@I&6;+D=WjO)!RdLaY;WAN1"a?/>t&2. 102.706 + f6A.K0$m&U2u<tJma@I-.9Jf:>W*Nf0O5dUh`DAiPAi$28A6"CZuE;>%ZlQOIQEMdKdCDt% 102.707 + ^)\H^%6o$SR[i<`0*!iSRNlN+g()2<X)WP5BTktdDf,G6Z/;^)<@0R/EE#2pA$>@M>bl2)q 102.708 + C_bpC$1Ipg8EUP8V"B_d0riM>"J@t*e-Joq(SUi[iNNN,.KP\b)fd_TZ8X"k4!W0;^bNk,1 102.709 + -g<s`bo6+(ZF"?6e*A*.Pehc-5&irTn=\C'.2.&/"rOJ@163J(^^DH!c=1(E;US#KFEC2(L 102.710 + arqEe5J)\gU5&)IZ>i6>dYrWiop(-H]X(`10$MdMbE7-B[.&;TC+^at/,$/IZ>Edap(6g3V 102.711 + 18aO!L1a1T&mYqEk^0*2t[TUH+&`]NGaVS[?jo*,I6$4ep'/n,SPXa17O)B%!F.j;D<ThHo 102.712 + o8-qOR&tjs^6"\W$:?/%4(kL&@cN'bKO9WO.+3&+?_#lQG4#P2D-VMJf5U6]cCEdXEDBRa3 102.713 + !cBK]MXEb'%,lCi;\M-B\q]/S3<19a5f#IEM`K7Y3X-.eUGf)kaZ:du21Yfq#oj1'W"T0Z$ 102.714 + c,LB+C5dl6FWYM+m,R=kB[b>\8'I^(/p(qPNG1@"ppL]'_Cn+P*dT4dMcPY&E&!?+Jo:C7K 102.715 + FV;'4@74U#6mKZK8p`*[1,'L4g.HrY^?_+-&5t"<[fr3Y/S^0O^!i!cA>Z8jX"=ct"7/oN! 102.716 + ;o//KG_$,JS,^d\c`@KQUH"+VQqe94-a<BBc$-V;Hq`i&lM\>rS[8JI@[70tRY<Cpfpid_> 102.717 + -:bi$$#$_-:!oP7'^dnU8\u3=U"!eulFN6H#q+T;T61-9,eCFp?g'Y4D$8g`HDDD6c%KM6b 102.718 + #iJ#N+jq8PNpVI2*)M5\5g0SoGU>!N#5"le5XSD0YQ^:5c2]"^#IFRJ.L4KVc<uG4^fgn,* 102.719 + WY+'"#F[!e=T]l*dE7Of;>V\[9$>8>?03[W8pQi.l?=kb2i5'D\V1<2()Iid7%I33oP3`<I 102.720 + 7i'ZiGUZ!$Qq-JK",G_Ag>P$ils'.RrmCC(T>4&s\AZ<OZ(o*d!Ze</Ja&FiPh[K3T/;>nt 102.721 + dF<1?q]e7>7m?5:"T9,JP1Y&J&p!4CoiJ><D\Z@Pe,W^-Cj!K9];Op9lE!MC>3p%;aYZj8Q 102.722 + 20N:PJcm]=1-XtX[@fm5Uk6D_ZgLDQE7DM?&<Z6<a`WUCM4k</$FK,=,]Gj/@qkRs>_%mq7 102.723 + _unpM$$K<]:buDYE%g/bBE2CQ<DR,uMeL\&BbEL;E(;f%P$mmC&GC<:<*;dXnS6XN6/]Nci 102.724 + 26^Xl5O^E,N*GBi?)hNV,?/R-N`'=QIeZ\+9L-N(ma2rf&pq:lYb'"?'=;ejouhAqaY$'B4 102.725 + 7-G<0e<o$YNiT8kj>H:omZQjs2&l!FSiB[R_)k.PLGJ#mRMMiIu?=pN+qNF;I:)2Y1Xl6sc 102.726 + -IA<du72+m^2j[rM@@A(aOJB&-d.N?GY"[G3`=!q41S-+Y!0>pTnf7lU$RdsNR^+u>gpQdV 102.727 + EOa5QNH3+sF@IgC4R3[!N<T/:O<_*_0]2eA^#1`@$+:2_D1).Pc)ZYBl_,#%N)dcSp!u=E> 102.728 + GNLUr[-Dk>ZjXkbGP?%:+:_KQIi&9<<p+dQX#el;;ZoZd?qk!0"P!*MH_B\3:q@(_[6gRS" 102.729 + 2HAm[Ik.iohmQKJIa0AG#CX`M(5gIKK)na<H3,A6\T(u&\)=TG?%l`eeXO[E<$;8Z*a5`q? 102.730 + nF3'K"9C@AAX>Z!2&H%[^Sno@."Z%n]m(%i-IJ=Jq%?TnTcaMPUZNPeU=f,?tkbD7+\[i6* 102.731 + +GPTCqo!PhoAQkgj4O][qKig@%BE%ViF`Yhn?Nu7I?esBFgooDN_$[DhVR-e07.L(#C8jEW 102.732 + :E]+A7a:Yh:6f@eaJUN]HM0NFAO81Sq=Z;P$h2dj`O4cQj+bu;I-3P2^D)H<_i8mjE`_k/H 102.733 + 77$>B!"K&f-]!d*+_4@mi#)VL/=f)-PZ`X+=biB#Bo;_D:d@,FTM#A5`"$r;()`l>L8`%e> 102.734 + 9n`p$,Fpj1qEh,BF/(,#d?&i@!i2i2gMrrSJfnI=k5=<O.Cr9%KP2oE&+^5rE[7pc,h)T5c 102.735 + P+*JLt<+)Bl<b+9A-H((<IB%K^;T_!cJ[Zkn:8OT[<ei*i@1rM&!&UDbq`=uIp,_OhJ$FLj 102.736 + G!EmPib'r8bkPi+im2:ZA*?:#?^)aUD@Entd@X;UkP-C%>@^g[K*>XJd7#9&2/d5RnJ7B"q 102.737 + $W>[^GZ`AEKP!c&a$m[!aer)I4+:MGW3.YA96m53r8gd%?"U#q_3lXN$6Q0>JC>+7E(o=4N 102.738 + 0o!M%Xr?&t>3>4?h6)Db)&i'4)Y6*-5H@(UFlBs:;i!7Q2mC*lYl]%]G!lI2S3o;-(gnGk= 102.739 + ssRl6*B<!'0A!@Q19=X0=0CsgtM/&"=a_i9;o8RSXQ\i;m2q2rMJhh-R!Q>;qOK"?S,JO;A 102.740 + ,Zl,o-QOHHj:\[i9t09`)2$L-WT.\JF>ue"aD3HI<Bm\B9I:S#<+FW"OH\\i[71;F9GW"OZ 102.741 + BCA)"FKi01gC)6oKX&QUUFS'AX6*D%&O]pm90JUP1'\.AK)(-D-%]D''u6+FQ'10BK4GbJU 102.742 + `'a$N@8J83/3,QGN)o:;O\9n7m!u\mB,J]Tu^rmb7'S4(n*Pn6n`"'OU_"_ZhUBa-!`5\pt 102.743 + @VJ269?"]96V#r74@<,]-,tQJ_PA?lp+=00[DR*9_l'o[r,9Z:6UW9&(0m"Qr/qgbX[F@I` 102.744 + Q#%!ggm\FMb/5\oD1b,goN2WE^BVI@XNK:gj_B_Jnj(rbFI#?4JfEZ^WIi<-N)^e4Jjfs28 102.745 + s,O`dH<,r,'bHrQDtWbSAsX72O13UWg[nbm!^/r;4lq8Zi(NC><8K'JsR\*[^eh`Va-(K*0 102.746 + Ce+AuJ9dBfCiSO+p`s3NXRct"BJZ_>b,,LIh&(>WF%4_EVhPLQ.@;B`Bu>q<'%Z-h^9f2N_ 102.747 + I4[;mCM:WBpe:!?/4\]\H$J.BNPaiAiHl$X2ms*Gj64;,JrKZ,k"4O%fZGM%?]]_5$N)8?T 102.748 + gTjD7qn\L[dOeal%iq/[4eVb$3SJjDg84.O)76Zb+lD,2-jY&1bFf8j*T.$@abHq(U47XIO 102.749 + i]t-h$",E4qAl_q1/Gm/H+Pa?0U'/iS&ir?L,T;IRcquXqH1;-_'ZB35PY:7L=F8jTAH#,o 102.750 + >HJJ_tiIg-TFSJpZ;)mH3LHd_[#@U2T%#Fm,Q46X:egk,rJ?+3EMrkl,'2I?Wq_\`6pLg&* 102.751 + _]4mh:cn`0lF.fL7LU25SXh?(^!FoKAH@o($TX`6[MeNE7H^31lp61)&,aatVu@VtBoM9;Q 102.752 + 0dhk#P]NrJ4H11aa*58EB!f?4?H0[S@l[49?r.X#m(2Xq=F\XJ%T/Z>Y;on&:59WcL?UMra 102.753 + #Og2gnAhrJ@2W1>$g:Wro]E5'I\ZRZbM8\KnGbT8D`^"MZUs%r.pj7>59J+!,L!nMbl93g# 102.754 + "lmd4o+!%gnbh\ibdphJa^?\9Ki.&+s6(/EVf^KpEG+P4X`Vo>spim+eHSu?C1%cq><IN'R 102.755 + [0\s*t"LL%npWpmh`dh$s0#&c"`ns+*GnOB==\&IF.XiK2]64s:Mp7,j>2ZsGI)NCMrjf^s 102.756 + VY+d#=VP$'W5;(7c&jc\;=^0raa9]hIJeD('bSMV^URH$VV3h*"@Zl1bnNBno>hA"Vu-?W+ 102.757 + _!$`4>UcO8GT@-N#fR6q=@Bir$Q<Q5<d:p!lm?ZLK[Jb)ngtroL[GC.o]"Te8\*a1PJ\ba` 102.758 + Qs;Nj4tX`O:DhkV59Z028K9`oZO\dSc"?R7H>CC![*`N.RU%hD;5r)\opX][^L=C+2KkA.o 102.759 + HLkoV!T*X>+Hk85EAnk>Y)=B:WS7\[Tq[55G?KhFS_(lMu*<t]=kC$>M]#PrTa1USmO=l'J 102.760 + 7=7]`-f39.JoDk'd8:[*(\-dJa*;ht-jJ5VNlW!^N^\Q6rR^q?HkrcpFbiU+3McNk(/?Ta4 102.761 + !kUNf_TXidaW-S#$="%9CN:D?5P;@;a%/$$8L]Bbs('umMcDO.sh=RdA$Z+K#kQuVbQpHbg 102.762 + 36s<-E<0nq'Z?2]e8h2&r.Od-HA:_no[&FJ5/d+"l_T8OkLeNU\GVi,L%+d0VP;K*q:,A-t 102.763 + -H3$]?Pji^]_:hK';YXn51.f;`lF;Q%bO;ZRkZ'`'QXX,.5F=68lE%(02,;$dT1J=W_=Ib5 102.764 + mg=IFN^[H,n`1[8hW,s[;*0/<]+%q<mu3!Dd6?mK^=-!9>^>4c`\(+@T]Zg#,'>O23tRG8q 102.765 + e-p=t(11UJc9#YA@E$e[KEO0`$b=PjP^MWD0=6CGFCZ]Y.?O8/7[kWFbJZps%E2%s2$beb= 102.766 + MaQ0!D]=:=2&5@:oY%Y@gieWkerW3tQY=r;DpC+)!JQ?csb2E"e"\=PpHA2tBlA)t%`8n6Y 102.767 + cABT>LapqEM\G*RhUlh(Qf9kFH2Fj?O\as6ZY0Pbi))'VpJ#$"&;KIS,3?B<9i`^K$MPjRi 102.768 + FC/f,#.C')Rdo4<,6uN7WG6c<ca7O@/S.ppH.H'*mMBW3$6gCi7"enq:%Q&8>PA*4,^&7hI 102.769 + ->l&K7[3Q%i6PV?j<+??Wr&(ZLTilmJq"paZ7Wrf\"E*]&O;j7s)DQ:5msTVcVAjY)2u,&c 102.770 + Iiig-#2*VQ@YFDY)]H8qVAI9d;ugH'bIp^UG=imIB&+C:AcGH9R[lTUu_LA&N'9=/YIO*-W 102.771 + Rof\Dp:b5=&n1!Nc0\<HV665SKsr[<p%qK-3SFA%*J2th-=TM,:bn,u'C1A_".0q&eQ,b5# 102.772 + s(aNL0UcKjmkF4s#c<!*P,**k;+GZUU$2_[b.tjri!YA/a&o/XEBUkQWl9Z4/5A%be$'aEc 102.773 + $@i7!Jrh#o6ae!-?Fp8@;">bM8%s<o)Ol+^!V40NR/.?Ib8cX5r/"pd7#(&0#Vfkc`Aj7G: 102.774 + :NNI"XF+<0p<Jalt7mt>ST`6Oo]'3:Q>LV3>]#2W/8Zi9JBk+4L-$0'p1e:,UH>YoKsXj8H 102.775 + 49>&k*J484&muClK&s8L\>#YKlam7ZpM@)H_ljUtUW]0eQ7r\=A^b!:#gMr`)2P&ljVWYEW 102.776 + mom=r_s(r-_E%J&X`bHbM$-1\>C;Zno#0o[n^>$<:&>`cV.pdAO)KQom?5=h_l2H=N@O_#B 102.777 + 'b_ZfqVKsAOPD4'%GH.65dX6$jNcc-54$(iLTg"[N'1u8H1+0<<T+[f>&7`:/kO>%8!FgT[ 102.778 + M?p;;/I.kA,\>?,R6sK@&"tgJNXg@a2G+6$UB1d^6IRe7aik;A'/D]_Jq"5k6nt)t3;BWn: 102.779 + /R"o-m6^opq(R>DH@8e+E&$]Q#\!CarH/1<<f-<8LhMd]*!C[%](5!(82p091RII7b%V>4V 102.780 + c)2"a+@Ob/u88W&UWRQ%lP'$8;d$ksbY1U`WXB5?h?oA$-Qd\Kb:8p*rIuY&#tsMs080C\< 102.781 + 1]('_TW3sf>322AFOp^^K4Oq]HiM6[mda]U\SASec@ZPI/t=h?\,D"XF-(%s)AC,@'8%B$T 102.782 + LVU\k^=_hksYHu)tfbJ'+Cb<'([h\g4>Heo^CH?8A[g(XC4,Irp2936D-KSLER<*7gcajo^ 102.783 + l!6BM?pVc`\*9sr?*J["CAY4WQ0.UC432]JX?`=8Q%"A/flh:Vn%KUXq-Q5JI;cOf^DH&2? 102.784 + b?,`DtX.G(^C(L4:-RX2@%&8-O!nj)1umO&&K/R$"5qFKlFI:_\d"q@D"Q(Yk>gBUIu2*X@ 102.785 + \7g0r8i+NPc9=MdA,!g:`%.%V%V8NH)Bc`u*t[A%[)JEV;W<)$_<q4Gf2@2Fkk,-RE<9R=5 102.786 + ,W:C.n,BB;6_Q#a<7/U*e]`#Q"hnW$>f)2BqY4NX"42J:8PV_r)!fpd&+DpB6@3G1GCf"h? 102.787 + EcNBLsA_d*RF7D$/=LFpeqo:d?+mu@6*7iYOZJdFG35+m@7;4n5J:]\G^7\\)#9>gh`dX3& 102.788 + )M_0%4Td#f*i#_R)cRgu'<9:=N*Be]=Z,+tDtK?uf,E`#Se*!ID>^IBqZL*h42J).2TO6eP 102.789 + rttLn!>q$'%L2Kf';(e@C:^C)-^VTD7V9;[]\NC"r_gsM%s2Z%;Q3f%_(jHft2/<b!m9UmI 102.790 + '4_[!/47g7-m*m</+O2t[s)6VDiH4pXga0*b3ZO+gb>XuCSY&)n<3;V-=m`+&0.il3'fnWL 102.791 + f)([`E.>R-91GcSpF4VSn0oECGO,Kj?i`>IBsPB/p%,e0Gkk-4H9F->:tq;EpcbOY-*Y)'0 102.792 + 7#=mt?4RIb"R@XO`oBI>Bl%T\H'=tT"NeW`%PN$h=&4YOA?&,[%N)JV>2Y-3Qn"'08aj7S- 102.793 + ,j6crc[npURd%k22)N[N!C$;V7fR^Of7K)&cF-%b1`Ilm"3#Mj_qB$:B^q+l[J:GDgUs4!m 102.794 + OTJtH+eM+b-9mt*aHu[W7Xsu2lH:OYJQBN%itRDWV.CONq7VHm$n$=p;ETHH]f];=E>Juq) 102.795 + e\NW+k]/1"R/T-LQN7F=;T^`nf*#L6MVL;Yp^Gq]B@"qb!(GR\.+e`-^>>&ej`$s%`?A_t" 102.796 + Z7RJU5:le2;2pjYNl6+;Pkk9&69ILl'>IiJC%0p%"R!K#3_LQaoTg]XU/rkMpe5ElAfKBth 102.797 + 4]XD>J^km\.j9qq`b7n-)^sISH$'5YL)o3ac'Ou1b6kl:269Dgj_/Q\FHl'V_`P1@K6()UU 102.798 + bSu?os1d%pR1OAT"%fG)-6j-XJcm=!BMZ3iH,7uWM+ebXEEJD!SLEKcM7_>h!8OA`K->f8( 102.799 + PjDq*#=@/c]YjY$.9[+>UMm:*fH.BT!D!OKJf(6*5c#&5HGqoOQqup=X@H-_sgo!"(K0l6& 102.800 + ;$Z*`OR'69lEo8#FB2%u`:ZN%KjCDCDipM<mPs_.]hsmDFlVQ7P'a<'*=?4@J]%2</$jb7= 102.801 + U%&31G&`Gg=F1g!.3Q8#*h#XWI5PO$28?'M,)4$-A"S6coZ:dT8$5FbV@&D0#d,qk>t7WHk 102.802 + 0F2>ji)+BFMW>n9f!H>MMJ%hSPP?Hn7W6`CiW#a#N(RV6>$u#tYcc52PMO\P'S9U3M)Ruko 102.803 + 'RX@VCh#\_*sKG^LB(J2?uJR=JOg3#a>ALi7"Rs/K?.;NaCL(IFGS"SM9(@-8<f"Q`/D^dM 102.804 + b)ofaR"o-oT7/tOi[H`aV9q1,a6>LPf[I#8T^6>I$Vm-RE:\M!iROM;Z%aV!J-m]!WYdpJ5 102.805 + ;3\HU$k3LanMoKO"j],g&r:`uDquC\!@!0?(/MWS!aj9VP/,Im[pVRM)A`m&cLoHpQ815?o 102.806 + 93BH;e_+TZgg94YM)Cq%TP\BC\X9=27Q]Xl;)^!"p>bKR`EjM4F\^s"(?bV[.07)I/A_ou* 102.807 + "b[ec<>fb-2a\7B0bd>O:`6(d'bKSbcbiI*ooY1DT%0H\4]]mas%+MhPYs$=+,M[(RP&?:b 102.808 + fGq\[`1WX=OGTc(TT.1H:%9:FUgVIC3_L_;b;8]^7(#_lcH]t^c?.FYD!4WAkg$!gcEuh2` 102.809 + 9PXlld"#JcK+H>gq&%r%KeKg2_Z7J5[@/biOuVM6B'S=AG@,!fM?e'#U1,3Z'PfVp.sW\^m 102.810 + ]>QCYI,!3R0/nc9(O3n19/V>69$jKp;khI0WT&$.+qEd#AF[V$p2.%++)Fd.IiF"V/oh&() 102.811 + +)d3TIR*>HmY'i@C7d<-5PKbdON(X\cjdA7f0[2dSr*RVhI;:Q`9"Wu+d'`e:f0CT@"YRZ< 102.812 + Q-(jC=$(:qB)e2ZcCer:.c]R'^]_KpVfWYf5dd[?5%53p1!l:-(^@Yr7&B#lf2D;,VK-`J$ 102.813 + 879\ER]GXDe$V2lCHVnNM$JGmdn5GESLu%i=&5YB<#H:D3rl.;5La*8;[l3ZI54*:1Hs>G< 102.814 + .Me-?l?*DiC6pJ<:llB@!5N`i;ocQKmcn9Y_!88#$#/e!?,3qHd.;nn3-gmeZ`o@`Cm+/5f 102.815 + uMIRsdYs]gU@%>ui*Ke9teh,tUCF8j:Km<^="s?"gqb71W(*23;kfK6.Gk%+aN!K-V_,@bC 102.816 + nbWrei4f&-sndPq;VB;ZJN9nV\3JU=)tF]W.#O;qUG*3e&"("Q=pemn&IFa]/]oFV?;=>N\ 102.817 + SN)ko(r%HPb"iZ$=*HtE*qUPg:=Ic.Q]NbcbE7fl)O7d#8nJ#'k%9NGj=:L@KE4pf3Q&3pi 102.818 + -kIpf(g=iheCD?OYJN/J<BODN,M88g;T57CV.#Q3O%N)=g"iE`V3"kH!a-KNfdl)c4f+!#5 102.819 + h_uT5Y+ViJCjlsXfngHg6*dcm>B5\Mp6[U=J;(;>hd1n7NgoJO,PiR]s$1P_:ho"O7fBcNM 102.820 + jJOW8"P=,)C7M3C9p2#[AW$gZfs:%CAR#TN`GV=oGT2/4_D<Y?X65M]Dc4XT;\35q6SZWdI 102.821 + n&e(i^>c&ru]08MYp7FE@@`6[8YgkDEU2+(VFLYGd#^9s_A<SWFYs4>fW%kYFZL![N@dG== 102.822 + 2NsH-M78:(8Wno2Uh-ms%FkO]-a&:I>b)gjPJDCR$Rh4q`hJM_<4hBMNl.uOIh@nRK-1R*l 102.823 + D_:p1?WHjXKn3SGpl94^^h*,NNV),%!o9kC"o\JYh>lIK1tTZ@7KrmRIJZ7rr&oc4?pOaPg 102.824 + Qa$_V?),Ni3j$<AceJaMG=oq%8I'kecn94#@R'#/9!!_<Q\`&(#`[hhjtUBmLVUc&NpmB@= 102.825 + \'g8Qc%j*Rt?5iV"A0Fr0-<aPi?Z@AD$)[NU[1;HB1sK?bk(<[cskqVC99ig@u"/,A0db$n 102.826 + *rNfu,RQi^b4k$n$>j"qZHke3lObeEL$N(,A5L+U&u0&pp(=<OOD[QL/fle0iMj7Y^@2DiS 102.827 + Rr*7f<-Y:Sj?-gK53BUn7A2)Ro#cgm]"'4nUA@3cFISAhLf]!Z@M_6tR?:I%`7qD,=_+57H 102.828 + cktkB*N/CBit)8N2-U+69]`+PjXsd!^pc_g%D]DWM^D7b-;cm+;J#@CK=5:(CZhE'.V<(h+ 102.829 + :&($Y%ZLFq?PS\k-f&^SddDd.qZT%job,8'>S3,DN'B\B.s\U6hd;fHj/4m1scV45\B2FEb 102.830 + D7qM"XU,Ya&htmq3$@B-)GZ..F@k8L!B4[b(a8q"05?L""V'BQf0G[R!9.Y\*$R&^Ec_Ajo 102.831 + -@I_1&Ykchm5l5g!JOfsu-!^;gWn5<]_O6L7\kJigE#(=5:N]Ubn#"V7:\75Y,2egj7C#5H 102.832 + H#+t/rT5#^Gl7Sdq2PfV-V<U7Al;jftAuFp[W9U7YC::,,^8gJ<Xm4K?lHZTuk-/UoYj3X@ 102.833 + lSc"`7^D>TZg1Z#lXmWl?F]<E\SHr1laFCj`k#s:]Be=dlfPtJp7[(O)M))jJ62pS0J!9U- 102.834 + <#n'l%[7<S]iHN2XGsXBp7oJUU7l,<s#lLKh*Nk2UCb#ctsQHm3^<L*n9R8eSRe+m<7(JL= 102.835 + U4-fBo0^mAAY*[bU8Qh<i5=D:[S3#2ehaheje!mOmJd2WX9qjmG=pmT/LgB'8TJkjG>3DRS 102.836 + ft^?Y.+mI&Qnm`t:hk4!9^nF%^om6E(N+:0_G`IRV-KC)fXY5$uTQg^#pm(;V#bH^EjcL3C 102.837 + UDta2"#4ld5!H8PMn2CF<7fmX2"7TY#n7N!qG6m\V$1N]WE0gq$`s_<[-uV`[!RD:0Y7QJ- 102.838 + &aun9iElA#0T,>2k\nYLBssOJ#/9Vo)"FK=nXgb?Y8d#`*:`23EVCLDruU_9+n?Enndcu9- 102.839 + R<^k,k>RolW1jg.fB@W#QSO!"%Y1OD\Vcn'(JIDLlW:b2\s"8O)jh\,6/ghPKof.39^r/o6 102.840 + (/se_]nI'kkG(kgWCL'<-%#3O6K<-m/X@[8&b0Pj)O=F>aYMmmDn$0KnS]\kbK];\R(&6<: 102.841 + )6k\j#a`YS2B9Sac[4jQVYs%%7ko#=e4=$;3@O&Yco<T1\eocHsm[no*J;0??X[`E#+Z;q% 102.842 + Y?.k4*orh`]B$!jZb'!c<on1q?PFV<D@]E8oK84*<!)DXbAp1$ZiiWc7Y@DXQn75c6(46WX 102.843 + f4F[%EVCi$QJYbck@;2dA@\m`G;ja?LNo'@FEGiO4bn2@Vg!?OIJ;oRPF"8mYB+ooeG$kKp 102.844 + Xan>7tgY8E_>T54F_nU07geQK"3gmpg8sSa,H)ZH?@2a4MQb6+,bBqOngAfNh;>RO,lE$O> 102.845 + uEcGrM)cLR=&kCZY#)q,>B1@uU5-R<dteq=)8p(Rk'DS%NC(\@8%)s.oKmV;/eA+o<kP062 102.846 + @``VMBHqF@E/a/o-fnG75dG_`8Ah`Jd&WjmhbqVSXV8$n)\?0:$\GE8`9=0af8Z[5cbqmX2 102.847 + "B83Zj?i,%lH\9+\PCi\0]R2*DqU^sR;>(&^&U\62kZC8C9g*lBao#V%L0PT]2p-N:^&0h7 102.848 + r:eO-(Tuu"^AS;brAW4(8(<h``-k_<rHHllLY109M.9l6m!%-2a5$XFh>QN#r>%_C-f4h=i 102.849 + Vk4ar\pKuqXf4Ij8N]RrcdQ)J<G=nkl.LFrjV4lhgg,&ljIr$^lRr5kOAKfnZ!ttqM41]'J 102.850 + ^;sX,8Zs&uTHqD./Hco`^]U>?NKVKjF_@>;/$k7i6b0?r-PC((CM%6=E^#A2YG=LdY]L32B 102.851 + S,(Q:gn;7P\14WfbVA5YE5Q;&`k8nCo2A@>bsQqV*j3Mb5C2k3WU;n:u_I6XB$BN.#=(6(h 102.852 + [;J>OaA+#l^W'..V>,=OT:49lm<3#&']jJ!0=r&l1PQ>F(>&@<H7CL*P\4UU]Mi=s]d'AjQ 102.853 + GIqFtl[Q]?n!G(?G56p3@W6;A?5FWCaCK<o4Jl13Qcs&_=hNm@4eL)7FBUgSQVAg(5H>N6P 102.854 + M2u.X&^`Hh*0G-T60L@>I?ZhDnhUuGPd_%mhNN7n2XCl(G<>>k]C^(fFmo*e`V+&?,#KG^# 102.855 + /=(HsT#bQd+^cH@9,0Ni,rTfB_;n4dBs=p\[ID?b9V+mXuVm$L[kV7a);=]P_M%!^E_9re& 102.856 + !6KEhCj`lo"b_,._$%)Yp.4V,IC$q1cHOXs3?`=YdD'uc!`go%jsMdWJIXe]/?\*N"j*QJ[ 102.857 + )37CApjEh$5EZ/^8aO3bI--;<dSL;PmN27uGP,taB7H`E-WN*4tSCu'V$H",6P9Ll#67tUY 102.858 + 1bE6KggeV8MYT*<ZWd2^3>'r]Nl#>To!OOC%.bVclWj(e/9#(m2\D-t0Y>_oBU]'!;_pj89 102.859 + X6-"+3oR&m'T]SJWDfEFR;9!c#as!N_d"XeNf1\<CjLDkTp#=;3Z)Y857U!.36kN&h@@`c8 102.860 + %%RXOV_%hU]+MSS-XlNMU@CQE@9)gD7qtVT&kY>1^2<qsA6*M02S#67Eq2K?*C+>j+n*.ee 102.861 + .u7@!4tdOp^5!a\MmOQ9bA4-5>#(^gi8h!7,OP20e.'mEe>K)IL^G`D$9U=[[!!+1[oeUP' 102.862 + <2?o(I\D$+dU3LDh@j60K%?BNfNb+X@RBCCrk8DQfSZ@pqo:NFmD8NC0H01'@i"f/bF]2<^ 102.863 + RY4O>o6c1nlcr"X/ot<?JiJdmkd.l,L.VG!0!5tB6G"/`7V-C(#i[!B'SBDZRo7R%6E!:&Y 102.864 + H9E`P-idH2H58o>)L_.d0mh7`$%e9['?;Cl34n<."94BTNaGb[*UUFh6sQbHZQ^B)k&"`!# 102.865 + ridKC=&jeYDW&HNi)?]^!he(VJ0&c4?H8);'0T%u'!;ShH)`q&W2"T4f,Lm@h`F<f[OTS\k 102.866 + oj<bl&.m3/VZo8dGGRu'/@-seaCmKfF^Xe4qBfS-o;?PnE6r'%!5r-lOZl?1i*b2lsAiG$X 102.867 + EJu31nlIs/2,#@:1]:o`0b:Dg$:T_\j_Y3lJ;t4AdgkELD"U?+5\pmE4_5LI*6"#4;Jkhlk 102.868 + (76fJTnG.T:sKtH=D\N+_luc_CtBu]Y.0V$3G,?X]eN?PEZfE$JOE?W^-U]X@Ta@s^]FKI7 102.869 + 4MK7Gn*0Dpk1?R(g7`4#E.]80YfZBE$?HQC<#rmOU+R2U3'4SjB="O;?%BiF;6")D,<7f/H 102.870 + H-1@fR++aMK6"`8Y;TB$chi7kt`!$Ue,@Z1,-/aFtr$`0lfeDGEdV4X\L]4";\!)8l0)&7k 102.871 + q)MIl??4h2RWA,umR`LXfDR:8QpK6NC&d?)NA1E7Z>$(&R.HOD%L,c26'47]Jdb1FHIhTWm 102.872 + '?ijMo\4\G[9Y2FP:,u"F*AD&HhB<OJA&kQW1`=MrRI^o*bLsifk6.cU;pK\b=m\B8`;-!F 102.873 + LjUEr8r[K3jD3*7q])$U433TP2_S22O>SsZAk@7k$mh)V\@Y-W]WlSk[M);T^Hgd-F+/1`l 102.874 + ,IFm)G=#[U%EYadZVdAbA@tT<+^5Lg1s18/M!^"hK;M\92$"11--*RU/Y<U;<gSAWDtMu:W 102.875 + `N^a1VJPMcpQ+3+!We$,iQlU6SYkfZIKr6=N6TRT93t67M:b2t^3lN<pOj-B2t[L?>VMH5\ 102.876 + GPNBa=>%^@!f#jc8:Dm*)g^rGXnat$DMKQZqCfD;CTm"LS-<_ge?>:a&minoOA9$=<ujW@e 102.877 + ,MQjJ_Z]RjF?RDm#['RVOfU?#Xm8*ea[E@+MZcd"BXP1$^g<s1L+_f-UWOI#=]\9t(D[?SL 102.878 + V3RpqY$51Jll62>[W^qA>HN&9`S%k)D"b!L[4(##s+hJ2.n&-i?nOap+B#M#&=]%jBTWO<P 102.879 + ]GjAGM?5<[F2Jh@URuldR%_XC73]1rQuNjI%TfuG'Fed>\k?tLrI\D3(i5^CZeH2-5j^'D[ 102.880 + p424br"0R<d+EU>c<>H*Ch/^Z7H27L9ZaXsB2rd;X`_3KZ7<NJ<`M\?imF9l1D5B#!!:LZ6 102.881 + t.Mt!l7`^=AW9-a6J-Sl1FaT!:]%"1/,,;d9(lC-aLUPZ;]@E_l811je8M]Q:%H-\W,8pnp 102.882 + Anh^7OUb<+oqSA&)4upEGXFnJL6p_9q9lO60g.k0t6*^E84P@aLONd$V10(``d$HsE(8t@- 102.883 + (/iHrEjKFkV4of$MNN,FKBK?=BJY+:eQT.WC>E0rbdJ_.30I6V"1X"aJtcDD'aW_<5!nD'I 102.884 + j,P%4ZP"^NiM4H^"52Ah[Pf:h*iR)H1N<61a;h&rIVl*hcqQMFJ1SO!S>g8LMRt^6hVk]+8 102.885 + ZtdkhI4J2K$X^A2e2=!^i(:VUpFsB2\/pFdDJc7,GM->B!mX_>$M,iERpjlQsB:?B5LS)L@ 102.886 + :nk4O\tE(tb@nALF%4JN[,SUOet:)90a3b0Z'R@.4]&@t_V6tTLCl02&M/XN@0%CFo%SmoR 102.887 + GG(H2RU,76pPAt%H,r_/0kRb-*EV/).:^g:V=m^X0^4!T;cR\-G-^V9Kh:BY#1eo%FGLsMQ 102.888 + cG0ZJFDeF]]A6#c\-H!]4a(+P*a?k9h_e4m9>5W,rSRMXJY,%cc/(YfBks]p<Z!;m$?clkC 102.889 + H%))4d-^],Q5@_B&2k(ad@6W'>K>f7'E[9R'LWHL'Whj0g7pWGp<p_2QJ1qosfkSWl=.KY< 102.890 + oZC8't?bJ_X9:[]!Nm_u*l$nbu&#q+Fnh,:]C"5$=IV8hn%,ZjD`5C:k.8hBZN_c1KQOMbX 102.891 + )@D#a_2R_:5%:brp-&J^F!<!%VJLKCPI?Zg>[O'tOk,O1TDOH<9+1iL/AO89:rY4E+\/8V= 102.892 + d.+nF<7f[+>r+/@N!n@//lMVpR<Y*jU!]'`?;#Wl<rf5RlmAU$15Tu4?'^uJ0km[cl[.k$r 102.893 + "3Z<"!>u#8;#2kc#;C9*E-V\`o'hRUc-Ui`%c[h(>mRZo#r%VNE1%$:SI+DM#RtJT#@RoMW 102.894 + $G3A$LkG2E4H@\]aO>F1bb`b$qh!Z&FJu2Bo[0B0\Ho>h$rl4%PZriXO>@4V[d:A$S_(ZYk 102.895 + J[4r=AE!&2==t0ZK@&,7nD)%oEoN;%XDF*>.fb&htZ;OUCps-;"jf&5b4rnMq8f4VR?O'IS 102.896 + MGY721C9bd+p'er]'EEO$];#-mGq=.)md:jB$D&2Y](GU%KDAa3"*tZfB(QjCgEJYO;N>V2 102.897 + J)(@9SOG+Q?1kC7D)@]S*Y(Dt#em?\V0Ti0'&ZRHp?rSE1)^9a2X9TWjboH9$*ANTmOUiI" 102.898 + cK4&H*Xp'VL%P6Dh]>AYZ%)i>@Y5>'/i\]FkgA3/EX<ko%.B;C`,NfKZ48snWdgb"+n+@ml 102.899 + oO'<*-JP6r6<#1ng+I\Kca,Hmp_7rMqTQ+r?8ID,r/IHC5X5^K+@HS3H'5e,&&BBo#$P!p4 102.900 + =@M!m^Rm_^<_3P@Z^=:_`gOk8^83,k>FoEg\A^S;'no(c%[=V"F?.DC)Th!s9,(&sOY^ZD\ 102.901 + u^T10`VDdY[?]..jK/Mbj.A]ZDW)(gIp09U-!Eo^QTcFWT7^7sdCC%>]7oZm\8.nKsF`L.r 102.902 + eo"VCY:k`fb72l7;Ea[>S1,C43F!tWtI.4D118?><^sH5io!Cg:1XOLmBsAdIO#)tg%;9e> 102.903 + &-DNZ/f%*;Zu/??k!\9o*agc]2`#S8F*L:*/fq9/1Ga>3dX=%?+=@h[mS\YeNhnYNOZ>3]K 102.904 + Su<QmGs1#0\O`.bO.@*;G.(N+u(]FFFfHoc20KlLHP1U4YtSU;VaKVj"t7u4q']+OttX!#s 102.905 + 'P\\Z)Je+pr7Ll6/kD43iN6&p,;AI34Z44k(34F;[B>]fi_B1,JFFniY-PV_l9j6=t!]A0i 102.906 + Y-[bl06+RJ,S$imtMeC[\14O?YHJdd`?0f`,\68W7CFD44>$J%\#+`qQboAh3>1oY2n/JIJ 102.907 + *e:)"M5jk?db-ZmHafprX;Z*7AaAdLVFK%m>X\.SM-.HuQ'&Q=`\Oa*!i<K*BP^,,WE?A0$ 102.908 + +NF1$7>"3/f1jaF9@W&uFQlQ$\hupfZVZ8p[-]^BVCkjI]4n,q0uP\$^h,"ETT8=):i=]ZY 102.909 + 4m#A7PnOB;e&E6qbm)A;`-BT'HpCaM,<fdee33Z1f,sX5e5DI7<K[O&-GZA=S(&d;q5G[F_ 102.910 + O=14'&X]<@nGLbVjC&atcsl>`faqCKW^+,>sSD;H740F`CQlSQYP72tMYtQ(TJSK2n2$bRM 102.911 + u#'E0bPY$3Uq8Q-'iKn.\gO&F:g=V#"J<NBE5h-KR\<qYAtFh^rcbuA0!R%llPYk(pq7!,0 102.912 + R?V$u`_U2>j6X]T9>nuO2Fr=_nf"9"K(\'(ce)OMb&hbW["Di'^/3O!-;^,6u;5/&;No=?^ 102.913 + &man[KHlB7/ONE7=].adlkV$^G%kQn5@.B,,n!stb`PVc9X49"Akh\HFC$9e86W8Von?f>E 102.914 + ]V>W6VK3/m*::9`F+9cojCgACGrS9E8=/RV'Ztfdo>=Xnr7I.m)7@XZ%=CHZ^)n<N`qU1c6 102.915 + K/,f$A6Ac>67Cp$tOf2Yh:"r<[XeDtZ+qJh3q1;OZ0cWCH\*68*<&SgO0f>&s'c1;Pc-]$A 102.916 + ME0biKTWJais"&1]XF>lX1DAR7N8KXlpi/p4YQVVb5?$5mL]2q^M,&WGUQP+LZ>^'n+GBnD 102.917 + AI%F?65*9K%iadk2YnP`J@i'uIGF<`cS;%],C_r^RilH+\SJ!\(7$jfuGI`(0]NUY7Hf@.J 102.918 + ((CrOaS_CDI5f])GM+q++M8I9G^%nkGNjRcm=+g!+]c8#Pdu9&rI=SCJ2d^UQhPf.#CuR]J 102.919 + N+BqF`Ddg)1hQ+JiG'.F,,>!.>%=LK/b`@ERf@lF`oM??Ijuh\3^s57`<qPK]=G62LC(D?% 102.920 + r&^<gSE<2s#/U,>].,]6J7,<tg<JI>@TK170Y3pi[qXMN\m<CfOhu315W5SMupkDqL3uR&; 102.921 + fdHV`:8M>4K:Ge#+WEGP>6<u39/f?1qpAg2-bo4NIRG;3!i%Q^U=>BnGc(rip"b?G/B+un$ 102.922 + Q+W69*>=DZQ0LfIEfXm6U%?U,kJ@NKt;<T_i"d"<RBr1IqGhaD2\rnX!W(HH?UCfrj+OCq* 102.923 + ,9r22QLC!fnuBe(PPGfUH!-E;LPdqNRV1f12m6@C#i,o\RkF%o`$!i79fik'O-rN]f^D^QQ 102.924 + ^1A5QBtT[67-Fp<L8:Gf=?@e=bAGsL*4$b"PI^Yft!T_]bS(d:.PdP2MH%c,XOGM\+uoaQ^ 102.925 + "p&d9F/KW7f023QmHb0:a!8SO9Me3V-6;f:EjQS,*;]H3k;=_b8)1g3Ao/.0WfG-_3..WEK 102.926 + sKGd8N^)fKM%U(jA[q?s(04eqM1L3=qC8Z/97r^cc@TCt-W<]H\>9;<C?<I-(&K))&S*GrA 102.927 + RV`JsuE1`fqYo\e7UO"C4RICtmfV6q/BA/)r>(EdM"s^^;W:Ij*.;`nTH)g_GX"TC/eE!Z/ 102.928 + "Q!%=TA!HlZ@OqQWH1+dP8_,TXu!.:Qm0,bO#kUd>-4i/mB6<Ti4?HpX+;5D@;6u?FTV,58 102.929 + i]o*AZb8?YHQr"F=Enm$a;t@Y`LkNH/l&s*NqOZZTC"o3>I%P)XSH[KXRk`q^[udT";O"41 102.930 + bJ:4%HQEDe7FrMRtgUHYKpi6[e(/PaDngCu^`&m%Thb[<_/>].U'EH\K&MRplo<(Nm5lP:p 102.931 + ,*[bIXiH`3p4pK&:CV\Bf@R;Z_a30X!g\[GkW]48JMX1\>W]dRs5oVgT0]l;sCAhNKpl7!] 102.932 + RjgH#4^0.,-]A0Lbi#u=s,!5+r@MccUaf0Xi]j);gHl/M;7>A3*l+n5%!T?&LQ]:glRY:iY 102.933 + `-7pp>3b.)N^ac!S$jPh56Q/5T;auj>UdPE=i3.u`>gsb>Yem&jrHQP!#l;<Htr[I_kUHUa 102.934 + ?50tB9Ru&4]ZU*"8c>WR+6+[Q6?%#49P<L9ErA%/nmoAaY7ALkU2VmPT_$@D;;$Ae%"'-Sg 102.935 + 7RDrEQnSSCu0"gh0jE9$e_9RBe"Q3e*u79fVhu:TQd&LQF:-YlZr2nh\T:p7D3E/oe]/@Q2 102.936 + Z'(HFVOORN_*dgaY4oa9LpBidUFrAi??4B``be,;_bI7_qu0seG]eD4-TI9G+1(PZAkefjk 102.937 + ?I9kF;D:\Z*IA:C)$D8H2Hld]e94VcqI>QUiNS+2lffbVRI@8d%S_<t8g-):dIAtr6XkN`Y 102.938 + gHDt!IC\+G^"`M%gc`X3IEC9Xc.r9Fh*'<EIG*Gih;/%ghEBuWIHfV%mG@g3h`^YiIJMd6r 102.939 + SRSTi'%>&IL4rH%H.3tiBA"8IMq+Y*T?u@i]\[JIOX9j/`Qaaj$#?Q_Q[\3nfT%~>Q 102.940 +Q 102.941 +showpage 102.942 +%%Trailer 102.943 +count op_count sub {pop} repeat 102.944 +countdictstack dict_count sub {end} repeat 102.945 +cairo_eps_state restore 102.946 +%%EOF
103.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 103.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/Time_in_VMS_1.svg Fri Sep 13 11:02:18 2013 -0700 103.3 @@ -0,0 +1,407 @@ 103.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 103.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 103.6 + 103.7 +<svg 103.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 103.9 + xmlns:cc="http://creativecommons.org/ns#" 103.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 103.11 + xmlns:svg="http://www.w3.org/2000/svg" 103.12 + xmlns="http://www.w3.org/2000/svg" 103.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 103.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 103.15 + width="744.09448819" 103.16 + height="1052.3622047" 103.17 + id="svg2" 103.18 + sodipodi:version="0.32" 103.19 + inkscape:version="0.47 r22583" 103.20 + sodipodi:docname="Time_in_VMS_1.svg" 103.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 103.22 + version="1.1"> 103.23 + <defs 103.24 + id="defs4"> 103.25 + <marker 103.26 + inkscape:stockid="Arrow2Mend" 103.27 + orient="auto" 103.28 + refY="0.0" 103.29 + refX="0.0" 103.30 + id="Arrow2Mend" 103.31 + style="overflow:visible;"> 103.32 + <path 103.33 + id="path4008" 103.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 103.35 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 103.36 + transform="scale(0.6) rotate(180) translate(0,0)" /> 103.37 + </marker> 103.38 + <inkscape:perspective 103.39 + sodipodi:type="inkscape:persp3d" 103.40 + inkscape:vp_x="0 : 526.18109 : 1" 103.41 + inkscape:vp_y="0 : 1000 : 0" 103.42 + inkscape:vp_z="744.09448 : 526.18109 : 1" 103.43 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 103.44 + id="perspective10" /> 103.45 + <inkscape:perspective 103.46 + id="perspective11923" 103.47 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 103.48 + inkscape:vp_z="1 : 0.5 : 1" 103.49 + inkscape:vp_y="0 : 1000 : 0" 103.50 + inkscape:vp_x="0 : 0.5 : 1" 103.51 + sodipodi:type="inkscape:persp3d" /> 103.52 + </defs> 103.53 + <sodipodi:namedview 103.54 + id="base" 103.55 + pagecolor="#ffffff" 103.56 + bordercolor="#666666" 103.57 + borderopacity="1.0" 103.58 + gridtolerance="10000" 103.59 + guidetolerance="10" 103.60 + objecttolerance="10" 103.61 + inkscape:pageopacity="0.0" 103.62 + inkscape:pageshadow="2" 103.63 + inkscape:zoom="1.3364318" 103.64 + inkscape:cx="448.37508" 103.65 + inkscape:cy="648.10677" 103.66 + inkscape:document-units="px" 103.67 + inkscape:current-layer="layer1" 103.68 + showgrid="false" 103.69 + inkscape:window-width="880" 103.70 + inkscape:window-height="1141" 103.71 + inkscape:window-x="889" 103.72 + inkscape:window-y="6" 103.73 + inkscape:window-maximized="0" /> 103.74 + <metadata 103.75 + id="metadata7"> 103.76 + <rdf:RDF> 103.77 + <cc:Work 103.78 + rdf:about=""> 103.79 + <dc:format>image/svg+xml</dc:format> 103.80 + <dc:type 103.81 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 103.82 + <dc:title /> 103.83 + </cc:Work> 103.84 + </rdf:RDF> 103.85 + </metadata> 103.86 + <g 103.87 + inkscape:label="Layer 1" 103.88 + inkscape:groupmode="layer" 103.89 + id="layer1"> 103.90 + <rect 103.91 + style="opacity:0.44897958;fill:none;stroke:#000000;stroke-width:0.10000001;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.39999998, 0.1;stroke-dashoffset:0" 103.92 + id="rect4618" 103.93 + width="413.02609" 103.94 + height="158.61386" 103.95 + x="216.25447" 103.96 + y="368.18201" /> 103.97 + <path 103.98 + style="fill:none;stroke:#422fac;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 103.99 + d="m 219.06883,401.37498 c 128.4693,0 128.4693,0 128.4693,0" 103.100 + id="path11721" /> 103.101 + <g 103.102 + id="g11990" 103.103 + transform="translate(-60,0)"> 103.104 + <path 103.105 + id="path11907" 103.106 + d="m 298.82881,392.82004 c 0,30.42814 0,30.42814 0,30.42814" 103.107 + style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 103.108 + <text 103.109 + xml:space="preserve" 103.110 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 103.111 + x="298.7023" 103.112 + y="376.52615" 103.113 + id="text11715-4" 103.114 + sodipodi:linespacing="100%"><tspan 103.115 + style="font-size:9px;text-align:center;text-anchor:middle" 103.116 + sodipodi:role="line" 103.117 + id="tspan11717-9" 103.118 + x="300.05582" 103.119 + y="376.52615">Suspend </tspan><tspan 103.120 + style="font-size:9px;text-align:center;text-anchor:middle" 103.121 + id="tspan11940" 103.122 + sodipodi:role="line" 103.123 + x="300.05582" 103.124 + y="385.52615">Point 1</tspan></text> 103.125 + </g> 103.126 + <g 103.127 + id="g11984" 103.128 + transform="translate(-60,0)"> 103.129 + <path 103.130 + id="path11911" 103.131 + d="m 378.82881,392.77746 c 0,29.45519 0,29.45519 0,29.45519" 103.132 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 103.133 + <text 103.134 + xml:space="preserve" 103.135 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 103.136 + x="378.7023" 103.137 + y="376.52615" 103.138 + id="text11948" 103.139 + sodipodi:linespacing="100%"><tspan 103.140 + style="font-size:9px;text-align:center;text-anchor:middle" 103.141 + sodipodi:role="line" 103.142 + id="tspan11950" 103.143 + x="380.05582" 103.144 + y="376.52615">Suspend </tspan><tspan 103.145 + style="font-size:9px;text-align:center;text-anchor:middle" 103.146 + id="tspan11952" 103.147 + sodipodi:role="line" 103.148 + x="380.05582" 103.149 + y="385.52615">Point 2</tspan></text> 103.150 + </g> 103.151 + <text 103.152 + xml:space="preserve" 103.153 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 103.154 + x="352.7023" 103.155 + y="400.52615" 103.156 + id="text11954" 103.157 + sodipodi:linespacing="100%"><tspan 103.158 + sodipodi:role="line" 103.159 + id="tspan11956" 103.160 + x="352.7023" 103.161 + y="400.52615">Program </tspan><tspan 103.162 + id="tspan11958" 103.163 + sodipodi:role="line" 103.164 + x="352.7023" 103.165 + y="410.52615">Time 1</tspan></text> 103.166 + <text 103.167 + sodipodi:linespacing="100%" 103.168 + id="text11960" 103.169 + y="412.52615" 103.170 + x="278.7023" 103.171 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 103.172 + xml:space="preserve"><tspan 103.173 + y="412.52615" 103.174 + x="278.7023" 103.175 + id="tspan11962" 103.176 + sodipodi:role="line" 103.177 + style="font-size:9px;text-align:center;text-anchor:middle">Trace</tspan><tspan 103.178 + y="421.52615" 103.179 + x="278.7023" 103.180 + sodipodi:role="line" 103.181 + id="tspan11964" 103.182 + style="font-size:9px;text-align:center;text-anchor:middle">Segment</tspan></text> 103.183 + <path 103.184 + id="path11996" 103.185 + d="m 446.59318,401.37498 c 138.89067,0 138.89067,0 138.89067,0" 103.186 + style="fill:none;stroke:#a94c26;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 103.187 + <g 103.188 + id="g11998" 103.189 + transform="translate(166,0)"> 103.190 + <path 103.191 + style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 103.192 + d="m 298.82881,392.82004 c 0,30.42814 0,30.42814 0,30.42814" 103.193 + id="path12000" /> 103.194 + <text 103.195 + sodipodi:linespacing="100%" 103.196 + id="text12002" 103.197 + y="376.52615" 103.198 + x="298.7023" 103.199 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 103.200 + xml:space="preserve"><tspan 103.201 + y="376.52615" 103.202 + x="300.05582" 103.203 + id="tspan12004" 103.204 + sodipodi:role="line" 103.205 + style="font-size:9px;text-align:center;text-anchor:middle">Suspend </tspan><tspan 103.206 + y="385.52615" 103.207 + x="300.05582" 103.208 + sodipodi:role="line" 103.209 + id="tspan12006" 103.210 + style="font-size:9px;text-align:center;text-anchor:middle">Point 1</tspan></text> 103.211 + </g> 103.212 + <g 103.213 + id="g12008" 103.214 + transform="translate(188,0)"> 103.215 + <path 103.216 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 103.217 + d="m 378.82881,392.77746 c 0,29.45519 0,29.45519 0,29.45519" 103.218 + id="path12010" /> 103.219 + <text 103.220 + sodipodi:linespacing="100%" 103.221 + id="text12012" 103.222 + y="376.52615" 103.223 + x="378.7023" 103.224 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 103.225 + xml:space="preserve"><tspan 103.226 + y="376.52615" 103.227 + x="380.05582" 103.228 + id="tspan12014" 103.229 + sodipodi:role="line" 103.230 + style="font-size:9px;text-align:center;text-anchor:middle">Suspend </tspan><tspan 103.231 + y="385.52615" 103.232 + x="380.05582" 103.233 + sodipodi:role="line" 103.234 + id="tspan12016" 103.235 + style="font-size:9px;text-align:center;text-anchor:middle">Point 2</tspan></text> 103.236 + </g> 103.237 + <text 103.238 + sodipodi:linespacing="100%" 103.239 + id="text12018" 103.240 + y="400.52615" 103.241 + x="590.70227" 103.242 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 103.243 + xml:space="preserve"><tspan 103.244 + y="400.52615" 103.245 + x="590.70227" 103.246 + id="tspan12020" 103.247 + sodipodi:role="line">Program </tspan><tspan 103.248 + y="410.52615" 103.249 + x="590.70227" 103.250 + sodipodi:role="line" 103.251 + id="tspan12022">Time 2</tspan></text> 103.252 + <text 103.253 + xml:space="preserve" 103.254 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 103.255 + x="516.70227" 103.256 + y="412.52615" 103.257 + id="text12024" 103.258 + sodipodi:linespacing="100%"><tspan 103.259 + style="font-size:9px;text-align:center;text-anchor:middle" 103.260 + sodipodi:role="line" 103.261 + id="tspan12026" 103.262 + x="516.70227" 103.263 + y="412.52615">Trace</tspan><tspan 103.264 + style="font-size:9px;text-align:center;text-anchor:middle" 103.265 + id="tspan12028" 103.266 + sodipodi:role="line" 103.267 + x="516.70227" 103.268 + y="421.52615">Segment</tspan></text> 103.269 + <path 103.270 + id="path12042" 103.271 + d="m 267.24968,477.37498 c 232.74658,0 232.74658,0 232.74658,0" 103.272 + style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 103.273 + <g 103.274 + id="g4352"> 103.275 + <path 103.276 + style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 103.277 + d="m 364.82881,468.62956 c 0,29.31256 0,29.31256 0,29.31256" 103.278 + id="path12046" /> 103.279 + <text 103.280 + sodipodi:linespacing="100%" 103.281 + id="text12048" 103.282 + y="506.52615" 103.283 + x="364.7023" 103.284 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 103.285 + xml:space="preserve"><tspan 103.286 + y="506.52615" 103.287 + x="366.05582" 103.288 + id="tspan12050" 103.289 + sodipodi:role="line" 103.290 + style="font-size:9px;text-align:center;text-anchor:middle">Tie </tspan><tspan 103.291 + y="515.52612" 103.292 + x="364.7023" 103.293 + sodipodi:role="line" 103.294 + id="tspan12052" 103.295 + style="font-size:9px;text-align:center;text-anchor:middle">Point</tspan></text> 103.296 + </g> 103.297 + <text 103.298 + sodipodi:linespacing="100%" 103.299 + id="text12064" 103.300 + y="476.52612" 103.301 + x="504.7023" 103.302 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 103.303 + xml:space="preserve"><tspan 103.304 + y="476.52612" 103.305 + x="504.7023" 103.306 + id="tspan12066" 103.307 + sodipodi:role="line">Virtual</tspan><tspan 103.308 + y="486.52612" 103.309 + x="504.7023" 103.310 + sodipodi:role="line" 103.311 + id="tspan12068">Time</tspan></text> 103.312 + <path 103.313 + sodipodi:nodetypes="csc" 103.314 + id="path12088" 103.315 + d="m 238.93024,423.61086 c -1.25694,9.23477 24.14401,17.15062 68.20717,23.60165 56.44943,8.26442 56.82059,19.8861 56.82059,19.8861" 103.316 + style="fill:none;stroke:#422fac;stroke-width:0.99999994000000003px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 103.317 + <path 103.318 + style="fill:none;stroke:#a94c26;stroke-width:0.99999994000000003px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 103.319 + d="m 464.69712,423.61086 c 0.98989,9.23477 -17.61775,14.97151 -52.53717,19.11208 -44.45606,5.27138 -45.92693,24.37567 -45.92693,24.37567" 103.320 + id="path12090" 103.321 + sodipodi:nodetypes="csc" /> 103.322 + <path 103.323 + style="fill:none;stroke:#000000;stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.99999998, 3.99999994;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 103.324 + d="m 281.91415,423.61086 c -1.11723,12.05605 9.34615,12.84312 48.3972,21.29812 48.67875,10.5395 57.28475,35.47541 57.28475,35.47541" 103.325 + id="path12092" 103.326 + sodipodi:nodetypes="csc" /> 103.327 + <path 103.328 + sodipodi:nodetypes="csc" 103.329 + id="path12094" 103.330 + d="m 517.32918,423.61085 c 0.89929,13.92511 -19.38736,26.89157 -51.01833,33.88658 -32.71104,7.23385 -34.04727,31.68861 -34.04727,31.68861" 103.331 + style="fill:none;stroke:#000000;stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1.00000001, 4.00000004;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" /> 103.332 + <g 103.333 + id="g4338" 103.334 + transform="translate(8,0)"> 103.335 + <path 103.336 + style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 103.337 + d="m 270.82881,468.62956 c 0,29.31256 0,29.31256 0,29.31256" 103.338 + id="path3246" /> 103.339 + <text 103.340 + sodipodi:linespacing="100%" 103.341 + id="text3248" 103.342 + y="506.52615" 103.343 + x="270.7023" 103.344 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 103.345 + xml:space="preserve"><tspan 103.346 + y="506.52615" 103.347 + x="270.7023" 103.348 + sodipodi:role="line" 103.349 + id="tspan3252" 103.350 + style="font-size:9px;text-align:center;text-anchor:middle">Suspend</tspan><tspan 103.351 + y="515.52612" 103.352 + x="270.7023" 103.353 + sodipodi:role="line" 103.354 + style="font-size:9px;text-align:center;text-anchor:middle" 103.355 + id="tspan4072"> 1,1</tspan><tspan 103.356 + y="524.52618" 103.357 + x="270.7023" 103.358 + sodipodi:role="line" 103.359 + style="font-size:9px;text-align:center;text-anchor:middle" 103.360 + id="tspan4068">start</tspan></text> 103.361 + </g> 103.362 + <g 103.363 + id="g4345"> 103.364 + <path 103.365 + id="path3276" 103.366 + d="m 322.82881,468.62956 c 0,29.31256 0,29.31256 0,29.31256" 103.367 + style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 103.368 + <text 103.369 + xml:space="preserve" 103.370 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 103.371 + x="322.7023" 103.372 + y="506.52615" 103.373 + id="text3278" 103.374 + sodipodi:linespacing="100%"><tspan 103.375 + style="font-size:9px;text-align:center;text-anchor:middle" 103.376 + sodipodi:role="line" 103.377 + id="tspan3280" 103.378 + x="322.7023" 103.379 + y="506.52615">Suspend</tspan><tspan 103.380 + style="font-size:9px;text-align:center;text-anchor:middle" 103.381 + sodipodi:role="line" 103.382 + x="324.05582" 103.383 + y="515.52612" 103.384 + id="tspan4070">2, 1 </tspan><tspan 103.385 + style="font-size:9px;text-align:center;text-anchor:middle" 103.386 + id="tspan3282" 103.387 + sodipodi:role="line" 103.388 + x="322.7023" 103.389 + y="524.52618">start</tspan></text> 103.390 + </g> 103.391 + <path 103.392 + style="fill:none;stroke:#422fac;stroke-width:0.99999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 103.393 + d="m 238.89805,423.61086 c -0.4091,9.23477 7.28119,14.97151 21.71296,19.11208 18.37311,5.27138 18.98102,24.37567 18.98102,24.37567" 103.394 + id="path3284" 103.395 + sodipodi:nodetypes="csc" /> 103.396 + <path 103.397 + sodipodi:nodetypes="csc" 103.398 + id="path3286" 103.399 + d="m 464.68079,423.61086 c 1.41991,9.23477 -25.27107,14.97151 -75.35984,19.11208 -63.76822,5.27138 -65.87805,24.37567 -65.87805,24.37567" 103.400 + style="fill:none;stroke:#a94c26;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 103.401 + <path 103.402 + id="path4334" 103.403 + d="m 367.06883,483.37498 c 57.09423,0 57.09423,0 57.09423,0" 103.404 + style="fill:none;stroke:#422fac;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 103.405 + <path 103.406 + style="fill:none;stroke:#a94c26;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 103.407 + d="m 367.06882,491.37498 c 95.45,0 95.45,0 95.45,0" 103.408 + id="path4336" /> 103.409 + </g> 103.410 +</svg>
104.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 104.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/Time_layers.eps Fri Sep 13 11:02:18 2013 -0700 104.3 @@ -0,0 +1,869 @@ 104.4 +%!PS-Adobe-3.0 EPSF-3.0 104.5 +%%Creator: cairo 1.8.6 (http://cairographics.org) 104.6 +%%CreationDate: Sat Nov 20 00:16:39 2010 104.7 +%%Pages: 1 104.8 +%%BoundingBox: 0 0 206 75 104.9 +%%DocumentData: Clean7Bit 104.10 +%%LanguageLevel: 2 104.11 +%%EndComments 104.12 +%%BeginProlog 104.13 +/cairo_eps_state save def 104.14 +/dict_count countdictstack def 104.15 +/op_count count 1 sub def 104.16 +userdict begin 104.17 +/q { gsave } bind def 104.18 +/Q { grestore } bind def 104.19 +/cm { 6 array astore concat } bind def 104.20 +/w { setlinewidth } bind def 104.21 +/J { setlinecap } bind def 104.22 +/j { setlinejoin } bind def 104.23 +/M { setmiterlimit } bind def 104.24 +/d { setdash } bind def 104.25 +/m { moveto } bind def 104.26 +/l { lineto } bind def 104.27 +/c { curveto } bind def 104.28 +/h { closepath } bind def 104.29 +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto 104.30 + 0 exch rlineto 0 rlineto closepath } bind def 104.31 +/S { stroke } bind def 104.32 +/f { fill } bind def 104.33 +/f* { eofill } bind def 104.34 +/B { fill stroke } bind def 104.35 +/B* { eofill stroke } bind def 104.36 +/n { newpath } bind def 104.37 +/W { clip } bind def 104.38 +/W* { eoclip } bind def 104.39 +/BT { } bind def 104.40 +/ET { } bind def 104.41 +/pdfmark where { pop globaldict /?pdfmark /exec load put } 104.42 + { globaldict begin /?pdfmark /pop load def /pdfmark 104.43 + /cleartomark load def end } ifelse 104.44 +/BDC { mark 3 1 roll /BDC pdfmark } bind def 104.45 +/EMC { mark /EMC pdfmark } bind def 104.46 +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def 104.47 +/Tj { show currentpoint cairo_store_point } bind def 104.48 +/TJ { 104.49 + { 104.50 + dup 104.51 + type /stringtype eq 104.52 + { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse 104.53 + } forall 104.54 + currentpoint cairo_store_point 104.55 +} bind def 104.56 +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore 104.57 + cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def 104.58 +/Tf { pop /cairo_font exch def /cairo_font_matrix where 104.59 + { pop cairo_selectfont } if } bind def 104.60 +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup 104.61 + /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point 104.62 + /cairo_font where { pop cairo_selectfont } if } bind def 104.63 +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def 104.64 + cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def 104.65 +/g { setgray } bind def 104.66 +/rg { setrgbcolor } bind def 104.67 +/d1 { setcachedevice } bind def 104.68 +%%EndProlog 104.69 +11 dict begin 104.70 +/FontType 42 def 104.71 +/FontName /f-0-0 def 104.72 +/PaintType 0 def 104.73 +/FontMatrix [ 1 0 0 1 0 0 ] def 104.74 +/FontBBox [ 0 0 0 0 ] def 104.75 +/Encoding 256 array def 104.76 +0 1 255 { Encoding exch /.notdef put } for 104.77 +Encoding 1 /uni0050 put 104.78 +Encoding 2 /uni0072 put 104.79 +Encoding 3 /uni006F put 104.80 +Encoding 4 /uni0067 put 104.81 +Encoding 5 /uni0061 put 104.82 +Encoding 6 /uni006D put 104.83 +Encoding 7 /uni0020 put 104.84 +Encoding 8 /uni0054 put 104.85 +Encoding 9 /uni0069 put 104.86 +Encoding 10 /uni0065 put 104.87 +Encoding 11 /uni0068 put 104.88 +Encoding 12 /uni0079 put 104.89 +Encoding 13 /uni0073 put 104.90 +Encoding 14 /uni0063 put 104.91 +Encoding 15 /uni006C put 104.92 +Encoding 16 /uni0053 put 104.93 +Encoding 17 /uni0064 put 104.94 +Encoding 18 /uni0075 put 104.95 +/CharStrings 19 dict dup begin 104.96 +/.notdef 0 def 104.97 +/uni0050 1 def 104.98 +/uni0072 2 def 104.99 +/uni006F 3 def 104.100 +/uni0067 4 def 104.101 +/uni0061 5 def 104.102 +/uni006D 6 def 104.103 +/uni0020 7 def 104.104 +/uni0054 8 def 104.105 +/uni0069 9 def 104.106 +/uni0065 10 def 104.107 +/uni0068 11 def 104.108 +/uni0079 12 def 104.109 +/uni0073 13 def 104.110 +/uni0063 14 def 104.111 +/uni006C 15 def 104.112 +/uni0053 16 def 104.113 +/uni0064 17 def 104.114 +/uni0075 18 def 104.115 +end readonly def 104.116 +/sfnts [ 104.117 +<00010000000a008000030020636d61700076f10b00001a9000000064637674207d0742a80000 104.118 +1af4000002706670676d49d7df9200001d640000060a676c7966e942e463000000ac000019e4 104.119 +68656164d5ceeae00000237000000036686865610f7e06ae000023a800000024686d74784af9 104.120 +067a000023cc0000004c6c6f63613a8c41da00002418000000286d617870037802c900002440 104.121 +0000002070726570292ded1600002460000004ad00020080015e0380045e0003000700264016 104.122 +059c039d049c070017003700030000079c019d049c00002ffdfded012f5f5dfdfded31301311 104.123 +211125211121800300fd800200fe00015e0300fd00800200000200960000042605c3000a0013 104.124 +0108b9000cffea40170c0c024b0b180c0c024b670701021045070b4401440207b8ffd8b41010 104.125 +024b07b8ffdab40b0b024b07b8ffdab40d0d024b07b8fff0b40d0d064b07b8fff4400e0e0e06 104.126 +4b07471507022702020002b8ffeab41313024b02b8fff4b41010024b02b8fffa400b0f0f024b 104.127 +02040b0b024b02b8fffeb40d0d024b02b8fff0b40e0e064b02b8fffeb40c0c064b02b8ffe840 104.128 +2d1010064b0247143a124a125a1203350e450e550e0303050b120c000e180c0c024b0e160d0d 104.129 +024b0e4909090212b8ffe8400b0c0c024b12490502080502003f3f10ed2b11392fed2b2b3332 104.130 +113311335d5d0110e62b2b2b2b2b2b2b2b5f5d10e62b2b2b2b2b10eded10ed5f5d3130002b2b 104.131 +0111231136332011102122031116332011102122015ec8e32f027efdcc22727f070174fe7328 104.132 +0234fdcc05b90afe55fe1202dbfde30a0125010c0000000100960000031c0443000e00af401e 104.133 +0a400b0d024b081018102810c81004c70ed70e020e06094d064d68070107b8ffecb41313024b 104.134 +07b8ffeeb41010024b07b8fff240110f0f024b07040b0b024b07040c0c024b07b8ffeeb40f0f 104.135 +064b07b8fffcb40c0c064b07b8fff2b41010064b07b8fffc40250e0e064b070f170a270a370a 104.136 +470a570a670a0600050a400e0e064b0a02520c0806070a0c07003f3f3f10edcd2b325f5d0110 104.137 +d62b2b2b2b2b2b2b2b2b5deded10c65d5d3130002b01262322061511231133153633321702cd 104.138 +3e3f6597bebe68cd336003782bba83fd9a042fabbf1200020041ffec040a0443000b0015013c 104.139 +402517401010024b17400b0c024bb7050101381701114e17063706470667060406041010024b 104.140 +06b8ffdeb40f0f024b06b8fffcb40b0b024b06b8ffe4b40c0c024b06b8ffd4b40d0d024b06b8 104.141 +ffeab40e0e064b06b8ffe0b40c0c064b06b8ffe440760d0d064b060c4e87009700a700b700c7 104.142 +00e700063800480058006800040000101010024b000e0f0f024b00200b0b024b00200c0c024b 104.143 +00160d0d024b000c0e0e064b00100c0c064b000c0d0d064b00166a030165090103670e016813 104.144 +0102450e550e650e034a135a136a13030e100f0f024b0e520913b8fff040160f0f024b135203 104.145 +09180f0f024b09180f0f064b090b03b8ffe8b40f0f024b03b8ffe8b50f0f064b0307003f2b2b 104.146 +3f2b2b10ed2b10ed2b5d5d5f5d5d5f5d5d0110d62b2b2b2b2b2b2b2b5f5d5dfdd42b2b2b2b2b 104.147 +2b2b2b5ded5d5f5d31302b2b1334003332121110002322001310213236351021220641010bda 104.148 +e6fefefce0e5ff00c8011d8597fee4829b021af80131fedbfefcfefdfed5012e0100fe6dd8bb 104.149 +018ed40000020050fe5c03c804740030003c0160402c48195819681978190400272b372b0202 104.150 +65017501020320101c12064e282b382b482b582b682b782b882b072bb8ffeab40e0e064b2bb8 104.151 +fff0400f0d0d064b2b193a4e1c0e1010024b1cb8fff440860c0c024b1c120d0d024b1c3e0023 104.152 +4e0d344e12060e0e064b120c0f0f024b12120b0c024b12120d0d024b123d17010188199819a8 104.153 +19b8190488189818a818b81804280c380c02006701770102026a317a31026537753702031020 104.154 +37281a171f181537180f0f024b37521f40090a064b1f9708a708b70803970ba70bb70b030028 104.155 +530825530b01b8ffc0b41114024b01b8ffc0b40b0c024b01b8ffc0b41114064b01b8ffc04009 104.156 +0c0c064b0103522e31b8ffe8400d0f0f024b3152152e0e0b061507003f3f3f10ed2b10fdc62b 104.157 +2b2b2b10edd4fd5f5d5dd42bed2b10c6123939111239395f5d5d5f5d5f5d5d5d5d0110d62b2b 104.158 +2b2bedd4edc610d62b2b2bedc6d42b2b5ded111239395f5d5f5d5f5d31301337163332363534 104.159 +2322062322353436372611343633321737170716151406070706061514333236333216151404 104.160 +2322260122061514163332363534266067a68c8195bc20a82fe46b4fe2eaac9e595f7c7249ca 104.161 +a49d1c5e622bb62c9eb1fef7cb68e6014d637d796765727bfedb986f59428220ac3556136a01 104.162 +06a8e0417275565f99a2dc101003251e291f978694b64a05048c6470938f74648c0000020050 104.163 +ffec03e40443001b002501d3b627401010024b25b8ffecb40b0c024b25b8ffee40490d0d064b 104.164 +071317130201672077200202280f480f0200b70fc70fd70fe70f04010025150f053718471857 104.165 +1867187718871897180718254d0a4d881501150c1313024b150c1010024b15b8fff8b40f0f02 104.166 +4b15b8fff040110c0c024b151e0d0d024b150c0e0e064b15b8fff040440f0f064b150c0d0d06 104.167 +4b1527214e38050100050c0f0f024b05160b0b024b05100c0c024b05120d0d024b050c0e0e06 104.168 +4b050c0c0c064b050c0d0d064b05263a0301032500b8ffc0b40d10024b00b8ffc040320d0f06 104.169 +4b480058006800780004000218191c520a080e52080f180f280f380f480f580f980fa80fb80f 104.170 +c80fd80fe80f0c000fb8ffc0b41317024b0fb8ffc040240d0d024b0f124a1e5a1e02031e52a8 104.171 +08b80802580801006a087a08020347085708020008b8ffc0b41414024b08b8ffc0b41313024b 104.172 +08b8ffe8b41010024b08b8ffe8b40f0f024b08b8ffc040131313064b08080c2352020c521219 104.173 +0b020b1207003f3f3f10ed10ed11392f2b2b2b2b2b5f5d5f5d5f5d5ded5f5d10dd2b2b5f5ded 104.174 +10d5ed10cd10dd5d2b2bcd5f5d0110d62b2b2b2b2b2b2b5f5ded10d62b2b2b2b2b2b2b2b71ed 104.175 +edc65d10c41112395f5d5f5d5f5d3130005f5d2b2b012b250623222635342433321710232207 104.176 +273636333216151114171522260326232206151433323702e472eb7eb9011ddd3c4ce8b26050 104.177 +36bf57e9d35474732b5a2490b6c5906f7b8fb788a3e11a0104609f2c3fd4e7fe808d2f5f4201 104.178 +df149465a789000100870000061d0443001f01b8403821400f10024b21400c0c024b071c0101 104.179 +08216821022721372157219721c72105004d371f011f101313024b1f081010024b1f1c0f0f02 104.180 +4b1fb8ffec40170b0b024b1f180c0c024b1f040d0d024b1f0e0f0f064b1fb8ffed400b0c0c06 104.181 +4b1f101010064b1fb8fffe401d0e0e064b1f084d37070107101313024b07021010024b071a0f 104.182 +0f024b07b8ffec40170b0b024b07180c0c024b07040d0d024b07080f0f064b07b8ffedb40c0c 104.183 +064b07b8fffe40180d0d064b07061010064b07104d071117112711e711040011b8fff8b41010 104.184 +064b11b8fffa400b0e0e064b11100909024b11b8fff4400b1313024b11040d0d024b11b8fff4 104.185 +b41010024b11b8fff440110f0f024b110a0b0b024b11080c0c024b11b8fff440530f0f064b11 104.186 +100c0c064b1120171c271c371c030118400d0d024b18401010064b182c0d0d064b4718571867 104.187 +187718040018400e0e064b18400e10024b18160f141603521b0c52161f0a080a110a1b071607 104.188 +1206003f3f3f3f3f3f10ed10ed10ddcd10cd2b2b5f5d2b2b2b5f5d0110d62b2b2b2b2b2b2b2b 104.189 +2b2b2b5f5dfdd42b2b2b2b2b2b2b2b2b2b5dedd42b2b2b2b2b2b2b2b2b2b5ded5d5d3130005f 104.190 +5d012b2b2111342322060711231134262322060711231133173633321736363332161511055f 104.191 +db457816be776239811bbe7c3f6ea5e65c20ae5ca6b602a6fd5536fce802f94f5b5835fcea04 104.192 +2f7c908f3d52c5b2fd34000100120000049305b900070080401e270701280401079301042c13 104.193 +13024b049301442702010002081010064b02b8ffe440111313024b02180f0f024b02100b0b02 104.194 +4b02b8fff6b40d0d024b02b8ffe640200e0e064b02120f0f064b02010c0c064b02220d0d064b 104.195 +02074804480502080502003f3f10eded012f2b2b2b2b2b2b2b2b2b5f5dede62b10e65d5d3130 104.196 +011123112135211502acc8fe2e04810505fafb0505b4b400000000020050000001c105c4000b 104.197 +001100d9b613400f0f024b13b8ffc0b60d0d024b097b03b8fff4b40e0e064b03b8fff8b40f0f 104.198 +024b03b8fffab40c0c024b03b8fff940200c0c064b03110e0c4d7711010011041313024b1102 104.199 +1010024b110e0f0f024b11b8ffeeb40b0b024b11b8ffecb40c0c024b11b8ffe6400b0d0d024b 104.200 +110e0f0f064b11b8fff8400b0c0c064b11120d0d064b11b8ffd640100e0e064b11081111064b 104.201 +11130d511000b8ffc040120f0f024b007c06400f0f024b06100c0a1006003f3f10d62bed2b10 104.202 +ed0110d62b2b2b2b2b2b2b2b2b2b2b5f5dfdc610d42b2b2b2bed3130012b2b01321615140623 104.203 +2226353436031123352111014b314545313045443793015105c44530314545313144fa3c038f 104.204 +a0fbd100000000020041ffec041c04430019002201ff408724400b0b024b58170103b807018a 104.205 +079a07aa07ba07ca07da0706025705016808780888089808a808052808380848085808680878 104.206 +0888089808a808b808c808d8080c00571877180208221010024b08180f0f024b08180c0c024b 104.207 +082c0d0d024b08100c0c064b08100d0d064b081f4e471e0102171837184718671887189718a7 104.208 +18b718c7180918b8ffe0b40e0e064b18b8ffdeb41010024b18b8ffdcb40f0f024b18b8ffe2b4 104.209 +0c0c024b18b8ffd4b40d0d024b18b8ffe4b40c0c064b18b8ffe4406b0d0d064b18011e4e014e 104.210 +87100138104810581068100410100e0e064b10101010024b10100f0f024b101c0b0c024b1016 104.211 +0d0d024b100c0c0c064b100c0d0d064b102387079707a7070300270537054705570504020752 104.212 +2a083a084a08030357086708770803070817080208b8ffc0b40b0c024b08b8ffd4b40d0d064b 104.213 +08b8ffc040350d0d024b080c1e50470157016701a701b701050001400f0f024b01400d0d024b 104.214 +01400f0f064b010105581a011a5214100f0f024b14b8ffe8b40d0d024b14b8ffe840200e0e06 104.215 +4b140c0f0f064b14671401024a145a140205100c0c024b05520c0b1407003f3fed2b5d5f5d10 104.216 +2b2b2b2bed5d11392f2b2b2b5f5ded10d52b2b2b5d715f5ded5f5d5f710110d62b2b2b2b2b2b 104.217 +2b5d5deded10dd2b2b2b2b2b2b2b5d5f5dedc42b2b2b2b2b2b5d5f5d715d5f5d5d5f5d313001 104.218 +2b0121141716333237170607062322272635103736333217161514012207060721342726040d 104.219 +fcfc675b8fa36d502c5b728cca8d9da190c5e5827efe247f56520b0251484f0205bc65585f89 104.220 +2c202a8997ff0109a08f817ccd3f0169524e74734d5400010087000003d905e60013010d400d 104.221 +15400b0b024b07101710020100b8fff8b60c0c064b004d13b8ffecb41010064b13b8fff8b413 104.222 +13024b13b8fff640171010024b130a0f0f024b131a0b0b024b13080c0c024b13b8ffd6b40e0e 104.223 +064b13b8fff6400b0d0d024b130e0f0f064b13b8fff840130d0d064b13080b4d084d07091709 104.224 +2709030009b8fff2b41010064b09b8fff4b41313024b09b8fff4400b1010024b09040d0d024b 104.225 +09b8fff440110f0f024b090a0b0b024b09080c0c024b09b8fff4b40e0e064b09b8fffa400c0f 104.226 +0f064b09146a047a040204b8ffe8400f0f0f024b04520f130a090a0f070a00003f3f3f3f10ed 104.227 +2b5d0110d62b2b2b2b2b2b2b2b2b5f5deded10d42b2b2b2b2b2b2b2b2b2bed2b3130005f5d01 104.228 +2b2111342623220607112311331136363332161511031b766b458b25bebe26a95aaac102a178 104.229 +8a5136fce405e6fdd33b4fe0c2fd5f000001000cfe5c03e6042f000f0105b9000dffe0b31010 104.230 +024bb1020243545840120d0b0452030e0e060b06030d0f0e0d0b0c0db8fff4b70b0b024b0d0d 104.231 +11101112392f2bddcd10ddcd10c4003f3f3fed123931301bb1060243545840150d0b0452030e 104.232 +0e060b06030d0f0e0d0b0c0d0d11101112392fddcd10ddcd10c4003f3f3fed123931301b4058 104.233 +4c0801380f0127000103270401004701010237010103081128110200380d480d02020d0d0c45 104.234 +07010707040e4f0f110c4f450b0103040b10980da80d020167060102270d470d570d670d770d 104.235 +05000d0f0452030e0f060b06003f3f3fed11395f5d5f5d5f5d0110d6c65f5ded10d6ed11392f 104.236 +5d11393d2f5f5d5f5d5f5d5f5d5f5d5f5d5d5d31305959002b05060623353236353426270133 104.237 +010133022025ed9277aa3e31fedec2013b011bc2b66688aa6f5058ab7e02e9fcc4033c000001 104.238 +0041ffec02fc0443002100e7402b23400b0b024b081f181f02070e170e022823482388230300 104.239 +3a0c01351d0103c8110111054e671d771d021db8ffeeb40e0e064b1db8ffe0405a0d0d024b1d 104.240 +1700174e480c01970ca70cb70ce70c04000c040e0e064b0c22e81901271b0101280701270f01 104.241 +28200102651a751a020307191a0314034812581268127812c81205120f370147015701670177 104.242 +01b701c70107000103b8ffe040141113064b03522014181113064b14520f200b0f07003f3f10 104.243 +ed2b10ed2bc55f5d10c55d111217395f5d5f5d5d5d5f5d5d0110d62b5f5d5dedc610d42b2b5d 104.244 +edc45d5f5d5d5f5d3130005d5d012b37371633323534272e0335343633321707262322061514 104.245 +17171616151406232241439f61b0aa835b4321c09b75b2367172445d75887d72cab3a940b468 104.246 +946a4c3c3e4f593384944ab05a403167353e39926e90a300000000010041ffec03b504430017 104.247 +0119401e450501a1010103281938190200870d970da70d030200070d870d970d030db8fff4b4 104.248 +1010024b0db8ffeab40f0f024b0db8ffeab40b0c024b0db8ffe840610d0d024b0d074e381248 104.249 +12028712a712b712c712e712050012101010024b12180f0f024b12200b0c024b12180d0d024b 104.250 +12060e0e064b120c0e0e064b12120c0c064b12100d0d064b1218250a350a450a032a043a044a 104.251 +0403030c52070d170d020db8ffc040160b0b024b0d0f015208001800020000400b0b024b0004 104.252 +b8ffe8b40c0c024b04b8ffe840190d0d024b0452150a180c0c024b0a180d0d024b0a520f0b15 104.253 +07003f3fed2b2b10ed2b2bdd2b5f5ded10dd2b5ded5f5d5d0110d62b2b2b2b2b2b2b2b5f5d5d 104.254 +fdd42b2b2b2b5d3c5f5d5f5d5f5d5d3130010726262322061514163332371706232200351000 104.255 +21321603af5e1d93479bb6baa580824b99e2dbfee20129010253c203d8861d34d9bdbcc563a0 104.256 +630126fb01000136460000010096ffec020705e6000800c7b9000affc0b41313024b0ab8ffc0 104.257 +b41010024b0ab8ffc0402a0c0c024b070a170a270a370a470a570a670a770a08070617062706 104.258 +0306024d070117012701d701040001b8ffecb41313024b01b8ffeeb41010024b01b8fff24011 104.259 +0f0f024b01040b0b024b01040c0c024b01b8ffcc40170e0e064b01180f0f064b01130c0c064b 104.260 +01160d0d064b01b8ffec401b0b0b064b0109b705c70502010a081a082a083a08040652070b01 104.261 +00003f3fed5d5f5d0110d62b2b2b2b2b2b2b2b2b2b5f5dfdc65d5d3130012b2b2b1311331114 104.262 +1633152096be6350fe8f012f04b7fb695663aa00000000010050ffe7038805d2002601ccb102 104.263 +02435458401907221a0e180b0b024b0e120c0c024b0e22070e1a0425131714b8ffc040120c0c 104.264 +024b1411000401251749110304492509003fed3fed10cd123910cd2b1239121739012f2b2bcd 104.265 +2fcd31301bb106024354584086082401071001002520452065207520042a0b01034828a82802 104.266 +68130113074507223722672203221a001a45380e01870e01000e2777040102351e651e751e03 104.267 +351f451f651f751f040a0c3a0c4a0c6a0c7a0c0533220103380e010a0b1f1e04254814581468 104.268 +14781404141137014701570167017701a701b70107000125174911044925091103003f3fed10 104.269 +ed10cd5f5d10cd5d1217395d5f5d5d5d5d5f5d0110d65f5d5dedc410d45dedc45d5d3130005f 104.270 +5d5d5f5d5d1b4086082401071001002520452065207520042a0b01034828a828026813011307 104.271 +4507223722672203221a001a45380e01870e01000e2777040102351e651e751e03351f451f65 104.272 +1f751f040a0c3a0c4a0c6a0c7a0c0533220103380e010a0b1f1e042548145814681478140414 104.273 +1137014701570167017701a701b70107000125174911044925091103003f3fed10ed10cd5f5d 104.274 +10cd5d1217395d5f5d5d5d5d5f5d0110d65f5d5dedc410d45dedc45d5d3130005f5d5d5f5d5d 104.275 +5959373716163332363534262727262635343633321707262623220615141616171716161514 104.276 +042322544938a742758e4f9f769677e8b6f35f3b28a44666752a4b74789679fef7dec343b829 104.277 +3780634a7f4b3746c087a4d84fae1d36745b385c3e383947c598a5e60002004bffed03ec05e6 104.278 +000e0019011e40161b400b0b024b004d0d190c4d470d010d201313024b0db8ffeab41010024b 104.279 +0db8fff6400b0f0f024b0d080b0b024b0db8fff6b40c0c024b0db8ffe4400b0d0d024b0d0c0f 104.280 +0f064b0db8ffe2b40c0c064b0db8fff240660d0d064b0d140c0c0c064b144e87060138064806 104.281 +020006080f0f024b061a0b0b024b061a0c0c024b06120d0d024b060c0e0e064b06100c0c064b 104.282 +060c0d0d064b061a251635164516032a113a114a110303580368030216180b0c024b16100f0f 104.283 +024b16520311b8ffe8400e0b0c024b115209480901020e0a03b8fff0b60f0f024b030b09b8ff 104.284 +eeb70d0d024b09070d00003f3f2b3f2b3f5f5d10ed2b10ed2b2b5d5f5d5d0110d62b2b2b2b2b 104.285 +2b2b5f5d5dfd2bd42b2b2b2b2b2b2b2b2b5dfd3c10ed3130012b253506232202353400333217 104.286 +1133110326232206151021323637032e63bdc9fa0120c7a656bebe487d99bd01602d7e10014f 104.287 +630120f0f101554e01f1fa1b03366ce4b0fe7d39200000000001007dffec03e3042f001200fb 104.288 +402714400b0b024b7714010a4d074d070801170847087708a708048708b708e70803080c1010 104.289 +064b08b8fffab40e0e064b08b8ffecb41313024b08b8ffec400b1010024b08160b0b024b08b8 104.290 +ffeeb40d0d024b08b8ffccb40e0e064b08b8fff0b40c0c064b08b8fff440150d0d064b08004d 104.291 +e812f81202071217122712030012b8fff8b41313024b12b8fffab41010024b12b8fff640230f 104.292 +0f024b120c0b0b024b120c0c0c024b12080d0d024b12040c0c064b12040d0d064b12b8fffa40 104.293 +110e0e064b121303520e090a0e0b08061206003f3f3f3f10ed0110d62b2b2b2b2b2b2b2b2b5f 104.294 +5d5dfdd42b2b2b2b2b2b2b2b2b5d7172eded5d3130012b011114333236371133112335060623 104.295 +22263511013bd75e9c19bebe20c15cb0bb042ffd55f86c4702f0fbd1943f69caba02bf000000 104.296 +0002000300000000001400010000000000340004002000000004000400010000f012ffff0000 104.297 +f000ffff10000001000000000006003000000000001300000001000200030004000500060007 104.298 +00080009000a000b000c000d000e000f00100011001205e6000005b9001905b90014042f0014 104.299 +0000ffe70000ffec0000ffecfe5c000005c30000fe5400000338000005d300000253000005c8 104.300 +000a000000000000000000000000000000000000000000000000000000000000000000000000 104.301 +0000000000000000000000000000000000000000000000000000000000000000000000000000 104.302 +00000000000000c800cd00cd009600b400b400000000000000be00c800c8008c00a0009b0096 104.303 +0000000000be00c800c8000000aa00aa000000000064007d0082008c009600a00064007d0082 104.304 +008c009b00d20064007d0082008c009600a002300136011801a401d600460218012c01c20000 104.305 +01d600eb00eb01d1017f0154011301450168012c008d02350159033f0505012c00b4006e0136 104.306 +015e01cc01cc04d8006e006e01d600d2005f01f4012c007802d00190037f00800280006e00b4 104.307 +000000a5fea2003200b9008c0000000000000000000000000000000000000000000000000000 104.308 +0000000000000000000000000000000000000000000000000000000000000000000000000000 104.309 +0000080005e6000005b9001905b90014042f00140000ffe70000ffec0000ffecfe5c00000000 104.310 +0000000000000338000000000000025300000000000000000000000000000000000000000000 104.311 +0000000000000000000000000000000000000000000000000000000000000000000000000000 104.312 +000000000000000000000000000000000000000000000000000000c800cd00cd009600b400b4 104.313 +00000000000000be00c800c8008c00a0009b00960000000000be00c800c8000000aa00aa0000 104.314 +00000064007d0082008c009600a00064007d0082008c009b00d20064007d0082008c009600a0 104.315 +4036544b214a494847464544434241403f3e3d3c3b3a39383736352f2e2d2c2826252423221f 104.316 +181411100f0d0b0a090807060504030201002c4523466020b02660b004262348482d2c452346 104.317 +236120b02661b004262348482d2c45234660b0206120b04660b004262348482d2c4523462361 104.318 +b0206020b02661b02061b004262348482d2c45234660b0406120b06660b004262348482d2c45 104.319 +23462361b0406020b02661b04061b004262348482d2c0110203c003c2d2c20452320b0cd4423 104.320 +20b8015a51582320b08d44235920b0ed51582320b04d44235920b0042651582320b00d442359 104.321 +21212d2c20204518684420b001602045b04676688a4560442d2c01b10b0a432343650a2d2c00 104.322 +b10a0b4323430b2d2c00b0282370b101283e01b0282370b10228453ab10200080d2d2c2045b0 104.323 +0325456164b050515845441b2121592d2c2045b0004360442d2c01b00643b00743650a2d2c20 104.324 +69b04061b0008b20b12cc08a8cb8100062602b0c642364615c58b00361592d2c8a03458a8a87 104.325 +b0112bb0292344b0297ae4182d2c4565b02c234445b02b23442d2c4b525845441b2121592d2c 104.326 +01b005251023208af500b0016023edec2d2c01b005251023208af500b0016123edec2d2c01b0 104.327 +062510f500edec2d2c20b001600110203c003c2d2c20b001610110203c003c2d2c00b00743b0 104.328 +06430b2d2c21210c6423648bb84000622d2c21b08051580c6423648bb82000621bb200402f2b 104.329 +59b002602d2c21b0c051580c6423648bb81555621bb200802f2b59b002602d2c0c6423648bb8 104.330 +4000626023212d2c4523456023456023456023766818b08062202d2cb00426b00426b00425b0 104.331 +042545234520b003266062636820b0032661658a2344442d2c2045b0005458b040442045b040 104.332 +61441b2121592d2c45b1302f4523456160b0016069442d2c4b5158b02f2370b01423421b2121 104.333 +592d2c4b515820b0032545695358441b2121591b2121592d2c45b01443b0006063b001606944 104.334 +2d2cb02f45442d2c452320458a60442d2c45234560442d2c4b235158b90033ffe0b134201bb3 104.335 +330034005944442d2cb0164358b00326458a586466b01f601b64b020606620581b21b04059b0 104.336 +01615923586559b02923442310b029e01b2121212121592d2cb0164358b004254564b0206066 104.337 +20581b21b04059b0016123586559b0292344b00425b00725082058021b0359b0052510b00425 104.338 +2046b0042523423cb0072510b006252046b00425b0016023423c2058011b0059b0052510b004 104.339 +25b029e0b0072510b00625b029e0b00425b00725082058021b0359b00425b003254348b00625 104.340 +b00325b0016043481b2159212121212121212d2cb0164358b004254564b020606620581b21b0 104.341 +4059b0016123581b6559b0292344b00525b00825082058021b0359b0042510b005252046b004 104.342 +2523423cb00425b0072508b0072510b006252046b00425b0016023423c2058011b0059b00425 104.343 +10b00525b029e0b02920456544b0072510b00625b029e0b00525b00825082058021b0359b005 104.344 +25b003254348b00425b0072508b00625b00325b0016043481b2159212121212121212d2c02b0 104.345 +0425202046b004252342b0052508b003254548212121212d2c02b0032520b0042508b0022543 104.346 +482121212d2c452320451820b00050205823652359236820b040505821b04059235865598a60 104.347 +442d2c4b53234b515a5820458a60441b2121592d2c208a08234b538a4b515a5823381b212159 104.348 +2d2c00208a49b0005158b04023208a3812341b2121592d2c462346608a8a462320468a608a61 104.349 +b8ff8062232010238ab14b4b8a70456020b0005058b00161b8ffba8b1bb0468c59b010606801 104.350 +3a2d2c208a2349648a2353583c1b21592d2c4b505845441b2121592d2cb0024354584b53234b 104.351 +515a58381b2121591b21212121592d2cb1020042b123018851b1400188535a58b91000002088 104.352 +5458b202010243604259b12401885158b920000040885458b2020202436042b12401885458b2 104.353 +022002436042004b014b5258b2020802436042591bb940000080885458b202040243604259b9 104.354 +4000008063b80100885458b202080243604259b94000010063b80200885458b2021002436042 104.355 +59b94000020063b80400885458b202400243604259595959592d00000001000000050000093f 104.356 +e5da5f0f3cf5001b080000000000ad61b71900000000c142e956ff50fde708a8078b0000000a 104.357 +0001000000000000000100000783fe39000008e9ff50ff7808a8000100000000000000000000 104.358 +0000000000130400008004760096031c0096044b0041040400500434005006a4008702690000 104.359 +04a5001202480050045d0041045f008703f2000c033d004103f60041025c009603d900500475 104.360 +004b045f007d0000002800d20144020c031204340540054005940622075a080208a4094a0a00 104.361 +0a780b980c540cf2000100000013004d0007004b000500020010002f0055000002f001ff0003 104.362 +0001400a54bfa50140a5111546a4b8010cb2321fa1b8011540b21f1f6fc731216ec731216dc7 104.363 +31216cc731216bc731216ac7312169c7312168c7312167c7312166c7312165c7312164c73121 104.364 +63c7312162c7312161c7312160c731215fc731215ec731215dc731215cc731215bc731215ac7 104.365 +312159c7312158c7312157c7312156c7312155c7312154c7312153c7312152c7312151c73121 104.366 +50c731214fc731214ec731214dc731214cc731214bc731214ac7312149c7312148c7312147c7 104.367 +312146c7312145c7312144c73121b80137b26f0821b80136b26e0821b80135b26d0821b80134 104.368 +b26c0821b80133b26b0821b80132b26a0821b80131b2690821b80130b2680821b8012fb26708 104.369 +21b8012eb2660821b8012db2650821b8012cb2640821b8012bb2630821b8012ab2620821b801 104.370 +29b2610821b80128b2600821b80127b25f0821b80126b25e0821b80125b25d0821b80124b25c 104.371 +0821b80123b25b0821b80122b25a0821b80121b2590821b80120b2580821b8011fb2570821b8 104.372 +011eb2560821b8011db2550821b8011cb2540821b8011bb2530821b8011ab2520821b80119b2 104.373 +510821b80118b2500821b80117b24f0821b80116b24e0821b80115b24d0821b80114b24c0821 104.374 +b80113b24b0821b80112b24a0821b80111b2490821b80110b2480821b8010fb2470821b8010e 104.375 +b2460821b8010db2450821b8010c40ff4408216957311f5857311f5657311f5152311f464431 104.376 +1f4544311f4f4e311f4d4e311f2097309740975097043088010f8c018f849f84af84bf84cf84 104.377 +058f689f68af680360697069028f5b018f5a017057018f509f50af50bf50cf50058f519f51af 104.378 +51038f529f52af52033f7c4f7c02507b607b707b03704e01708f01308f608f708f03008e0100 104.379 +8e01408e708e02008e308e408e508e608e708e06107040700260740160730170440100282800 104.380 +000012110840370f3fce16010fa21fa20218c7312114c731210ec731210dc731210cc731210b 104.381 +c731210ac7312109c7312108c7312107c7312106c7312105c7312104c7312103c7312102c731 104.382 +2101c73121407c00c73121e0180821dc140821d60e0821d50d0821d40c0821d30b0821d20a08 104.383 +21d1090821d0080821cf070821ce060821cd050821cc040821cb030821ca020821c9010821c8 104.384 +000821230e45220c45210a452008451f06451e04451d02451c00451a08180816081408120810 104.385 +080e080c080a08080806080408020800084bb807ff524bb008505b58b101018e59b0124b004b 104.386 +5442b9000101ff858d2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b 104.387 +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b7342011d4bb01b5358b096 104.388 +1d594bb0325358b0001db1160042594b20b0325323b096515a58b0301d592b0145695342014b 104.389 +5058b108004259435c58b1080042591610703eb13737456920b0005458b040605944b1300070 104.390 +b33200300019701870737373737373747473737373737373737373737373737373732b2b2b2b 104.391 +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b 104.392 +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b 104.393 +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b742b00000000> 104.394 +] def 104.395 +FontName currentdict end definefont pop 104.396 +%%Page: 1 1 104.397 +%%BeginPageSetup 104.398 +%%PageBoundingBox: 0 0 206 75 104.399 +%%EndPageSetup 104.400 +q 104.401 +0 g 104.402 +0.864145 w 104.403 +0 J 104.404 +0 j 104.405 +[] 0.0 d 104.406 +4 M q 1 0 0 -1 0 74.329308 cm 104.407 +67.75 3.387 m 124.164 3.387 l 124.164 18.609 l 67.75 18.609 l 67.75 104.408 +3.387 l h 104.409 +67.75 3.387 m S Q 104.410 +BT 104.411 +8 0 0 8 70.70321 60.248497 Tm 104.412 +/f-0-0 1 Tf 104.413 +[<01>-1<0203040205060708>1<09060a>]TJ 104.414 +ET 104.415 +q 1 0 0 -1 0 74.329308 cm 104.416 +147.75 3.387 m 204.164 3.387 l 204.164 18.609 l 147.75 18.609 l 147.75 104.417 +3.387 l h 104.418 +147.75 3.387 m S Q 104.419 +BT 104.420 +8 0 0 8 150.70321 60.248497 Tm 104.421 +/f-0-0 1 Tf 104.422 +[<01>-1<0203040205060708>1<09060a>]TJ 104.423 +ET 104.424 +q 1 0 0 -1 0 74.329308 cm 104.425 +106.148 56.188 m 162.566 56.188 l 162.566 71.41 l 106.148 71.41 l 104.426 +106.148 56.188 l h 104.427 +106.148 56.188 m S Q 104.428 +BT 104.429 +8 0 0 8 109.10321 7.448497 Tm 104.430 +/f-0-0 1 Tf 104.431 +[<01>-1<0b0c>-1<0d090e>-1<050f07>1<0809060a>]TJ 104.432 +ET 104.433 +q 1 0 0 -1 0 74.329308 cm 104.434 +3.75 30.586 m 60.164 30.586 l 60.164 45.809 l 3.75 45.809 l 3.75 30.586 104.435 +l h 104.436 +3.75 30.586 m S Q 104.437 +BT 104.438 +8 0 0 8 3.603992 33.048497 Tm 104.439 +/f-0-0 1 Tf 104.440 +<100e0b0a11120f0a02070809060a>Tj 104.441 +ET 104.442 +0.8 w 104.443 +q 1 0 0 -1 0 74.329308 cm 104.444 +95.039 19.262 m 94.672 27 101.449 32.363 114.461 35.277 c 133.074 104.445 +39.445 131.441 55.703 131.441 55.703 c S Q 104.446 +133.785 22.595 m 131.344 17.571 l 129.949 22.982 l 130.996 22.032 104.447 +132.547 21.884 133.785 22.595 c h 104.448 +133.785 22.595 m f* 104.449 +q 1 0 0 -1 0 74.329308 cm 104.450 +173.063 19.262 m 173.43 27 166.652 32.363 153.641 35.277 c 135.027 104.451 +39.445 136.66 55.703 136.66 55.703 c S Q 104.452 +138.168 22.982 m 136.773 17.571 l 134.332 22.599 l 135.547 21.876 104.453 +137.098 22.036 138.168 22.982 c h 104.454 +138.168 22.982 m f* 104.455 +1.12 w 104.456 +[ 3.36 1.12] 0.224 d 104.457 +q 1 0 0 -1 0 74.329308 cm 104.458 +111.125 32.664 m 111.125 34.766 109.418 36.473 107.313 36.473 c 105.211 104.459 +36.473 103.504 34.766 103.504 32.664 c 103.504 30.559 105.211 28.852 104.460 +107.313 28.852 c 109.418 28.852 111.125 30.559 111.125 32.664 c h 104.461 +111.125 32.664 m S Q 104.462 +[ 3.36 1.12] 0.224 d 104.463 +q 1 0 0 -1 0 74.329308 cm 104.464 +163.922 32.664 m 163.922 34.766 162.219 36.473 160.113 36.473 c 158.012 104.465 +36.473 156.305 34.766 156.305 32.664 c 156.305 30.559 158.012 28.852 104.466 +160.113 28.852 c 162.219 28.852 163.922 30.559 163.922 32.664 c h 104.467 +163.922 32.664 m S Q 104.468 +0.8 w 104.469 +[ 3.2 0.8] 0 d 104.470 +q 1 0 0 -1 0 74.329308 cm 104.471 +104.352 35.625 m 60.328 37.32 l S Q 104.472 +[ 3.2 0.8] 0 d 104.473 +q 1 0 0 -1 0 74.329308 cm 104.474 +157.684 36.473 m 145.832 47.477 60.328 40.703 60.328 40.703 c S Q 104.475 +Q q 104.476 +q 0 0 207 75 rectclip 104.477 +% Fallback Image: x=0, y=0, w=206, h=74 res=300dpi size=796293 104.478 +[ 0.24 0 0 0.24 0 0.169308 ] concat 104.479 +/DeviceRGB setcolorspace 104.480 +8 dict dup begin 104.481 + /ImageType 1 def 104.482 + /Width 859 def 104.483 + /Height 309 def 104.484 + /BitsPerComponent 8 def 104.485 + /Decode [ 0 1 0 1 0 1 ] def 104.486 + /DataSource currentfile /ASCII85Decode filter /LZWDecode filter def 104.487 + /ImageMatrix [ 1 0 0 -1 0 309 ] def 104.488 +end 104.489 +image 104.490 +J3KW%GU+$o#COBr:T)u+*=mro@So+\<\5,H7Uo<*jE<[.O@Wn[3@'nb-^757;Rp>H>q_R=Al 104.491 + C^cenm@9:1mM9jS"!dTMT<$3[GQ$8#0$s<4ZX!SPQ1`B[F7^jpq0?^FN,^V01s.HIuWPG[6 104.492 + W[B=(iZ<kDqOh/Bf.DHAorf'R[o?>ioWjnAY&^gM+`4=1jRLW!YA=M/6)*KS9PE`kN%="Tc 104.493 + _Aoh+fk'&t\ctIN)4XQLiVp8<#YAIm[Y7B-r[TbficW^RQh!2M]<QfX_h/>87rW`7R`ng.Y 104.494 + r2oA,QcS@]\G\$U6`4nep,_pH-TAH`l>Cq)%f_I)hX5T5S6nLebM0LLI6LH!bN&*#rP(P"+ 104.495 + 0X8e4n!IWoKM[fr;O?J":"rmYZ)P=/W\C+#VBr\)#_11HnPfAcpQOe^lZJT&O\>6,mqMI<) 104.496 + 45nOSh6A`,RV,'LOT#CDfKZUgkE6.nj"d8#o$0"3&T&G8<[<jDuS:ne?\^ag-S(!6C:UB-p 104.497 + 7A"HtB0En$.'9/:TN,0H!@_^S6b'YcLslSP@q9rfh#(Vt(oQS:oZX&O[%1[41VTk`T"YUi< 104.498 + hWi8i09bg+EP\hF2dM.Ze8^`j*/PFP,br&5EPjLV0e.iE];:1TU%b7tHH5`j1e1'iRTrQXR 104.499 + INPu"D-PU,STS1=Q+_<Ies5WL?n57mLLOB9jb[-n29h7qf%+-#B\@P\VLI6"]sDG,[^EYYg 104.500 + \(fSCg4@h[qK%?D7a322>td=>o,*#G[4CIPBG^U($C!N\$_3;hY6\sHs_)@$XM]bjl;&$\7 104.501 + PhXh`*LjAmmZb(Q2_3`ZK_<p_AjFA%77DDdrK2-]MXs7L+uW=-cXF@lZG?OC`^75F#jVAY# 104.502 + <%\`S*rB">p.TkF2OIA9u6p5b>IpL\&@@QHqnTP$6]S#BkDG%7Req3JLkBtB=iV!+7RbHbk 104.503 + a-HE+Q3$uPElru[,[I%1alaH7$VVSE@=Pga+Dd1NS^$GKL!O-L47coJ*a2J%0EJR=cHRe=' 104.504 + ["!-:cS`u=SF8VeoGnH2dI`t_:"/bU:K>s<SSqfcp)T3*g%Lu?D;4e*cZS(<SaV!ap`9s"i 104.505 + V8utNT9gU:R1&;So:1_qAt]ol2%!TXm>j*caE0;SonVc[qKnq5bPJ>&r1NUs4-f@T5WQ[rZ 104.506 + @3_q>R"imJHo*ch78:TC;^Xhuj(2:_!Ol=:G;h6j\E@/d=Sn*<Y5Q&V<hS$:.cG"lR<:K2? 104.507 + Fq6.e=*i<1<W:lZ/T=A9+\6n*gdXqj@V>mM??%O#@C><YR"X9[MEL%+LO6eHetiWMQ';%=d 104.508 + <=H*pP6qN54/ga!=SJ1"9;2S4G.RdIA&#"ghL1E1\O>k=_h`2.$;-l"I=Nq`D6tqWXXu8c% 104.509 + h&GC-EK3oA3_*<>*TP(RM^.XAO1;bbUASC@0;6T[R11>#7#@%(/k/Cb*@'WuOciU;8kE/;- 104.510 + /dj2O0S[L_hc>[,m9p+;N=XI=\U@,7&cGLY#\0J>q=fKRW9![>/Oii(h(XBQ4iUl9A+_Hjo 104.511 + iMf;\!81=cG/u6n+Ei10P4AD#'kH@[C"?C/%j5*_"<+$F=Vf:"d3=k60b6;iYln=j8ti7-U 104.512 + 7@Y'*Rnh)jeQnX`\)H;@]24m0cZT2Y0,:YG\,#&OC0nY1N[=q*d]71#Ye/r!3V*CK%E&Y`5 104.513 + =51*N"%4/)^L@X>"coO<[klb'#e;OB*>"qTQ74G'4Y*Mu>>taF90r@pqRT!C,:$KVWVc<)U 104.514 + ;qcXql30JP<=Ya&>)cDE74o@@/s+%uP>gb#;6!VkW`<6)<U.P+X&X&?<:G07ke,0.nd7\ol 104.515 + C1rB7;7SMN([1)h-93!ENW<e\lW)&?0fH_WFF;`74Rn9lihsE<XuuK>7G$*[9j0(L-JP'!> 104.516 + jhhe$$2Tb#qh>>:Fe/ZW:th=kc)Pm002j<fYU3>>8i!7B*[qY1?e2?#/h]Z*m]Yg07cuD=, 104.517 + <Q[oVqR>71%%/@8*W2YQ-8>E*Xj7EN)A0'6EnSTF4QdC0gq`E:5BA16Q&\2S<n?.^<4.9P$ 104.518 + 2=*jFD=JoKiAUD);(7#/oh0SODnVKN>qGNf_io8IoZ*QKN96m9bCGk[u=:YGh$<;>*Q3>$+ 104.519 + /eq]M=*h)]0>4j0#iT#?#VVi&^=@i58'CRJkhZ96\6fkX=cn97:'eejY80CI*D3Pj/VKKb1 104.520 + ug-(NSkiq_fd[Cah&Q@DU&:')%Ro`4Ae^*<^k,5/b\3#;iGa-)9/(7.V-bG8h[ekL0/pIh2 104.521 + FdGZE@W[;9L34I$9rh7O6+*UF9`A+dDSAEPgC8PNA.GIV*0gXEI)WB.X"RieD$?fq1NC>KN 104.522 + >u5&JZn+#mrI*HuS$-I0SG/a&WiJ#b2_dopW0kUK6!2!1L-)BtAYX[N2rDPu#aHUuRj-9j> 104.523 + h(r)A$&F#`eXnBUKe%c&^CRol-2'jQugAUm5SVaW5p8n<5^KB&;q_U1=aP'ims(f;p[5Pt" 104.524 + fH:9)m?cM2[eA[EHRi]@NFe^P%cZ;KYA7H-f=U+HgY9>uE,Q3Q,PNN)b?LHKCJ?N?ZgRSG> 104.525 + 2seaSd3*m:@bn7$[V<&*?DW74PtC194cpp^c6f]dsMskES0BiX60TD]R,f2Sg/Bf[f=,_Q^ 104.526 + 27O3Ql]$A`OgQOn0W2'KJ??bF6a"Ac;eVq?Ak>r<K&bc=b4t?1,_G(T'UGF2[VC4NlJLVY+ 104.527 + 1Ed/(4SL]&<LFIXf2]*(@_q;7'II@jY%a'n@:_lS$qh$Nr?pZB0(\m^N_Q8dE+l8tc5G@(5 104.528 + ZHZ+E':i!T0DWfsU6kep5;grA^c_!<qOe^b<aa$u-iHL'4o%n6dGeIPGFM?,h5',.G+"?H& 104.529 + 6icft^Wh(s>lK-Ec10Qcd;m!/mH%uYJ:[=K;]qRu`+Qn%?OUcK?ZDhkKCKj%0Al]SS+=RQ+ 104.530 + 8'uaf"^Zu+$KA6pg4]pI!?$(?`29HhZ)e:s't7Q:US,jHhL$lFTC\4B`;?QD#W&`p`G:9V* 104.531 + ?p'<4gT;DWL-/Q@VikrboCIa7TB:jSqhKs,C.Km-=$m)!nC$kH:cb&298ChLJ4Yr3.s/YEJ 104.532 + o=IfF>8s.O-+mR$6><9Zpk"0\$nn3F,=klHZ;!QkWEn0n!L/G*mi#H8LABEG#ckSu:4'_%' 104.533 + XiSb(sI/++KJM4t>E'0e3VVP%Jrp!PjE/P"e>mV\5$"sbR8/DU$SI-gL#7gItmF)Hie;l;6 104.534 + J.TMG!RhN4BVa"6'_']Q&?a%bVV[C<"gIS.&EO%0;%Bi!"-EN'E6RK_q#^'o&ZFFnVuI4ho 104.535 + _Jnmr]njCd3B4hAIiXq$E*\48+R@N;%h81eIaXXnIjiaUuLi['X:o&&Kqk8RhIMgP&H'j:r 104.536 + pb@5fKufgX/-5EH_F<:6G'b(G(mi/7fPKbk@(E'sV*`l9qG+_VNQF(h`FX%DNV9HQ-rUV'. 104.537 + ]8kO]V]`:tJmV3/k=@=!INL`A,7)mC7X5oBG17&9?jIPH$e&_s2P^(X$)q@WH3C.f2epDcJ 104.538 + [$Hc-bB@e/Drt%dtqXMr.:R<&_8-uQq+UD3i&VR"o18N>L+7^-cnc/Y&*?0#A)A4>:ngPOK 104.539 + 3e.dP(@SFHc\!?r2]&U&(\0J\&D\8Fh]D<tr_^?K#P0($:8Lh6,_uUEESDkh;&k_Zq.`hLV 104.540 + r9"SHQO_3+*%/QEY\td.fN<N*)^i#n;/;BM(:&S,]V7]&"tCd9_ktE/1=FA&O*'>m\M[#,N 104.541 + 1L*1<h)Me>0D',uWNKP$7X$?DVY`-:g!3:b(aLGo@>5MG[k+b#3_n\KY\N%J'e#ZClYCiZ0 104.542 + eQVN72FL\i04$4RVKIBtL!Wa.D.h$co!q6N"4C/HCQHD_:C*HNj1Z6([hFXHBX2j7f2O+0( 104.543 + ::o;]^IrTBaYK6t3.41%Z-IK"UBBM$j;)T#%2X4@$8)Z7F3i6s_!9`f-8q@W(9,f[f3,2SX 104.544 + #MCtlFZ%P+2p[*s'7^CqK_l*p336aR&V2Q)m%lLeVXnR/PH:X&m!k4[4`ce_-n-k^FYQaa0 104.545 + shpWdiU1sC4B1@2D9\<ZO$=UAMrZ0$^*iSF2iYc!iOMH5En"%1cTpSp8=!h6ON?O-p]Hjn> 104.546 + 9-/Y*<=BnEQs7N5a-@_=.Hod/&<8A:??bV")PpZn39);*D9J#rFiD<,R,+7]3VU8CUD3'N0 104.547 + A/=#g8M7]PWD-oFP:T-I;.Y;F'c&@AB8G(F`LoJ)g5F<=7-f,@<n)Mf(f\=6SQRAV=?, 104.548 + o#MW%0j$dmU*>#b=DjNP*8:GZ<V(h4.-e1"pEi!j_-Ycp_o=TKO"YC@X09:T*Pn&5H\K);M 104.549 + ;Q&<HnEX%0deT%CV3MJr8(CRY[\].gK[fNb^]@LJkm5g=I<3o7[9j<L@gP"2V%m`o<JmUF+ 104.550 + %_7@$^H1;20sgpR+dap7W\'IeFchA92fs0;Xb+o[0%r"k>74h=>^X.'bpXHM,n@m=^fc`&E 104.551 + ?Z'<E.FA>JSW_#ME=HcRj9(**&^TojelH9.8.rV3Ot['il4eStu&(=CL/k192f/799%,1,R 104.552 + .M[LZJ@'4GWM@C?2=Q.Vp5Ndd9:Up]!+eX]^'[&%pEJMc*Z1u?Fjj^r1_68S2/<a'oKf0H? 104.553 + 97Ao:EO.0c0lQ'_C;?uM51tEc?[pFjO+Hj2Hp3ri]K4,#dA8st8Z5WJ%>bs?AIFa4NG.N+0 104.554 + P@rGo>4sHo'ZY!QQ"Y,mV3\uHQH'-8RN<(h9]tFtF3oIqVV60n8ubU!<d+7]JSnJiB<Qeu: 104.555 + p:otMcki(Bbo9JG*cTlmqL0>>um_>^mf<Ko4l>9*bnCFpAC_ph^hhDC_n0jQ:##D\qG5UB( 104.556 + dfaW_mk]F`"T^5mQ^n2cbB+V$=8Y0B`"H%u,Z/?PRHY:)7Pgk^@'nFJlP:CNj91kP&:_G7M 104.557 + [h=Z8<gG?\&<nSQmNK61[O-e3@KGBNNG6>sVTe&d!'dqo?[I!=4kep1c7,_(m>/@Mp:f(Rf 104.558 + uqdSiIH+3TppM>>gV.@r3J%)Oh=0[/cm<a%lKJ`4H!WRODPCa&^JsZJ4pHr"?c[uJoIFpN. 104.559 + =5p$aR""epV&)CJf7srZ(O6j"LUWOsC3_pCI=h1mC5;UM2XNR[j(\9)I+MYPntTc`Ck2!=% 104.560 + ^`--Q+Mh(1GTeuCq,`AfUn!ZeSr$rM.bd9E5-ros*lV_Is5=U0BIsH/S>oTIop]FE<%"=H! 104.561 + \"UMV+`$(GpY%M[7sqV>/kJ(n$$O*K+$LO&mul\7h\Jnta=jM\j^!W!e;5d-nJKOgn[lN)N 104.562 + Km&>bT"F74ArG@cd/r>&N:O1>RSoWN^Ac@6RmK_[Khpk\^U.]6@=PBcPN),Ydl4"L,>LcH' 104.563 + 3q#uCr@uZAGJbZb-pq;rm9pK`fP4?;N3JEeRK9)CHMKDpQBAo)an!=kKPp*K$MK+pVWJS0m 104.564 + K@hc6q0/9q#FS]aO6W]h:a"1_,kLMH:!XuFg#.S:?^l=GJ_@eh3H(CbeT9+C#hFtkG"M`PT 104.565 + n5:lIX1^e=d,;bbELW$Fd`].)B5Ch'p]a_T3;N#FVaQ?HH$YJo/)(<\ar?q++%0YU/gqn\c 104.566 + $N5,7Za:TR#sR\dkZ"/YP2FU1ccfq8JFVD5MU'T"!.J3\l8S'cEFsSiVga3Tm</6'f(GS2t 104.567 + D6Qj0IV9r=)7G*ap('[M.&++bDN&)'[MHBjo/\YiWMVoW)/m>72kH`>(2V]+A=>,%p@Vlb7 104.568 + pJ!RjLn[GPXdAr_FUj;@2g.eZ:Ffr=YV_5rZ/R=ocAY%2sW;@R?q&mcs,mg$.:AY&a;p;&G 104.569 + N.1WlP/-jAq?!NnO.r(dJ!7]@_&96Kl*S&1X;W+[qan3LS$8?[IImWJBN_GHJ#uo`K">s1q 104.570 + G_q`3i'@LIJZ@.4%H`+=FXOMUt_*A>0F%;>IHV#ZE\,Tg+U&V8\8,NXCp4r(#F_WLBho?Z2 104.571 + ;atg68a3-`7lXTP*;b0aN6Wk,%YF'3UI0]$7gS3P3u7]:+5a4+"QNq7?J/N-kN<]F2;4$,. 104.572 + 5`LV%Z[gNgV>Q`p9oITtQUBCWg)W.%t5V;(=Mqu=63TtafI`-\DZq_,@'_j9'gHo(<18:A- 104.573 + m)0jo^`i(K&4AURA;BP[,GF(+E\93d'=+A9JT^T&_R)R#!Q+^EK[9=HbBK<-*n\e[8_*"d6 104.574 + *1P#.\UZb_UMQQtY?@Xt/],$(b_P/t[oJG9f/%/EaH_0h)a2:[d175A^tc'-4RpC<mE5bgb 104.575 + $=\`S3s`T<NpkEc'TE'r+-V5Bu\sGJin%k]%b8P0g;+UBefuJ)5d[][E9K4`Ofun3Jn?3D_ 104.576 + lF_PW7XC)mdie\(+`]cs3?o?!GdKA'*Ml+8A42*8GtO!Z#!uQe]6uSA=uk`KGXXalj1!0:U 104.577 + D;`R>biIW@c,>CY-5YLIOOe?kL"Q8QiKNR4))eXa1i4IO-CkLTO#pcWYGSTi\q;6^RsYtrb 104.578 + lO4@iJ)r>AFZ7O8+I663=l-m]5>;fPOO+4VYrhQh]$^-4nh*\m2?-]A(bmKGEReb7ArQK]c 104.579 + d!M&/S]#tZlDI^e>$ZU)4bF*4LU*KDOT$_XrVWSBft9>Ei38F'rNEQa("GGAI_Hf#\m;MR- 104.580 + .op&k.WRr4i?:BoAaS,j/<^?2iHNul02jtdJb`O*dOSjdpnn2i&cRk'[ipCe^-HiIhsQtZ+ 104.581 + o(`$0"*2idH[BStG4/p!nM=I9sjhh333"4TtD*"Y^#^DSP2&8q<MW+9#2'hQ>n2YS?AZl[0 104.582 + <3VsE[6E?BYedN4+sq"O.r_;KdSm@=:48+l97C[O<pJ\I9'/q<,X7"IOmkQi-rVqpJJ?kJ[ 104.583 + rJ!,s((KCsXM)05UiZ=j>d`3<l=ShOQ4E9m?>?U<ap[oS%mscAQrmgfllS(JIe/LO\]Kh#& 104.584 + *nNM!b5X,j?R9`4a5J&^op*IFhd?(2NV7>Op:N-Ls/pilmItOEpUJWFs'aI8L%-84e]9K?S 104.585 + n\-fkP[UsrmRSa%gR^/#^h7)+V:#7)#1"a1a3J*PYNYBMacY<R$b<B$A8p8&(qWe8GeT7V% 104.586 + RFrM>J]L4m!Cobg'2eRms:hRFLYM4eGO6'H.\rM++1:knKRd/t#G3;sG)9Ptn;YX$r3%R.M 104.587 + i(?)uTD()itTiEJ-AlrKTUY1[[$>OE0DV9ZOV\ZIJCS(6ruFbCZP(X*X)SRf'10USA20,]b 104.588 + i:1Jn0gjjZ$P!:6jku=ro0pt`]dqAA=8YsmMobsB%Y?@ud<`7Q-"a-ZEgK\o+IFdk4]s->d 104.589 + =+0fRM*K[$%6Rrs6Z^H6F8?mCN_VqdP0)f@Cuh?S0U]XeZ[RsralW,>r>qCc_e$4JD;iW\5 104.590 + L+uSA(Jc:T7?>*rMhgbo7[-/Ca4tU^l:_@q`_3QnGPWaKHgdN:7=;f1=!H(br\K13psWK$V 104.591 + (NAE?n0j7.;/J^HKt3"E;?H37*I"$R./=S1fe2pr0N!HKRO$X9B\:C.&KkaGY^i(rgQq.iZ 104.592 + MZoQMQQEhc\CThrA&bW?'Y2\*H]q`oS:;QS%t9_1[#Sjc;R=Z%_n@q@YqBM7nCc1AmE[7CY 104.593 + [Kfr-c2#aN#1SkGicI<RB74L(('.fcW]/&`LEr',s]F>7f7FQA?4&7^i@^e9pl:T,e<:i$U 104.594 + ;j!5[8QSpUV"g!HeV$dbeuCT%<)k`F='!og"[,>Mm]@W@_fVVW0Jh)[1D*_IKqi?cB[oG1< 104.595 + -G!fZ64jd<nSXWN,NOfF3S6L<gP'0>MUb,[Xq`,otZ>f=(U\RfO+k)8B[1hPtP8D'Zk]0GU 104.596 + <eAg</EgK40"9EH<bUSf77WGa9k<;0U"PA(#8Nrm0%,*Arc9GpZ/<@0fT4P@]#M:PYV[7U" 104.597 + [.R?hWX65[t*ID]1K.dio%DF8(!qBh,q.To(MQ"^#+Rbq]7#%OPg)5a=4C@,nZb0*bK]+/3 104.598 + $re#c;)^`b-kq/JAZYb&!#H2BACD3`94/V;NCJ_sYSnlnN4b.&^*ppd_GHT>in=2u]U[@i; 104.599 + 'Z"[7G9b3WgW$dQC]!fi&Ft534$di?=$=rQHt)WnXh9EbeT'BHNP/I3m_aS9?!hC%6@ArOg 104.600 + \6(39AV3?:Oh>=*H$)RB@O[TiV@q4U"oIXL7R4J/n4b>HCi-;io>CKA)u>"cbo90hLET;A: 104.601 + C/rU\I&TgO"9qIXA;GqA7ubId:%]7t5+-qu8nU!<?LA"+ZIK"$h)C!ant8JWMbp5klK*@$D 104.602 + =VOB)`TGVKD1e/O%%Fq6n6-6+0@_/Z[:TUR&s$=O&fKoi_Z6MOst@?`R&OOb@<G]<rtP8\m 104.603 + 'FlYLUPmO0!6RhDr?:9%#&n4g5M30\D7/3Gi@['fKO]Eu$Gd/#ne6@inFtY@*9+_Kk?]:,5 104.604 + 1IcW:)Il`^NKLY.7ekp\iT"3NY%6u_2MW-Ee9`Su)E>e5!?bneK92636V)J7)4Q;,,-iOc8 104.605 + GODSA<`:@P#b4C[WM6gWloHZJjr?-5Y`QrQ^!Z!;bD=4.V2S>O`H1Vb5#HsAX'NeP1;oi2_ 104.606 + NuujEGPQdSS-_68p5&WgJtc@n_0111jM/R?KOA9_kA=AsCc5P?)HnH*K8>eD$IVG&L+N_)Q 104.607 + 'Aj.)=!F&%"L3N#il,86eq:ANj2B9`"ZPLb(VH1=(2eGGfRqL:GkkiO2G5`ZSaK2?k*?GsM 104.608 + b#a@6&66P5RBU'6"U@sLAl7kY>U&CVsjmPSD4\"ZN,G^#-j;gL28SM0T4JJ:2*84M?.-l5D 104.609 + CjKDU)IlNVeK^mNGTbK3G>N#dXD/4LTpsbJn_]l[I^L5p<;?,^85MaTPsVNOEqHgMOl*2Dl 104.610 + D20Cm6N&bH)n?=ZTKr!>%pE<Xd-8lMH\q=^_Lpm`jW(glB`l5D0<%IouMoH!*7='I^#+PSd 104.611 + E"?<ks-AYf<-DdoU*_ltqrlNEep*Ejc6ieWmJ,)?#BN[KeB!SM?EoJQ$=&:+[cm[>\3b>4T 104.612 + *&m?Of^Q'=:5EjcFZe[7)3RU'*O`@n@T_mkUm?<hP^4"aOP\Wk#`h"%lfDO&I!(Aa*DWf;- 104.613 + Re_<qGG4-@nR<WW2j.RUXo+eLiH>asA]$UHC>V"ERDj!70J1CF2]3ZnhSbnIk/-hHF21TW( 104.614 + =1u$(S'i8]JoFU""unHAfDtGnn<;lPQrM`I9JM4CNWlLC#-q[=6&89TA]0:?WWZQqMI$ju` 104.615 + J&+0@e&cCED]BHPRe:74E6BUYb/siC^+D@093=OP7G,;Xb0l@ONL$M\.f`*AGi*/#2W9:6U 104.616 + *)4*3e6P0KHf_X"9JTR:L/8?d+q&YC\m`<l@1;bh9D!NniOmo9!5n3S-2'bej<2c?IU&oV0 104.617 + ouhH%J4K?r6dP);sGO0SKTd@(o2kF.g1oQHGHKN<R1ijJi/d,*6?=&1JGRA`a1;Uh._MeNR 104.618 + VL\3R+c\>[4lLMA+FdB,[MVrSlHsQg\fVmDje:6bB%pnr&_p,Zd30g^2Z:S*8fnq%@m..Re 104.619 + [ZL4:RepJrS.W)Nek\bIaAhR*\%#?khZGs)Xl;UhZSoNVgfq62kV.!oD;O^;M"FO4F(@)9f 104.620 + '7;*daR>1Zb:T!'AMND&isn8_GD+"KclV^KFT06pKgVR>ZUrhTL$Rih@0ZM98df]S0p</Z5 104.621 + ,QhM/V+5LNo^>jd3&EEq<jkH#GJuUX,D1^2R,hQTO6]Z\d?fC!^ak.Kph,XauLo4F1'ql%Z 104.622 + YkLJq_8qNgO3q2_EGHWc71J[,a@GH>rY*&Teh"mgqZ,BeM$eT_U4m?U]tpA3lU`Xd.X^!sP 104.623 + )i+_%?fEUes?b^cU;-5Q^/+270_IYI1!dn"9ZU;pVG]+^+_uGoY60l^5T%1'XO.38g8'`,) 104.624 + Sec_:UFDrGdqbEU7l4WKo,\+KEisuX4dB;05muEd+Xui-T=ZK2TAON_1Z&#k<Z1g>bk'_;n 104.625 + nHAa*.V8VHlriLr`@PmB7(eLF(?Npf.?^k_s2[H=%.i2EWBZe$N>MepcXb6$\,P:"^g6554 104.626 + 5HL?e1AGYOH@Z-i4okp\R(*#Rum:\kmXdPLh@<4[/K;^flUFOKF(e#Sm7A3YKVh=P58;%L3 104.627 + s_3b/!$S.@%cbCXgJ%?MOF/-8*6Q9E;]1sc6(;T4BL(coSF_*f1iRi$p\T7R@%/^PFmJ9Jc 104.628 + 0HG7`r_-jCKYQ[0D@68!;_?;264.?JE/\hpX4n*NQF92\h/3R5bR4H;_PUm&YR#aU;":3[4 104.629 + O9:3d1cr&j_V@$qr%>L0+:XMk!?8cX\Dk9U&dm7s6ei<*\2H_Op]@L2#IHCU+NcU#BfjBS$ 104.630 + TKt/&19ehgC1_a%?hla@K/HC28h%?,\03QGU8?2#fR/2L#BrSXA_K>#me0L!J2RMn2A73FU 104.631 + '`tP>GW*X4m[eDoKefJim?`6qW(W?l,Ka6Kf]7/5SbCkranu`LLNb&=5id1(BGQ!%Z@uMrY 104.632 + 6?AB)hQ$J8%lka]RP-H)iI7iY&hBbUcAF@IZ(MVDcs(n?2JGTq4J!(].@W-?:l`5AMga4T& 104.633 + Fr-pd>C-@ema#&Al,Q%[D+q*lg86gLsGd*/=5Y-dCJ.UBh5T5L':ElGD8D1o%./egPO?GkD 104.634 + 8+7&!n1VmE.QP9RL.%=8cqm;]9#96;6DNC.*03\%r"e2sak59+a:Lg3W56,3U-NQf.#c109 104.635 + ZL+$79V',X+JI/oFCXNb*jR[/?9'!\-4ChJi&Ade?:'8"A9"qb8@VlUpC.+ZkK7B!sCp(S= 104.636 + <-(\0#E([tJHW+]XA,V8O9"-"r8JpfC,`'2/gkU-l%UM!#2X-TM`5$4rI1\/3A:OVQoCK^c 104.637 + %YJ7uMB'L\]<KcJB&[("79clX*i"2*&Q8@l_*b6fcn5B8!%/D!O.VS4=(JQY$$lk@VLi^<K 104.638 + !,!\<9ln40;3ki*G';V6X\9&(:6*Q#VNK=rOCc]@Bc\]HC-fjPfXQrWolqYdl:>G84m-c9? 104.639 + B$Un@#f+'e3!tY/>e5;%M>0KbBiN<pU5%%!Q!<eb82X2T+O:n^8jQFu,h._S!//h8!&0)/O 104.640 + =7umW&(AWaOh(<TJKDl0Ym>ELsXj%[0ogE$rG1X:tddu]_r,Rk!n#aXO%N4[1`kg)9dpu77 104.641 + aYdbH?J?%uql0#5!2+89E7h[`'q([3-n*N8jui+;:PIJ;gDCAI41;$IIl\;I(VID'r5(%oJ 104.642 + .A%2>U*fE`.`.oOSrLA6Z-r@\h[4>'HR;NXD"I5;P4$p`0ZN[U4sXZ',q3WcuT7>s.Q3/ga 104.643 + 0-e$=';r'W9l:4a31'tnZ4UF/G**7c.XVFNiN(_^D7!Jd(5`A[c9eb6)"\T:YbGfGZ;<5@q 104.644 + OHpE94AI,[dF;dWY`$uJ;7.SfeQl3UD-'_c=B1>`<Lm;nW)cp/p/Hj+\r^.C@6.7^^GGr2b 104.645 + :n6/'U9$[$jJ"`$fc>-NB%Dln'%8UMVSpL[9biS?a4sUeg,jt0T/prNt$eSRBXRMYliSpT# 104.646 + ;Vs"2(jg67'Z#`k\QQf0I""XYU$,?iU1Lf@\-e(f$g#/WlR5f'nRK!/4JhH5U:7Mlf6H8=p 104.647 + L(0j'E__/KXpXP8\5-^1?h=E(uO\9*ChO@O!5%f.OR<Kg*-n^ntA=>5E\7?/63Ko4]@fm'. 104.648 + oXd`-E8dk6)!-EO>TQ+-0`50PV#6gi)Tdg@jc35-d'h`(foTt78:=/s)#b@7e7@.14MV3fH 104.649 + =e2W*?t7n&6UmFq>8uQ0e#/D+;Hi;u_X&FLC*WlR\16TOg6d_#VuU#7[2<2O#Z\$3aJ'dIL 104.650 + E]'?9DDQpE4$=03<[=?>O_tdX/FCO-VnDDfM/p^rOZ:Q`Y]`0LeYV=aG\;^6A.eT-s0-Gb= 104.651 + dY\i`d6P:0BqJE!oh8kDHKT?(!`0=@:m5W!$tn"?#%-!(\Y+:!c_F_L!=,r,<D3^k"4$"3o 104.652 + t5U]\+("M^V"gpjHA_1LIp^XkX7#gAiiR+Y&-N7muG=m_cS5TS`Fin&^WL)otnX#=;:V?&j 104.653 + U6RpcI"I96\#D4o)U-'EL`W&I03\Z9N*HH\4qg^fUT&-,5?\*Q1^]7X-#"e=;:`,ch,RVGX 104.654 + ,[&t$`Md.iaJ"<:&/1^.i>r11=;g'X3XUl:?-l'-_)b)WeLq2?#dm;0!BOKj!M2*`12GO!r 104.655 + WQ^ZG$oJ!?\S*&ffDU4M[^F?^M#4HW[#)?$r=Aj@-.t+a?a:G3X&hA@K<43#UU4\hhi`M/G 104.656 + h$Pa[4rG);uE(aCq*s!(dj"al1B:?@tea:n1tn/f,QP?Ih5or+Hb>J-nQI@obE1?799K.L@ 104.657 + 5U!tId6UiZg45)M5(PFNm)jY]@?1:5IT;RG7gOJ,Ns3_HVcj,tJ!7QTCl4,W7T>fK=##!J, 104.658 + 5<mV.63d@UL#\M?2o40YQ%RI$#hC@W#TNiX$8N8BSpo_\#Y6!31';P+HF$p0WfEsNJM"M&* 104.659 + 7EXZ1?l"Juk0!,sku>)nWJnCf?cWRe.P58RU;H_*b?PH">Ok4rdTH":@/sB\SW7<r<=AM$B 104.660 + 0fU2hL9'.3a>KT$W_6hmW)qq-J`c53n<n9i1/(*.VF+_B8ml<R*e:h3&uDRkJ1eC?0^Wn>\ 104.661 + EbPApIA$0XtdE?,U<NU29qj/`m/[?=OH3M.#%I<@ia1-qa]Ib2/!\8@9-T3G0`IBPqTlIKN 104.662 + o4Tk;<+'n29WaHfME(R(XjAb``CPl[W.>fa5*K9MIPN#u#TbD'?./H'qPl7+t%Y0U4Z_lg& 104.663 + (S_mVjNbJ+il<.5(DLPs^>STr7MhK8Z@6$]p/HoBK@$2p/R)mP&>D6X:LKmQ1<VtS`6q:&X 104.664 + m$]?SBiMq1W/FZM#6ZgrV$:.hRVRq3B`>SUk^caZ"q;8"`-.<O\@0+[3_#]5Lr;?j<B1,mi 104.665 + $+*q%#l(Y,r%TNbMAOs82qo50$/WY.)Ra]:$=aX5[=\UAs>1C$Z1r:@l[QN]^69AkMFXO?F 104.666 + rF$L;2qpB'b%VQ4@eQ@ci'665IXVI4^8Z]>mg)@n*CnA)L6*M3KpOMiQa*PrAiEU<ee;>C\ 104.667 + @u+t1O%N^jpNA[AgD(#mRtrM"Za!Zqb:*ZF0sN/mksZ_KSic+@9>6X7q($Jh$\R<TE*r0:E 104.668 + &;..*eJL#5S`USL7U]?@9R6)(iJJ@88ZHS'i?>eH#C>k7aEYsc#mGD`4b6-4khp,\!%cW(< 104.669 + LI>2>aOl4Q[dbR0)N)>4,5pF+c!GE-@gXb7nHUV%`D$V2=+If\Cteg,Ki"LsP#6R!k6#p+h 104.670 + ;:SQqP%lfnpT8('uLABnSjF1$-XYk<[7sh6,9Y9$-K@UpI"3u!\!X62@i=?2NI/A954MSnu 104.671 + imgnLF'k\TI@,,P[4]Ym1rW*Gmr\AV-h:B-5g8o0oYY-7l7@7jHh+,_NR3?c[#*k_g5;M`B 104.672 + f&8Q?r"BjNI^N69j+=GS[;[Ke"MF>(q@0n#/j^sN-hC^Sr;p!>cRc-gS6@ni>ml@>H0T6"b 104.673 + ?YgZMJp17STD=6<-0K!F&/H'BT$QjsjHu+N6o:W*aY$).gS<0t:G3+2_Kun@2E<u%DpfqU^ 104.674 + f$JCPUFs;RA$lYVaL]Di.$if2FTEQYi5,3_(\Jo0FYJjj7oYC"<Le$6EUrR@k\FUm)P?_L# 104.675 + gU6YcX"nF[DWJL.!K('Ddg2q+iJ#+F]'fX7Znt>1Nb,DU=C@fd#=]A!R_qr:h,MS(lMa/@H 104.676 + :fMhp$<3B#mHCUf>p\TCs2^Q^8)A\g$3.NH#oo/P#NM"eo;u!Br#e'O`c<QTEZDlgc;]fGR 104.677 + 595][0Z$[Bkb@"6$[/qn5_CSqc/1\!n*)iq4XB9uAOY>=g&`q]X2r6V/-[i9p;*0f>$P>5k 104.678 + KR*f?+\V:FjC^BgY6u)(Ck'#kaqU@e"@#EO;#'a5[dN6].Ch\^MHhq:rH?q2A.#K?$/r7\m 104.679 + 8Q>s`>`1"P:IGW!hp61dp!IO<N:(j!@@&*KmdXdph*QuO;Xbcg.%$=]WIl6sU-+:2Eanc1# 104.680 + mSHG<'U&@j'9FEC@'Tm88MT65%KHOjok^95tLKa"==ikL-oCrpe]*Yrea!Nd<NTA2&hQGA' 104.681 + t)TL.*>M8S$7p7&Es7Q:kf;q1Qb!(k0_:PBYgDofJ\Xk-*Iml0h!65bBjbU\[a6VF2T/HA' 104.682 + S?.>UsgeTk.qYqW:\ldbk)G/7[o=_*R$6pT4:ZUp`HpLV=UF)0T7QZ`i"GC*@t<;6%1"u`6 104.683 + n)=YWs6!"ap`XsrCI"9Ng,0C.2_&U682$tpJ@s%)BL)R#=7MT*T(8jMkN+YdeXb8JI9oX_t 104.684 + g7U(]0G+b4Ee5Hi"DPco&Jr*)`A+02jrV(SNe0KlJP<%hg3$<Z[(l$7fo8c2c+<32CG!8M7 104.685 + "M]1blTdepfOHTmeV6Gds'g[oPFL0^X%7U8O,e1#l?m64:q_48Sds,$.*o##dmKb"QGXW]& 104.686 + Im!BaL7=K^egV`!f0cbn>Si45gm_k9O1>`R0'A(rfFCBW\3$_KqlQWVV4@.&[c?MPSNr<>q 104.687 + ^7'TEr$&Y,15aiQ*'-d#(sd!.-8@P5?\C["s9PjY=M8NHu>q(e!%3t*p`9MhbB\?aO:=jBa 104.688 + rC]hX.&q8E<Zb'0_ccFkq4uFW$#`KO`4TsD0W5.pm\06KZ)E=Hk.5hS+\BR^XK;eB:b\iOa 104.689 + l8[nj2J:Oc!N>NNLK!D\8p,PiPKK]WBS?L&]^?M96!\_>=3ia5R%G-5Yt><f*K\fPi.TB;S 104.690 + @3iuB\HLU;P)(]Mr#'#6l!4NgXV117pJ:gaG;eJ=pfQ2:q8iF!dB%['4+@oAl.@5c)H*J=5 104.691 + E\$WtDp^SL99<Gb)mt)N>l=;Au"RhoO$:LT:-.?]&;j@NUNg8JJ3UN@;RUOO5WhfgAUS)b! 104.692 + 2ij!Ion.Dd]FNIgno+9H0"fJB&,iI6&C\=u`L2A\Cm0_%h\&KL'iKc@:jQR2?umi$MA`,t: 104.693 + pDE"Z_:U6.&CX1mf=):XJDmI"%+m#i+G'V7chE`qs")^Iql*bG5^@7PgpT[$rn'+ZD^l06O 104.694 + nmL)bM3l/94Bk,pn]+uZOrSkA$<QfD`I(l->i&JnoA'@3d&`T8q&J=,nnT<)pe#VFUiI\YD 104.695 + ]CDmW`aM`B5iZN"Ce$6Ul+VVgJ"C%)nHJ!Z"05H-'sDCG9-.:ZqK77Mn2R6mP9l5aT&a:XQ 104.696 + rB=k+Vb2TT_ri+/jo-?X+E9HWY;XLA".kAbD6]RN(58B\B*YpLH,6^Lu\%*a@VIc]G)gB<X 104.697 + a]>9>'UbQkH5+=3\S(iZ]ML+IiZDV%/j&Fb),KSW$c!q[d;+db:,Po:\W(la6o.)I!UOUT= 104.698 + cZ5jM4<k@H_%cQJ3LW%-'M\q*XiZY=4+=0aUR"#b&a[o-_kS5#//JQ,3<H82DI'mD2)PZ7M 104.699 + !/*WF..W!(,:$iZd@?Oa7nc+/gSnT+XWT[SKLoI#U3L77j=$4(s$hP\+qaAC)\Zj"M*-&[; 104.700 + =4@GF[hq_#nA46\;i`(Z:a15I$#$6pW2>#!JlBLIBlPJ^B-ej?/1?,-I(48_d`Ve1mO2X1- 104.701 + Q<f(.2JD(^&4AKgDJW"sr6C"k*?q"?D/AJjO8]ZQ9dg!\cXsA2%_PS6Sc'7X'kiieHKe<j. 104.702 + >,2Wj)VS&iD6"c:27N=6AUU'5ZM3PRW&ES;4%@+<.!BI:kGq,O-:Hm3MHBL*pB(j#\":`9L 104.703 + &h#(np;6b^Bie8?Z4E=kMd>"+s/leON(]Y'65>bp$@gO>cUI6G2OpX?BaAe4b&"8]e$<'Gf 104.704 + r?S0o7Ie!R;]u]OOJ=.ZhpP+]!6G*`UK"mcb;'qe8@hfj<"c!+R[$e']<[+]OO+kQ3gV=-< 104.705 + @,r3.+OM\cN/C6LJ(2'!8>A)>EB&]!RQ/DR]TcZASjlc(k&0Z&l9g!5';MGYEB1V6V_TH1b 104.706 + TbJ8OmUgKOO0c,[i1&3?(a&q4MqT(lUn`.RW)B*0eB%02k1gQ"0oS+qA^R=CNECWW<osO/> 104.707 + W7b#\FW=VdmQ?H\Gb1=`HlBX=Bjc^'J-;k>k.,5,&5g60!^D:oJHp?L*kfc!6n)kF5]*/Hg 104.708 + g4`!Z#ZQ1sRG[#N84=UYO+nZJW?5pk.mihuUGFU8APUL3W-0H4kQF@P?'7AujTl&qR<)e"8 104.709 + 4\3/)(1]^O!#4+5YD*4rfGp1.$KUJ&V$jHR`k4es8RBJK'GA^6e.Ddq?tGV[+kUaq4M"3RV 104.710 + "#\8A1ifQWe:?u6Jj'@A;&r?1NLQ/?6o).f@$^Q7^:5h`NIN'[mD$mLrL>fQ@U=AS45k[aU 104.711 + Y\RES3kX&kFXP/>JT5%hPgk8b%<2aH[Pme24F^1F?\Wfpn%]*7^#SF@Ql[]VB(q\q=ICTpF 104.712 + V_H'?dSL.%ne"hFOkBG*!sF8.=19Y_k-%-=5UAamN2SV#e\Im\17&&NEVL>cSrC%;k/NoYd 104.713 + n&=cX#DBU$Y9Lhp0$p[C$&Id.L>!>)Gd3s"j0\3cn-5#$SWc_GieYFj"jAI(`dWS6H3p'<) 104.714 + ?#?l$l;k=(nDk4QIR:IQ@+im_1$IH$[eAfT<+)J?)AO<n2X@#<A)U/=Z6#Q(p?`pU]ia^ml 104.715 + ujl";'H!=Hu<sY0K8$K)1.^#E#P":kXGu'=?fDZP!=X+?CE+ME&8.9W^^@k%(FrS>M@@X5P 104.716 + V2c\9cbeOKFAZ[V!,(<8Wl!Y#7d##moYiXFa`cA$N.;)n;\")tJB%CO'Rnjo"-iD0]j(GS` 104.717 + g4h&XfU@1CZ?#RVa\Zq,<\("*hT;]9]S(E+;*2S.mHSKbPI-Ha7/:O1M*]i2:]RCU-YD@L" 104.718 + 6hRiG942V>*%O>1YO_$^VcjLpP+KS&'8g4Y4&jJE!rVMuKXE3<6a#iG:-c9_[q3(ZJ,kAPp 104.719 + NVLCYGBt$6J_dBRH65PV>4CH9iB+.t#4:X%WC_f\2*d8m2seLZ[7S8og^/IPciR"J4ok'02 104.720 + pLIM4t"<b?*_$1I3ugg?C8U6<0Lm!8$KXO;XkeLf(l$]n\1nT8fer;aY0^hIaJN"SicCW?R 104.721 + +[Bp["]_U[e>E0AldY%/f1!'p,K4n\=8cs23+rO91"8+C3nPF"dMXj>%k9N\hlb!Q!Xp"CA 104.722 + i/rn^'V6f:_ai;hm,&He+U>QS_L.cSk`'^b>J_FIr.c5QN\9#o/Ymr-qKYL`sHhZdt'/<?t 104.723 + 5O5g$JFQW($#I%n4OF7?&A7Dd!f^It`d!-c&B^cRl--u-*0D>RqV[ANc,_on9&@.5t+qUui 104.724 + mSKu2B_XOG+B`,I%)`]LV_Sd%ecrA4#8#`:@!N5Rpn+S344(eS&Fr:dOPn:Hq.^oFTqm9Z< 104.725 + p)(nPs>>SK!>/'>7g*W.r<lN0>@`h(Ab+R&Z]UOE0NpjSE1<Dfl9.gY_;TY]b9Y6/<HM)&> 104.726 + ]n7<u$fX-fi:I!ZVPeAt:Y[,qJHcEH36'I2@r`*(%Fi+gDkRpks[PlOD>e`$cY2Q6QD:)9= 104.727 + Z0!-V%EXW!==)UY]Od.l$C9#;.R,Au]g0'mrR3tt!gVns.f_S6_E]c?BR0B0dcn^/B:W;H] 104.728 + <aT=[A&OQg27&?rb*cPU&:l?GMNuYBerA"fr&eQ7[ruIa5*?rN=&QKb_-R+T!C&r\`Z8*U- 104.729 + GQhTr,,-hA-(;Un+?tD/N+-=7%_rgU3Y*Hn!+o%h!\dVf4!X<3-Glr*:e7:@Qsl*[+n<Lha 104.730 + 4;E7Ua&R-fP^>XJPQP+pC^97eFJW`!j:*0Tb+L>,0[XMU,rqWR/DOP")U_HbbZd5[g*$H/? 104.731 + imPceSfRRisLN+`a0rdZ>sl,3Y2.0%018Db;3=A0M>)!sM@9nieJ>>j:9*'Cu\ZkcRlq_K* 104.732 + J!,7dD@_g2DQfFkM?olBRY'/G@T5]j"9mB;a_&\A2*72u:-#I@0N&L&?u%-O?"2*rrRU(Vq 104.733 + '^=EPc[15[6d5^YLWmr:-Z/aC[a(0QCas8OM*^NR[JdRR&@kB0W+07Z[+u8-g2_.;=J--ZL 104.734 + +uM<]7!B<M,1D3i;i)W[\4TZF/$m>Le'T78f()]S+LAMNo=Hs`4$3b94AkUl+r3*[$3Tns0 104.735 + 49c)$,d2`M@['$<!<OA9unO<Ifa[K6.?rsc/gX2*eFjr(_Nj?1]Rfu+D2fP))ON%$.D9#Oq 104.736 + X'P%Q$p?TJ&`#+S=YO2e,0@LnKF`q'4B47au<%P&fs<G7YC5r3@@h1:C"S-Tq"QrXu:T["M 104.737 + t1La/)@nUa,"aUYZ%Pj]+l8OX:aOFKg??Tc]%##L]oaWX:<"\UJ"nVu65_D)lnYZA_\><kY 104.738 + U/J&9=k(Mib9Ok"_"LL87j$sg\:W(U0/HQD\$3:@L(!uM=,9R3M+Dp(!;8C(I&U4Q,AclXM 104.739 + 2rZ`OJ:BeV58IY(^0q[!inb_5s&>7U,kQ49%cK6=/Hlc7Vc'fG;j]F7-QuF=4ES"Ve)3C^B 104.740 + Hu\Nc';p6EA]4Ui&5GM/[<P\m<5^G;-0!i3Nd!R;q"e_CKbUk8IsoGe$W=j7p34Cn1LFJ!\ 104.741 + bJA`r)O@>f&1!JHRpnkQk2B$C0HVFlQ:icWh+n'D2d&@d\8Fa&LUd7c_T8BJN^'@e=,])tj 104.742 + b@BC$*$(FA&\?AYgYC.R]!F^g!m,7F<Seh^f&92uQ%1bKFu@RDuPqL6nQ4+S5o&agr8l@!K 104.743 + [2J<YGda_LmO'(h&3+n$jkCuXYE$U--8Omu91\4YkTNfI6e#e-oXVD(`Y;W)II`WL/8&7;G 104.744 + E$<eS0D9Zq(5>;c]/MH%9G.SEG&%$mV*<J/IjE3MEofLta<=P=l!Y"%j?s=Jk;;+CMA#igZ 104.745 + k+GsFFsj`,5+]^;5,:H,)QU@#:YH9pCg;tc@b'c_U&>uMu>u[]i8#kEm=_"f.qtF)Q^$S]W 104.746 + C`Lif+>>$4V2Oo]7;b[K8W"\8;9S3sO\^:9ZV-)Sai5)tCU^pN(OF2.Na7A+Fl='jT3B$$U 104.747 + TO-IV,Li_G7s8fZ%D_Uh8Yp#6BfV0[n:#ULQkFrDO.-ZL93nV$fH@Q(s(!hNjU,3*ib^d?D 104.748 + W%7<P:H<(djkD)gm!pn!](,nK&b0h?)l$o%ZJ&X*6f/=e0b%\r<guMQWM"k]9+^>2>E+$LL 104.749 + ;E07E\gE#E5AqAN=>D*%X+Qb?AUqmBUTd`2:Oi.4KYg0%Z+4B[=Yu4<m^J%+pgXgNO@Gsn6 104.750 + Qs-u!]Ch(GAZG"%(La\N=Z<HLB@&ELuKPj+LWKrHUmW*+LMXU[P/i'NXMQq^a"")R'PKI:g 104.751 + TKipOq0e=%Wp5Rn*T6I`/U;ZN-H8De3$^NP[>i+['s7'^<$F(rVs"l*!fpAf2!T5mEF)Dh] 104.752 + J,=97(^UmC9jD!n%J.!KR2NVOZZ!`aq2Gg`i!&7I/R3AU[QBT0fe<GUD',)l3ed=)oRhR2& 104.753 + C;YE'0quTt'+iOp,JhV,()*_Rg$5maOQmleq@d1F*2tAq7NE/E?RLRr.:fcFHDfcWPW4rP* 104.754 + BOnJk@?`jt$'S1G18-4Y@M9t//"2&RhGKRZUVuHNU7K3+3gf[e$f(KC$pHpT6b&.Q<,*Vu< 104.755 + q2G-,?6f85^@^`:(AR89@PdB'btc"X.Ymg,Io/[(P's.K_bEuT\:IS=ZG=up`>9q>f!rdU+ 104.756 + S'lXu_6UG^&+m7+jq.-jNHSI3WonfiTJ5KEuK6;?4U&-.Mjnr$*"#nV$0PGJR"H+ajRm2tH 104.757 + [0.>0[g3_bu+7%lTe@OOoY0r^*_DhG8U!F_urZqF:L45-hip[f[3N)c]YKUO#.ie_-]/lcD 104.758 + p6tE]q\tBd*W&g;$&Q,&0Kq!%u+ThD:$;('sPpeS:Z9A9gYJN#hDp+Rn0_OI*MphM,Rh@]W 104.759 + /dpis_U&c=2b"u#$]Va6ZIpIr&H@p#I4+euZMQi?=sZKEoHQ`:Q3=n'\2'T9RX!I+9op/i- 104.760 + 0Ulb,:kLTeSHf,L`dpVM"--d]+<)N!\k`@5`"HD2fr"#j*irLhbt^X%:Jlh[GD7DfM-n,]# 104.761 + [[Z)md.Zq(]<1-tSiMWQn1aa1Rnb]\CP8@PA\Sf=_"8^"_9i!\KgE_7kVmN*E^%84j9EW%g 104.762 + d;[XlnFV<Pc_-*J8P18?HX"R>`u'guLc@P7h2@NCQ'*:]BRR;&%_b0)P4\\Y!mbsA,(JMAm 104.763 + YrYTr?Do0P8)Ypo_e$L*!P?TheoQtgC0?)^]d@3SE_E93B>8PHk44GgM+`KLXm?pA_9`XS& 104.764 + )7gra=36m$?CV?XO:!pdO>JdU%P[&70iULnb<j'#[grSM68b#=)&6"FU>/>`a=-SJOilU-b 104.765 + `_:C&'N3!0?`X'Q(5knTE'QY"hVV>Z'XFQ_#@:Jm4kKS0GeT!AV)p;RN\i'SK)_!(hL]%<J 104.766 + >]MZaq1*4Yj_kERRAI8u5a8_o4o.1Etk`IbRa47)pUC=DipjHb3T,r'DV4fJi`(1Dh`U*9J 104.767 + I#lD0rO,?aW_pQ?Ye_9PXRcCEG/#%u2oK=C<VCnYdW;M6neYIM@mI5KeeQKgA=X.>t'^a)< 104.768 + /O(oCWO\\=4)M,#6aE(l?bag`&gVq76SNG\0NRDc?KpG/]dDN<HkMM/\e"-@"%HXXckaLPM 104.769 + 4A--Y+tWAtW%Wc"X[,sI3nQ,46+j2CEM>CofK[-?W:tq&j5*#]"XE$d/t%::^gLft*"D"9= 104.770 + 65&_hqDiG5$R-C'VA]B15`RdGX(9g:N5/Vj;>YHQc^N>jVYVp=gc_k]%u@31217&^W<UU+m 104.771 + (mWA6$5k,l0I:+qut[Cr!Za$\BNJScS1Z/`*m:d_[$=50*%^^#/h@mFeP;_B2WVn?%uB+rU 104.772 + !RIc'TnD="qdZ_#S%IeW>&H0r?OnCUNli6!5[7]hsMHU8A&!%EI@&+YnRn%'66]P6rO2KSm 104.773 + +o:J6W=7rg@=<XL+e7o7<4*Vp-",C<#oH.EaIkSfF(\;!Bp;S3Ghf&6gEC>(W+]sI'hX[=# 104.774 + NZo:9pOA575@q0KB@?gBq8K-'5G.dMn&YRr+orqc$3F4=Q6EcD".lXkJ&:h"Q$39c1qqH:? 104.775 + d_;kU]"QS'r$Q@_AHErBUbAQ+r_^(ht$/Aak^hNh]`%#90hD(=>V'2$&(_)OP"Y=+VBQ!if 104.776 + R?M?83=W7cTW`oR9(LO\"Pr=Yu^.n<Eu"P1aQH@47O;k*&rThJkQH:?Rhoo_sD-Tgm[6:^n 104.777 + IO/2C,eFP'5ETE;)j5R"0q3jDhi<pQ%)omX_cYu[L*=66"IBmj1P0=rb.f(saKmZ3jF[JbB 104.778 + 01p<09C^ht+_-lc">W*Z9M3:K&([5JGdu)7XnsNak?SRtn7OlBWV+:a7d:VE?Qgj`H<!@$l 104.779 + Rb]=*@BnL%p7#;%^<ZYbghjLsNRI-:[-=c<gi`d:alRR=SDBJe*!"'$\t*0:?a8;L34kW`< 104.780 + D\b8m6B/c?A]-<j7R`sT&4b+-+L<cXd5ONYCUc,5&V79](fu#.;2-O5d3'U"@4_@(C!10F< 104.781 + :cT0U*pl6EmgM$pu_u2\&3ZoKNmT0bd+j7'SR*$,nNTVYETbFC,kS0p2J-&5J(;*'12U@3- 104.782 + nL%">cWEYO9Q8?t!qq);*Co\Q[Oqss^#Vt5fH^f%PC/5%bJ[k:=ZoY3(R1DIkb9X?S%1efc 104.783 + *f/?@0FPf&Q1?;R_cEjnH4ARERlTPCAnu*[-/u_i;3[G4G4]+%9(Igja96U06dW=q,3(M_Z 104.784 + s1$OC2bm;Yofl8P2&/VZ<4+SZ<(o*E)cftHF^H>Tool+X<j#@p(0;uY:L5t;Kn!K42A6<ca 104.785 + `;.T8iRHALArI;oq!@22O11T>.1iBCg/gJ[r,EYotPHN2\jAR>dlT:FBph*f61H/Fl.FM2j 104.786 + NQP>==J>@Ga#opO4lq[JgWn0*B/RQP_NQ;rK\'(PZA.E]7I"D<("TY#MItAkI;s2i_CXp-4 104.787 + XL3>7g-Ot*2d!1LGsC*R;iTN.@2q&X1;B!O$6M:,Eo/S.i0`bhA^3YmLFBY$)b4s$AoQDtA 104.788 + )F(EZ9cA=EYB_o0@X>9Uj,5^P`%P^W0]$A@%CqDUOZu%?:q6hc':>U24/UE^<.[jHgJ"GCq 104.789 + pV(RF5.;kJRG7:Zfm=2d^MuA;(WLI-G)gWa+?(XI&q%#BH1N.k2QB6ZIm;;"]EO?DkIUqJd 104.790 + .KP'=4VN-F5"p>JU_:V'7I0b!r"'4GLuT&p1r(F>qWl@GQ'O^jEWpjQC\oLF/!8m/@]]b.Y 104.791 + ="jk'K;B@Gp<T)tfh>?JifoI(qVdd'UV2euB3eF!tr*/r=B?I35re(ONa^$,^m-_uG5u"p$ 104.792 + tI(*R'?<!1JnrtnTD"%o4+Jdfd'5r^9/?dfa>O+kM<=?-UooH/_k<VVR&U+p(2M?ZnQWWtL 104.793 + d#[qg./9"n2Z$2*7+ga1`&EXuIctO"_TQ#\k*,S)"U,$174,FOpRmSR;iF(/-M@i<,76%53 104.794 + TP0*1O/rq\E>o]dTH/t&/h4k#a?q.\a`rbV1<-iW)e3sC)0*UY_D;H1A$JuA1$1F8\CVVPo 104.795 + AF`ZMEXQk#pEh8@kHo?$'de2,>/mKOp?63$>Cq4jKpt/ct5PZ\M#=@oUh?UoIJ'>W"e>J@s 104.796 + PrePE^(9.qK-mK!Ju,7]BfJA[Jq5#gK@UU8S3ko"HX5k$\umGRPnBa*uIYdmI9#1M1aTRKe 104.797 + jlbrCUnb4mi`"].8)\YD)i7*:KA*cFe6aZ3ug=TjqaW^'u"=%@)q1^-]\cT0<7>m0)I'/Fo 104.798 + 1\bSI&nJDXU"KDUi#ZkZ+\N1tLKhqO^g1S?!PB8^>;*$-hKO#BDJ:<Imd1]#InirkUKr`Sp 104.799 + q]MjQ-`%NS6]8NXFD#jc.m[X4'gSNgBiR*(P`dECMKr!3oMHWO"R(ctLfT'q7k0)pV,R5X_ 104.800 + l;/uWO53p<B&4Q7=A5\/-HEI8@g$<E:g43%^?a9at-(;m&^tD7+Fo^U?[.&XgQ0Z=#W<K%e 104.801 + +,7%Rb@@](f8,om\1i]Q)RZ$uTkuj!+XI`>oQ,@ou:"JKT98#TDr=;C-7IQ<MO9]/\H[*M4 104.802 + X\C^'t\86$_(3$MBC9%pLJCIX#]+Z.7k#!6Kq7MNW]U5IbgLN;atGuR99%aNich.A#L`46[ 104.803 + 2jY>H@Q@M-EBu-#nh)Kp)!eo50G@[]VbIBnXM^TmW.aNc0U)i\VC:sVUod-7IHV`J@^'@Qr 104.804 + 7P!MIDmf=8!uh+c.#]oPI=)?8]^UT$nUXE2o;("X"^nt[Gfsb0_?mK5KOQ6:L,s7T=>p[,C 104.805 + _8$KhB0ZQK\52cfklPFdS5?E'k/^rYmW;X@SLkO9082mEOIgH"q3t2[*fJinJG<%!Ao?9M/ 104.806 + G&n7k(rl,\4QUP=auaapFr2$aMZ$19tMbJNG5jZ@.nAk$Q=MKnpLI'U\8J*alkD1GW4SRn8 104.807 + oPc.U,tB/0iDJsp0bRH0ISJ81Iu#'A2pG;s7V$))@[PgKehdK:HP7VaJ]!np.6k\V_7ZlYL 104.808 + ])J9-]D)dmdAtL?'RboFE7MYRHVi99A-"@_mpS1.PZT=jaCHIU^Fg>1P+L2:d<<t(;m#;Ys 104.809 + dopI6Ks>eYCnMqg/IGdN9ZqiS"USoeNNJ8@p*S>E)eP?Ac+'%T0&OagaAM@^YH<?#g='85F 104.810 + DeeF5Gjh*9&b2C'9_*\:5DX%)n/FWXnBGQo]*L?*3'#<#[BsZMW"e.4n-/bTQfQ.iYou=L2 104.811 + JHZGdeLL*+t7N^,a5YpE/H9LQQU@8]c6:-fl>GQ#[F1b=\QZ#$e@""tjQj3O)O>]ZZje^3S 104.812 + %MpHRj^#GH/gqnu1#&*Vgs8o2=9Wd8kbl5`BoFZueTHFHuA*AaN/SrqV#p2fJhA$L2@ak;# 104.813 + "BC-_;[3b7Kf?>mRmG5f:Fro8kHae4f*Tt+[^A(>_DfURnWCUdUpPh#%JFOL=\ej[b1^=PP 104.814 + /%'nR;YeLT:60np-%EFMT/hnD?,/roFnBrh*TfKsAFN50iG/34>Wk<To@ku=qB',?r?6X^h 104.815 + UJ7p^NK!`\">*52r?cjDH/jG_oocl<]X#Z8T=FFqB#[i)"31N?:Vs`59K2)T6^/0olKm2]B 104.816 + ]@hHhIbigAHWQmf&j3;h#**r-u-)raK+.5ER;kJ)C3&TAE4*MuB1CqE+:\^]S45;4P9KA[R 104.817 + Hu^g`nMkQ!jF#+Sp!!!E*`P<hGq)'PLR0rtbunrpk:#f-8M5bncR)Sj/3_D.Pj4?O:nEc]& 104.818 + )g-L*!&];f-,T4D5IZ;Oe^1'=?C^%Yn+K$b-XqW#u<"d$[,=+^<0n]Zq>&_;o,smc!66n"L 104.819 + 4<t(].gWcb_UL36,V$\$XMVn0Ln$(b,Vu2H0LJ.$6Q@t>F>H:+320A06]n%ZCc[AG3((VIT 104.820 + nGHoiL.Tr5DT/"6kht\X?T*-O2MGk`$@ahEWAKq8!r(#_rO;*PY7W*8;RAU"5tgj^a?>=7K 104.821 + o#RL<NPOf]\Plf7nrS`;EUGHrLEiW!Hp67:U^6EO/'/4iF^$7H*W%d#XA]1e&0WL<,7kJNU 104.822 + mGW^QbdN,Y<+OG1\FUrHYE6*&GN9L_<A*i.9:7I4ob*++Nl2oW:_7QES#LmLSup;\SM`d!2 104.823 + -30qTVZ:2u"7GMfOZ/<S%NlP7U4EthHGq4h]LWA(/`M?\X)"pK;Y"2*D81[e43O-Vp3le=K 104.824 + aJ%2*aGrenL*^MTa*<n$I"=b%-qMF\aVj53N&aG!MTJ`BaLkHn#`D,JW^[OV8H?LLN09'?S 104.825 + /tXn_i0i%>b@O&QAF%]#],[H+qR@+TZTjd8`Vg%oUng-^If&rb#j>>1ma/3;2(608X*XUd" 104.826 + tBQUr_2JaOmL\i.nPD:rZF]-/=93;(W(GXMl0e%!5=MY`)"K?-)408X`r.]V3GlYY(jJbCG 104.827 + HWUje+VI`p2f9/3k)+C<$Uf?9t394=ho5`X$PXda.<Z/!*OgnqtoVojtGRnTf;`5.6(kXLb 104.828 + `LiDS!BeI@%Z%uYPMG0(ee?'(RcNm4KP4Z*)+Y8H)g_1B&Xb>B0I(ddWHqf]Zbs7jqBS9&1 104.829 + jpFdYb]tm1r-loL0$JR!:(]2*+D;+(cpL4K9dK;!,h!%3e5!+0Z.te3A9c+I`X57radB)!# 104.830 + _Y_D0ho$ac2`d!fegYRL.n!k:P<a^#d;NuK?f:03u#koK`%$5[gD-c6Tjp82%,k[oE_h#aP 104.831 + =JReDH?%:rXW2aP?fSFUs9jondf*#^iq88mR6`]rZVYLcf,tI1_9oV9\;);%uq75fQKFF3n 104.832 + lZc(G&)q[68oK2McF9AJp^bl`jr"GgTbP._`i<?b1#q%+7\dA8.Cl)C,MLJ^mJ/:?R-:mFb 104.833 + "a&5I!d%iEn[1#ubU!V;!;cP?(>^k)UeUhWB%!8\/V%X/X!/On1$$;SkXZV+;#m`+39l29a 104.834 + AO6a#-O?6dLm8e_]cr;LhbZ/!$Pc-,j\AR4^Jn0]4FGaU.#:e=Q;B.hN,:^U(lD+fUsnh)d 104.835 + qg_eI5ocnRa[eE'6P9ofW#4r(KCHi:k4k^n;#PMQO&!*M.Kc."\/i(6rX`%asBgi[;/NkBM 104.836 + 'jn:NZDgV+=YVKiCK4#fL1GBKcb$>/Kr:e]i9*%:.Kj1J+-M<paHl"_#ln;UKnHLi$Q,D#K 104.837 + 0$F&UV08(DJ_70/6V@u8/D(enTTh*+oZ.+gAV=IcEoXUnM9o[_QG!!&,3^l6lE0%XZY=Wrf 104.838 + ,Knr@b1_,I>95RVP4c@nILkoVt;cn\%7>2"a1lLqFf;0kJQ&JcMRmn]7P;SS.%0Tgf3a)EK 104.839 + fZalZ9l/Nd;:eKV]u4^)XDGRT+$Oh1g>TbK4eGnpCYF24gB`R6^m7ufK[rjtLks&O.*#;pG 104.840 + hP<X>F:W/3AjttHWHuJgW5]7<O1AE]j(HHe6,Ss0V;JV/Qj*sggPWbrEn>&PYb&Ma#sLEkc 104.841 + .iXNDfD^gL[ZqNJgtBOPI@d7/Y*Ym0-XHO,9FX>V4=V"i44#f3>*(>t*ET<Q)b^`S>=dQ4: 104.842 + mdXhR;a^066+#^o\%9iKek!)kS6fQD^MIGbBbLKum#;ui68S\a-Y.GbW-h-b`\V<uMqL"LP 104.843 + 0N31l%S_[T5oTaRV<,L@r*Qd%VDu^&97m4bHUp\\-p>-pGhG*/>(&2-Ymp=f4?lf2NrTB#K 104.844 + Qf&>"?eBkcl%KPjo0S`7?WIMu?1qQpkZ\f+i'iZ^^#[c`U;pi%asGHc'pf3&rs1L_?u?/U9 104.845 + q2R@mb[pQ?*4t$2=-,NIgSnIN'7P7<XN6C+HseR?Ig#b%KbQ(,7#n88-M(SR$C76dl`=+M, 104.846 + ihtAc#ph)[KH($#3c)J:ba?ABT+N7-2n=gf7hAQ<C<FbhU>BDD-kg)-\-NhZ\kd7I)\b3(u 104.847 + ucb102n(*>k$+CZ*POu=Lllt9cr"P@ijRp_1]0ec]UcXFfVj(U;Zn:K:)3+RhujF/?\4um& 104.848 + K3au,8im<<g=Ye`kWJ2B36Hhf-(.)S`)<<\I@+GqO*Ym[%$WT%Q#ej6#hA'Q\NFPO3cM3-* 104.849 + d4ls(45`YchG-t*hG@g-)W3dfk$=lnVI^D6@YtX\65EYaNc1&'=lFNqjShR,7NH+aMG)'k> 104.850 + ia%\efJE/N_E<M=s[0-`4IQsMW^F7%!56Ijse\MU/jgBk?(GK4rEASGh_Y$hSraS%Yk=Sbi 104.851 + SPJ(f#<UV5c^:X$tR?20H#MhJd00L1_)B$Dpe@2JthkDeT]HNujFH(oh8V3GCl$Bi^O6Yj6 104.852 + "C(smu^`"ncWSsnoXTT3WSO''D3$t3']#XlD!6%5JA(8m.pU(59sAA4o(_sHU:H>)@B_Li! 104.853 + VL9HfLW=H`phRmakA/B!(Y\R([CCofgCmjJ]E62Fm_*56l?Fu0![d1`5CSVR.[_;#-_s>mh 104.854 + MWVXgrkIeH`/>DIlqjd"1_4Cl`pAehlt4B"ri<dtXN6^0_L#BMm`TGIlKk\#gd]LPY0BO-c 104.855 + 9U6h^4+LIG,W-E`^,pBN5ioR^<#]=gkiJemEh?iZjCThhX1r=D<Bf6T&7>$i9iMbM#QE%@$ 104.856 + >Ir#&[K)m\#M(GXu_gkjI$hmcNs*p@%GSnF%._mj@Vo2Y6B,o^>iRmq2:^G5(H[q!XOEn## 104.857 + sM[eoO5r9r58mtU03L/p];l0b_ULn"^^mfW&L"RoIrn7Msj``C#2!H9CmLj&r?G73o\%.Mj 104.858 + XnDQAn1skVf-JI>aE?MK)[gqpu'_,6>nRi8Lr:0:bk32gXnY!!%:hkYR*:_W$n`Lt`pE/r2 104.859 + +S$<lng>XP2^@l`,k>"_nn0<?G:2s:..W]Rnu!u.[k%$i/FqCEo&h09^B!eaO",o'o-Z<b0 104.860 + V7d#1\4[*mADf4B/fF:`H-5_o;=Y8#<DCb4S.-co>a#cpHRTAj#,^ZF=0ECT[O9q_3rC"nI 104.861 + \D'aLCes8G&6?oVY=R[nHA69_?q2o]K!ApJ:Ge;"YW%od<Z12cKB><:s<mok.=uG?=Hm=S8 104.862 + "`oqu!d[p/OG>kQ]Sp#fZSpL!V!@.kCFp*X>C2e2POAG0)9p1J"2GA$W)B_Id&_:^-)2b#r 104.863 + >8-d1(NR)M9pM]d2E;(/gpEt"U2fn^`FSAjZpLe[DGB`e:Gk[PMpSW?3[sRkiI.u6@pZI#" 104.864 + pODrCJG9q3pa:[g2hUlqK_SW&ph,?VGDGsKM"m<npns#E[u:%%N;2"apud\4pQ,*"[_*IUp 104.865 + :.Gb#Q~>Q 104.866 +Q 104.867 +showpage 104.868 +%%Trailer 104.869 +count op_count sub {pop} repeat 104.870 +countdictstack dict_count sub {end} repeat 104.871 +cairo_eps_state restore 104.872 +%%EOF
105.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 105.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/Time_layers.svg Fri Sep 13 11:02:18 2013 -0700 105.3 @@ -0,0 +1,198 @@ 105.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 105.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 105.6 + 105.7 +<svg 105.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 105.9 + xmlns:cc="http://creativecommons.org/ns#" 105.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 105.11 + xmlns:svg="http://www.w3.org/2000/svg" 105.12 + xmlns="http://www.w3.org/2000/svg" 105.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 105.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 105.15 + width="744.09448819" 105.16 + height="1052.3622047" 105.17 + id="svg2" 105.18 + sodipodi:version="0.32" 105.19 + inkscape:version="0.47 r22583" 105.20 + sodipodi:docname="Time_layers.svg" 105.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 105.22 + version="1.1"> 105.23 + <defs 105.24 + id="defs4"> 105.25 + <marker 105.26 + inkscape:stockid="Arrow2Mend" 105.27 + orient="auto" 105.28 + refY="0.0" 105.29 + refX="0.0" 105.30 + id="Arrow2Mend" 105.31 + style="overflow:visible;"> 105.32 + <path 105.33 + id="path4008" 105.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 105.35 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 105.36 + transform="scale(0.6) rotate(180) translate(0,0)" /> 105.37 + </marker> 105.38 + <inkscape:perspective 105.39 + sodipodi:type="inkscape:persp3d" 105.40 + inkscape:vp_x="0 : 526.18109 : 1" 105.41 + inkscape:vp_y="0 : 1000 : 0" 105.42 + inkscape:vp_z="744.09448 : 526.18109 : 1" 105.43 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 105.44 + id="perspective10" /> 105.45 + </defs> 105.46 + <sodipodi:namedview 105.47 + id="base" 105.48 + pagecolor="#ffffff" 105.49 + bordercolor="#666666" 105.50 + borderopacity="1.0" 105.51 + gridtolerance="10000" 105.52 + guidetolerance="10" 105.53 + objecttolerance="10" 105.54 + inkscape:pageopacity="0.0" 105.55 + inkscape:pageshadow="2" 105.56 + inkscape:zoom="1.3364318" 105.57 + inkscape:cx="426.82234" 105.58 + inkscape:cy="692.65809" 105.59 + inkscape:document-units="px" 105.60 + inkscape:current-layer="layer1" 105.61 + showgrid="false" 105.62 + inkscape:window-width="730" 105.63 + inkscape:window-height="1141" 105.64 + inkscape:window-x="889" 105.65 + inkscape:window-y="6" 105.66 + inkscape:window-maximized="0" /> 105.67 + <metadata 105.68 + id="metadata7"> 105.69 + <rdf:RDF> 105.70 + <cc:Work 105.71 + rdf:about=""> 105.72 + <dc:format>image/svg+xml</dc:format> 105.73 + <dc:type 105.74 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 105.75 + <dc:title></dc:title> 105.76 + </cc:Work> 105.77 + </rdf:RDF> 105.78 + </metadata> 105.79 + <g 105.80 + inkscape:label="Layer 1" 105.81 + inkscape:groupmode="layer" 105.82 + id="layer1"> 105.83 + <rect 105.84 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.60163802" 105.85 + id="rect2383" 105.86 + width="70.518539" 105.87 + height="19.030159" 105.88 + x="336.78796" 105.89 + y="189.7659" /> 105.90 + <text 105.91 + xml:space="preserve" 105.92 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 105.93 + x="340.47986" 105.94 + y="203.13492" 105.95 + id="text3161" 105.96 + sodipodi:linespacing="100%"><tspan 105.97 + sodipodi:role="line" 105.98 + id="tspan3163" 105.99 + x="340.47986" 105.100 + y="203.13492">Program Time</tspan></text> 105.101 + <rect 105.102 + y="189.7659" 105.103 + x="436.78796" 105.104 + height="19.030159" 105.105 + width="70.518539" 105.106 + id="rect3184" 105.107 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.60163802" /> 105.108 + <text 105.109 + sodipodi:linespacing="100%" 105.110 + id="text3186" 105.111 + y="203.13492" 105.112 + x="440.47986" 105.113 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 105.114 + xml:space="preserve"><tspan 105.115 + y="203.13492" 105.116 + x="440.47986" 105.117 + id="tspan3188" 105.118 + sodipodi:role="line">Program Time</tspan></text> 105.119 + <rect 105.120 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.60163802" 105.121 + id="rect3190" 105.122 + width="70.518539" 105.123 + height="19.030159" 105.124 + x="384.78796" 105.125 + y="255.7659" /> 105.126 + <text 105.127 + xml:space="preserve" 105.128 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 105.129 + x="388.47986" 105.130 + y="269.13492" 105.131 + id="text3192" 105.132 + sodipodi:linespacing="100%"><tspan 105.133 + sodipodi:role="line" 105.134 + id="tspan3194" 105.135 + x="388.47986" 105.136 + y="269.13492">Physical Time</tspan></text> 105.137 + <rect 105.138 + y="223.7659" 105.139 + x="256.78796" 105.140 + height="19.030159" 105.141 + width="70.518539" 105.142 + id="rect3196" 105.143 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.60163802" /> 105.144 + <text 105.145 + sodipodi:linespacing="100%" 105.146 + id="text3198" 105.147 + y="237.13492" 105.148 + x="256.60583" 105.149 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 105.150 + xml:space="preserve"><tspan 105.151 + y="237.13492" 105.152 + x="256.60583" 105.153 + id="tspan3200" 105.154 + sodipodi:role="line">Scheduler Time</tspan></text> 105.155 + <path 105.156 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 105.157 + d="m 370.89947,209.61086 c -0.45745,9.67339 8.01218,16.37862 24.2787,20.01984 23.26745,5.20837 21.22395,25.53343 21.22395,25.53343" 105.158 + id="path3202" 105.159 + sodipodi:nodetypes="csc" /> 105.160 + <path 105.161 + sodipodi:nodetypes="csc" 105.162 + id="path3204" 105.163 + d="m 468.43014,209.61086 c 0.45745,9.67339 -8.01218,16.37862 -24.2787,20.01984 -23.26745,5.20837 -21.22395,25.53343 -21.22395,25.53343" 105.164 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 105.165 + <path 105.166 + sodipodi:type="arc" 105.167 + style="fill:none;stroke:#000000;stroke-width:1.39999998;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4.2, 1.4;stroke-dashoffset:0.28" 105.168 + id="path4610" 105.169 + sodipodi:cx="384.12698" 105.170 + sodipodi:cy="355.53677" 105.171 + sodipodi:rx="4.7619047" 105.172 + sodipodi:ry="4.7619047" 105.173 + d="m 388.88889,355.53677 a 4.7619047,4.7619047 0 1 1 -9.52381,0 4.7619047,4.7619047 0 1 1 9.52381,0 z" 105.174 + transform="translate(2.1164021,-129.1746)" /> 105.175 + <path 105.176 + transform="translate(68.116402,-129.1746)" 105.177 + d="m 388.88889,355.53677 a 4.7619047,4.7619047 0 1 1 -9.52381,0 4.7619047,4.7619047 0 1 1 9.52381,0 z" 105.178 + sodipodi:ry="4.7619047" 105.179 + sodipodi:rx="4.7619047" 105.180 + sodipodi:cy="355.53677" 105.181 + sodipodi:cx="384.12698" 105.182 + id="path4612" 105.183 + style="fill:none;stroke:#000000;stroke-width:1.39999998;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4.2, 1.4;stroke-dashoffset:0.28" 105.184 + sodipodi:type="arc" /> 105.185 + <path 105.186 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4, 1;stroke-dashoffset:0" 105.187 + d="m 382.53968,230.06589 c -55.02645,2.1164 -55.02645,2.1164 -55.02645,2.1164" 105.188 + id="path4614" /> 105.189 + <path 105.190 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4, 1;stroke-dashoffset:0" 105.191 + d="m 449.20635,231.12409 c -14.81482,13.75661 -121.69312,5.291 -121.69312,5.291" 105.192 + id="path4616" /> 105.193 + <rect 105.194 + style="opacity:0.44897958;fill:none;stroke:#000000;stroke-width:0.10000001;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.4, 0.1;stroke-dashoffset:0" 105.195 + id="rect4618" 105.196 + width="257.40311" 105.197 + height="92.786636" 105.198 + x="252.16335" 105.199 + y="185.59641" /> 105.200 + </g> 105.201 +</svg>
106.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 106.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/VMS-core__internal_workings.eps Fri Sep 13 11:02:18 2013 -0700 106.3 @@ -0,0 +1,1926 @@ 106.4 +%!PS-Adobe-3.0 EPSF-3.0 106.5 +%%Creator: cairo 1.8.6 (http://cairographics.org) 106.6 +%%CreationDate: Sun Feb 06 23:03:28 2011 106.7 +%%Pages: 1 106.8 +%%BoundingBox: 0 0 366 156 106.9 +%%DocumentData: Clean7Bit 106.10 +%%LanguageLevel: 2 106.11 +%%EndComments 106.12 +%%BeginProlog 106.13 +/cairo_eps_state save def 106.14 +/dict_count countdictstack def 106.15 +/op_count count 1 sub def 106.16 +userdict begin 106.17 +/q { gsave } bind def 106.18 +/Q { grestore } bind def 106.19 +/cm { 6 array astore concat } bind def 106.20 +/w { setlinewidth } bind def 106.21 +/J { setlinecap } bind def 106.22 +/j { setlinejoin } bind def 106.23 +/M { setmiterlimit } bind def 106.24 +/d { setdash } bind def 106.25 +/m { moveto } bind def 106.26 +/l { lineto } bind def 106.27 +/c { curveto } bind def 106.28 +/h { closepath } bind def 106.29 +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto 106.30 + 0 exch rlineto 0 rlineto closepath } bind def 106.31 +/S { stroke } bind def 106.32 +/f { fill } bind def 106.33 +/f* { eofill } bind def 106.34 +/B { fill stroke } bind def 106.35 +/B* { eofill stroke } bind def 106.36 +/n { newpath } bind def 106.37 +/W { clip } bind def 106.38 +/W* { eoclip } bind def 106.39 +/BT { } bind def 106.40 +/ET { } bind def 106.41 +/pdfmark where { pop globaldict /?pdfmark /exec load put } 106.42 + { globaldict begin /?pdfmark /pop load def /pdfmark 106.43 + /cleartomark load def end } ifelse 106.44 +/BDC { mark 3 1 roll /BDC pdfmark } bind def 106.45 +/EMC { mark /EMC pdfmark } bind def 106.46 +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def 106.47 +/Tj { show currentpoint cairo_store_point } bind def 106.48 +/TJ { 106.49 + { 106.50 + dup 106.51 + type /stringtype eq 106.52 + { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse 106.53 + } forall 106.54 + currentpoint cairo_store_point 106.55 +} bind def 106.56 +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore 106.57 + cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def 106.58 +/Tf { pop /cairo_font exch def /cairo_font_matrix where 106.59 + { pop cairo_selectfont } if } bind def 106.60 +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup 106.61 + /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point 106.62 + /cairo_font where { pop cairo_selectfont } if } bind def 106.63 +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def 106.64 + cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def 106.65 +/g { setgray } bind def 106.66 +/rg { setrgbcolor } bind def 106.67 +/d1 { setcachedevice } bind def 106.68 +%%EndProlog 106.69 +11 dict begin 106.70 +/FontType 42 def 106.71 +/FontName /f-0-0 def 106.72 +/PaintType 0 def 106.73 +/FontMatrix [ 1 0 0 1 0 0 ] def 106.74 +/FontBBox [ 0 0 0 0 ] def 106.75 +/Encoding 256 array def 106.76 +0 1 255 { Encoding exch /.notdef put } for 106.77 +Encoding 1 /uni0047 put 106.78 +Encoding 2 /uni0072 put 106.79 +Encoding 3 /uni0065 put 106.80 +Encoding 4 /uni006E put 106.81 +Encoding 5 /uni0020 put 106.82 +Encoding 6 /uni003D put 106.83 +Encoding 7 /uni0056 put 106.84 +Encoding 8 /uni004D put 106.85 +Encoding 9 /uni0053 put 106.86 +Encoding 10 /uni002D put 106.87 +Encoding 11 /uni0063 put 106.88 +Encoding 12 /uni006F put 106.89 +Encoding 13 /uni0042 put 106.90 +Encoding 14 /uni006C put 106.91 +Encoding 15 /uni0075 put 106.92 +Encoding 16 /uni0061 put 106.93 +Encoding 17 /uni0070 put 106.94 +Encoding 18 /uni0069 put 106.95 +Encoding 19 /uni0074 put 106.96 +Encoding 20 /uni0052 put 106.97 +Encoding 21 /uni0064 put 106.98 +Encoding 22 /uni0067 put 106.99 +/CharStrings 23 dict dup begin 106.100 +/.notdef 0 def 106.101 +/uni0047 1 def 106.102 +/uni0072 2 def 106.103 +/uni0065 3 def 106.104 +/uni006E 4 def 106.105 +/uni0020 5 def 106.106 +/uni003D 6 def 106.107 +/uni0056 7 def 106.108 +/uni004D 8 def 106.109 +/uni0053 9 def 106.110 +/uni002D 10 def 106.111 +/uni0063 11 def 106.112 +/uni006F 12 def 106.113 +/uni0042 13 def 106.114 +/uni006C 14 def 106.115 +/uni0075 15 def 106.116 +/uni0061 16 def 106.117 +/uni0070 17 def 106.118 +/uni0069 18 def 106.119 +/uni0074 19 def 106.120 +/uni0052 20 def 106.121 +/uni0064 21 def 106.122 +/uni0067 22 def 106.123 +end readonly def 106.124 +/sfnts [ 106.125 +<00010000000a008000030020636d617000a2f14100001fdc0000006c637674207d0742a80000 106.126 +2048000002706670676d49d7df92000022b80000060a676c7966489d9ecf000000ac00001f30 106.127 +68656164d5ceeae0000028c400000036686865610f7e06b2000028fc00000024686d74785bc6 106.128 +0894000029200000005c6c6f636153405a880000297c000000306d617870037c02c9000029ac 106.129 +0000002070726570292ded16000029cc000004ad00020080015e0380045e0003000700264016 106.130 +059c039d049c070017003700030000079c019d049c00002ffdfded012f5f5dfdfded31301311 106.131 +211125211121800300fd800200fe00015e0300fd0080020000010050ffe704d305d2001a0137 106.132 +403a1c400b0b024b55060103370e470e570e670e04006a167a16025516010506150645060303 106.133 +680078000200160c0c024b000f0e0c44170f370f020fb8fff0400b1010024b0f0c0f0f024b0f 106.134 +b8ffe8400b0c0c024b0f040d0d024b0fb8ffeab40c0c064b0fb8fffab40d0d064b0fb8ffe840 106.135 +571010064b0f0645181638160200160c1010024b16060f0f024b16200b0b024b16100c0c024b 106.136 +16120d0d024b16120c0c064b16120d0d064b160c0e0e064b161b080168017801030223100103 106.137 +2813011803380302020c510eb8ffc0401a0c0c024b0e090118000100001909100b0b024b0949 106.138 +1303491913b8fff0b70b0b024b13091903003f3f2b10ed10ed2b10cd5f5d3210d62bed5f5d5d 106.139 +5f5d5f5d0110d62b2b2b2b2b2b2b2b5f5dfdd42b2b2b2b2b2b2b5dfdcd10c62b5d5f5d5d5d5f 106.140 +5d5f5d3130012b010726232200111400333237112335211106042320001110002132048d5397 106.141 +91e6fef60105e1a063cb019350fee287fed1fea101810147e50553a570febcfef5fefeca6001 106.142 +57aafd824453019b0155015401a7000100960000031c0443000e00af401e0a400b0d024b0810 106.143 +18102810c81004c70ed70e020e06094d064d68070107b8ffecb41313024b07b8ffeeb4101002 106.144 +4b07b8fff240110f0f024b07040b0b024b07040c0c024b07b8ffeeb40f0f064b07b8fffcb40c 106.145 +0c064b07b8fff2b41010064b07b8fffc40250e0e064b070f170a270a370a470a570a670a0600 106.146 +050a400e0e064b0a02520c0806070a0c07003f3f3f10edcd2b325f5d0110d62b2b2b2b2b2b2b 106.147 +2b2b5deded10c65d5d3130002b01262322061511231133153633321702cd3e3f6597bebe68cd 106.148 +336003782bba83fd9a042fabbf1200020041ffec041c04430019002201ff408724400b0b024b 106.149 +58170103b807018a079a07aa07ba07ca07da0706025705016808780888089808a80805280838 106.150 +08480858086808780888089808a808b808c808d8080c00571877180208221010024b08180f0f 106.151 +024b08180c0c024b082c0d0d024b08100c0c064b08100d0d064b081f4e471e01021718371847 106.152 +18671887189718a718b718c7180918b8ffe0b40e0e064b18b8ffdeb41010024b18b8ffdcb40f 106.153 +0f024b18b8ffe2b40c0c024b18b8ffd4b40d0d024b18b8ffe4b40c0c064b18b8ffe4406b0d0d 106.154 +064b18011e4e014e87100138104810581068100410100e0e064b10101010024b10100f0f024b 106.155 +101c0b0c024b10160d0d024b100c0c0c064b100c0d0d064b102387079707a707030027053705 106.156 +47055705040207522a083a084a08030357086708770803070817080208b8ffc0b40b0c024b08 106.157 +b8ffd4b40d0d064b08b8ffc040350d0d024b080c1e50470157016701a701b701050001400f0f 106.158 +024b01400d0d024b01400f0f064b010105581a011a5214100f0f024b14b8ffe8b40d0d024b14 106.159 +b8ffe840200e0e064b140c0f0f064b14671401024a145a140205100c0c024b05520c0b140700 106.160 +3f3fed2b5d5f5d102b2b2b2bed5d11392f2b2b2b5f5ded10d52b2b2b5d715f5ded5f5d5f7101 106.161 +10d62b2b2b2b2b2b2b5d5deded10dd2b2b2b2b2b2b2b5d5f5dedc42b2b2b2b2b2b5d5f5d715d 106.162 +5f5d5d5f5d3130012b0121141716333237170607062322272635103736333217161514012207 106.163 +060721342726040dfcfc675b8fa36d502c5b728cca8d9da190c5e5827efe247f56520b025148 106.164 +4f0205bc65585f892c202a8997ff0109a08f817ccd3f0169524e74734d5400010087000003d8 106.165 +044300110103401813400b0b024b070f170f0201771301004d11101010064b11b8ffd4b40e0e 106.166 +064b11b8fff8b41313024b11b8fff440111010024b110a0f0f024b11080c0c024b11b8fff440 106.167 +110d0d024b111c0b0b024b110e0f0f064b11b8fff8b40c0c064b11b8fff8b40d0d064b11b8ff 106.168 +f440100b0b064b11084d070917092709030009b8fff4400b1313024b09040d0d024b09b8fff6 106.169 +b41010024b09b8fff4400b0f0f024b090a0b0b024b09b8fff8b41010064b09b8fff4400b0e0e 106.170 +064b09080c0c024b09b8fffa40110f0f064b091204520e110a090a0a060e07003f3f3f3f10ed 106.171 +0110d62b2b2b2b2b2b2b2b2b5f5dfdd42b2b2b2b2b2b2b2b2b2b2b2bed5d3130005f5d012b21 106.172 +1134262322060711231133173633201111031a6779418e26be823c5ed50160026fab894e39fc 106.173 +e4042f8a9efe54fd690000000002007a018b03c0036c00030007002d401b0105870207061706 106.174 +37065706770605060803840207840706010006002f5f5dfddeed0110d65d3cfd3c3130011521 106.175 +350115213503c0fcba0346fcba036c8d8dfeac8d8d0000000001000dffec04a605b900060133 106.176 +b10202435458b90004ffe8400d0c0c024b040402010502020201002f3f3f111239012f313000 106.177 +2b1bb10602435458403804601010064b04400c0f064b04100a0a064b47080100370401010808 106.178 +18082808580804054606034602067600027601040400754701010104b8ffc0b42227064b04b8 106.179 +ffb0b41a1d064b04b8ffc040261416064b04240b0b064b480401370401170427043704570467 106.180 +0477040600048e010906020202003f3f3fed5f5d72712b2b2b2b012f5ded39192f1810ed10ed 106.181 +10ed10ed5d5f725f5d3130002b2b2b1b40414708010037040101080818082808580804054606 106.182 +0346020676000276010404007547010101480401370401170427043704570467047704060004 106.183 +8e010906020202003f3f3fed5f5d7271012f5ded39192f1810ed10ed10ed10ed5d5f725f5d31 106.184 +30595905230133010133029465fddede0179016bd71405cdfbc90437000000010014ffec05a3 106.185 +05b9000c01f0401401400e0e064b04400e0e064b0e401010024b0002435558401d0c0e180e28 106.186 +0e380e03080e180e380e480e580ea80eb80e070606080702003f3f012f5d7110d631301b40ff 106.187 +4a030145020143087308024c0a7c0a0203280301280a0127080102970101980401870701880b 106.188 +0101180e280e380e03080e180e380e480e580ea80eb80e070000460c0546380c480c02370647 106.189 +0602022806480602270c470c020672070c720b01010a0b04040875070a75680b016707010b73 106.190 +0207730309090275c70301270377038703a703d703e703060003770901016709010809180902 106.191 +680988099809a809b809c809d809e809f80909580101580401004a0201034701014704010107 106.192 +011701020701270187019701a701b701c701d701e701f7010a07041704020704270487049704 106.193 +a704b704c704d704e704f7040a070117010217014701570167017740490187019701a701b701 106.194 +c701d701e701f7010d0704170402070417042704470457046704770487049704a704b704c704 106.195 +d704e704f7040f00097102017104710702090c0806080b020702003f3f3f3f3f10ede410ed5f 106.196 +5d715d715d715d715f5d5d5f5d5f5d5d5d715d5f5d012f5f5d71ed39192f1810ed10fd5d5ded 106.197 +10ed39192f1112392f1810ed10fd5d5d5f5d5ded10ed5f5d715f5d5d5d5d5f5d5d5d5f5d5d5d 106.198 +5d3130592b002b2b2103012301032301330101330104e5aefec032feb7aabe01125b015d0142 106.199 +5a012903adfc3f03c1fc5305b9fbd3042dfa470000010050ffe7038805d2002601ccb1020243 106.200 +5458401907221a0e180b0b024b0e120c0c024b0e22070e1a0425131714b8ffc040120c0c024b 106.201 +1411000401251749110304492509003fed3fed10cd123910cd2b1239121739012f2b2bcd2fcd 106.202 +31301bb106024354584086082401071001002520452065207520042a0b01034828a828026813 106.203 +0113074507223722672203221a001a45380e01870e01000e2777040102351e651e751e03351f 106.204 +451f651f751f040a0c3a0c4a0c6a0c7a0c0533220103380e010a0b1f1e042548145814681478 106.205 +1404141137014701570167017701a701b70107000125174911044925091103003f3fed10ed10 106.206 +cd5f5d10cd5d1217395d5f5d5d5d5d5f5d0110d65f5d5dedc410d45dedc45d5d3130005f5d5d 106.207 +5f5d5d1b4086082401071001002520452065207520042a0b01034828a8280268130113074507 106.208 +223722672203221a001a45380e01870e01000e2777040102351e651e751e03351f451f651f75 106.209 +1f040a0c3a0c4a0c6a0c7a0c0533220103380e010a0b1f1e0425481458146814781404141137 106.210 +014701570167017701a701b70107000125174911044925091103003f3fed10ed10cd5f5d10cd 106.211 +5d1217395d5f5d5d5d5d5f5d0110d65f5d5dedc410d45dedc45d5d3130005f5d5d5f5d5d5959 106.212 +3737161633323635342627272626353436333217072626232206151416161717161615140423 106.213 +22544938a742758e4f9f769677e8b6f35f3b28a44666752a4b74789679fef7dec343b8293780 106.214 +634a7f4b3746c087a4d84fae1d36745b385c3e383947c598a5e60001009f01fa024b02a90003 106.215 +00254017280368037803a803040307002700370003000004014800002fed0110d65f5dcd5d31 106.216 +30133521159f01ac01faafaf000000010041ffec03b5044300170119401e450501a101010328 106.217 +1938190200870d970da70d030200070d870d970d030db8fff4b41010024b0db8ffeab40f0f02 106.218 +4b0db8ffeab40b0c024b0db8ffe840610d0d024b0d074e38124812028712a712b712c712e712 106.219 +050012101010024b12180f0f024b12200b0c024b12180d0d024b12060e0e064b120c0e0e064b 106.220 +12120c0c064b12100d0d064b1218250a350a450a032a043a044a0403030c52070d170d020db8 106.221 +ffc040160b0b024b0d0f015208001800020000400b0b024b0004b8ffe8b40c0c024b04b8ffe8 106.222 +40190d0d024b0452150a180c0c024b0a180d0d024b0a520f0b1507003f3fed2b2b10ed2b2bdd 106.223 +2b5f5ded10dd2b5ded5f5d5d0110d62b2b2b2b2b2b2b2b5f5d5dfdd42b2b2b2b5d3c5f5d5f5d 106.224 +5f5d5d313001072626232206151416333237170623220035100021321603af5e1d93479bb6ba 106.225 +a580824b99e2dbfee20129010253c203d8861d34d9bdbcc563a0630126fb0100013646000002 106.226 +0041ffec040a0443000b0015013c402517401010024b17400b0c024bb7050101381701114e17 106.227 +063706470667060406041010024b06b8ffdeb40f0f024b06b8fffcb40b0b024b06b8ffe4b40c 106.228 +0c024b06b8ffd4b40d0d024b06b8ffeab40e0e064b06b8ffe0b40c0c064b06b8ffe440760d0d 106.229 +064b060c4e87009700a700b700c700e700063800480058006800040000101010024b000e0f0f 106.230 +024b00200b0b024b00200c0c024b00160d0d024b000c0e0e064b00100c0c064b000c0d0d064b 106.231 +00166a030165090103670e0168130102450e550e650e034a135a136a13030e100f0f024b0e52 106.232 +0913b8fff040160f0f024b13520309180f0f024b09180f0f064b090b03b8ffe8b40f0f024b03 106.233 +b8ffe8b50f0f064b0307003f2b2b3f2b2b10ed2b10ed2b5d5d5f5d5d5f5d5d0110d62b2b2b2b 106.234 +2b2b2b2b5f5d5dfdd42b2b2b2b2b2b2b2b5ded5d5f5d31302b2b133400333212111000232200 106.235 +1310213236351021220641010bdae6fefefce0e5ff00c8011d8597fee4829b021af80131fedb 106.236 +fefcfefdfed5012e0100fe6dd8bb018ed400000300960000043705c6000f0018002201ac406f 106.237 +24400b0b024b05060103580a680a02a805b805c805030178150102480a780a880a980aa80ab8 106.238 +0ac80ad80ae80af80a0a0a1545380748070207200b0b024b071e0c0c024b07160d0d024b0710 106.239 +0c0c064b07100d0d064b07220e0e064b070d10441a44011f45070d170d270d370d040db8fffa 106.240 +400b1010024b0d100b0b024b0db8fff4b40c0c024b0db8ffd8b40d0d024b0db8fff4b40e0e06 106.241 +4b0db8fff4b40c0c064b0db8fff4400f0d0d064b0d24070117012701030001b8ffecb4131302 106.242 +4b01b8fff4b41010024b01b8fffa400b0f0f024b01040b0b024b01b8fffeb40d0d024b01b8ff 106.243 +eab41010064b01b8fff0b40e0e064b01b8ffff40330c0c064b0123671c0101371c471c571c03 106.244 +020a0a111348190722014722572267227722041722372247229722c722f722060022b8ffc0b4 106.245 +0f0f024b22b8ffc0401f0f0f064b22100d0d064b22221a17021048041a1c200f0f024b1c4801 106.246 +080402003f3fed2b3210ed333211392f2b2b2b5f5d717233ed3239192f5f5d5f5d011810c62b 106.247 +2b2b2b2b2b2b2b5f5d10d62b2b2b2b2b2b2b5ded10eded10d42b2b2b2b2b2b5dedc45d5f5d5f 106.248 +5d31305d5f5d012b212111243332161514060716161514040111163320353421220311163332 106.249 +36353426230238fe5e010b76d9ee985cae9ffee5fe423f5d011cfefb644f6737bcada5c105b9 106.250 +0dbbae66a8152ac2a7c1e60519fe5b06e7cbfdb9fdd10a8d9a8f8800000000010096ffec0207 106.251 +05e6000800c7b9000affc0b41313024b0ab8ffc0b41010024b0ab8ffc0402a0c0c024b070a17 106.252 +0a270a370a470a570a670a770a080706170627060306024d070117012701d701040001b8ffec 106.253 +b41313024b01b8ffeeb41010024b01b8fff240110f0f024b01040b0b024b01040c0c024b01b8 106.254 +ffcc40170e0e064b01180f0f064b01130c0c064b01160d0d064b01b8ffec401b0b0b064b0109 106.255 +b705c70502010a081a082a083a08040652070b0100003f3fed5d5f5d0110d62b2b2b2b2b2b2b 106.256 +2b2b2b5f5dfdc65d5d3130012b2b2b13113311141633152096be6350fe8f012f04b7fb695663 106.257 +aa0000000001007dffec03e3042f001200fb402714400b0b024b7714010a4d074d0708011708 106.258 +47087708a708048708b708e70803080c1010064b08b8fffab40e0e064b08b8ffecb41313024b 106.259 +08b8ffec400b1010024b08160b0b024b08b8ffeeb40d0d024b08b8ffccb40e0e064b08b8fff0 106.260 +b40c0c064b08b8fff440150d0d064b08004de812f81202071217122712030012b8fff8b41313 106.261 +024b12b8fffab41010024b12b8fff640230f0f024b120c0b0b024b120c0c0c024b12080d0d02 106.262 +4b12040c0c064b12040d0d064b12b8fffa40110e0e064b121303520e090a0e0b08061206003f 106.263 +3f3f3f10ed0110d62b2b2b2b2b2b2b2b2b5f5d5dfdd42b2b2b2b2b2b2b2b2b5d7172eded5d31 106.264 +30012b01111433323637113311233506062322263511013bd75e9c19bebe20c15cb0bb042ffd 106.265 +55f86c4702f0fbd1943f69caba02bf0000020050ffec03e40443001b002501d3b62740101002 106.266 +4b25b8ffecb40b0c024b25b8ffee40490d0d064b071317130201672077200202280f480f0200 106.267 +b70fc70fd70fe70f04010025150f0537184718571867187718871897180718254d0a4d881501 106.268 +150c1313024b150c1010024b15b8fff8b40f0f024b15b8fff040110c0c024b151e0d0d024b15 106.269 +0c0e0e064b15b8fff040440f0f064b150c0d0d064b1527214e38050100050c0f0f024b05160b 106.270 +0b024b05100c0c024b05120d0d024b050c0e0e064b050c0c0c064b050c0d0d064b05263a0301 106.271 +032500b8ffc0b40d10024b00b8ffc040320d0f064b480058006800780004000218191c520a08 106.272 +0e52080f180f280f380f480f580f980fa80fb80fc80fd80fe80f0c000fb8ffc0b41317024b0f 106.273 +b8ffc040240d0d024b0f124a1e5a1e02031e52a808b80802580801006a087a08020347085708 106.274 +020008b8ffc0b41414024b08b8ffc0b41313024b08b8ffe8b41010024b08b8ffe8b40f0f024b 106.275 +08b8ffc040131313064b08080c2352020c5212190b020b1207003f3f3f10ed10ed11392f2b2b 106.276 +2b2b2b5f5d5f5d5f5d5ded5f5d10dd2b2b5f5ded10d5ed10cd10dd5d2b2bcd5f5d0110d62b2b 106.277 +2b2b2b2b2b5f5ded10d62b2b2b2b2b2b2b2b71ededc65d10c41112395f5d5f5d5f5d3130005f 106.278 +5d2b2b012b250623222635342433321710232207273636333216151114171522260326232206 106.279 +151433323702e472eb7eb9011ddd3c4ce8b2605036bf57e9d35474732b5a2490b6c5906f7b8f 106.280 +b788a3e11a0104609f2c3fd4e7fe808d2f5f4201df149465a78900020087fe5c042c0443000f 106.281 +001b014d40161d400b0b024be71d01164e470af70a02470a970a020ab8ffe4b40f0f024b0ab8 106.282 +ffeab40c0c024b0ab8ffd4b40d0d024b0ab8fff4b40e0e064b0ab8ffe6b40c0c064b0ab8ffea 106.283 +401e0d0d064b0a111101044d014d1702010702170227028702e702f702060002b8fff4b41313 106.284 +024b02b8fff6400b1010024b02040d0d024b02b8fffa40110f0f024b020a0b0b024b02080c0c 106.285 +024b02b8fff4b40e0e064b02b8fffe40330f0f064b02020c0c064b02020d0d064b021c580d68 106.286 +0d025707670702024514014a190114100e0e064b14100f0f024b14520d19b8fff0b40e0e064b 106.287 +19b8fff0400c0f0f024b195207010e03060db8fff0b40e0e064b0db8fff040140f0f024b0d0b 106.288 +07100e0e064b07100f0f024b0707003f2b2b3f2b2b3f3f10ed2b2b10ed2b2b5d5d5f5d5d0110 106.289 +d62b2b2b2b2b2b2b2b2b2b5f5d71eded103c10d42b2b2b2b2b2b5d71ed5d31302b2511231133 106.290 +15363332121114002322260311161633201134262322060145bebe6c99e4feff00f2449b1612 106.291 +74370162a8b928743bfe2105d3586cfee4feeef4fecb30032cfd901b310190cbbc3800000002 106.292 +0050000001c105c4000b001100d9b613400f0f024b13b8ffc0b60d0d024b097b03b8fff4b40e 106.293 +0e064b03b8fff8b40f0f024b03b8fffab40c0c024b03b8fff940200c0c064b03110e0c4d7711 106.294 +010011041313024b11021010024b110e0f0f024b11b8ffeeb40b0b024b11b8ffecb40c0c024b 106.295 +11b8ffe6400b0d0d024b110e0f0f064b11b8fff8400b0c0c064b11120d0d064b11b8ffd64010 106.296 +0e0e064b11081111064b11130d511000b8ffc040120f0f024b007c06400f0f024b06100c0a10 106.297 +06003f3f10d62bed2b10ed0110d62b2b2b2b2b2b2b2b2b2b2b5f5dfdc610d42b2b2b2bed3130 106.298 +012b2b013216151406232226353436031123352111014b314545313045443793015105c44530 106.299 +314545313144fa3c038fa0fbd10000000001004fffec02fc0558001500cab90017ffc0403f0c 106.300 +0d024b0813181302281701871001109708010809010006090309010c0c064b094d4800580068 106.301 +00f8000400000c1313024b000a1010024b00120f0f024b00b8fff2b40b0b024b00b8fff0b40c 106.302 +0c024b00b8ffe8401d0d0d024b00160e0e064b00100f0f064b00260c0c064b00280d0d064b00 106.303 +b8fffc401b0e0e064b002c133c13020f0d0205070d52120152085207120b0706003f3f10eded 106.304 +10ed10c63c10c65d012f2b2b2b2b2b2b2b2b2b2b2b5f5ded2b3c103c10cd10dd5dc65d5d3130 106.305 +005d012b13233533353711211521111416333237170623222635cb7c7cbe0126feda5b65494e 106.306 +1c768d7faf039996e049fed796fdec877225a71ebd90000200a0000004a805c8000f001a0106 106.307 +4017670e770e02010e040b00460f0f1c16060d0d064b16450bb8ffe8b40b0b024b0bb8ffea40 106.308 +120d0d024b0b471c1044044407052705020005b8ffe4b41313024b05b8fff2b40f0f064b05b8 106.309 +fff0b41010024b05b8fff4b40f0f024b05b8fffcb40c0c024b05b8fffab40d0d024b05b8fffe 106.310 +b40c0c064b05b8fff4b40d0d064b05b8ffeab41010064b05b8fff040290e0e064b051b481701 106.311 +0245150103570e01025513015a196a197a1903101906090e1103134901010519b8ffe8400d0f 106.312 +0f024b194909000805080902003f3f3f10ed2b11392fed333233113311335d5d5f5d5f5d5f5d 106.313 +0110d62b2b2b2b2b2b2b2b2b2b5f5deded10f62b2bed2b103c10ed111239395d313021012227 106.314 +112311322433201114060701011116333236353426232203c3fe794391c80b0121420210aa75 106.315 +01a9fcc04844b4a4b0be1e02750afd8105b90ffe5c8add1bfd5e0505fe240a74957b6c000002 106.316 +004bffed03ec05e6000e0019011e40161b400b0b024b004d0d190c4d470d010d201313024b0d 106.317 +b8ffeab41010024b0db8fff6400b0f0f024b0d080b0b024b0db8fff6b40c0c024b0db8ffe440 106.318 +0b0d0d024b0d0c0f0f064b0db8ffe2b40c0c064b0db8fff240660d0d064b0d140c0c0c064b14 106.319 +4e87060138064806020006080f0f024b061a0b0b024b061a0c0c024b06120d0d024b060c0e0e 106.320 +064b06100c0c064b060c0d0d064b061a251635164516032a113a114a11030358036803021618 106.321 +0b0c024b16100f0f024b16520311b8ffe8400e0b0c024b115209480901020e0a03b8fff0b60f 106.322 +0f024b030b09b8ffeeb70d0d024b09070d00003f3f2b3f2b3f5f5d10ed2b10ed2b2b5d5f5d5d 106.323 +0110d62b2b2b2b2b2b2b5f5d5dfd2bd42b2b2b2b2b2b2b2b2b5dfd3c10ed3130012b25350623 106.324 +22023534003332171133110326232206151021323637032e63bdc9fa0120c7a656bebe487d99 106.325 +bd01602d7e10014f630120f0f101554e01f1fa1b03366ce4b0fe7d392000000000020050fe5c 106.326 +03c804740030003c0160402c48195819681978190400272b372b020265017501020320101c12 106.327 +064e282b382b482b582b682b782b882b072bb8ffeab40e0e064b2bb8fff0400f0d0d064b2b19 106.328 +3a4e1c0e1010024b1cb8fff440860c0c024b1c120d0d024b1c3e00234e0d344e12060e0e064b 106.329 +120c0f0f024b12120b0c024b12120d0d024b123d17010188199819a819b8190488189818a818 106.330 +b81804280c380c02006701770102026a317a3102653775370203102037281a171f181537180f 106.331 +0f024b37521f40090a064b1f9708a708b70803970ba70bb70b030028530825530b01b8ffc0b4 106.332 +1114024b01b8ffc0b40b0c024b01b8ffc0b41114064b01b8ffc040090c0c064b0103522e31b8 106.333 +ffe8400d0f0f024b3152152e0e0b061507003f3f3f10ed2b10fdc62b2b2b2b10edd4fd5f5d5d 106.334 +d42bed2b10c6123939111239395f5d5d5f5d5f5d5d5d5d0110d62b2b2b2bedd4edc610d62b2b 106.335 +2bedc6d42b2b5ded111239395f5d5f5d5f5d3130133716333236353423220623223534363726 106.336 +1134363332173717071615140607070606151433323633321615140423222601220615141633 106.337 +32363534266067a68c8195bc20a82fe46b4fe2eaac9e595f7c7249caa49d1c5e622bb62c9eb1 106.338 +fef7cb68e6014d637d796765727bfedb986f59428220ac3556136a0106a8e0417275565f99a2 106.339 +dc101003251e291f978694b64a05048c6470938f74648c000000000200030000000000140001 106.340 +0000000000340004002000000004000400010000f016ffff0000f000ffff1000000100000000 106.341 +000600380000000000170000000100020003000400050006000700080009000a000b000c000d 106.342 +000e000f001000110012001300140015001605e6000005b9001905b90014042f00140000ffe7 106.343 +0000ffec0000ffecfe5c000005c30000fe5400000338000005d300000253000005c8000a0000 106.344 +0000000000000000000000000000000000000000000000000000000000000000000000000000 106.345 +0000000000000000000000000000000000000000000000000000000000000000000000000000 106.346 +000000c800cd00cd009600b400b400000000000000be00c800c8008c00a0009b009600000000 106.347 +00be00c800c8000000aa00aa000000000064007d0082008c009600a00064007d0082008c009b 106.348 +00d20064007d0082008c009600a002300136011801a401d600460218012c01c2000001d600eb 106.349 +00eb01d1017f0154011301450168012c008d02350159033f0505012c00b4006e0136015e01cc 106.350 +01cc04d8006e006e01d600d2005f01f4012c007802d00190037f00800280006e00b4000000a5 106.351 +fea2003200b9008c000000000000000000000000000000000000000000000000000000000000 106.352 +0000000000000000000000000000000000000000000000000000000000000000000000000800 106.353 +05e6000005b9001905b90014042f00140000ffe70000ffec0000ffecfe5c0000000000000000 106.354 +0000033800000000000002530000000000000000000000000000000000000000000000000000 106.355 +0000000000000000000000000000000000000000000000000000000000000000000000000000 106.356 +0000000000000000000000000000000000000000000000c800cd00cd009600b400b400000000 106.357 +000000be00c800c8008c00a0009b00960000000000be00c800c8000000aa00aa000000000064 106.358 +007d0082008c009600a00064007d0082008c009b00d20064007d0082008c009600a04036544b 106.359 +214a494847464544434241403f3e3d3c3b3a39383736352f2e2d2c2826252423221f18141110 106.360 +0f0d0b0a090807060504030201002c4523466020b02660b004262348482d2c452346236120b0 106.361 +2661b004262348482d2c45234660b0206120b04660b004262348482d2c4523462361b0206020 106.362 +b02661b02061b004262348482d2c45234660b0406120b06660b004262348482d2c4523462361 106.363 +b0406020b02661b04061b004262348482d2c0110203c003c2d2c20452320b0cd442320b8015a 106.364 +51582320b08d44235920b0ed51582320b04d44235920b0042651582320b00d44235921212d2c 106.365 +20204518684420b001602045b04676688a4560442d2c01b10b0a432343650a2d2c00b10a0b43 106.366 +23430b2d2c00b0282370b101283e01b0282370b10228453ab10200080d2d2c2045b003254561 106.367 +64b050515845441b2121592d2c2045b0004360442d2c01b00643b00743650a2d2c2069b04061 106.368 +b0008b20b12cc08a8cb8100062602b0c642364615c58b00361592d2c8a03458a8a87b0112bb0 106.369 +292344b0297ae4182d2c4565b02c234445b02b23442d2c4b525845441b2121592d2c01b00525 106.370 +1023208af500b0016023edec2d2c01b005251023208af500b0016123edec2d2c01b0062510f5 106.371 +00edec2d2c20b001600110203c003c2d2c20b001610110203c003c2d2c00b00743b006430b2d 106.372 +2c21210c6423648bb84000622d2c21b08051580c6423648bb82000621bb200402f2b59b00260 106.373 +2d2c21b0c051580c6423648bb81555621bb200802f2b59b002602d2c0c6423648bb840006260 106.374 +23212d2c4523456023456023456023766818b08062202d2cb00426b00426b00425b004254523 106.375 +4520b003266062636820b0032661658a2344442d2c2045b0005458b040442045b04061441b21 106.376 +21592d2c45b1302f4523456160b0016069442d2c4b5158b02f2370b01423421b2121592d2c4b 106.377 +515820b0032545695358441b2121591b2121592d2c45b01443b0006063b0016069442d2cb02f 106.378 +45442d2c452320458a60442d2c45234560442d2c4b235158b90033ffe0b134201bb333003400 106.379 +5944442d2cb0164358b00326458a586466b01f601b64b020606620581b21b04059b001615923 106.380 +586559b02923442310b029e01b2121212121592d2cb0164358b004254564b020606620581b21 106.381 +b04059b0016123586559b0292344b00425b00725082058021b0359b0052510b004252046b004 106.382 +2523423cb0072510b006252046b00425b0016023423c2058011b0059b0052510b00425b029e0 106.383 +b0072510b00625b029e0b00425b00725082058021b0359b00425b003254348b00625b00325b0 106.384 +016043481b2159212121212121212d2cb0164358b004254564b020606620581b21b04059b001 106.385 +6123581b6559b0292344b00525b00825082058021b0359b0042510b005252046b0042523423c 106.386 +b00425b0072508b0072510b006252046b00425b0016023423c2058011b0059b0042510b00525 106.387 +b029e0b02920456544b0072510b00625b029e0b00525b00825082058021b0359b00525b00325 106.388 +4348b00425b0072508b00625b00325b0016043481b2159212121212121212d2c02b004252020 106.389 +46b004252342b0052508b003254548212121212d2c02b0032520b0042508b002254348212121 106.390 +2d2c452320451820b00050205823652359236820b040505821b04059235865598a60442d2c4b 106.391 +53234b515a5820458a60441b2121592d2c208a08234b538a4b515a5823381b2121592d2c0020 106.392 +8a49b0005158b04023208a3812341b2121592d2c462346608a8a462320468a608a61b8ff8062 106.393 +232010238ab14b4b8a70456020b0005058b00161b8ffba8b1bb0468c59b0106068013a2d2c20 106.394 +8a2349648a2353583c1b21592d2c4b505845441b2121592d2cb0024354584b53234b515a5838 106.395 +1b2121591b21212121592d2cb1020042b123018851b1400188535a58b910000020885458b202 106.396 +010243604259b12401885158b920000040885458b2020202436042b12401885458b202200243 106.397 +6042004b014b5258b2020802436042591bb940000080885458b202040243604259b940000080 106.398 +63b80100885458b202080243604259b94000010063b80200885458b202100243604259b94000 106.399 +020063b80400885458b202400243604259595959592d00000001000000050000f72805665f0f 106.400 +3cf5001b080000000000ad61b71900000000c142e956ff50fde708a8078b0000000a00010000 106.401 +00000000000100000783fe39000008e9ff50ff7808a800010000000000000000000000000000 106.402 +00170400008005690050031c0096045d0041045f0087026900000432007a04b3000d05ad0014 106.403 +03d9005002f0009f03f60041044b004104870096025c0096045f007d04340050047500870248 106.404 +0050032c004f04a800a00475004b040400500000002800f40166029e03400340036c041a0532 106.405 +06520672072807f0090009780a160b380c0e0c9c0d240dd60e920f98000100000017004d0007 106.406 +004b000500020010002f0055000002f001ff00030001400a54bfa50140a5111546a4b8010cb2 106.407 +321fa1b8011540b21f1f6fc731216ec731216dc731216cc731216bc731216ac7312169c73121 106.408 +68c7312167c7312166c7312165c7312164c7312163c7312162c7312161c7312160c731215fc7 106.409 +31215ec731215dc731215cc731215bc731215ac7312159c7312158c7312157c7312156c73121 106.410 +55c7312154c7312153c7312152c7312151c7312150c731214fc731214ec731214dc731214cc7 106.411 +31214bc731214ac7312149c7312148c7312147c7312146c7312145c7312144c73121b80137b2 106.412 +6f0821b80136b26e0821b80135b26d0821b80134b26c0821b80133b26b0821b80132b26a0821 106.413 +b80131b2690821b80130b2680821b8012fb2670821b8012eb2660821b8012db2650821b8012c 106.414 +b2640821b8012bb2630821b8012ab2620821b80129b2610821b80128b2600821b80127b25f08 106.415 +21b80126b25e0821b80125b25d0821b80124b25c0821b80123b25b0821b80122b25a0821b801 106.416 +21b2590821b80120b2580821b8011fb2570821b8011eb2560821b8011db2550821b8011cb254 106.417 +0821b8011bb2530821b8011ab2520821b80119b2510821b80118b2500821b80117b24f0821b8 106.418 +0116b24e0821b80115b24d0821b80114b24c0821b80113b24b0821b80112b24a0821b80111b2 106.419 +490821b80110b2480821b8010fb2470821b8010eb2460821b8010db2450821b8010c40ff4408 106.420 +216957311f5857311f5657311f5152311f4644311f4544311f4f4e311f4d4e311f2097309740 106.421 +975097043088010f8c018f849f84af84bf84cf84058f689f68af680360697069028f5b018f5a 106.422 +017057018f509f50af50bf50cf50058f519f51af51038f529f52af52033f7c4f7c02507b607b 106.423 +707b03704e01708f01308f608f708f03008e01008e01408e708e02008e308e408e508e608e70 106.424 +8e06107040700260740160730170440100282800000012110840370f3fce16010fa21fa20218 106.425 +c7312114c731210ec731210dc731210cc731210bc731210ac7312109c7312108c7312107c731 106.426 +2106c7312105c7312104c7312103c7312102c7312101c73121407c00c73121e0180821dc1408 106.427 +21d60e0821d50d0821d40c0821d30b0821d20a0821d1090821d0080821cf070821ce060821cd 106.428 +050821cc040821cb030821ca020821c9010821c8000821230e45220c45210a452008451f0645 106.429 +1e04451d02451c00451a08180816081408120810080e080c080a08080806080408020800084b 106.430 +b807ff524bb008505b58b101018e59b0124b004b5442b9000101ff858d2b2b2b2b2b2b2b2b2b 106.431 +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b 106.432 +2b2b2b2b2b2b2b2b2b7342011d4bb01b5358b0961d594bb0325358b0001db1160042594b20b0 106.433 +325323b096515a58b0301d592b0145695342014b5058b108004259435c58b108004259161070 106.434 +3eb13737456920b0005458b040605944b1300070b33200300019701870737373737373747473 106.435 +737373737373737373737373737373732b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b 106.436 +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b 106.437 +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b 106.438 +2b742b00000000> 106.439 +] def 106.440 +FontName currentdict end definefont pop 106.441 +%%Page: 1 1 106.442 +%%BeginPageSetup 106.443 +%%PageBoundingBox: 0 0 366 156 106.444 +%%EndPageSetup 106.445 +q 106.446 +0.0823529 0.580392 0.0823529 rg 106.447 +BT 106.448 +8 0 0 8 222.394666 145.083551 Tm 106.449 +/f-0-0 1 Tf 106.450 +[<010203>1<0304>]TJ 106.451 +ET 106.452 +0 g 106.453 +BT 106.454 +8 0 0 8 244.004041 145.083551 Tm 106.455 +/f-0-0 1 Tf 106.456 +<0506050708090a0b0c0203>Tj 106.457 +ET 106.458 +0.0117647 0.0117647 0.721569 rg 106.459 +BT 106.460 +8 0 0 8 298.536267 145.005426 Tm 106.461 +/f-0-0 1 Tf 106.462 +<0d0e0f03>Tj 106.463 +ET 106.464 +0 g 106.465 +BT 106.466 +8 0 0 8 314.161267 145.005426 Tm 106.467 +/f-0-0 1 Tf 106.468 +<0506051011110e120b1013120c04>Tj 106.469 +ET 106.470 +0.588235 0.0392157 0.0392157 rg 106.471 +BT 106.472 +8 0 0 8 162.495227 145.005426 Tm 106.473 +/f-0-0 1 Tf 106.474 +<140315>Tj 106.475 +ET 106.476 +0 g 106.477 +BT 106.478 +8 0 0 8 175.963977 145.005426 Tm 106.479 +/f-0-0 1 Tf 106.480 +<050605110e0f160a1204>Tj 106.481 +ET 106.482 +0.8 w 106.483 +0 J 106.484 +0 j 106.485 +[ 0.4 0.4] 0 d 106.486 +4 M q 1 0 0 -1 0 155.935211 cm 106.487 +106.051 133.129 m 85.43 122.164 70.191 113.375 70.191 113.375 c S Q 106.488 +72.852 38.791 m 69.273 43.08 l 74.777 42.131 l 73.484 41.564 72.711 106.489 +40.213 72.852 38.791 c h 106.490 +72.852 38.791 m f* 106.491 +Q q 106.492 +q 0 0 367 156 rectclip 106.493 +% Fallback Image: x=0, y=0, w=365, h=155 res=300dpi size=2955450 106.494 +[ 0.24 0 0 0.24 0 0.895211 ] concat 106.495 +/DeviceRGB setcolorspace 106.496 +8 dict dup begin 106.497 + /ImageType 1 def 106.498 + /Width 1525 def 106.499 + /Height 646 def 106.500 + /BitsPerComponent 8 def 106.501 + /Decode [ 0 1 0 1 0 1 ] def 106.502 + /DataSource currentfile /ASCII85Decode filter /LZWDecode filter def 106.503 + /ImageMatrix [ 1 0 0 -1 0 646 ] def 106.504 +end 106.505 +image 106.506 +J3P/PW$E,P#D#)]Yda6_*=IZk@Smti:+[9:6_dMgggVWNO%&)l3,F<u-'Lr3ni8Oi=Xo4rAe 106.507 + MXrJnFtN9]iX;9Zh9:P"TG/l2;B;6]T<ce+t'$M+3>"ku50(ntAUMcm)Oo767PIW6f'4L\5 106.508 + \kA?XR`oI6ngb@$B1Xu2,k(=?iT>clVY*TH%*\_C`i]H,l'I_aEM\,-pfWJ.h;Yh9F33aZ( 106.509 + 0aK`4DVIpEFWTEaCRq?tVS%dgY=GpbJ,H]O/Zl3]AP@]X%lggJ"c<!$+dd8mf/\XH'QJ?:, 106.510 + HbLg3Kn/(Q2)]l+lRfO)EV)>+[?Ad(f6041Y3,bl8*7kdSpsb88$VLUH@&DRa+9rLG^FoND 106.511 + ^X2u4q@0,r4R%'`mh`+CX3-Y/Xua.5d1A%#rg$9-NZ;D;c(\#%]h;k6Ed`o#K06XUA708PM 106.512 + G:_:Ffu[_f+m=#JX*b1AAfWRnX)R%nq*]_D+/;'#*l]AK8dRj:r0DD<q!/7PT4,JtE[WXFh 106.513 + Z%&tXd"P3e-lbG\<=0[)<K9emh`JeIZ!o0gPR9_.hr2bc)[-TY#%SBE?*drat:bDCoB2p^\ 106.514 + n#+s4[[-p+RZg?d-;3YfA5:Fucq*iMlPhS^T'W!*CVY!QK7oM7p0hYCXV+jc^<9,W0bnVuW 106.515 + ;'\#1='3nWbstl423K1f,Ls10@9#0RG=gC$oaOu)1lX_4:f_(]?<@nYX%h,EofY]E<IM,fg 106.516 + %F`jAD5UfkAaVsrQ/n[<rLW7fTbd7Q.hRAiHnn?75\r32k?jj?WEB-I+[!jc#M*rogs_mfE 106.517 + s?Xc5;8)LI&ErrJ'7?Sb[6`R%2i`h\a?dOAraOhg&WhV?)Y,pngWC_>'<<HV8THbEl\k:2c 106.518 + M()#a&;<d>/)Cuj8$UR*aGhHQ:WH5:"[<k4sRR:84"Q_J2?[7Qun)E$3<CV!K)0ZoQXn$AW 106.519 + J8e-9C3NfWck=j1?U$@Y$#G*$IhNOmRD5QKdgRF38]B"+s\\.F#4,(H7qlMS1E11ArOmUq9 106.520 + L@aukN:"^W=oK/O>l7o(VX,8eMp?*>#:mN.qtEUlFd_W<c>Yn4=0H,Zf/(A1]qs%_DgQtSd 106.521 + rO.QKg9Z!7glQlR\+k)oNfIXcLtO.;;1iK[iMO@*Ij(9pn#6MAp?Km\^u.5-`PRA*VL)_o3 106.522 + DmSNrCnS"dFBUs0L'u*S7sa?&NlR:(;K_=8q==S#Loj[HfrQmdhD3[sZIF#JesToA!9NI]q 106.523 + `/_$9E*hFn`'mVW'A`_uo19C-Om*W8<jB*D^jb%U4rk<_,gpgJ7EGjW?Z_1pn5Tr\o\&8@h 106.524 + ([`8\_qrBIBJg%mB56BR*4akPJpd=17oO/F/I.1;i6PcKkU4a5-YiZ9]UDF?2)ZbX)4r>s* 106.525 + aU;=j`em/1[C2Ih5"I0%7EPKS.<Cl4;m_'I#l-8#1R*t66B.%?*^ut4qP'-`NK8m`"=4p5+ 106.526 + V"i/P#;H2UY.PTj><,mE\^69.6`&'H8Lf5AjeHY)^(tFX-(iOk=HO`WMP0`Pp^<CSTt/de1 106.527 + @MaZ>rV`q0sgSS;B53(.-27%ZViTk`HM??6_I!2!"#'R7S`58U4(BAq[=S;d+*6fi^&lN7= 106.528 + .L12T[pf/=sB,b/Qa782qCPG[..T/$mpapIG\,h1tD1M0_7oO0m0]Z6RB*`u)rP<W2M!M=G 106.529 + !GgP]E4"%]"BG7D(:>-.CB8jEskH]BYl5;j`XV.=KqMEWM0g)ERs.r[-Qr4hg6k4V*85mA[ 106.530 + OHKs:)e+([eIJ<Q;eJt-77jIY/uDV%SQ"g-;6!VkW`<6)<U.E1X#4dt<SG,flNL^u<K=@c> 106.531 + *Va]2/00mY-qBbh-93!E@3Wd\lW)&?0fITY>qa4=1\?;lihsE<Xu]BgBh<T7>\9M0#f"_f4 106.532 + /WNOg8"_b#[g;ASf>"NW]Zra.aJ:m002j<e,s/4&'GV7B*[qY1?e26YUC[Z*m]Yg07cuD=, 106.533 + <Q[3TeK>MFREmKLG:<gqlM4,n7I?*LjU0%SgYR<.eMdCNA?NSQ[uFmd5^\@6)<>8s,WDEZm 106.534 + i(QS&lHae9=7Hq@LT(QD_`HuIHn%KU`qHH&7I;d+#[9)5`>q>#dDJc#](_6Z)bR&jhD?don 106.535 + )ZSa-M1DgR&\T#3$"7&9KeTpG_73\YiLE&UDQY)"=%<[.4)'IhQ70](Y1qr?f+;[4&B1$_) 106.536 + Im#hNUb"Ka&qdOA))KnnchD$=Uu]e>`Fm:7S1^)0.(5bSWiW!;9E$;.V2keQ1Dptb?8a9AZ 106.537 + -o68+p64=cY=M>g8].7VU+MY;U"Jh4+"jER%_53bM^bSb'jHcWT^#BAEHXoEGULOjUS5Pi% 106.538 + A*%Z/S:01KX2*M`7]Oj[E/8nhQ_V=_cqdopZbC#(qMo`h,6`61J\><S?j=SNp>^gIA^fIF_ 106.539 + i44Y=n=R/+eX`_Xjf37';lOg9J`?!>IUS)^Ec&JlL5/#WQb]=1iMfa,U`S!=KA8PV=XEGHE 106.540 + \g'mAM1)A2pBJ_TTh$V<@>GpkY2A&>>@)2dlZKZR;Vc\TG&*XuY\o3KhL"^;K>"%e2Ko#TS 106.541 + .BH']t;(i7^:f3RriV@#J51LnD'NqJT#sjYrJWZffT2sD&tLNp!3fQ)foq;Y"c_,?.7WbIs 106.542 + LJM-+pcQ+6)&<N,p%W\2`Trj4rNpMSOTML,aSlU[]i!/re9T7nMrN0;`jJS^[Fj;<hF_;// 106.543 + E&:WM%a[=];Z#GE[MJ6-+E4bL"_?HLmt+)1)tX0`;o(aCYho,L,U[J+"Th7I<FlpH;-MgM5 106.544 + V"i#<O?/NMCY//nK(")4gpVHWC*Spr2-Ns@^`q`sLgA+IknfXRJGlKGOH[g&'IWs4cn.jkC 106.545 + s*aORHe*G&(!sX$Z0WNMb'Iu;hL*Sqo7#TIp?pm]4@d'XhA=[I%fu15B5@1l6cJta47+Yln 106.546 + bM&N"ac`4mf'-*pYLh>I@n45^+I\+s*qZj@6Q(8Vs4.eYP*G&h>@5-nbunAqL;d$eVE1#O# 106.547 + _gCI4r\Amdg6nJFmd\p@#l/O2guL$LJ@i\aQ!gE"i=KTXmqt!\\HfbF\SB/H?=b\aP.P%p& 106.548 + bsQN8b:ordHMmhl6=W<-k1!jG;c&2:YV2$NFV"07gln2CS)p@#1_n1[iD0H.K`*sYTV"cK& 106.549 + Xd!l6/aL]`2#r$,d0F%EYM$G_&\I_=6!J1d=hYtm4$a@;PnA,Me`=-_-%'[tbn'_4F$IH\F 106.550 + s/jB2%TqVkB"@=$kE,&^:3*n*G2s50fe,\'mR[m@;$h,>iNVb.:0dWJ-P5]a%VqIBYko#lr 106.551 + 7T?qg/0-R;#\"f!tt#t"tQ#$EB)lr'*=:4&i!)mbEihR"P`G:\T%9XD>OtsQP4@4i))VI&O 106.552 + @28D\R.p'X;'!;,Fe8<>7/j&ro$2/l!+R=p;)!$S]%!&YU*tV&F?Q)R6C_nZa#f[2Wn6%8b 106.553 + XA932E2,k=gC*3ma.n^/@-QldL2*\j,l;:Q^BjW8F+*jP)RnaR\UocJ!@ctbW\n+dqWhX(l 106.554 + 6+-I'Une!#tN?+/:n?JN-;B[5>,pI@Y,-idEnhD@?QQ+1D+=gG3;@=^I73lnF,cm%MOl%&I 106.555 + 9dOg_-*gf&nmNk#AL;B2,E"W.b>TYuaX30r-aJ.Jl]3>)*?GiE.'eg\nrY@VPppaA.BF%,d 106.556 + +CXgg^6g.,Vko?o!']#%NhDN)hD0-ZFqe%^)]M2)=k0do$K$EeLbgp/[F1R66+L\DU@`\[1 106.557 + [TPEo/N*oe1@]0=(O0o)UO$"Yb!(0WTaW1&iK(kg^;1+E#XXdg\&g,r0Nj1:&Pfo.`$W2)B 106.558 + ;5dSg_W1''+MV^eur1UBe4o2.A$<Aei#27$RGo3jO#s!eA.1f=K,OpNtHH2nV(2m[i/F+$# 106.559 + %`AfZ$[ZcP,lj#NAGrATh3O>8:o-,51fGT7e)1a7Ti@54dBFB>?&qDJoTIW)h\N8\"3e<\S 106.560 + JGD>aL`J;(\F\>n1Pn7;ppM>'5-p?\!MM_6H5e[8\+B//%c.e]PQ1]Q5dUS.<"RSgiAqYj6 106.561 + *0rAOhicYEA@',]egHi!FuWR2*c6o5qQ-FPQs/]Pe&[45]bsK1]eNd<C'=O6n;n=bQ10@DA 106.562 + TZo2md67XT:c\&OSh26]U%k'Nl]GDar5i`q4C@1cIEo3Yk\I6.DF4+eTGk,>'+'(;QjUNuL 106.563 + ^,WCh`U(85LeN1TJI5=S?b5P,=Wi0ut$bS@t$("9uno=[m4^J6WM:34<7@Ak2TWA'Q9)"WS 106.564 + O$]dXgM,10^8!A9o979!t2+WsN[kp`GeKHl8j[nd6&YU*^odh'?"or(O;ft0#Ps&)(5uX%( 106.565 + (1Ceq6,FTbm^DdW;rM^oMk`t(CJ<7*9f)@f<G>/B&C+5u-PGf$cG_OHZWB"/5]h9>'Lr%$A 106.566 + @V;j=gNDgoq9V'QF1k4^6P_,26P5IM-8;[=Rid^oJ'RnJQjZU>BRJ8[D]J<_+/T(__p%;!7 106.567 + =g[,6j1W9;-+BPf2&$aNq6>30_`.!S/=.f0!$o@'o6-eEo@3aYGaP5c]rQZ\:j>K2G9k30X 106.568 + KQocIH1Pu&4V\WpB/og`$56"Ete;X8%-Fum1!p9f&e2q@oT2Hr,K?WWBg1_UT5ZYq[`n@Wi 106.569 + "@oN\:!Dci3O$m$'\e]]s[3j1B<jYnn]XF9:'SeW3DU2@1B_.'o&[uK?>A>8]C2?UZ[]ML> 106.570 + YdN&h^37\21!a0def/$s'hjfu/N[e8lXhquAoXYT2?u<e&NkWS*T=N92XhPL`Y___42JoX6 106.571 + ,t`<'f_J%[o<;dQ70/k;B.UUZnqIr2Aun&Bkroh7eE.V2^_D-jZW=a\J@\Wp-Ws;>S"XJ)f 106.572 + &qp(J;3h.^TuU5aED5;u^P^JTeKgc4t[ab>]H)F;I6C';7L4TfO,Y;AC_*EH?b+pDUCQ'gM 106.573 + @+EqY2HQAKr(NEIc-H?8[C1^@g?heQ;*](a@p=.NpP$[NurHblD%Zhk\CcH#\.AlmSblUQB 106.574 + Ti#=PYH]08"G@MQ"i3b3L*<D<@+bC0=h!Yf+aB/YqGQ?"=F*\Ym)IX*n!=qq(`GkPa[kl8a 106.575 + QS3@mlF6NR2j^VReGDLTfX<X@3EJDPFu)(b$%OPVFphkEJasVnHl]XcLI'Y%Qu.SD.t>`ZJ 106.576 + p6W$%'auVKo"8rM%&Qkp2ImU#BFsTLlS<`25uJV=_JLF5&B2*R'aT;Yg:t"<AG)DCit]1_d 106.577 + ure_"c<5:sFRWA/_.('@,3iJNV$+jO6*GFuKO@=>`0`nPY]hL$N;9=#.4O><)@$[^?Q)=AH 106.578 + 96qi2&(Lb!9Z!K\>p=q*aH)Rt?@2*$heLM43>NNGBhd+:1cUOW)5\("i,FVSJpcV[fC[b!r 106.579 + 2<0]uG4[F6;P`%muq&_QK)RYp25.>;k<e6R;EBj36H1VK1PuEi]7r)6>Q)d]Hi;#mZ)+YH+ 106.580 + Cm_>l'U+nd7^[NHRp!:gMe.hbI()+n'3UAZ3KoET]q'Ep=fYIe<e6VoHUTbkJ$Y$>H,3"WK 106.581 + 0E<q[.J9k2'kCF<k<RP[CP%_i;&s(f:I'PQh5!a=qV@7$FJLtQP4d2=r+PLbEk5uQZJ-G3L 106.582 + -/G[A5<?Cc3KF<LgMl02Yn,!#+IA=P9:68#=!$[[K]GoTtZ_;l?'6[X'#\\@\J<7-YW_[DD 106.583 + 2M6.G:D[?")k9R3b>CKkbbm=Y)nO`_O2FDEis2RV5-7*B:\(W/eT.AcmF]GW;a\Ns6]=0;> 106.584 + RQaaAe\ocFX5F"&L_HL`R=^>NZ&Sg$%Zk^hq==K*[l]dhM3;X%)qTEX,L:,bTVj1bllVUoV 106.585 + %p\uFHMV!SZ\*[q2d;b5Xa0r;4#"'H,A?s$[/&6M.nr2$CJm%=ZT?&k)aQmH'=N$,Chp5Xq 106.586 + 7=.A=(g8k[+,,b)Eh6XGGu>'\(QU&4*ar?9<iW3BGI4UgRXdZM5Rki=K>pt>B<\(VRTi]SJ 106.587 + l^KgR]<&UV']iZe!"%RtkKXMls0HWN0UEb^7)6/"s$j6Q7*m[.5-"j:6`k%ZBLY$Vc][#S* 106.588 + *['LA`595-FQiYMX0(DnfX2@hmuafC>N_H\P,fJ.;cZ,;K6:0[k-4?^Qo09@<e_8/QmN7"a 106.589 + @H+'bbVRK."eKL)+=bS^V@d@<s\Wk'TO1mDqT7N$3<;Xae!C/\b[aer^3(+EQBh8,BaNZrP 106.590 + MeuIeSdFAFPP.SN>NiN-pr`NScZrAE3EF!V\Y+#mMR6)T>]-oM3B0)#+8=5L4EYsE=3c#+$ 106.591 + ,#T#\k0PM6&'/T@l2MQgOjOqq6@S\d(>L_Y2@PKs)S"3ZMO."=fZsP1pq`"dPp0m<#*`Dcd 106.592 + ')/cp@]YMbVZo):DeXX?AGelTqrTfX?2;5eRcBb<^1I)%%<g[5s)#fLc,_Z6/a\fR&TU*1P 106.593 + Atq78E/eJet/)jrY>rjY)BU\riW*GPnoDRA5BdJT?_SW?1pPL?"sF$6)HSY-:u)1nnfeQl> 106.594 + (I9h<WrR!]Dc1C8H.mq@@O2sKMY5?PPq<ldWCX*UIZuc8746F#cX#IM1c/&<+h;-QG6e.lW 106.595 + F$3rGSUH524j`h8OPRO<1P=)f_UI93[D#8@Or7TBOq8c<mhDaO_32<+)/Xq)JN+G4*c:&&K 106.596 + ^UJ27N+AL)M%5Rc_'&9[2gpaSS#:=-_EE:hGaSApE-j&A@gK)`rH-AI&YlRB0O$(dZiEZeE 106.597 + b$M&&TM>ZohFVPJQTY?,Q@JmBl1A>Y_`ag$KjF:>Xr*94L_%05hc:mFDq4hVuc6)saP'Ed5 106.598 + 4=D-(d:Y?F":lWp90X&\,)1<"RQB`1Z61YJY;PsE#/^!lG_1O6';<V!SHo'IaH$Y0tQ:`S" 106.599 + iog-jGeQZ%BijW8k[>e3/F\EfW=;uER;`QNPm,P&CeQ]C<;-o$be*lJq[J9`\Y5ac_T:,<" 106.600 + Qg33(aDTo2H2EE(o9MP_`d`n1^SAEQ\%A2X]?>9;5HglRPGJ/RK"eST*T`_.-GS,Hs$@$qX 106.601 + <U#4H.L^!\%#B[%0hIa#mGrIekhG2/f:LA6/^&pPU0lPMa>t"Qt.s$(P>3<&B@J)4XG\),n 106.602 + Rq0Y"%Z>7?<WM$jm4ELFM:?H$gB3+bibU')D/PK*=tHj>:u.^*N3.d9lF/m"V,JTuQ3%#`M 106.603 + Ll>,bLPZ>.'fa&&!F,uVi26=P>1^nMTJe:*0m]#geNS(.k$1mb^k'mnDA?H9rSD"g%k(7Qg 106.604 + $aDo`]>^F_1-J!$t.0]PY=3aBV%NH5O9nm0;,o"M_<hWl^<Fa_JK`bU"SQN&j41+ikD34"_ 106.605 + <3=[=)_9!%nm"<Fk8-kFD'N6]%.<58b/3]%MD"`kb3sQP*Zl2ZalW,>r>qS4YM&<!-%S=bL 106.606 + We_9GIEuJ5FWr#J]4,?WG;Aq0H96Y5c(]`.NO8+UrAjY!J(<hE$Qn:5pE*Q"[15mg8g2F!j 106.607 + <1t$!T`h\uLE[\]%,1PnD""oKY6$d.C]G/;XG^QEeiCI*]^9"G63-VKjWuP(9Wo$Ckak`uu 106.608 + _6<21^0Ou/:M8M[Z7Fe6WW?<8(7FK[Dl1;q?jJu56mC+(k8__OpWK\n%L1KmL/MhRh736]j 106.609 + 9b'9O+N1WBuNA>O0W!U(b_^eD!P,$#jZqh[=0"Ns<[7>hOa%,b@JttoAZP&2+XF3AO7ZO3u 106.610 + 9#^5H4[dfIm5[qmFeVJ/J7Z]<>h9;i7XUXOM<%-gVYtXC$0$6!T\.f6FN)pufl5p((36'NQ 106.611 + =j3sB%qKgTk#%L!TdM?Cf4sg<XAl6[FI!j6Z`;:F\t_9UIF'b7'$RSON.rcL5K<][:FmEc8 106.612 + G]MZM.PuK0-$EHEAL#L#0j(GN'J\,^2E!JNS_]3e$,Pk!FK,GpYk,A*<8@Ip@r&GCla:Ec4 106.613 + Ui/n0@.UbS(UT$h-2'X0HQRmOT]X.:/j<(Hq2NTVil=Rp1HqO3jQCtiRnBiqZMfVi\83NOB 106.614 + >DLI6f\q2*!C:Y].]eoq&GC?qt;QlM!>:pk`Uq+5-p#X^V@$TkFP-qWkGhRA:,C2Za\uON8 106.615 + 7Yu,&*khVj/]2h3E`upFaC^sJ/]49P:0<*dPh,hhDKr>)+EC_`fsg/r%a`2dl6M%3T4cis? 106.616 + PhPMH/5%Y-Um!=IOC'6GlC$&%5DIG,"TMRJUjjAAPlG:HLS:!#!pB:WU"mq":t"tISYZOa1 106.617 + %B%cLiU?LW-lt5@5OAguFI0iI+5>rB)l#LHUDYJ/njPmi-pFAe'BZ9?%P'(eL8VV6mg"e+i 106.618 + H.M;^TFfHs+]>RaK54Y@<P-O!GkB7hI84f([S!FV(@K5$i\%J?OrhCJ:J/7bB?UM<.'P5cd 106.619 + 9:lCN+'J\Rg$\u[g+<iXQEaC"R-cMZ$R)1+JR*4_:bu'+Y-h9LDUCh3RJUJ4hAJ<-.^a.;9 106.620 + gCWIM5oPjeL;\Zp_^OHLf&GCfZ-GE_&H!W)g:g^0hDn).@V"Mm5nsHoF%8e6*S,i$N[iU10 106.621 + XDc9hha^XNG_=^.4TAq=[7Fibnirj!9dmk.?kH7:.bgDMolC&PQ1bY\AnIFfJIM//?+jhB5 106.622 + oOogEpJ?W^`._?Ap(,@XY@9`h!DN<T?Y>Qn[@-)jm![*%]$ra.cVG"&b+hflSUj/c!V7'f[ 106.623 + :6nsBP@EZ$dq31Y,j+Hh,3]%>b!Rrn"fEtpu7e424U.6*oR/p,@KW9me7niP;IJkHEr4Qj! 106.624 + ,C(n0m2.r+:&JY)5ZW///Z2[9!KbC)Co_,3aieE0nD[l::P>Z^(8nh0gI"[`2%\_DG`X$Gk 106.625 + a<:^%VkSp;oe.=R6BF@;0SZP-*^8cKnC')Hp;ln^VNeNSTu9-N*%@SU6nup.RQX)Q'`OKiR 106.626 + "iV8''RFX<?ZH^DpS_=<T8)9M?C`!&@T2Ll?iIkamCUC'^hQ$.<C)T?4/$sS78,kF@u&:5` 106.627 + f1GR4J,.0m4&D_ZDrgi&h;q$+2:>EKD@04P-V]Y(mRt$PCJ5_D+nid((B=7BH7aNFP58em_ 106.628 + <d@cO9k[_X)qP'q2'n]j14RFod<_G9-)!1IF2g.Oehj4?ou*%!;kf*cq1X-AI&(K"Hh0u"g 106.629 + ]L"]ah:-TA(Fus30KcJM0K97>N\5rNL]ba65=sG#$U<-,e9YMMZRK<I$PuB@OP5Ri6:;&== 106.630 + iP3oLES9+L6:j#]B]PmB2&N&W@[d+Jj9Wq9-NeY`LqU<AlN>MF$UNdWOWuSm/["<K)C1M__ 106.631 + =u=?PNq0[=S!YGb_BBG`]l,[E>ZPofT9:*Z%seKBHl$s=\/1%ISLp0Z]0t>&Bg3!O&W6gL/ 106.632 + 0%)L&6YhZ/EdqO`Y.cLOt>j9Zah_NFf-!=GKVg`.I]cA5%WAo*02&B7B^#.*a9`IUp[$hG% 106.633 + T5l(>9l#frmH/4uqkTem7#`&SJXAJ^K"b.^-g3=+U*da5Vr?>1gunnY&t5tIt%44K^c;egO 106.634 + Mp)b'NeQ!<Vl4be(#FOKj7P:JZ;ueL@og(pjGfA2!Vk8$r_9N5BOdd]HTCc/tcrn+<AB[/) 106.635 + PUR`jaTjWLP(so%AEINnU6O7sQ!KS"GYb<ciRh\E#0n2;ZM%gbDM6-CNRmGiQ=A**AGTd%# 106.636 + 2hZ!$XoXIB]Rmp(Wl1[[M95nL.D/HPf-^`]%85VMUj.]W/c*J//]jJal]=$:nksGX.X>Z46 106.637 + &CjQgc%L\"er6O^,;-XmqK.#CLr](NF-EmV:d;g>5sZ!.1*;e/F(Acs$)9@Vd<^a@_/\CFo 106.638 + 3Pn+'fGW.)j^)_?ni.mZQ]<gJ3J>23<Yn5M.t60UfSVD\nhT_da5SPBTTc/MH:q&*8g70\T 106.639 + hPJo,A7Pr,jop%8g<'dR5`9U?C5]lra6o`?td>4uU@[Y-=C=^Wlp<p>]JgoI^08j5l/F`JT 106.640 + !TSSDbfRIuCXB3_`%aXQjOY<&q&^-tHXF#!-^2BV?Q\>ihb`!eZec735eXiQPPBJcXSR>iM 106.641 + qT8l.N\mi@%OLc1[^nW1kqdj56LV.fA$1XK2m?l/Q+Ht[43*VkTLUp;,A_>5K"T0TN[Frp& 106.642 + XFP2K.fAIP]Z*VmGn7;o^X<j?,6qO#(Re$b&A?mZj8j%F];1.rl<]$EMguP+oR\j*ZYF$9& 106.643 + q45_@(m\B2Nk"HOJ[S"$UD+=="BNOWYR\B.]82ul%@f0MrmNt[BX]=^Ao6jU(K0R3+I.T\< 106.644 + s\X^P;*71CdJ=WF=nN[KoOqL'KY]pE*]a(;&0,d1aHmXcA/%Mp"LpNhAK(+d?.$fHIL=l16 106.645 + WaD\\aU*=lMEBr\+GC+(rBZ@o_e^(*H,M\qjM3:t^4ZCiqi6n#\[_i$5Np)&F5Mus]fXseR 106.646 + 1$bI>U?hK4.C$BVDBD^o(\/!j?l<q`$;%m6f#CHVo.0K7'Mr\^j&!5fgIfm73Eqr1fQnk5" 106.647 + /Cd6V-^`<&m"G8I?FV^_AuHPQ+!a=:[ej-H&JE9Mdu";+&gS7:]IfS0CCt@n$;k`fmhr"Ap 106.648 + 8r@>J-E7[W/SA5"s^?SpPQ6_XH9K2nlhP/:IH7pL4"$BZfPnW:$<KS\U-R0&E_q8]`J.T"q 106.649 + cS9DpaiPBSM^YDs^$+M<E>=G&VaAGl,"0TW0:.P-=\$7Hb!:mr/%`%)8PO&Lpljj@QO$JA[ 106.650 + ^o3/^^o0g]M%!=AMQE)GLn__+;&kgd6aJ12!.mN/,7If2]IQ7`b_&-UCW:Hu7]Y=c>a1BS/ 106.651 + <!G503N0Qn;g14U<8"g8s"WW_X3BmW_,7DN#8&#nkR=F_(GMa66*3:KRlcADFcm'6/.$RjK 106.652 + 8c1Y<Aqo81[l_3.f!;=1X<"[\U9"N"el<`C*=&`*43!9>EksW'CY(,;`]L/7(uELGAAN8[. 106.653 + a+9SCK+oZUgPbf$-qe)`YYVb<Pl7D+FMI*ma,&^6p=bd=%#N6d=6gI>/X87^/6WMiNb;oJ% 106.654 + Vbp:@KK[!4"c:Se+^&6's9ZXQX<(,539lR)?m,?2OJkgiSc,,^c1\a/PX\R+-:>'YXn:El% 106.655 + n>YGTa,<to,Oc6uLc+8c%eT3bjO6U=kJj=:9l0%5U+8BB_+f<s`giYlN8VJKg!=X/Kb/!Q& 106.656 + M'rQMob]U:fItHjTe?l#El[7LkLo;N=,`g$+Ij4:i-Zg&>G\YL9;K?$n0#ROe;u3/f`+MbN 106.657 + OPVPTC>B1Ig/5cg:DD/G`*ua$'%7a;kd&m&Z)lE0c+H8p]sC`?N1H?3n0//ut=:>ong3_6i 106.658 + gm:\;%XN8i*WJ'DM;;Rs1>bpbi(d8,Gr1aOZt<8Gaeo>F7+-.6);@iW]T&Bmi!O]*T"bi)J 106.659 + cafSd0NZ>J9,YClB5L*B5;lh*;r;*^'eVIKm;oKa*\JCG*_F`fb`e?m=gha1k'i]<*4sBkQ 106.660 + D+H^Y)cWWi:6c`R]g=>fpr=[M<7IWlbs&Ne1JE=NeNFpO'gmp[4]IR^::'H8`@'47?rdQDc 106.661 + Y.obW)!QfooJJ0cRia)4ElEspR_`[eg1>q/;-rm)q)Z7]/r-P=I-T>r)0(\;[gFj'k%R"ag 106.662 + Z&4NuXB\V$7?6G)ne2O%jnVI<sD4U_T[I41rgs;Md\li(9\r#0EKnnhX(Wk,qZ$5rfG'j\< 106.663 + HG51[,==#o?hpr+#$TSBQm3R&dNjWlB:K@4%f;JBB<c!aZ4<n1/W<m=k!>qsSULE\M^5+PZ 106.664 + lWc_F/.oso^LkR]@Z.p3K2bZ%u535GR<?,/D;V?HW<m>MZORK^&O&Rua=#G"t$anF55ZZDi 106.665 + 9p;V]Ccjh^SQTN$c]htp/W#X=U;<<+X`F]d.Vi6Fg!c4mgDuP_4dT5#[FDiKWBIW@A7sW?q 106.666 + 9n'Lg@_p$rE^$lFBGBY>[><LTS$$:q1h4GL.JFOE:VegTNo?E4F?s(4NC\9XP%;h2W@BUg8 106.667 + J50W`e/t#kGpLJeX7\H\_RPM0t0o+p\^%g64,COR:`Je<2cXc5!0K]:hZQdaM/DK@'hD4Of 106.668 + a%r+'$%;2ik]e6HnJOHD.$TYYd";S4)K*S$`MMcf>HLpca)h=9.ro.K<m6SS4%1_U4]7FdA 106.669 + q=^C5bmCQB#W=L$D,.NThNRV5+LYoeG>$_!ZV)5HFgY)Cc)&jN_$QU2%D?f$A#&n3_QtHY3 106.670 + C(mR4$>?l-1+G##k)&c0i&.>fj+P\%92R4]?KLJY?4i2s'%Di>>HLra!4h&JT\^YuaA*]^" 106.671 + s$VW=pbHVM;<Tu!:o+ir*DpVf*^Wop%qf2r/WH?$'#O&6O52af;e^2#rX!eh<3OPs0qtKiC 106.672 + MGN]kg/E(4ZQ)i@QcGQ!G#O.>-b4eNg7r`Xn@m0*q1l@p"e%*>2j5BOfi+M@M8<28bKG`8: 106.673 + J^A6c6AeF4#($jtJW&1m>^D9*6Gn\:?'-ImM"4p$N<m8r\Ni_CE2PJNCKV^T85hjmeY@.:t 106.674 + R18(u\5\5/qoF2:.b7c$WO*4cl/m[;q>)Fogf0$7bX/emQ9I,mu%iuS<ORGR94HC\C=?r?] 106.675 + -7rZ&dAQ"ej`25G/13I6,M<QGb)UJaSoTW40p[F_,]36+ohWTXk@0Ga6nGT;#&FQ/:sK7G> 106.676 + -9&Z:$N29e`BN?^`Af7IPfpNctBD1B@XWJ5k<UlIUHId*Q1F(GZo]\.1dn)!B:aWlfSud*b 106.677 + ?CJ#UJ<Yn<'hTOMoDK)G,l]P-rd.M[]s@>r0=0b2A4"A5s)cNGSP"Nfs]CPTt:m85>>N#aX 106.678 + `^92/6736@$<(kc!'KB(uL/fp@8p6c=HdqW9UlBR\[@'c+`VWNS)idQ65Sr]$%OGJJ9>Ac= 106.679 + `\7=CP<RnO+l6r!.<hO)MT4q<h*+$2^.+#5ZL57_cM7R9#BoD;Un`r1SCJ,^Y][./>^WCZ5 106.680 + laET\XqXtrSqH1H$jOL_>Y+0o^hKB;&dC^aN^W$le87kFgsolb3<HVYm[gT5SuDBa2.ST4g 106.681 + .1R*js=j0(083:S?UC7W&W/d5g'L74lo\#g;U(/:lc`M1TVVQMk9-E%<kY4h/9;"2_aoBd4 106.682 + =YCp1>B3h>Yph7D4uQ]tMuP$GO:]K^''leaGKhhqmFM[MQFZa)2BQ#>!8,L9ZU<X?7gImW! 106.683 + 7/n=@+GGM'g,?V?m@\i[*2YsNi>_O5:>*s-)@-uJaMmIl+i[2.o5(Lf:NnAc(%ena"E:YOt 106.684 + BE7Sa8#eBHes7#Gh$8.-5AN#r>2qf+0BYKFe[Z0M86.5QG$Z%%n"]mJL=:.uinTM2Iei9Is 106.685 + q$6o<1AosJR-ScY;fYp;.&AH$3>(i/=ZZ^E@cfM\NoNhu-_HGJo00]geJ(tS:htgIl\P:U& 106.686 + Jt!bV&R4,F($-Eh\AlNF`R!aEsFF>O!]^=1<%hlnCG>_!o]E!JM).+'o+nf]N+SpT1.X'$G 106.687 + Sn6"T3?'HO2VfT0F`b7acffe*t+PF]suG@"[OM"_>]<.H0Y*B_B,cnAjX!mG229%?sgm.o3 106.688 + =NF*iehLF.,Q[jP0n$Y[B>q9a9_<br:I$sdu%GrFK'MkGY2TXEG@&<f&+#U)M9$$sB<1OBH 106.689 + >E"]p*+]+?r.N!@hTQ]gWGElOF#_mL>P?];3fMf99^l-`k;\9"e-$[83a(Go5/.,E8_5j[, 106.690 + (k9M5_Mp>0h)3Rio?_6Pf^.OLpnqih-'&I5T1WO*\h=7&e0p4)N5G'k#AC5P:35Z-I&!E*G 106.691 + je#ha'Vu:T3q9TFo3?AUgJ>dBkPG><<[kl(6N*<>5A@[n%b4Wf)Y*uk&FLonZ=]C/dLq'N+ 106.692 + ge&'r]Rh3oQ3ejC<[/E7WE[9,*7].LM=kF>7fl&>aJrcjMh4BLbOr+GY:=&8W]cl/$k"GI! 106.693 + XQ&:6ksHW(W(W5X,]^&pmAH1mC,caAW2WJNp"M@[d]B?@_l[gG@0BOA:UcajB0b5B!_Lc;L 106.694 + -`(8Mc[W?VSO(Zo=[)mXpU[PD/I)o$0fXC_A?G+m'F)Qqm0>r2sU\dj-HnVc$#`AtdM2@9k 106.695 + kEr2rC>+*Vc]"LIqo?[(O0Lh"K`4M+Ef],$+6nO2i<A\jrkMZcfB%fBRX9G(3cF5+nFguh< 106.696 + ;EHfJ"5s"i2C186n+e%^G55uRo]jtrWNCU5Mg9*'7FW'A=uaQ=G.9<DDrkm5cD&!0&'AUSa 106.697 + E<(7Ki'l1n"^bN+Q'+O\996q1Qb!1R_$Fi!I?aEgiRXB@>K)ApBc8;,NR'Jb#'p!#'(r)4I 106.698 + .n9Ur;$daj+_d9EVJAea6A12UO,=^ZC!"PV78JQhH,qh<&OF1*Tg9&Q^G.s\hbYF#.[#5a% 106.699 + g@*n7n4O4C_\j8%6HsR1*KZRPb9iVnR+-Xu]Ee.K0Am^b2kqTbt7]'s/SCfGoAaM9^2PhKC 106.700 + 27#^*@BurMGBSuO!i2aE=Z3o678mtRFRsXFSkXj+l'^;5r-jE5G<FmZHenRL$jO63Gs$!MK 106.701 + C30mI'd'1,sn<Mjna5DjS!MeeKR4"Rr>9FqjFGRkaB.<S&YLF`UVZJ]uQ5a2&`\%!14O5RF 106.702 + MX,A8)s#^kmWZE1ZR0eGbqU"Aol-%`3>A`$Yq[k,Th\N^bT26/\'2$6#S"-n6._)S2s8Gb< 106.703 + $uoRO*c8UOXkWU_fXlR$VQG+Qh^KP'!e0q;:@W3LG3(nECOW34/IS=5s!&aBZ?[V:,c-;2J 106.704 + /_(I!&4RhOQW`4_Q/b=lqIo&Z&#st8K4V:(YZk<5'(8?ndQ%;@8:(tTG]eN40<8BQ0e("=^ 106.705 + :t/Jc8Q+'g4],2/<F&a.e^](II%D^F,`J*8Gi)V)<S_q,f@B^B>,@-cW_X;XOiUoI$(;btf 106.706 + LXPdBA)u-4I@21;:TA)p=5pTgX_(0:V0[JS0lJEH[b%hDJdJ%:J2D[Y/TTEEBG*0/G;8%o` 106.707 + Y>_?`C1-E8XA,\9FEoiFji"XSXAu$\f85@4'5T<*UC(`YXT;=E19^RYeI)N&0,8#EE<9L+' 106.708 + @h3#tt$A]`5&=Y<dmF#G@h[UGLLapOO_TT`+(WjfAoBqWbOc.7!mpD]pjX\.okR-6#sNbE! 106.709 + m\mZ%1g>96?_(W.b&#JbugTPC:=nAt:>614q-?1rqY&!p#[S;ru*jHGmR[qKIU)W-cY[$FR 106.710 + !9gE;)I%<o'CF__kSu+=K("(;PJ8F6Su82N>(U;Ll$MQ]l6]UD(p>p+AICk&1eecP;:L:G8 106.711 + lFEiC"i::^N&''?/KqapYGk#i:p:%AQi=2[;k1$?=0,_TU'ob>7,tV1[,7<.V=AM[cb/YqT 106.712 + 0nVR@r^ZXmXr:=3KXVIWEVU.GC8+l))`J(7B4^1nJOUL_o<u3D&a:5I)L6Qh-_qNEqR(6UD 106.713 + dt!-Bu*<+h%g6GZ.MV)-/BGcN/XB$Be+0#G1&QRFUO@+g>kE-T"3&o,S4*%ZX&V!4)0jBPs 106.714 + f1F@q;))U>g$q_tO,Y6.QV50>Qfo(Yd8A643aEgdIWqJ%1fqO\/R[t2j#!8dBR(2^+D,)!m 106.715 + L$Ip4`YR]nO'sq3m?j<7pr(b1&d3'ieIk?[["+6c?S$$P^_A]''o4C./1h&#_ka#.>l!'7/ 106.716 + r5r\dt$[Sd;OmmOfFSsnD>J>09:e+73.S3!E8VP3R>D:"P@Q9$-ZD5VQ&&n7ohhZgoXFG&O 106.717 + nhS,.HBmG*^S5>YCK-0'20-QdYk@9BV2=e[i;Y1EL(#P%sUsM'![/8SSoOMY<?NcWR&_<B^ 106.718 + KFZ:4uII6]3EM&3QRk5<@RWL3<HPifMK**t5e!1kR4Cl?RY6=2H.507hL4^q8_.E;me&0n( 106.719 + !*3to]PNGfXg%@A(AIY?_0mV.B,t-S=Ec,NT'-MB`4j0!!DSqG7*a.W]O?*t?EK'o+JWMt7 106.720 + KPrDSkn5o^/pQU%nrC(RJOG*7=sDp'U*L<&:M2Rc,/Z$H"bLp)K%Q(G9h([fW2EU\XB]CgR 106.721 + \!97KpFcA-E"02MIR]iNYIZV_r8M2j:7j/d`RO64A:Qil$1R<aV5(C5q)?_ZVY[J?AgA6+0 106.722 + $McfFdj.a6^&Wl98@Q$#<9eAW<tG50-kG-"QA;c6(1?G`C[qAo-:l*ojJJ=^+=.m3ST.eag 106.723 + l#Jr:uC26F:;^=ZX/ASgb1[9(qPe(]dtDUn?YQ'McnW-;F?CcekeMH8S=S!A$^A^.d;53Q8 106.724 + kV0).$^pd?FlePdQG4+JJ]@VN$>l1g3Y8uT7`N_m7$\;_;0eT^@`oLHQja?NnotK&7r*Prd 106.725 + IdcB#Y#I7:f7Iibf.Hs:fH16(S/$YFAT;^iB(Fm7c#9`g_&o!R=^MDHKWsSZ_q9GM@N7gmn 106.726 + KmtI0HCso_f1Ro0`R_u9WjmJ98rD<29+;+*&W+>;X2Of]63uC==`%iXt>JT2D6._S<]9.Ak 106.727 + gD#5:C(]pQ&nh>&o`%.:o$WQLa0D^Nf1Zj\3@)1'36J\IRV*l]#AWM;ESH3=][&)k=73ER* 106.728 + 7`46Kl=T#T1J771<VMB);^o?N'9H4WQ++a>XN!;mo@j$[T%%A^>_mMb+jn..7p3AdV(dWua 106.729 + W%^FT0#?b3Yg)j,UN:o(rR$0sA^JsKH.A'$uJ'^7"=R)FlUCR9`dMh:KCQ0j@oZirY>9>rl 106.730 + *Cb8G.+$Wd#?:!5>`*ZYd+[4^>&.sYYVprNf6TAGmG5=DoX:,KqJ/iD4g2(J<i"7"X(UfO? 106.731 + :+B%ld)!p'^-"8]sk0%b^9A?4066h;8eN/.+]7(*YlQeB+<hL5Co+q,K&_gA[hIBiCaT9R^ 106.732 + +XaaTlonL&f$b\Kp&Ii=I1WTi)=cY9eSbRUVipaiiiH/lG&M</QmT3JJs$k1nR]/HOK])#< 106.733 + &-K_(i-:6[++^_fLFLQV3MP,,WQ.7HA&QLul<d[ikH45A/]os-C!3RQaISGTR7Ss@\!.Gj: 106.734 + JCU!KN^XG5a.I%qmo6"A>b<*aKjsPY_G-7%^3T!!g^!!*k6c%OT3o'.o5EU3IKAO2SI.1HI 106.735 + "aBqpk5=>=bYoj_M_5D<.Hm\2rcck<T2k1T@fkY,56(K6-cNDV)6gbiQA`Ps(mL-?(?4-=G 106.736 + CM?j]V6h?*_W>TUV#H37re$hS&9V<1#"ft8GZ[MMtm;=jF4jhjW3fkrK"mm^/;lFT-KisT* 106.737 + s@;+4p@[)s_t1jn=g,_Z!mUn+g>.qA0+m2,DNpY(HK0]^5+^m;E^<%cIC@&H7`BqiC14:Pq 106.738 + 7FNr`h%s3G6Y&2ODb2Zo.'"4078&43eNBYA>#]qS[N$<.\S3!56\47DP:_D;6\^B0K>r(o" 106.739 + '&-3!S\H$-O!3ds=Dr0m-is%0Bl)u5p0Quc$Ain@T#d6"/0*#$lT)C:b!0<l]:W3T,]((l4 106.740 + l#;[[E0CUtQohOC$dZp%0#%a4cN$bjq@D6dJhILAM[Qbpn^,)NYTF9lo(^N_%aK\3&4I.-# 106.741 + 8!"*&CD"#&JGaR(+rESis[R#9[Y6goH%H'*^RR]"B8R`e?b8uZV`ikYsT3;7hb2F*eDNT`) 106.742 + PP)8JG#p'sV*\Ma"Km^9Z_p'p3DLd;]ok-m!4D*oZQ(;1fZ>LD1p.+!L4;60'(aKbb8W'p1 106.743 + -_,Z>@rR2V3E'_,'i0io7?[i)H_(.5nRZ)\hKR2;!6(_O:u;0<`'ORNjI*APqYOeEFWYoWA 106.744 + T)UVCs9fF,u`>e>\ZOu.;dK6b;b1EnJ+*%Ar&_@mTQQZt\(%LB(;<]7OlPf<a*0LgT90BQn 106.745 + )'b;+,LSe%&jmpB7jO$W]e%D2Yorc1,p]<R(6W#NZ=>4ZB-rdW-IQf[&p#EuG:/Q"/b2Zrl 106.746 + N5<DHoqG3.)8>%&5O^;QRS)e.FOh<&u-pSV^dk1.`r\Y%r3IhPq(e7%l1jH+b_IF].B,g/C 106.747 + Mir'%8F1f.E0?/^Y:FdY.hME@p/W:nTm'!ce^Tp6Pf(0@KkRm6oWJlS+M10[gOe',**!(GV 106.748 + *m0p:O]dcVp?%$MlS!Ac?/@H*<ad3[ac1"/?D'14TT7l6E&1t,5X%$`RV/Ai,8$hI[V"6.n 106.749 + 1^(W;<2UcL7o2@SHG;k_42q*79'8&8CL3Rc@.!#k>PEGrfQ7W)t3R`gG';ITeV`L$B3n(8o 106.750 + '=)nd/<t:;0Yp7A"-<MH`Z4TmJD_Y8'@T)fF$5_p4k&:P'B;8Tk<>*q50bR[bC$OX>;3jP5 106.751 + JsdJ8!rBP#=+/G)&)I)'GEc3(I=9)6.?uC$X5]U;)OI\0VQZW"2k1LZ3Bk^68Unp'LP8f7m 106.752 + rS77+=uBdu?+]$5$6@C2)IJ@*M/?B1??&Ho+\j'QZcDG=RmE8(<#J:+RJdLIdWB/`9c'#,V 106.753 + keQ?cDl*g8T2'S/kUVb32S9%:%;'XK%,r3/#78<W$UP.<.fT1k"I!qadB-\>3Hh+a-g9sfa 106.754 + M<9$_Qk>%9-:=S`.$meGD]H9cK5Ea\k@,c[O!$PccGUikM'b`9#o21bl;:Qad'dHUV-CH\j 106.755 + .rsl*lN9i=02Q&[;oaKt6E)cK.9)R*<7OcE'iS+4<^ft7iq/3^'amiIEWHni*VF;od>f;)D 106.756 + c`-D<L&&9'n]UgLKKh"8+Z;:7om-A`@R[e=k.+4ZY`gpVco@d>1Kf\'sh*:OK\>B&iH(,dk 106.757 + `c;'3YHZ#Be=9dka-ef0+\+>?0Qe(#rV#k?aG>-<4<9FT3nhlk=Na.=_M.!P)T.G=g9j@+5 106.758 + Wlee;Im(L`UK@FcLB'eNcja9U9G.=`RO!1.1\qdY0jA&0U)!=r^+pLJf.ACHhF@[U_VqdL= 106.759 + FA_(4#(1UrWB+Ro\8@2GLTtb5@!!".*B?"CX!XCN]Qq&>'*nH>bp6#W'Q39+8>QtFHiU'+# 106.760 + Vaf6OC=]S((:.dW[qh29:j%pCPkZ>#@4K,T'hoIqJmCjsVacuH-)DG,DM[\XCK)LG<-Gll( 106.761 + @uHFpMZApDo98#e;%k*K2$ID:"8-?pChOJ(NGc\ERnQ-<%TgjVfJ(45a7dhoat%W!n:9nF4 106.762 + WWu(IN:G7oD8j-$'i.e^lr_14])`.(8SdQXb2?B6KVWG171Iet5rbF]XcF=4_A8(P?s6LNo 106.763 + /D0Xl+%'+6prcZc^4='(B-(Sc:XVg=]18%4U9Es`b.[qLR.>ut#h(#+&da*a5sI+Q\m%N`K 106.764 + M;dseU<oMqWErSi]fjM9?jVAGV2tMN#pOAP,J'8KT2q`4M'!O;(:"ON;p_/3\(P.qmJ^7nX 106.765 + 0cthM$%$*9H`,P32VCQo97ck"K@iDA(disHR=[93Jo^,qGZ05oASoK@Fi&9E(e9<_B82dhL 106.766 + =gBB=0YqQ$\6(LE>W\O(k[WHLPV=QLK>jD\*OBe0R]9FIPhpt\>+p`Vi$kBI+XK72cG)(,B 106.767 + ]AY4VXSGfWC*7a,HD/N7Sl('o@.$RM.W0N;2:j(upWYk?D';0_^onJMRqDH]FKjO4aJo)$> 106.768 + Flm4d0B/K!8f2ns_V`K44AOkCh>)'_QE9/8@XHSYtVpZ!pSI\W7o3B36/Qgp5A8!KE7PhAh 106.769 + n=Xc\H:GGrZLS<L"\P\YqB9ns$QIUV9@J=C0/MVMZ?:;\`(6=/Wc"ae-R+[Og)3^IdBhria 106.770 + E,u>>+h*hIgR=I5MrM@'3L?4<\!retS'P5V2TKGFMhdZ/L\\]U):P-Zf:@kKOHU&mJZ"_=7 106.771 + X:AlF*OCL\auFrpRdlM^:!K8fia4YnV^d!*-r-a_;U=jrLoZ!U"UT_$Y*D+o3:sQ=;]Y8\I 106.772 + kPs2kug'UY7niqBqp^)1_n$#F\C:J3B_t<Y$*QK&oZ?\md6..THmT/%.i#,t!_.H!FgG$X/ 106.773 + !ZFu0MO;l+&*V4d@Tj\'94Yt?<:VS]=1"]qNc4=Q_QW&?N3J36hXEKL!H<8*[<>+/F%Sgg+ 106.774 + hW`iE&[Pb)]L+&]:XkL6p>.R0,:TOVcVBJQ3(g\RNbZ.iEXWWp0H@?5gRB=7HXoT'978]Dg 106.775 + WNQ*hRc:<MKi/)d-7PBY#Fbgnq['Cd<"dqH/K'FFgD@$H@T?ma%6I<bHR8p./#<%sY\u^(g 106.776 + H#u%5D+YcZpK\Z>=pEX:(99`Z@\"B79?sZ?8W[5VK]IK'Po??E`H=<[09R9_O7n[<OdB`;n 106.777 + DG-iJ4rf9=]C1<I5+Og4?%:BiWe[J7UOJ,)`II=f'6fBY%WL6G'+K:TT/+W[1$@j+4F<f;g 106.778 + +QO]PL!49@,2O/XEsY.%c>77k4fFhZs9YJQ3t`Drj@qGg_0QhomGnmA);kX6WBZ6`AaicW* 106.779 + a;o3k8ZXm(P_Ps;!42BiuZ)(7"6?0p):W+Gu`+;fM>;`Y?/$:ufYueFc]O"Rm@K7B[<81E\ 106.780 + Rk@]GF2ZjW<BH-i]0K?-ng?PQ<?%L<V,bV=MmD)C\:[T"!ia=28]lX)\V3u*)h#,@J[0WV[ 106.781 + /@Wm]YZ+ek#C*"/%j3NqffU4;nXAt\n+gOY@:J#Z+aG(<;c)4SFBMT^aQhh]Qe([jAXC!F1 106.782 + lmZ]rHlO"]<WuWQpsQ_n'bs77ECt'4i-"$X<G?>)Fl_l[IOI^jRgaNY<_o25ut\WSKe=*CI 106.783 + $AdD?gP_HO4p3jm"t&]`ViesaM-h)lZ>4f,a9Wh"L@*Ik2CFg/IgYs"$]K$h`[8][E\<4lr 106.784 + n*,\aRRG+0+<?+mcS5rRYaoEHj<.2C3]X>6.Fj%FaZTO[VI,l]g``.B>h8N%34lsq:l*\4l 106.785 + [J^5-IInmmpf(PPd8)kSRsE7_V9QWOc24S@SeNP83`MX].@qX>*;.K;q5#(`"h`V"4Q%i_2 106.786 + pQg\cF^X4qn,p7(aiT0dJ-5"[(_g8:-94o&Q[T>`CLa#LR<<i<5Fd_)2FY,;4<'jQu@HK"[ 106.787 + eR)gc#l>%('U[T!D@5=qZ:8hBc+a@9r**O1ShsR!olO5+Cg*J%^C&D4\<(D-Q>An5Xq2RX( 106.788 + s\i_/Y8C/j'?Kmpr,^>@DSj6O.N<t;lC*pnZ1S*[\@klHrI(c1X[L[[4"mKHVV+ZXD3&+6W 106.789 + Nmc59cq4mK:On(MdnmPd'@N5q;g#p=Uo05/C,u@`1JXC:4*/.8^=BG%S=."F8<1d1`P[!h; 106.790 + Z^><*p4$i+IrU0E=8%,hKn"JLIt;?a<)n85pn_!cpfH]k:\NIsq5%*c]1>q.I;PUT<F;k^A 106.791 + QSF$Q%^M]qnJM$79B!Pg%.CGL/b[J[`(oY9.bSFh*M,AJO&.T=>V'2$&(_)OOsB`+D-Huib 106.792 + c343\_M37cTW`oR9(LO\"Pr=Yu^I.@!NeP1ark@540Dk*&rThJkQH:?Rhoo_sD-Thss;=u@ 106.793 + @`8Yo>LPhL7DTi%dglBPP\?EmY8<pQ%)omX_cYup8ZlSJ7]r3\_jQJ5@/d/C:8XI!/!/hGb 106.794 + 7?JW*F]Ii)n!+>;`7NNWNM8`roR+ujL+d'lWnsNak?SRtnB(MGGp4#B%d:i0@>rJ<PWRYbE 106.795 + 2`m#4pT`CUmPd:@hf2<"]=49cm`T[fiGeR^?8isgalRR=SDJHSU!`+HqOLs%?a8;OA@:!XI 106.796 + B.!qg=a)e=Q<3(7.km)DP))FA@qYbrbhbFS+6=QIfH%toD\eU0GF`n5d3'U"@4_@(C!1*Mn 106.797 + 6EjY5?0DY"p;_lBq(f,7[)Fl,O>j9F9Xo`2ktS$q2mM<u+60FC,kS0pH;h7^9==*(Ma5G3) 106.798 + %%S:7t"%CCC)-KiU59Z]%hP]OsP/>"=_16e[d9!Yh-/5%bJ[k:=ZoY0\4cN@_1[ZV=X0JcU 106.799 + @cR$i6SDQ0K1R.&`::%=r4ARc_pHDBZo`%0B;\Ag\9X(<D\kjqO:D0n0%3EV41mC-q6Uj3R 106.800 + 9N*du2bm;Yofl8P2&/VZ<4+JDf?A:]bsYOrbNsGeQ'(N=1.S0Yp/`n5VcQs-om^@O2AM!V= 106.801 + Kl6"A.#bFQXuDiFcC'<2NtYW2A@`G+kgZuAD^UlNO<_12\jAR>dlT:F?5O))T!"$FjkSA2j 106.802 + /#Wd$D?UCu/mF)0PuoH,@ZI#I=&\0/qGmKOHi@(PZA.F<,M][rCkmijcDX6-uOcYr#qS>4[ 106.803 + =iC['Qp9m>e%'B@bH=-dEt[SE@+a%9'q$+[AKRgGnAG>[K2mX763)0DQD*]0ZT5j:<NQ_ma 106.804 + 7c0le*\nd\CgTC'uWTuUr/k0Wfp.n/;)]!Tk)B1TCL$2*ns.&Ea).g<j\*H2b1e$j#_J\K$ 106.805 + -+`I_pA_pI/M<Yqh\bebL=^RkfpOTqU$l,JQ%osoEjh:ib[$\LdDj<hQJbneCju5ImAq@MZ 106.806 + PjSa8BZ.FVWPtmgp^qMG.k2\_E9l=o@oq&[Z:s;/<0[njZW'njAS1eQU^-m*1tn8Sr-<:;8 106.807 + #\Zl1R8m9>,7*^A70l58VB2I&V=26[*oBbg"DqSD,@7IqRs@97Dm#ct)sG:[!0W>M1:(O[c 106.808 + Ec!9i>2GCZmJ"[KR7m?ajl@u;P!Lo;^-TX5Mej2qf`ACgYk;so4@L(QB.&jP2F@;Ja4G!K_ 106.809 + A9Ubf(J<1bp6<EO_Tc?"H&ETc*26>bD<"^Md9p<6_b.ea%s"[,qEP)E6V4lC7M?kCE&1FF_ 106.810 + RknSs`Y:U*\+^L@F@.`8mENLud2,c5,BY_LS"a#n+!WQA,H=p*Z?EnE+s@D@NaRo;Q?O*<, 106.811 + ]/P%L"+!2$I2j#`.l3r4NNZuLuT.XN04='2cfSgd48`SEUZ[mis-\EUg>:.at:Y'],ch:,T 106.812 + AM8Z:S`;(>I4RBFFes"P.P:Uc`9:0n=L>nBiLlr4&%'DHTK^ec6sO4-Tjp3MKS97i@JLNMI 106.813 + %S1J(\W)Y?d_mjsMlOg?OuKPZq"IQ4%#QFeBBE/sMo(6dF^2l5m!&!FSb9efF$9H0Ia6ukm 106.814 + YH0bMV_$cH)Du`Jg:GQC=#GDhWY=$9.mZ/>Q-1M:jcBZ>L*/X9,k"1t#Zdu;C<?J"AAh(Z# 106.815 + #pRSEruk(-JNUt<8#\'e0Q`t@\sc[jh*Ygl1r=BtMI0%+OUdnglCF*,KOG/)-`E[>QHbiL: 106.816 + flu7-1pnp;t:Gn-7pRAm](Q")P%paaU)MHk+,KR>tV-0MlC^TIb#uW=U6lU0X[^9f#%ciR? 106.817 + ]XG%Z6deOt_^WlccEj,-+@/F^Sub6RJ)p;:nod>DOkMW)_!;5V`LMd4LA$PtFKq8jd6-oq* 106.818 + V94fD3JAg]/f*'HpLH7id=eW&SGZkg[7.O[p^;(Grt':#)sW[L*oj^#=u+d9IK0[-$:!hMe 106.819 + <h(rhl.EF*UZ"=d0OE^n9g@X/CaGoV^=.OE64d73n/100"i'FMrHr7@JAR-1Tf5ARRPr7Kf 106.820 + `EB_BCi)-SQ^pV$R_Z[AonFT1@$b1Maa'^W^h]_ml@98G.W3@Z]5eXU>ML8^-kg-ZU^bhrb 106.821 + ;g:VFr3C'(C6tp-qUQ\@^r>Ij48/MIkDKYB6[s<@Pg`78,QmBe+F=2ZO$QrHY-nMqFScF"G 106.822 + lQ]0uP=N%F+_HcNluJ_4tWMj%55`me-O`"N)HnbWn4/ps?pH3rI-ilk=3SqF%j)Pi(W8J-Z 106.823 + nl+P7:<gYC1uYYDIM)<X-q#LLKG2%Y$F)+Mt_)T^S<&n'D]7;0,ZOU(dYD@E,\&8;EqEL"\ 106.824 + [L(;Eo=eA+Q\HUE_gImXN]4MWqOs.A7<+V!(9:G4T$+c(Ll<EaChqF(26oRm&P$&N5(:#(T 106.825 + $QD*cJ4qg1Z,noe9RmRG@!,T[eP4(em(D7DYiu;=>1A8X6O0bc<h)>$lW./:ZpM4Z!8GF.> 106.826 + G>C/6=`M4bYLZq?LflDC@9Uq]3]2fmA*3pLpA1d<06Qj1e.2Q^Y'kc@;59CYrG;af_ZA9CJ 106.827 + )"034B^M)>4?M<^EG4)3Wh@2</\:8]aY+8Sf@0JT;bg\Oa^4[e\fsB]9]:bV!YlRkpBBmU; 106.828 + Z>@40ZHr[lEt>"6'JPNS?tR.KkPctC!?,J4D_o0Nh%N%XAF/`@?2Jd5D%kr.c'm"Y,dgX?H 106.829 + ^:8!"DKQ^"jbdRON+H/_*f:l=]H*c@GGe[PrY2j"QTa'[CA"'_oXaW2D7$0X=#'T!Yg*Vf+ 106.830 + kbPi0?D9s?Z0O4kGuLjW?G4-816:q;</p]<)9KQNVhY+b5Pfu)eST9nCEBh8HSVYE'Q25>r 106.831 + S55P7dCe7c]fONkQ#tTi'uW0G4:U/OgGSDdOtRBQTl18;r-.orVr_[X7qG`mtL9nfcbL*o9 106.832 + T5+&bl3Yd-^k#KmeEo6)bocQ&Od_7A&X,Ihuf0T;Tbl5O\3#q<5DON^)j72/l#A)INhlp,E 106.833 + HI3-^0AlfGjEg-Cl/S,#@Dl]%MZDa;b#![I)jZ,`fQq&Gn35pR)#,-rgDbeW_"VsE(VF8%q 106.834 + Y(bh$uLbom`ETjej\1H(B/=Z8;e/L]bVRB\J5[3mf3YJA)n0C[-M'O31$m,a;*/0UtUX4ZK 106.835 + dtU1O(pNWW#m:77.rgLrNuj3/5'"_&lc]Va]<Pi$V\"t2A1Oi3R6m,f6$r4@#an&1PJU!GZ 106.836 + uRY5F=4(F'1<O#Rm@;rW?85cncl0aU0n8$;ij-CI^pFb7&3G3J^ubAgd;300uM:'e![:*:) 106.837 + e8hLb!PW6_Zo#<(.B3];.)Jr%UHq=$,1a5_N.-e#3O7;^tI8^"A[dHnG^&=[1[n`Z+*Y]=n 106.838 + [d9=#1^5J-39q3aPP2ET'06<mTJls2(l,/u/378-n)g`FHt?9T=-`O&CYZua8RLI<ib&d1V 106.839 + C8=cAn%h_J07soX'ZuSY2J#DXG6'Qc6b[<pTI`CT:Wp-%<ZXLJ!?cVeW8/tVt$g>Y7@Rt<S 106.840 + 8:5tY#b4>VN6!H;83AFoP`*K`Ku8".aNT1PjB9SL\3IV[73emflF]6+HH*%BM#<6aClZDkL 106.841 + ;W@n7\lJDFC)rqS]UMbaK0a21o$bsZc?M\4]p/79W,gFW61@(b+u&[[&_?fXNK%pb2fXSKW 106.842 + fo*Yfd`c9)&Zam'Fl'[*)FVb@J')FLTGH\BC,IbG;_m[(FN"]Z\g<bN-C\oY8TQ^s!M.)G! 106.843 + ,[)>h@1\])@=3*_u1Cge>ERg:jjM/+S4N1\-1@nJ/.bbJLdjH@T[TKen]6<"iE0V(o$Q-?S 106.844 + B8X$j*g9SgoU!7D96Nd2,eCbrI1HEpAc.#GnF"08ibQpnoM,`$?b9=W"cj4II#rLd9lW?X+ 106.845 + M25-\b!bO?Z&64m+,r6$:?6H@o^C*/nBVg=cQr)-2"T$]oZpM0cXcaqFSF+7ps53#c_UE`[ 106.846 + /7C"M9J)I);>&,CB[N"E^(e[`;@tIBRrDh!Jrpe^dQFA'K]"@N)3'2WU"jo1nIOVRQdPPLh 106.847 + $ZNeCk4?$&N3t,D=ak*=B#mcV;@e:k].1bl^['%+,')U<K")lll_ab;sl):(W(U6R`=9&lF 106.848 + nX:/H[Bplj(\&r=L;1L/U1'^O2$.%!:dMeKPYP]mQ^mK)DH;WTOZoe4bt0[gakdj6cu2)E] 106.849 + M1t,G^dq&0ud;_K?(,c<O4p5ap!/s)THrHg,0f7P)&h;Ad",TBd]G/`:bY,a2*@b!kLikhi 106.850 + /J$-gQrFL7e+A4@;jBop(!W!bLuh,@]gu)86S"Ws[q*Fg']Y$;j.oCB`a(dXe9o[mL"0R** 106.851 + ha$+]g`9E:JQmGLi#`3Q!`)CF:`uU;Q.#EdG><I/K$Q\<b5moF_B9ZB\&G_etm-4[;4@4Ct 106.852 + @-RJu*@:I;d^@E)u0P<o%fJ207A<FOsN8f4B-WFa)GkGh84+f;3fF[<pNEI+QnsfB%J5omb 106.853 + TtJCj!(fHHI-H#TH/(cIiT&M6>F<!^augFlie3kR9U6p-9J78So![Ts7Hd]V5AOLsl\;B9( 106.854 + B[>iI8@b?cr]1&"0]buZDOBAmoZ=(OH_;A8!7jo&N8NiG5,o9)M);'ni;/J\G72`^(I_=<b 106.855 + /i<UG[?jaHKN[(3#jmQVD2h^%(0RTPa5E39SHT<%qH>+L2[\tW*F7>cAQY_NTB0J8FgmZn_ 106.856 + @(I_N@e]R-l1RR*/9`lR6@^2]0eD:7,*F3N+8BEBm8$Z:VXT>_c.>^/WU/\J#*lZ7h[M20p 106.857 + t3:_H_f<O)fe,Mg#k`abWXN1qB#=]+R[(JmBTH["H[14iXZtpJFJ6glc\PA^S*:Fr^ZXZ`T 106.858 + il%,"A'2V`o#]a_>PaID"<V;0gjh$r+DUCgeV;r&kr>rrt\9uB=X;ma(ISOtfK"GKg7T#OT 106.859 + $?C@4q8TnEFOP^M6hci(K>`gOFY9a6r28u!;/Ip;gL7+n*N",3LgIp@,01/J!:^O?\ZZDPZ 106.860 + oSG`t2b!\TII8%3ml5aRU>=e6!u>&$oiWu(?;$nt:"k=abM4EVi?:8-bq';E]*p:(!GNO/- 106.861 + 5X$K1H>3hhoN[QSeC"tY[D$pQNR<C&14Zf`EQNA[_+j]E/*?d)n*C?3D#dN4#L-.k$\rPWo 106.862 + `uSeP&HN;i-_=g;5u1bO!a2Q=<N(@Tupn^*co*S(`#='RID5ANJNCUJWoYeBAlk4fID3[+1 106.863 + G3QXrhr*']ns.GcsC>l\j(ETQ52J)Xn#RjKNC?2%eL0SmiZ0k->W:+i,M0?!QU2qW@+ZCb- 106.864 + 7*9@r5P+6ZVOW[EGdpZ(i@:?sbEn<I7;ItrjiSDFS7%QMA56qmPjJktLfrl@Fn!E9gV;c/4 106.865 + g/C[aOCdOo-\c"J]C"CB1*sU[0q*PHAPn/EJKo&<1/]X"->"Q;5%\b?_-9EoH2XZSHsgo8e 106.866 + Vtp3o*XV2<Z;YLft<5Qd%9B&PG<#8k(Vu1P%7C(9'3f,OOP;=c@/#r35pVI=tX82V6.MPA6 106.867 + CO3j1pU85f.'^S-D(rVS,LFIJ17TK&\S/BK<6X%YX&oY+4?_Lc0f3IR5RtZS2/aM6T]e0q2 106.868 + iG!CfC]k^Jl1p3E('HIW4W#k!),mX==XBB_lgl=QoUL/UK+1UI<:cL&6uaW*RmDa<H*M]<9 106.869 + o$k_cJY_mU-R%m)_DQsaJZ\jDhlTnSW`j^Uj\EfHk"pV[)DS+34V%AZcPXT*l%TSH/<ft<h 106.870 + L9*k_IMrFtif$@>Cg`t&,=Up!`fL\OMKSdMDTNV&Oc1n6CrXcO(;1=VLME(@lE1le\\H1DG 106.871 + t4aXD.BeYXi'HT4m]&sO3ZF99.F0>g(WVnD2-k`nSho#dH+EWj^uu(Z'!(g9];T#mU5;GI^ 106.872 + ;m`k)]5j$5M#t.)KTYknCM^$m*]3f'eke.TS)/>HZt%%c\/']nVZ5mntEn"@h*Lmq6n(m\] 106.873 + IehWO9lkjPbRDlB7t`K9QA4H##5n0\;,0'2R5"I/kq$YJsEV(Lu@(6QH-5mUbi!6D+me0su 106.874 + )Dj]KPPhubgc/_G;.djHBA[:J/87IllRd?P$?MlV1rpWbGnW9=+qD+oHC2ojdn`LsM0&W1a 106.875 + o'hC_E02)tHe4$l[uRp9N8reh9U:Lh?.shJSGB[8JA9T8!!phTADA-pdZ<pR+*/5Qo-Z<b0 106.876 + duSs^C:C_!!^7O^@cDU]o85l)%FDb4l_QS.b%N5>ug*I*h`rP-42B6#o)Q4"@-K1ORiu=oO 106.877 + gYcG=V:V!V8nUM.pT+/SGnbHAZo)F)`.-G]I5R:W/"+`0SBh-ADuIj97\Nh/J@RmKF!%5me 106.878 + jqBZi'q[Yh@Broo`2ch(qQmmZl0@.kCFp*X=0-V<TjQ7.l=F9%s*k4BSK=.6R"^Fp(W$7b: 106.879 + >`JA^*<*r[urr!23Ka?cbl5r+o6fE,ZK_>X\G@u*nGB`e3a*'_9p0H0[8>Ps/,*B=8^uh_g 106.880 + EE[=aY]IOG#g.H@mWBp0%LD?CRG*+bDCAW4IktJ%BU,@W"q;8aEoQO"j5(@,Zc2^6FBqL.U 106.881 + CNmOLdl<C32nYrk426O@Y/IBKjK:9Vs:9cY_HuG/,7/+@\FEY!V:MBGkr5MqBr$60VnH1R7 106.882 + o/$RP.D(2`CA\)=/V<lmGZs;&"!4Mm1U83CaW7Y"tS-46><,k5rFP]s(jU3]mVuOY<n77dI 106.883 + [?i[eRq>,5fdmTus?D0aj&#i8"TKj%ipb4tsp2_7YQ^kDVEDgP6RHs`HhLS4K.aS_CHr27\ 106.884 + o3mf,E'NS#-o]``"8e5cGJ\<#!6(9[74(\2>\;Ue?h^/Z!1GJ_.l<l3iLaqe5o.&`)Onk)t 106.885 + g)Lh&e;G^?mBVH!;?t_WK.8MBHb\aR?uF0afP!#Lqe(,T=QPE0P<++U8E<B@"D/n4?HmM[@ 106.886 + 'O:4TeGn>5=Kp,!,hPSIqSKTGPD,PL)7>CmM@#\DpFKBj@>O>%[B$:!.[+<:\Z1N%0n5s5S 106.887 + 1G8_Arl6+!OP&@id35N'Yoi\BGj2n6&:lZ.83,.1;6=Ui8mf;HF^"b@I[,C^JQ2BMN/;Bft 106.888 + LN09=7enHk_oKc-2o-1b`n2MWiZJ1:%GAQBZT-I&Q0=HW/Y5)<0IQ)`VKWf4.,B+q7-Su6& 106.889 + '^Z0%-D9h0c]O#MX]B/bbJ&#H2=?HtH%:VG/E1":M2][t#A9(g8VH5@9b[tp!]]OE$T?q7n 106.890 + >!44!9rHKUF]uIj[p?2iCj'#GVUo[oghq=?^#o';J:DNFS2]=ANPg30H!D0Zs!Bkl91?NXG 106.891 + ?5!slr^k/0"$tbh['")?7'l_*H7pqR.Acl[c9f?qP"\TbdQ?(RnIP&s$^hNX.^pkY_FRi_q 106.892 + J&)!br(;,YW"EPJ:j!U5uNSlJf]$.nY9'5**"LYc9B,pn'pl@QOOeX&>Pt+R&ZM'IbO7],A 106.893 + VNW]LVD$rh'aa-#_:+35''Kd"O#/<(mr&knQ:ac^J2-d!'\V('QMXJk5&Y!\0.\8oKT.j48 106.894 + 1Gj.8Q"*St7"l.Wcc#Z26,::8QjZ1Uuo^)1L.\'n$6P-j>[_q=W2[qW!@PL57PQX[35j2V' 106.895 + 8#*:,(B^^oRMQ77oKiho^IXS>4KfH6:;>0!'$.jd8>IYc,O&sI\?&\iA;3;>2/QQin\V$=N 106.896 + toW^?e?,'KjiW"/WF8n(/:'*fp6KGBA+,\V&m11`3h1hDFD.qf+Sk>(><U=OEXrr/^!-Z1d 106.897 + +*teLFJk6W)l1>?.t$$:?u-FW+=U,7o/M!lM!#:Oo1#U'jgEb:W'`?PguCI\9bW(9AiujnP 106.898 + 2!3-I0,`!T-RKHZ__#l#U.U<APTbI,fa[aifi?=fObAXV\KY&0Zk):!AqkF(adTBI1'KZRE 106.899 + #<Ne"/:0kD7gW;OTE+j&4[d?-h1#&afg<R+.*1H6aO%"7ro2=pKJn($GFABWF`0!_OK2jTX 106.900 + &QbXo;Hl>]HTohZWG!&&W8`Xc@Buq\h[N(R#X0lSjkN,JK(%p#n\Xc$;PLLo2*Re[Z$^:^Q 106.901 + uef/7FCau029pg*D]\copp#,fCfJ.M_)B(`fbeoqI?:u9YH<bY+1s<L#>MWngNnkl"]+mE- 106.902 + kh+jtM\[>_KdlVE<mHIY(shmd)\P]l&W*,7u&i1ZXMk8NO-AU%"D=Vl"^%.84Sb_XGIJJ&; 106.903 + $&TpYrt]NZ?/GL-bW]OD`A+=%8E:bDr;fGt(PKFrf4:'s9h/8lPu7n\U`V&\*/R,-e!K'>9 106.904 + H/ndqi$u>\^O3*;DU]Nk&ZO&@FOG5th_Y_qa3(2k2I5(cN:<B74+E+giT&L7i'Y9lHn-Sk' 106.905 + _NMus*%E0Dam29\QsX((%Xda%/&F5>!JjtdMp[P?7TdnQj$[U@;6DfHf\ILjlksuK+YLU]] 106.906 + 'dY7:P)0jD^S*S*tg:%O@c`E-KgR'8UCneAPM28;@:<D0nb%0/k*[%lpkNJWJ8?#8WcOD9& 106.907 + E/>PN3WWa\mm.M0rHic6asYdP@^>EKQLiiE!2HWoYDRE+i+!!(JD[0BNDRQr=K(9Nd?0k![ 106.908 + =Z7e(7a3&\5'o!W8;jkdfCX#83Cfp^r$ihu@1nfkHO,8-sW+O[^uJ-9(!Z]KmHVt2F4ba4- 106.909 + K+H4KE9+d""H9m4_Q-0GDoB-e[SqZk89/6q18>M991W[R3ip'#MI.3P>:0pTY-Um7<)5C/K 106.910 + N`"Ln8*L1#AS3b-**7%GAs@N`Om8&J'\k$LKe]GV>]uM!9)"3hWI-;k+2[(Q9&Gde0G8P5O 106.911 + kJDPaNZX`,^"\o(Bd@nYr.>JN[+T0-W(t"6`B?6L_FHq5_'#"I0s,/PiD3]@OS.9ocV7NKa 106.912 + C.\%4t^^<?5-jm9T%sH*:69^/s%e?g/!D+,aQDa&d6.ktE4gOGX:l8nDMsUGST:9SCM#7pD 106.913 + ]YI'U[)T2ZM(8EJh9F%WZl'B6W;a8K#Foh9t$C)holbMRZ2qTZ<*S=_7H6^0?bQb7"*C5A. 106.914 + R[E8q]96Tr1gmK7T%%=2#HSVSI_rMrYg%cD1C-drtlB?-mJXG_F$g8lLYR+LE/)/*immZKS 106.915 + =0D7'gYI5FJl7V0%-!>Km7HY2At!hEC;Au/<+c8#46)?;SiO5iCID7)CndUo_[QI471(0]2 106.916 + 2rD6-3,Oo@k5^E8&NL&.S-r.T9A,e:@(#F*&\S@A5`oN,p)%5gn:a+cPVf(*J.NU!6!/4nJ 106.917 + BdLFJ'(_^*u8:j?/EanjZ3m=YD+4gmreqSbC2nlMO?qoh($G/:n2>670e_O].3f:9!$jU@P 106.918 + =a8tF*fZ?:DbHAZ#><YVij1p`B-:dcqe1On[P\]SAnj@Z"U&Xf@._]*i!kI,R\DF['UD"ED 106.919 + C=D6$hjFZRm?:*p3(=#/FZd,<78md]da)/&NQTQF'F/^J56iM]S`VlgnD%+PN-R.k>D6<KN 106.920 + \^sIgj(6`k2YI?efNSkq'`7'%19>])=7X?rji7[o3Q'LN[n:L#XH0clf@sMJDJe4BBPNHtY 106.921 + .K1(DHkYrh6i!6).-t:S,3;+r827g(7I?4[dc:7q;4q&D\CbU^A%p6i*6e%DA"D5pa6C,;\ 106.922 + e!<,E]9>qVQm#"+)oF]THrC-bqhtNc1Jpa*@n5jBR_,n7W?Bq'RWQ:fE+UDBB*75$$YsLQ: 106.923 + a"TKAi;/*C+!O7U)6ch[l4J_<RoFC'sS\DKX;>qOHEf4i.bL?hMLmrrU#)]pjO@iNN//o0E 106.924 + iQhk?']tF*EG$`GHqaYAf?*A\EM!<,EP#gju""d5]Z%5[\#=uJFQLpd%hrtAVn/`+WG[Cp= 106.925 + r'uV&LBbS2NR`K(SlkEM^Ob&'+&(D'MXsag_0NdYkPYXZoNmU,1<cMXa4)'r-9,CZd1P^CL 106.926 + ThjAbh)SQlN=f/QP28IdehmFkC**@pg4QkHs_m'c&\dFB,YG$7<hq@H)LAm;?cg?28%?_g[ 106.927 + ?0FC]'7,!e(C3r*PNUIUC@qr]b;C>X6DYqd;NLYEJVK2m2K7^l\E5=U:/moRGI\r%J!K0Eh 106.928 + Gq#lq1<i(i'qkj1'CgaOnN1s`&aa;F'aT]\!>!peeF&2=9+3<QKK"7SRPX6/O3T`JXKVLc> 106.929 + _0NA9EYl66.no,k*DDHJ*YXiX[ih4NQ&46\;k23;Z][1p00SKdOM$U>EJZbOHO4`9K,_@W6 106.930 + #7tuJDlj4r\Hq]+9Fs&gn?iXC\I5XT$fu@2B]f\?,6dPui,C)tmA14&fLW6Q%C"e$0]`d`k 106.931 + mjIc!@ge5mUY`]jSFZHbV$4$KS]W/])M3d&EA*HnIZ@Q)%j+o&b-tcmi("7i:7HT%++p'/- 106.932 + buZ,4@pV$=Xk@d3B?8;\;ku'_,$80i\s,cD6;f%l#RFA?,ba3qk9[pQ8Sp,<HUeFVh<2(\* 106.933 + %n/sd<rkj@i-k%b`a8m_6fG4RGB)<PWLOeE\5W>`%D)XV/J$O[_%PmOB3Q]X[+n$Mt34W>! 106.934 + W:W,"iDG_DDfc@?R*V&(k:Di3@MZHR_)m3k+.0L^[]^+Y*8C-l=/BJqg#U$CK+L2S&1)1sQ 106.935 + (jFB8%$<1^a<$#;DW_S_+gNdn&e?3B3?tgm,P"*&dN8usnJN`"*"ZjU:i>9sUEhRf,B@':1 106.936 + 1_eQBdTX.,]U@4%@D`DT-]LN'B?C6&lU.)FX@`X..WKL16j:u7jen/YqdT`0[a4Q/LcfZ.+ 106.937 + 54J1:8WQ\LXDt(lo[b18,d<+V5($&4D9bM$kEoN#r)W*T;SZ^t]\jQ3hTr0%0&<o(=Xkq(E 106.938 + BZ067(FTtV;9C,-sl)r\Oc',<1,(GIWc0(TPlj!-6dCGE.I0p==Ho'.u]U_9@O1@m@[1E%) 106.939 + 1edZ+<1k=17'3-hE!AgE!16Ycr;ctn4-qCSJ/(8Js/cn%r.NQ@m2tM/O-@m][.4ObS/;PA] 106.940 + Dmhd%S4M$m+`YBnTmdFndLs>0!E6*^'<aJR\N=lG4&`sWZbnl`W1jA8*J(.-PJo\+^HIe$4 106.941 + nH!C!N7b0aqI_054dMn1Z:CT-l=)`%J0*SF9OhD;?ie/16`+MZi`U8ofQ1N%HAm'PQsL\of 106.942 + f^!#L3i#F+lu'38e[JN&3CZZp^^"Kba-e37,hu.dj[foW05L5j:rsd;6*#SG8dU#/G(B<-: 106.943 + Nk_*Z$_5#c_mFG2nWkTb2%8FsS\Zi<T2Kfi<J5njc"P_29o,=dup6F4m*dr.Wr\P'#l6g8q 106.944 + c1qcRoQP+:t"OiDWbdL4XQkLXh:#dFg"uOC4fg.FL'S'3fFR`.+o1sK,:UL4!Pm'tA<Z=>$ 106.945 + 'a#X#iNsP(#uS)4;:PnKo`J&WZnaKI'bqlj2'l-X3DX-5)'K+o<Ad^_2cO4!$36_SPthZ$7 106.946 + ocri:c1KL6Rc$c8QN5B;Y2U_-=9GGa]Glu9B$p]0S*<uLfe\g9b^Md#TT1^LKUAr/E3nMU' 106.947 + S*(@NgZ40N#jY&^'ljm5ss4=JH0qFhq=*aJ:Qa%e\4T2:<95fj(r?9\#1FnoX/q,p..(/`G 106.948 + PA,V_b4%^Q-8`hNJU1=%(]M-I=&>P6i+[DcQ4).Bro@IFY3031]-BS%ufk2VCWc!(HS%6HH 106.949 + [@M.!i<^C8>8S#8'n.<PUZ6:!&qZ\G`=d>L6[PfXV<o28.pf9I;p-3*I=(-8tBD-mi2MB_% 106.950 + P6k.*1+e"qEVj5j?"0`U-`ucM2Dc]H7PIc4!#)+![W2CLGA(cs6OlmoG.h^8a_\E0f%*b&P 106.951 + Ya+()I@2g20PM'WfL?D""J/^+-2I_FU;&kcQLfT6l*a[[fp_p$#lp;@Sn[2f%MD=*]1=bJ^ 106.952 + Vc'_5D<`3[<pi`M45$9YE$E%/dP^F14GW2aqh+=WVIP37$2%O;K]*Tl&giETe?%:@Q`M.TU 106.953 + ZT0p]"Y2b5gWAp&[YRc27&_0pPOHlSi5(di:apNLn,R<c93F>&m$:RP>f*]n8#HL.I3e5WW 106.954 + +2.-Lg7VZKN(S3MYH8<_(bk8!^D'U?KUe.8'$in++5r\rH0mP\W9K*'$GP-H0q1#`+FMj45 106.955 + %oX5Z-;&JiJWZ8m<8JVh.^YpjPIJ5T`/f;@*[\uiD$As;KSb-Oj#d"uI\Uh,==&WF8VFTI8 106.956 + bWf4<[hUY-"[141s%h#!rZ=S$G^m^C2APYl$15t@S%CsITPc_eTB^!H%u*RM"m*h,`@@39. 106.957 + +`OOD_a="&/u:)djrXs$2Ck(mHf.-nmtOIRW6Da_n/r9%;c"MaVcEpcXEm6[nG8Mg43@39? 106.958 + 01D.p.Gju<]?=:Tn*0%q).2#+\CK4Buf!1arN-1#Tf7"L=r_1VN:A6B)!3@0i6-o:YcATa2 106.959 + 280<Q)$HJm=AuC?1;E.Lt/7)AV9-RCabtWUDrZY<Lg7l%'il#m>6ZJj/cpsr>XXAp>#0.S- 106.960 + ,Gk<mU*WJNCa^$M.QMr>\J[Ih*K@UT6T=V"\YYa?WLBRSP3u[oG$,Io>_+f+GZLV)!X)Gpp 106.961 + b?rq?]l6jXDk<$W5HXdC:3mc36YEGU9ik>SToB'(&`=8?GbaPW9]g(l-Z,VCRK7IRB<HVp; 106.962 + <?Q)54V^U$$!;'MXc.%>B]#6PnH&lX%I9ShP?S>``/7q.G*URshbZ+pgST+aTI7l&d7n,74 106.963 + :Zb07lAi2WNVR%an`_&0cDl&<_<,l"AglED<9+f8`K#'gnQRLB4#&2q$eU)K`*3i-q#R9ji 106.964 + ?Jla-kQR3V\*(C<([=S[o@d'`-*HOX#+*'VIH'0`&4=_?$;QV&bQeGkXhRUE&TRm*QC%/$S 106.965 + pmi;L+pX'tg4tU>NZsA!8(s</UM6_(Vm3iSZ1`lt/+7UYa-0%7G"`:>ir[&/2I8H$0,`*%& 106.966 + hkk?n4*%)UEZ>0)I>)mK!RIgS9f^NNFKMtb<m0L-#(`)=UD#$F.$+gL_rFO3?b[IM7C0WF0 106.967 + F-"G)qhHS?CuiPG596HVcG`^nrgq,:-'c$-k]9A1nmFa,.aOqkgG%\>_&57EU'bLh![d^7I 106.968 + E#NB;WLH\8<Mh2&\(^AIH82Bf*4/%MT#JM/[-Gq4K608G;1WWF.d/N:K)0ZP)O^!&ZrqX(k 106.969 + :rO2)rPK9*"UTLd\fsjo0RQL2\4@R22M8,;(^X\["op^ZrMh[(pL<ki:'*0rnJV'C$K,\>D 106.970 + ln?0/H+U.L^#BCWg#+JULiQX+PIj",HWlY=F0Q\EOh<ciRMBc]8]n]Jb4N6_gR2B8T-'Gq/ 106.971 + b/q"n+FdU2/@BH7bhju!qaM<efrG7?_#T_=uXL2e0DO`ZU4=lg695f43AN*Z$YfT*3mk=$. 106.972 + ,tpb>KQf8/mVg9onjZbg[*A][T2L=i'+g\/EK-4FPL;I@ijY,)V)HC!=m36:(sB0ErJN7!9 106.973 + Wfe/^j7:>K4q_;lR:_3+X[d+r\h@HH*K7G#5$f>/3S4`b.^&Y"!QJU'4G[Z^prc'27K5f"s 106.974 + Th',Aa.AM700?TQgHm0[/MAn+!e"SU]>u/;g?-#)7H`EChS>V>CZuqiUfR;^eeA7.Cj'7"j 106.975 + KmC3VL9Ut$_FU1t/6`%K.M,0-INH<si8A&Fi#WG;&cjmRg15V`SFs:"$"dcD_Ybs1Ho)tI/ 106.976 + pQ%Z;4G(nglf7:=jMNPcop^V2`olCmH%SG7'Z%n)7A?BNo2.A2nD@FI6YB?Hl&B&IK74C5T 106.977 + V)!Q%"sgiWOUiN,dl@Z+T'8gnHU2JicXHYJM?+YFB$d_C<e4+cH/!V-(_[>]toiDLe;8jke 106.978 + Bd_<L?3YS3Vam5>hAPg<Z?qob/F+BYnLA;sq.qlLbiIcP;l_&`#WSh+3$';/e=5*%u-WR>5 106.979 + djFE[e\2:fA/B5@W\3^@oG23&u19.ED[2N7<^9/p\n_7M[#(1?E[U8,;iUsrkp$kWA;=0Di 106.980 + UQ9('ZO*u(KR)J7UYmUTnf-:>"-G9gCK1A-!5FV*5n3X<+n;-Kn\Qt)s%7,JLV[P4`Be$j) 106.981 + >_=%;tRq.Z^ccd_8DjV*%Mj_GM^[>+4^=>f`42(U:p-XQkrK/Y+n1onglaYiNN9(dK<kS+9 106.982 + 2Z]%LE;k#%8#:;P\%b9*0Z@n5M)Vs,0>+&X_'c3?=/Nj:W<j)@%IM7bSK>e?#,kP!G(l'P, 106.983 + I820@+(%!g@@q$&ZOj_:V%%Q-+Mccm)*'b/$XVb9Ufl2<V<2g!6Y&pVZ)Ypj?eUbel1bo'W 106.984 + ^</hCr<J&n@[p/8:)jS]%9WT9g(JE<Hq0g"bn/*,\%gds-@IY2)<\G>Ma(+ZX*0sALQ-3b1 106.985 + )4]8r3M"K/oGS_cO%H1sC%WC8<j,Z.f5('sfCmJd[=2uMH_&aDq6b\<hq3^n%Gf"`EOZoAk 106.986 + :R/pkA5G]2kNf#ea%@JrLT'g\_Xbk.hHP>:$.u;%XfB?<FJ2\Mo?l;.&VFVoshi<)&c$)>= 106.987 + Q"A&$uD!0$/G/4?u_2'*U[@A/bb>n:W"m6?&_N$UX@$1CZ]jj?!l>nH;2k43dqUhD\0`DVm 106.988 + H*4:J;UmSfL)\\W)OfKb9:LE/]S&0i8enbL3K7a\QXJuX^G1uK3+@)42kP(V@8-/j6Oh`^1 106.989 + =ieTd=,eCr;b+g/]/Fo56r6*=.E.^F)7,'Xpo7Z-a:335s4&5Cco0#ljjSM/;oE><G7'3e8 106.990 + 'H_2Q<nX_iEaKY?:0;c'\b$O`Hd_$31JLe=;;VZuFT@7q<-9+]9#)nb^o&CI9."]0j:u,9e 106.991 + oNEXobTL&2#&7*OrI?G.P_F016;:R19?c<!Au"+AWpb0p4]8U>'?aCCKgGNZY`oijh#G8lY 106.992 + QoV`:Q2*g;T".)Nmtb%3nHa[fZE`3;91jGi%ZnOX&Cic!&09kID7W#'_G2K-Z%,&rtRWN43 106.993 + /$&@/E;TW/A\X!l.:a8emnJidP:Q>SdHA9fLpP@XJY;jCp>Am:U5q1S]d>`hJ!hpH7#Dk.C 106.994 + 6k'N]X&WJ(Sd[>tRm%!@ZFCE$UhO667qM(Ydl?Xro@,GNV4+B$Irk!A^nrO$[)>b`s/D$80 106.995 + /#p4"?9,F#f_Pi7mJEdH]5IMco=]'hk52o3r!*;?`7-\\'jURQM6ES7VY&i=g5dJURrF[XX 106.996 + B9i_goj^]b!3#7/cd3E!?EN&Oph4T5[po#aLEjFU?>S[o.:RZUahnTBZofl(?aLtrWe)7G^ 106.997 + _#uj*:PnPN@'"#&+d\]L.<(nRs!`jhVDVki9hb\c9q?#rb&m[tUHs#Q4NZ8-F-#n(T[CJ-U 106.998 + MsIXe9]qgSRcoDO/gkPP8kG6gDI3f%bAh<?npAE+RQG92i';F'n?1shDV;fGa04J]tiL_FZ 106.999 + R,eVJ-3'[cn&t/i?Q%LmErsD='h\Ms9B*cm($cH`+&n4Pc56p9WU!u/ZOS0b`pjiuc'LR\2 106.1000 + Fd]a:ob(E5kXNlpJN[W74CXI=MM6o0USf_A*`Eu!bS\J5LqlHtlsh/GhD63]313%%CK%JQs 106.1001 + ,47SQ@Mf%!rudLPVVZ5@s!'YOnM"0q#MUK'SDL+Sg0<;P9NNH95u[E"MInR+\[5Q3q?8@4L 106.1002 + i!M9Sh)[J::9%)*gX;0HcU4IT$D!:jU'-X"hN-D@OF_)!-REQ?(PZ96k5(-+(4LP0AB9On) 106.1003 + pN8BVlkmUJnhOY:<;g_I]9`!u6M/LEU&RZgK\N^81L$p`DY@ZG4tRD1Uh)!dB?'RUm'_`DE 106.1004 + 5aW@4MF;S.d/14]^Q]]@G7nDu]iP^&*;tb]:q>iip'a(+n(5!J2%fk[$#Ed7<"YU)M0F,ge 106.1005 + 3pdu@TSLHr>aQ8$O.6H7.R7qkR-c*X?BY@]:dKXI.uXSg`sn_?.VH)$@C4URdqWS:LWiXMU 106.1006 + DuIQg2Bf%bsSB39o#*E?Dsk=7B(Cc3!KHs4t:D;WcZa''/KtW#,'JG[<AP^!R*8f.>=W5b- 106.1007 + 0=;cTU<iG8r@!g!P-)>\fUGY*ISM=*jAoUcUE,BmM-,#b^#"qaj:k739E9Jrnt4))4H%`s+ 106.1008 + %:7E.3K!7k+-=`QbA/C=Y:(3IXK>.n)k'fr7I&t`,1dqW_=Be^>J,$Gpn6n3U^NjcsXe69" 106.1009 + ".a;2+f%R@Z1C7_H<M:*\MRHRNo5\_KbINrtk?RnXFAU]NJ2Al*,!,a3>HtbkWbs_g(aB.5 106.1010 + ,,VVaGfH5m1a;Bc(E']jl]JUI!!m6q^#gs+>C1]k.G40g[/U!\McaETFoSJMbeqs]LOsB^= 106.1011 + >6"TY$e=1DsJ](^m*soN:A#9/ij0.QV.itr'?-Y(*gbbQP0u.W1crGd"'6Lm)^%.E$!EH?J 106.1012 + (dnfY[\hST%gS=S2Wg66H>pGi^I`FFh])Zt/>ZmN"YSB4TeiPHopAb#qdoja=%n13!4NjqN 106.1013 + +kr3Mc2[URE_P]p#8&3InYg<>to1$8DV4Cp7'S:a<jAmFem-Z&6*KC%R[SDg+s./GuGR,[< 106.1014 + ]"e:>CYFfsP)ef0nUi_odd[F614MtiNYuWB*\()%!qB97)<J5("7EN(UUIaAk3%slF;33J[ 106.1015 + XD!j%)iZ8UP`#%0?IR]?RQ!n*rIM1r(;ndo(Lnj#'"N,NNOofe-fYEpj7Pc9EcG>m`KA'<m 106.1016 + kK>.>BQJEE\8?@&H`R@PeK-Ro(n.rV;7J"?Yk/L]Q]\5hOE,DDf\.K8)/s)Y>8e5%ABR=c8 106.1017 + -Kpo&Yob&KO-U*iidIh?[F2_?ZCCg20&Y>i";O37f,0S9L$6r^!g@&\=*%-0OOR5H#ON%3C 106.1018 + jm;8F(r6E]UBK([uW$8-9d`V2I"TGeCD60lmC%E[Wn-qOj\PW9BhSM6h4+HDNn-0fsEe 106.1019 + 2C)61NLQ.*[kqHN4D6[D7[ppOuLe*YQd29gio&\#NY)E87*\c`:l+P]\GCK$rH3j0N^%]9c 106.1020 + mFWk7c\(_C978r%VdHq3g<rksMB,hQ>_]GGUhBT>q/?T$<PZ0&*H</ebE^J&0;J02QdZcj# 106.1021 + Mf8BX7_4^_jd4o!]md9lODF%Gk7s44_\t.6];6Hn:g@FPEQ7O'Q3huG<ihXan_PfkBK3h8K 106.1022 + lF+qO^a?Bq7,Z0jfdphTp_!<pB6I1sm(pn==j_,O];&VU8pV2ZE7O)Ln)@U4i_kIt$E^I95 106.1023 + #"TD/@E]<+:_5en?=^aoQqq\5A9m5A1K&JLEKb3h9W?&)Yl'_tS;C@WbY35F7/#0[Sei$,u 106.1024 + G%>0Rk2nDD7_t$%7j?PgC6#7?'Hl,/-HRmdd]o%Q2H+bqrJg=#*\<)W+0ET*!T8k`L3=H2( 106.1025 + Ri[>a'gLIk6>S#9Hmh=?.4_INTHb445n?5+]KZsZ_+R]FF,IA'6(F?GJJ_"s3/`Hs2#sF1# 106.1026 + %TYR6le"P/1[d__ON\T]KAR*4[[p$+:<ffA&UY'`\rY3\>V24!,4LpQbCg2%H.8sqojR-?: 106.1027 + :0=_Fo3jn8,1n@gN8j#UD&/nFAuqK0u_(74_A+4B+aC<>ff=S1DN!Lr9Eq=XdTZ7B@RFK>k 106.1028 + >.8%9KU_($Y1E'utt,)t!lW:2=W4,tRZKe.a/,iE?ldqKeX1.I`+L1lPWpe/WJKE03!72rd 106.1029 + $P7GQ:ECV!h7kA^O3Bk@PAO="@$lO0n0m4!//KeL-4(r.p\F)+kB.it?+J]<(WM9sECIf?X 106.1030 + XLL.o*.nO/abHbN3;eC71,As@4NO"0Kp6>d3,Z6A,UHP_Ju"G?J-H8r&BPnPUb#D67$L8:P 106.1031 + t>5H8SIP/X;_QnGDIepN;Rt4ask!pc&Uch`n9T;@#Z/57AA.f#@sS44JY>P$7BmY+0484#U 106.1032 + )!+D%5!n3UBF#5d;TV>/1t?X+Z\YFKeCHYtH(B9.7YKKKq4No/gV08d&Be'O<>1(sA:tW:X 106.1033 + [4BM^d:o`SAg9Bh!187>0t8k^2=!'J.)(aVjIrAiM;7#2ONGlPWS;*&Kbb0[4/&-5"+Y=A= 106.1034 + F`sf:Jr6S.Hd7kUdb=$M=Bb8CugEm$X"O'=FKT8a2.B/,&T:ep'\4fW<Mn:ZoK:Lg]+?rU0 106.1035 + fa/q&/"Eff,ih]oj\B(C6'Th^j4Q`7]Ys#b`;&a-ZBP>7iJ9/n:@*KP;1L\(T$1T#c+$KW6 106.1036 + c#:_m>*8o:,L63AC""eq+mOW:TXFU,j3.!m`ps-69=PMTQQ>)`.Ct]L`eM#3T\C;Fq?@a8/ 106.1037 + Q+jn-dU%>J4,X:orW+FUU@epHR/H4/Dc#r=Dg8&Q'KVcc[*MfqH.]\&4'i67D]3kYtA,JZB 106.1038 + FA*_bLEn:?4?*=0:J::&LpW(G8O1=@)Q:-B3(O>P@M,uS"q;JddZI4/!Q.8l]d;QVHI]e!( 106.1039 + +/Q1CW;XH,8r@h.Z0iK)J;^jJR>r5D$O$!k-;f+HlI5k/b3E)J0;lr,[]G6?h<hL.Lc@d.a 106.1040 + 8\IllJPkq)Qi`=D)kY5$^]fE]*1D^J-m+6c(d>=n.8!:]V'=62OACin#dkpV`DBPD;,nW7< 106.1041 + @q-L4]GEU<E3=*<Gbf8eMI>5:5J!i<IJ(O]j+R^>uf]e;fh2]ANds/e&2[o)n]jmS4!o^Bn 106.1042 + I\iKH4\H/+u`]bCN@.Z03pn\DogC,hCYt!Bk?Obp-(#:Y"iQ="SJp4`jb"F]Vjl=)E._79J 106.1043 + *-NRb.Tf<'C$]mNo+I2/kkMZmM;m/9\=5VY@(9$dRj4O"nnncd!e#e\fG&11M=76Yj?(c8# 106.1044 + k4`FBJ\Q%Zcf,0Z?3%Mp)O]`]f=Y5h?4d9)DQ!%CY=`'L.I@+/sR9?)L=fn/r]pr6MSQXd? 106.1045 + =m_harLd='TirJ2=tQLQ4eu7UV-7+k$H78AOGqhjJq6q%>%Oa<]rYD^X]jP`>4&LsrNKK8P 106.1046 + h?4&Mff\8R1.>;\iF<08%<(@8Dm&V&=k[L*YMERPFfeXM[DhA"V_e6A<7HU8;AM.=Nq=Lm1 106.1047 + 39`O%4`.g4dR.D*s+2VqcNHg5pnG]uhs55p))H#rT'0Ct-GK'cUBXajF@T=X+bC:L.,Ia3` 106.1048 + [&C6'e$$I*r9!q"_U-mW*@jjsqQgg$:QD9UiEOPGYD>b/pjY^tTKi@DmlfBA?%r7!S%d56f 106.1049 + ](c*;]RD-:\+Fkt^"-AG;!*Fg&nM2(5[eV\l!k[:M&7+dW8Zh+3H[FTlJ_i9)?9j'J<VS)@ 106.1050 + k1o@e^;8tqKXBAELRZcI]uA\:&G-"F14n?e)sW8b+EAll*oNE:KanJ5!8>?+hDe?5&cD+T9 106.1051 + oU1\r_biR&UiSEc4i4.q$7`3>(uhR"oMe$\6n(1MUWP0>sCBP@[jdMe0+t4:eMHQSX[^W!X 106.1052 + 9kMAgBFe,c)Up4#Bp`3&?H2CP*TQd-]cK@"I3Y).M?/@9<M<D0]Q=(ujP,iLm]r9C4RdJCF 106.1053 + Ju^jt4UPR5.)#:U\\MSK[2]O)SXXU)SQL_qN"pu#QX;dTO+=C>BCXi+\_&sRPQj!I8Q^+Wt 106.1054 + "=lU.3jEcGg0XtQ(=4'243kQGlRt:lf(D)#,MS^&HZ1<U=mXU#8?*Gs8TG9l%F4TgoL_plg 106.1055 + ]'/$O&)tBU@b+1`q\s(*1l[BY`Wfp(F!Nnd8i85/-lu%iIHX]XJ\p/=M1-NX>k8<dPaf<R4 106.1056 + no6;OE"n>a5bs>eo3p2*51IZ&DZCdf^;1p?:LFU<Z^[Sk%MMBW/YH+s5k&!%?>)75%WocB4 106.1057 + e:sABk,`];S;[#@<h2eiQi38I28X21V'FJYn>EkZ?ulbX4?^b7'>9gnn^a_p='\doKcT#%& 106.1058 + -ge;m_'$Qu]g8<@K3%%=[+$8Dj$ON.^8MWn5pML`!'X:1LDSMoo-#UZ/MStHD+j_;MgC17) 106.1059 + (i94hNdqB5B-k<4W"7/#mP.<a&?Bhs*)b>TfYm;?m*!HR@pd8gi&*;=<krtILr;tkGR'tZe 106.1060 + C2iTVYf!Z'XU3sLCXPoBi="of=Z+#&C3I63`i*PDJn.O*C8S#/ri=ZEK;:u=NQrO-?E]B@( 106.1061 + 'UX>;b#&a?I/!KcYX`MD'mYI0%=_4`!2G^m69-=2V;kAfS0U8$p\8`*nTeFh/1Hmm:MB:Ks 106.1062 + s)0!!r#LD3!WChU65m_R*A(mV_'%Lj$Fu_X-.BDFWr/a_^CJm;@.pmSLc<B'sQnldJ3iDOM 106.1063 + @0(A)Gjea78Dmr%ZI?J5K``,C\.ms`aQnAK7JqX3kSCLm<XG'K=,-0tVnlo>AdVOJ-X!t5[ 106.1064 + 6b0[=/mfoT6#EZ\(NfM"mU*+8CfF@J3E9lQ%'@lGma/A@HiO6kZ(<bMDb`.En$!Rb@!!Ncr 106.1065 + @+!RBW`^r(6DZAk*<9.YK6Xsh(cr$/)Qd'VK[S\\Ii'ksYm`90nf$8KcR12L,4[rHX#gQ,B 106.1066 + ,>RAgMrPuEmk23\AFVG.]KTmN(5V%^F>76s%ffu&-6ON_#K;^@gRVfM"_7Is#Z.r3Jela9" 106.1067 + 9q>[gADA4bu$\_!mG-#&TIR4H5+(M'=-_e`4,K;K3c!CgN97509kf!97Ze%9Ro=$.s;[Zh! 106.1068 + $5ob*_b!5^E306)b&MjkW@pJW<'1lN@YFc)VAOMZ$V<NQRASX31GgBD_e_0)qhEJH(;cReW 106.1069 + _<V7_D.P\=>2_fJ*S+UI4G%c_U&GpNRqK$@dC3I>l#6Ggq$m2ZAMiO532aEh8F,2JkPFllT 106.1070 + G=IW++nUKboT5F"+%ddh&rAe/1ukRi5n$sode4m4"X[IK0GX@QKm5h:GYa(h?\\Ya`!/e8p 106.1071 + kOcPIuJW5Mh+u6/C;<=c.dL#Oa,37JR=9;&B&iIQ$Fa9L=4BV,;f\WQ2&ssH)I,:;YI.8cM 106.1072 + =*(H)YNOMOOA0Rs?ZR"[Ks#O.gkqLA?n$"\5D8+.DspM>49QqQHiBO,egB`-Tb-qA5@k:TJ 106.1073 + g1LAE>%p=/p3k;W,T:3<^lCS+*&Ybha6N=(3/i&HY[/te*KXp?Z^&,<.8fRi@,SKR/G$Zo& 106.1074 + L&&8GnSo^j7$Ps)!#+r?l[trpcMg?u](WHkJ^C#2'SZo)NGInjhEJc^#L_5N#pof%-%=D!> 106.1075 + S]%628'C.qR\a]*Hha4k8(TZ?XVMVFI7TW\^p80&b"\53GE@c3-ek#]Q2=[.IB]N'.GOe+f 106.1076 + 81;gLa]e3n4e=eSpe\a*uF!eG_1?(C3QNkGHi.KYC*,nIGFG\0!#8%!4f`M^]0i697@n@5D 106.1077 + "$Ejo7n/H3[CT"9&H+JjEekGXNkn$\h#Wd.i8`,nl/)@aTG=Ai1Nf7q9sB"GQj6OoQcUGra 106.1078 + ka,*kl5deSR9AM]cLB#^7WU3,mr9rHJ8`9L27Th44-=Ye-b8>\ut'_kBcTgGS,U:"/<*jk1 106.1079 + 7'5Q+O6))=gYYh+Ca+<g3AYrOc[47/"h/&lkXq9l0!i85g)CF(JV)#(a]YLX>b:VQ\N5f7> 106.1080 + M6)BJ!@Y\=WVGaJ%e2SYkB#=57X>`@_SW[iHqcp>PL<?C;#N#`OVPk\26r0mCLoqcl7<dP# 106.1081 + 7#qk#OuIq^./^!bN<kkh#;u?9@KalqV<45B=6L^GC/0G#D^'-VFlm]L\IYBl[F2/hZ%Mrqr 106.1082 + rT(r7&n[KR*Hg$\-J8&9\tHTe$?J:b3+Z)N9UU#/SZ6+UGq]RQOQ(Tr\h/6G]`P%`?Zk5nL 106.1083 + nI+i<fHE>27a`DKfFS..-gHPSjUMU%eA96/+N[jp@bK,:fj@!FMBdjg5.WY3\6W(dm3W@cP 106.1084 + -+W;Kh6KXh/C>oZ$8EhpNKZQeAC2D*b1=721Z+@UGTlQ</0;T$'Ng\*\bg<i,80m?T,ni(X 106.1085 + Tf/sYmX`Xh9_>efdo>il:J!W_QHdN7#+EhYX+5as.p@'Z9ksm8*h]ikR1`">&qZoTlLcWVd 106.1086 + O77*SPTNB%83r?b^WKf9I"/*d&QaL(ss\T(GIS/Z;FQGeV-2h7SnGh#Is1rQY>)RSZ%+NAL 106.1087 + jeHg:#hJDVNb@_!sOE6d50c:Li+,h,dh9q*'kF<?T%PicP2(Yabju5g[^i#$a+d!J'*/S2Y 106.1088 + lt:u2G1iE0D'L.%.[c\CF]Sg]<3f9RnT9o*'s/mm$FMc?B"_`5r8/GaKd+kV1EIq*.;GraI 106.1089 + ciYQ!Q'j;\3Tkd"PLePsd?VT[>p2-'A19+1m+o4N$6t?X:P_ccI3o-a/)7DqmBW31mVBjm$ 106.1090 + )6X#YEXJ[Z-pE-DPkH<FM_)IA,I)+l<lM?eR=:c4U"Yr0Wll.-0W.`/.`&[U/leBRM0qN*` 106.1091 + o0t3Z=3:YT..qRgq"eOW4+6/qE@\tepVXACY*d-6k<*"oj(p*GkK[UGlGJIQ1KVo&6j;$G? 106.1092 + s*OE8\4\%>8r>+,T!PR:eGlptfAFk[NgHmH2PKbbgs]>NS;hT_lS<bp;j0&*,#,Jf0el<^H 106.1093 + bE,Pcal@b>RWGbHhg@SEGAM#BWI,$RauAS=d<Wt?/d8Xh^KIB#$r^:1%7hoVR&`'sYS#Q4; 106.1094 + R=Uom0&@'"Do\5>J5pC8*n\FjGO9sAqE/b;j_6O^S^]XfaE#i?m`pu_>ld@)^,b5p1(Cd)! 106.1095 + 4XR<sU`F(o&#(=<Ls[3.4lUSH#d^+."7ac-&bP;uRH\aimF\UDAqXHj^d0(lgdHt;(ulbSG 106.1096 + O^+?7Te1Zf'Fq60.JkM(tS<$/('>Ggp3m-2[ThKpIelp*"_7p+@m^t!"[;81AM@eN`5\$jL 106.1097 + .R@f<@j#0b8u#kgL6$$pri-D,de0N_'jJ,fqm.ARq$r8V.C"V-FaeP(B$c.5jP)+97YE2G: 106.1098 + iR>:^oE6^*7I;A#d4e/S=+,&lJ)6`H&#j!6l<YmP);)5T1BUe2pF0T*g-qWJ_p;2UC%ai0$ 106.1099 + G^"oCbG0BR6bt6GHgmi"E87$I8)<>l!E@..gc?qWCk`Q\QEfUAISNSuX6XRJ<J<+ApR_hbo 106.1100 + #SK798f:gV.9o-uqb<]Y]q,q;C1(DA!1"qZNfuB?-fti*TO]g8ch]XGBULNLA6r]mg'LH/* 106.1101 + 3::tfRqWI3C)iIIOnHscpKfV5"I6G,kEL[<0nO[MA4F:<Bd?]':h"UHP)+8So(Wqf".aV<c 106.1102 + XC]/P\jI3MQ,SA+`I$<g4mlSdb+j<PGsS\`s/B]lC3u8puo70,k:5?W>$!WlmFi73B1nTHk 106.1103 + FC96(5t.7kq^!q`3c.W@ip,s\DL^66?rfh*^h3j;"qahiB\:$JIeZGe]j&aLBKi)M.cG)a, 106.1104 + f>"rfZh6`6Ob/)Q=D#/"fU4lX2e!A0UDl*,)W5P.#=*p1=C100&f.@P;)khB#oi.O1^ktjc 106.1105 + \Q8"[orIE*PV6V<=X*fVSMsI=+n>E?LD[`Af=(G1iSZX!j3+Q`*k*a0Upi#10>FaDG)]A"H 106.1106 + nU$3(deTAb(l0\Y>,NnFl\cWBZknhrPcX^>q[''G$cB9,8[J<PK8UbL@+4CB#V;?@4<4RBr 106.1107 + RICP1E)7]DmcUFgJR?Eu7`*=cD^5/@_'W+2:ufO0$>[_YFQ`iG2e_Z4.j%\5G<ADujuuG#^ 106.1108 + j&1mD8CXFmg2P@iCMLV\".LkmiF.>AhrigTV-abA<KQXG[+WjR$]Ml!K'L@>h&`Aq#Mjdd9 106.1109 + q5TUO.l_c]L(ub*Nhde@UUIsFeX%,\.b\J("fO,*r(et*^0nN7PjN\YK:`UN!7?SA.dPT9A 106.1110 + g^A:k9Y!2=<%%`6;COnqh%A0Qm[Xt2Bpg__9$''nR)/o!Y6buTY_oro>EU8fF'6oC;B3)B. 106.1111 + fHQTXG"$m1L'7*>H2\Oe8@?D?s0V6PB&i^DOZ0?@3S(<j!I[HRYQ,-r3/c`f'thkZ&J&G(e 106.1112 + (7b-A9sii:"AG7l,:1,$E!9<P#`3@]eM5&SCOOZlp6,oO+cu%u_23#!?u[LX@anqrlSD^(F 106.1113 + El``Woul!5qY[*G.-<R6;;Sn(Of*pM@f:R#BQ\[D/)k6\YRBUEE7W<hA,\9iF-93,Ro/8^9 106.1114 + Ofcm,4!c+:7q&Yj83/("mA^gB.&s7G&k]KEC97"3TJ649(FhN:SYo_UA=S&)FNlj=PQWiZ; 106.1115 + G@'\M"kVWt0]^V'G:a;;i5qkf,hpqf*8^\6;lL_gh6*De:D-'?/tX=M,D?Z?]+sqZ-I6gq5 106.1116 + -S_<jS^5Rj*Z&=BV[@!\J!`gBSY42X]HFO<g_?>EJSpJF@^\XA*3<Ff^KDadQ:kGZEdE9Cd 106.1117 + *JeINI7QHTo@$%WcPCYJGUm!2O*<<`A]=cdkKCI^=LDWk36Xee4qLrXr$#LcJB(6jrHLiZI 106.1118 + rAYAa8^e)p>?1&PDc&H7a1peT&qNq=F^cBh3%qIu>d.!G?()C'//!"TYB_L24")#Q&>eUjZ 106.1119 + J:\9"3X=<Em,fMVB@MJC7(aA-,c=PYeM84,R^u?i^ibQX-:+l`hC*E%@XJ?9bcW&;Mo$Pes 106.1120 + >Au&9E.i5WC?:LojmSA$mk"ajRNX>1h+5Ql9;JHo`-^f2J#)'IA9e;HLtlp)mg=*k#[6Qr. 106.1121 + ^?4P+H;unNgf=PK#@q(l"*sj8IXKj#2(CU.utV;08a]PAq@tQ4:p?L"N!iA&5I3.KL-+X^m 106.1122 + `J$o%=Tm"-A8G7VrVeb43`S$fVg,`qp8*'b-2e+jiIsL2>dB,l]=H!H=SE65ot;,o'lp#_i 106.1123 + tH&I/<q+R)`2$j%^P0Ad)?8g@j0]5U^kL"suC>4\BeoAh#8+heoSA2t6l$#uUWiG'.5?Q-c 106.1124 + l#7`6hB8dZ-edZVm)A0OiAcEMk,93aA!0&DTcYV^],3BH))Xs:)%t=p_JJ(`<!%rU4DMH*1 106.1125 + .Q4/_/J#`5Y979#P_:2TDIUuk_UNI?G9Mg#Z!t5)anXA[%f#QR$*bs,WZ;L`:>]nr0_.($U 106.1126 + ?)f%fY?u:kNPl!P!gF'859bA-*g@W0K/m3>0LI+,Xe1KYfcsmnG1DR+i*kf`(9drIih!%,S 106.1127 + G)5$54\J;LIql.<-FUJdWde!%ZKp+7`th5oD0c>Ur][gksJo1#jgI>$FnG+7]IhWuB5:!:K 106.1128 + =M/+NC__&+Z',aPOI+V?XKNmo5(Uc0X=0]P:]!Y#S.kTG_`kjmU$KP_dUAJ`3@(_BU(EJDc 106.1129 + a*>m'EcV>asOUa,S)DLZm0k&urb8N%?"V%Lh8&Tm5_UU'/"AHgO0^peEX"I)p<Y(Bt+7ihl 106.1130 + ;e%22D&Xf2)enIe5u0(b)#g6Q1P%DAdm4co"@SFQ'*>g*1C#?1T/mUTkQ(E8d6JnrXtd1'3 106.1131 + cYZ?On0SHaQKY:0>eqe!nBAPd-[$4$Na*",In*$^?)P;e'Lf@&QKlm.\G0.[dni)E!.<qe7 106.1132 + 6\I+_quM1;P)i:)ktk0JCcqO?bCMF"4M`bd-=Ei^-.obVKE/+d<Bidq&<>2J6KE6c2JZ@UV 106.1133 + X22+-J&2l-X-8l[._m_lJ1ISZ:1F2fE26ngGh7hg43;#Fnad7>K&7<68T_i0@("[@!./BES 106.1134 + bo!C.#'1kM4-W@9=jc9KhQOtDd!qUb*K*+[h#qE9#+On^9;'Q_$j"]OL1+j3u:H#iV0_<aM 106.1135 + Xu),,_V%<Y(=iRR9acb,[#S%IRPYW]kEQ9JCAM')+=S$:H*_sXdt4-4W%^'0HD8kc@_kjD+ 106.1136 + Y'jK7P<dakj_?C#ub>)fi/$kPQaBr7Q0p45\l9KoLLr_l9Q*P#q\3SFIsK#qO*GC7b(Wp:Y 106.1137 + /Q"dOS9G/[2W(oM&H(O$\HR2PeR)P$]h.q`H[E+EQHM'?_Y0TNKaS-3WKgF5nclNZjUA1kN 106.1138 + Y%d*XR75<U/I&5:G*Q),Z+Ip>n'>a"8T`+q20nQTZ\%2IJKe9;<Wh-crm.^R\:Pfi'Pd9e\ 106.1139 + %1UYn3cos1=O\6H<&XFske_a[WeQO5I[?8aZd`5FO<D#$g&J5!cPd=7%90e=@_bf;@@K]B' 106.1140 + 8?p+]YA!qL.0S@I0K5m2Z0(CR7/[mq#+F+e$rjV.e,<"+q%$?+:$Jsa&VDiYM)**j"k,73$ 106.1141 + JnC:``')sO7^U2FZLXgL/s3Tl[hnmK]`n?;#h<9-qP7,[an,Qg+1GJD@KlRVg202^J]p=AM 106.1142 + >l2oY4<O`G=P'.JCX`Q!u.C%NpaEk^jdU@%(0*Qll%H/ogVVQ=Lp\@rAS6860"Eo:&%?-ZX 106.1143 + D]F2`\_<$`s<dqk*(/]52$`!oc[h)nBg5?:D[Fa\I29d:I$GSc!W6:#.KLB4hZ*[gAf2J7- 106.1144 + +*htCb+mit?m:fpMROD,h+@iYS`B7o+jD=1'n$`l2=#3iW?6Eqk<Y.c9/$iu3,kFi6(q-[d 106.1145 + nWL$:D0i5pEFK2k<U/bq..6=:Y&^d:6'#]Bq)m2aHmcgTp]YgX#qK\IDkmt`l)Aqp\Uf>3I 106.1146 + b/$P=41p8M^l/>HU>D!!XNQH[3/NW'2]bG[=_J%R=l]PKQ_idE63YXhg^;,G$l&.U`gcQF* 106.1147 + Q"YGF3iTMALs`Ko"BBLf]Lk%gdLnY'jE-FCIBd;0ZdjHm#k?';>nhQ"X(6`IO]CHu@@U2o/ 106.1148 + 4r1HWKjq_n0B=4YYUgJ1H,16*:EPjK>&n>\3UFb2I-=Ge8'WImfh`2qcp/[L<mBeblTEk!> 106.1149 + !:K!cDSg'QlBWn6S'+i'k[0]sGEqm>!l5PFRXtS%\KlpLp/\-dae5uFZagD1:3-0jc+,@@l 106.1150 + oU(8s!Z]dTWKqgJQOoXC6mu>LGF.!4Qf5E@=`RtRRi9BX6'_p+`a8QqY_A5Er%:aaXdLBAO 106.1151 + ,Gs>\2a'pGhCsLh"*AdiT\@b%eq;%k3fI=Roob6&+P&!)0@bCJdi"k/Idi!fpNOr,+6NmGZ 106.1152 + `]<U7t,4._.:)R1";IY*\*C=d@`aVS@lH4-bniG1C[_:1KZN6'b\).l&D_,B82o0r*Gdn<n 106.1153 + GdH+B^S^R3DU;UR:H)$sOZ3Z\@'9Obd\.BT$LYei#25uM=iDo2]PBk=I9<VeclqFDe@0hur 106.1154 + OC?HIM2",3pV(fA1')%TJ%=t'MR@nk1FBYq[7D"[bki:p\V)#/nNGKd7SrsudkIP`4<Fmd` 106.1155 + -(qj,R90ujiWZGff'Sp7-@-aS\9W8o.AX$cUA8aZ\ppp\$a@jWUdQN-RgrVJ:J,*,X\0b=+ 106.1156 + t$=Rrl+P94F'd4)XIG@X<_bLHkAf3"R7FgC9T`</K5HKg5V+.Xc@\FXm[%n(gEQBZ`\AkF? 106.1157 + 6J2]'rpM]7P/UZ5)qFKmBbgj^@PF[^m9bq`$$[_7":*$B0;cS!Y`e/"PFT6e_2t'mHpA\$. 106.1158 + l2PLJ9u]>qRR&P7hC8]3]u>KTB=*D,>:A"`XZG;N'reZ'Rl+M&j%/T$f[:Un;sZ*2'OgZOn 106.1159 + befj\GS,/8TlGB\CAKKMpWm$="qes#Ib(mTWSuS'i(I6[njhL9sPZsuX4%HhB%B^9:\SOo@ 106.1160 + )%\nL[9##&]o1@Or+!a:CW=KfYp:NN+]ZRQHcMhVa;f*.K;aS]cZn%b^NS#Ck0[eiZbk3*$ 106.1161 + QDIU40="4otKgG7UkV2p7%eh%CK]pC7!h<0Nij,l$eMcn_u^V3O*9;FeG6TbFAl\LjC/\ef 106.1162 + H!I)r0o.4RaEng`=PraT)?%SCb:kho*A:R[VRARr,bVn\gX:`4Zi&*(E%VllACBcWp)`6,4 106.1163 + HZ\"[m$a@`;KI7)MT9@V8g]]tQk4\i"]h0<gsb+.B5]0u%t#hB^-JLiPi<o]F]4O)LUp0:7 106.1164 + 8>eD5a;2shR_,Ta/$Iopd3[>Tem/-H/H54C=T?2M\V49!bJpl2f5?55?,oA;8IC6O'O.Sa- 106.1165 + frH?^4Xn5`?ekSpdYR"MrO/gk8)B,uI4o"o$AapPoA8c)a$'EnI9hX,gRt%2*u=5V![.Qr$ 106.1166 + n'IN5l%852hBV5'&a+lFFB@C4;b3hTr::/s,hH$a<atliL:am[TqYM*>dX>i5YaZ5og?6*G 106.1167 + %mS2C)BhO.>=Z&BCp0C!c=XN$r0(h=ceukMMc.ic/&VhHHL\&)Y;i[tr#\UEQ$hR%@UcWAU 106.1168 + Z0Ff[>9D2E]J#10ojXh/9fBH]F\+k/o0I%+s3.hnRq-1q20rH$BcB6\kT+WFS;*63LP>SnO 106.1169 + ]&K_,E?N_Gm$?dGUXp2k/#/`Jc(*Sk6Bc_]W4WE,R*S.r+kru6>ijkn'H"e?8f=e6Q[mTQV 106.1170 + <S,n7f:M6P@M"XV[NGJl\Gj]aZK8<KFkC!]YJ!5RSrr5=Om.?PRV0n.U4,UaX2',B\qrgr? 106.1171 + YfECU[&tj<8s>AQ\Xo=CELG3+9HhAs%Ou+ULs'QH'P`'S2tOuH1i$u+fsMpAmd-n`t4f4JO 106.1172 + .3>>,/TW*M<?fAA7OUqcOb?>UDc;G_#i;OB=$M&H@GNiK2]64s:Mp7,_XsZl03%NC>(Sf^s 106.1173 + VY+d#=VP#tY;;&Fp7jc5aN3Y:do9[Ao*F/C0<BM,/"`m"E&3[W58;lHLl$R)<3.9*lA3^HC 106.1174 + =;eZkZ[9g+@X]FbQg@]otZEZ\mQ<?S0(GV4)j]8mNSu$4lbTRY!mEQkQP$Xl(H5SV@AO]JM 106.1175 + 2Yf]^&Nu")EKr$eb4,nW:N)@H,c^l6L?.L).SN2OR%`I_Qg,i+"f-rWnI0eE:Ffi+D"a>KK 106.1176 + e<LQg@"^)h=NLA8@.d[S6e,q\7t&(VEBl_5G?KhFS_P1?O#?;][S4=*nPnX,O\,SE*aWAdH 106.1177 + U=MrLV`Q5N+(<r;GMYr_bIdk/*uEYOYZ4(U(1N!]^E8%]L:a<!rmrW:81?1XM=lN^!sC,/H 106.1178 + T>oDD<>.)Z1K]Vm'\X/7SX2%;p1Zoe=ClJoni7PU(9R&Wm'XFE_flumhJZ1NMea(OaZIlGW 106.1179 + qR"W/oY]uEX6#:(URmtdr'np\(XX]f/5uAMqCHDJ06;/"?f$#]:1lb$7K=Ht:87^M3c48R/ 106.1180 + 0$^f0W`f`2KWcoP,(`Al%21LAR\S=.:I238/E8W<1hn<M1UKcN'd@X/-Oh<J'el1R8,Q.QY 106.1181 + (q]s9H^^B+&>Z);?#LM;8$%5/'uI:7Fj?'m,\[36/c&"[Io#W,P@E(eNHo+f/d"l;C,hY8c 106.1182 + $P4fliXYC/3***r/!cX;t'eKOR(S+KPIME][)X9*E(T/_7*_[N-&O25qdA_+Y2F-J$\2$om 106.1183 + jPO:;9;U[ATfXs['-m%c#1'EZ@OM7O(LWtoR*MDqf@E.LLke:er7&ep0H8B;^8rOoLARZ5< 106.1184 + 7@AmoR^ebc4Af5lms':t3b,I&h>8`7F#X[-n,8:OY,bt.''r.Dnp62@Q33Jkk'd9MkR-$Gk 106.1185 + C9(t-@\ghH8N*uHW-R'CStUI*c)2eR1];u'KBC4[[:qtZ[\0'->*iq^VK&:r)C9[)D(5m*H 106.1186 + I3$/ekL%\2AEIUM1"HNC(MChN)fe@Dos3T-SNaq[EWp@oK=![M)[F5h6Wfg:J#&88=gF<op 106.1187 + qF^W*8o9QeFL0H3n&TN4LaIG<QWeF58/bLZE_E=-r%nR(AF',a'K7NlUqo5pEe9-amW6^A# 106.1188 + ;_5.N^/-Uq6F>F4WcSnmKe^N\RMlMjZqX8X3Mn,+[5ap[G50)FNO$D%2Y-U,Wj/-CG7,i:& 106.1189 + X`hSDWC*eiBK/[dFlpu/n=Xl.:Q?Eb4$i9cI"]<@&ec(50$g]'4+iP,Cf*.!4q,0X(_&2l< 106.1190 + ]\F`Z+OGN95IKoMQ5V$";$J0_2f(qoS%+8f^"4gV:*u].Q[#>Y"[%%%'k4OOMZf%&Woc'.S 106.1191 + t"8#_sT6(kH=Mb)ri'eQ'F,Fk0-u(:5^jH3CbhIr1?V8I^.<a8%!gW!!E1\KmkV9Lhe,6>Q 106.1192 + o]J*^`K-r.#2d+sRRH1Eu!*"sN=O,t_H2VLkDF<?XdXBOVrIL]g,g&r9FtAl+Ws5:)2T,=! 106.1193 + rC7S>]G&P+`KQAZqi8H8aE--EZR,pFe]q2$h<1;Ju^)F+oP^-?*9@[[mk*O6KD)@.m/6-l, 106.1194 + \^:<,Vj4pf-'#&9,3:+k]UJm\(V!lSH>ik#<bFM7=Q4g/i4B95@JBe4C:UV\?a>:LSV+Eqo 106.1195 + _A#_k$]7=bk_p6e;Lb,$Z(EdoGY4[&6_4So6H/m'aAMqL"6/eoO8o8!P(5nkN=^jk%ZXDB@ 106.1196 + ^HOa-!A,t8P*qg5DUlkT9SGX94A8]-W@'gFQi!`&lgXN'h>5<,d0n.q%lURbt#\:WDtsP). 106.1197 + $"f,:o^.`lRU/UO>ajF0\G>"1:-m[-4TVUodZG0ft4b(cPHp$^A/,>`Vj?,uh%Z=0r2ZJ-C 106.1198 + (Z'J,>"qBI:W2%1pU&;aKPJROC6E?\$a^Y&Z4W@Un\+VIV4dXhj=LiSt-[PWhC82<^Uc(;, 106.1199 + )V#o,_#u@Hl]3(<5d^PU1C6!F),8D-O>J#/8l<sge"Fat-$E$lK)EjOOS;Y*R["Du@?&d4* 106.1200 + hVC8l88C&,XVY%*7lfI*X-K1tO>cKsqXG^S<TCat(>)]eR;#4jTHKIF<*NN@@EAYo:c(_%> 106.1201 + (S`rCq1R`f7dn'b=Fp1o`_dc9aDQIkX4K,ik7<>j''5!CSr32Uj*<)h[Ah)N\.a`f'<iU4@ 106.1202 + o&qr-u>sNi42WMc?R:6Us"?ji3dYK._Q6\heOCj1=W#k;uedR0E<?g>cJ/<Ii.[f(+o<fog 106.1203 + Aq*cY:;pF'e56*Q!A_6sRYbJjXMR"LI5o?P/eH@nI^I=ArqV_$J5:QtBi,f5pPFZ?0Va[qJ 106.1204 + @+LgMmQ2Em5E>EoJ)?j@)H\+bm=T"U$73Ki;@l87rf>aa*)o"GKTX;)Ea3j'Cl*]-*/!A_. 106.1205 + C)9Va9U8!55,6I>"#\ss;A4*D1aH8*.HQP$7j+(56:?/^Q7H@2WF[0ae*AW%%>QpN7[q[RC 106.1206 + 3pk/!BVkKa!;PpJnP%U[<Ah)d$UVkBR-15nU8N(<F>f$Mk*p(`8')D*.AELn2#`2NSW@,GE 106.1207 + ,OR0V?XY]/uoi%In0bGE223,"tS'/Nm:=[&`(QB2XgbS&0.dZBo3\[,tDSWnU"Niqu6?CP4 106.1208 + R:XBB&b(!hhNDF^/+0+PpI-6uQ4!ksbO/Z#W@flDZj["&A1k+(V*'qM[n?BZ=<M#_uf9OSg 106.1209 + J%ZdY>4uL'6c2tAPh;Zt>-1OLl:"uHb.!*o1O-/EaB%RG-iUf>&G,G30e`5r5Z%PKGFj1*B 106.1210 + ?jmRi:'#l"_(r)skLCdY[qll+b-q`Y*&kW<Xs'2'QQ"mJ)i8T^*O.K"Lub-mg+#GgCN!YAi 106.1211 + gse]pcE?8Xm;D8hJe8ADK4mR2lEIi+WG9tRF!u26E8a"-="i]<r-Em\m@&37lH^rhm/$jVL 106.1212 + &5a^:W"o%qC).iuhX2J;1c[$17]2Y4k-FN-HpH_j"NX&`3WI^>5gY\Sp:89\[Y%hi[G6Dj% 106.1213 + ]@(&*U*(r6'=NHq]FH[e9;\"7p&CN9`MI1t$F;uAlod5gHN#OrrqlU<iR7QN9Z[hEd:ZZA: 106.1214 + I[^D%N+B..3WWYCcTtg*k3odCrJX=)4Z5TI?]/o4BfI"E"SN_tB4/9Cm$e;l3UUm5G53l._ 106.1215 + )VZir_nSa'0FJ;Tqo6'#n\5b15Io=D&;%`#XM<c0TaD#adb$"b2ScYVZEk!+b3?[he<M7/^ 106.1216 + _?bmUb'CsPX$]O4`MOM9&m]kU9Tp8Z(p$^/).)iVnqF<VYd@0WTFjBN'^b[4tI8W"0k-:ZT 106.1217 + $%`6eI#YlkV[9(I"f'5.[FU3m`^o0o2VE[M2=c9I.,Y*'^eOM!ODd6W_,E$Gaj*`:5e!gJB 106.1218 + ><h7j=MLf25\S0CC@O/>RP7)HZ)g:9>?PsjZ^6NgW5")(%MX2%+[6VD@)C?7g(84.q4#H2_ 106.1219 + L5h?,!Bh"2+#"W:+6rKb,$pV<+7+>(rPRkJb5p+!pKUcc`XE-"qDo3P1^76"RZb)a.egK-K 106.1220 + />Ps-Zs^"/$o11N7d,TG;t:84MA7Bc^I1.S4B]EU;i'sA2L)@@C\J)38A@e2`(S%i6N5#e! 106.1221 + &'Rb7DS\m1M&'\<e(="^>*):oTZ]k@DF]&_c,4-;3XOac9\I"_o-C6ZlP@CEC9pAa\a\4e1 106.1222 + AX\F$?B:6'@p'fDn&CT83>lb$qXrb_&=IK+R"5]1B@;>cA!5p^+8\$TmOg["$-gL)^Vl#]" 106.1223 + #gKW,Dg`3g/59&Mm*Ya7iU]WXC*/Ej>VlAlrj+33`GVrV*Gkop@S_9=1A#IMC6LpOs7,re: 106.1224 + sa[Em;K+^a`P=@&j7QX&VA(aG9dL<,c)e5rNC(Lb<OeID8+cs"'UgC,WI[i^,$S73lJ\@N+ 106.1225 + 8@lqaaP;J<1lRqaR@rm(YV;N>CaZu]oV!^",&$0f!rYH-d>.YNMHI\hJ<!4]VTJJOO)3m\X 106.1226 + O^,(s3?#Db\HOf)48PtGeo9I.MBK[e=Xm*lRGJZ8F2#+Ef(/3OrJL?6`f'37'eRdKMS:0`N 106.1227 + Y(SkqJ4Y^JB*/1W";A,*Y;Cp*rbO&Y-t,ZIfj"P<mF5ct*TfV$K5#".lSN[e.d&":$tTEO: 106.1228 + SGN,t'pjR7nN;pFi#c]j'?>7M<'LPV2oPf2ZZ^lM:u6-oIf(_%EZLp,+BWR6VY'ZCss%-aC 106.1229 + SlHm?9dMjc9/?D`3=K^0CR=+PCFPEr$H7)CBbuA(H>pcK.:!r;N$TXk'1Ji_beASkZ%!iYF 106.1230 + XT-7Ta%spa:"X,Rkc#P07N?B;#jfur;16]rk"=:G+HVIZ41-A%^&pX20MOV7C6;C_0df[#& 106.1231 + X<e<m):u28'HYp<2EBkPtWeE1X*0n`^C$%U^,9raXCgs.!Wb5.#4c7OpikjLP$!CqnZ9HT# 106.1232 + dVM:(k^[N$'Rb_C;!o:!FZ6RZ*+BNNYIX(A(HD//;#]oT#J&b+aYI!/8teo2YRJdSd6rAPc 106.1233 + 9Gc.1WdLfJ;J,eg<Z.f`R#&8Xkg&q3agGc'ugb$<oMeTs*\1tP`U,\9U\NDWdI!`\iDfJ7R 106.1234 + $&<=+\%ok_Mbh:C$PXNK@;i$?;KohD#`3<,1rm=PuYf.M7j[k8=Ut.r<b92SAOJ1$oL:B:% 106.1235 + ei8Uk=RB.r7+hGf#pjMf2/q2-kh2MeLkV;MU?YfkG7\>1=k[@eSYN%'@G-U.dV@2soq`u5J 106.1236 + .Q[Hg9<Zm`N7e7>MA2<&7pIIort4QKS\`Dbe,g\%91^p#YCdkYJ\)3m%hCTL"FD$b"[6;]s 106.1237 + osP*)iMc0D1qCj<)83'A0i"<j7\?a>=73S/I<W>7fe!3l0<o7P:g:a+Z(j.Hj[ka.qalgu: 106.1238 + K!-&l&U@p9N\=cLb%`N!313a2d<h/XZC+GsA\;c*[.\iaQ89[6]b4KklMgl2D57)iAO;F3G 106.1239 + LYi)Uq^nojJFktjO32OV\'QRK(hVJ.Dg(ZurHq)_9/MTX2hO6I[p$\Z5K?,&->pZ_ReP9Ha 106.1240 + 5i#H5U93#(FnhPFfSJn:fO`de6.sdfRF*nSb8#q4fhC5h^>Ku.PpD2jV;EtC`OOt#g2Q63X 106.1241 + =.42MI(s$^.%i*"pi(($.iJL8gV[;h9<LN$mV&,i?Bc"NP8a_UZ"r]UXf(sEWfa((u_19?_ 106.1242 + t&jba20)ZsBoiT%J')rZIg>-!OYTRYD7WFT\Zc!meJ\5GdASXp0uQHf0/3@R]ln=Et.5:4U 106.1243 + \#@cf=Qk[fE$6Xcpqik9_B._,``21o3giqQB%5SQgIo4'6qiAN`k%?Y,$aOq=k+BB=hnb;" 106.1244 + 65ia)'iP!oQb[XqU*ad"A&j9?XAc:H8k8R*#JnrOtjDJAdZ,/+@ff<[)hBihp1Z;A$f,dOq 106.1245 + 77^)EULc1WA%l"*L02gB5\6):j;qLd_)p^;M;P_Iaai4.H:64qo]29n?hE>XKf*2DWT-Yq? 106.1246 + qpc57VEQQp<rp#?0.Yi4hAtJ>is%*jPFP.>mob+DB;PSk9b956igkrFIa1Ok@Sq!AmL4@ft 106.1247 + ^WqNNQ[4VI>NT@\"8D6>_2(hJhE&.63t/gSnf)r?0(FBFe]QAJTM"reG)tL/2E$\NgLTTF0 106.1248 + o&NG-KIk;J-1#*?9rFgeH4kr+R+p313dQ&_/U#^1McHj1&PCPGARl*d)G\:!PgnR=*L<G$' 106.1249 + dSr$k*M;iE(0Pl9V"BK-IjD"mVAEILg@kqe:E9>u&BX$`Ui-0q6;$NsrBg.OWW&b+_3bmSM 106.1250 + #,$*nTa$5_EJ>6glW\]Km]Yj,l%D$,"?s#E=F19TP&&-]lMeAJ3/E1E=p!isB[2V'(:%]CZ 106.1251 + g118kl.OIL<-Y1Oq'[WlJA]12R)KgZKu22CM(%k@63c#\neaeCY$48f"^OZ_/(IBlpf7d?F 106.1252 + 1BKQ#)c?NTQQ5DO=khHWsM*;'qnGY^[8KHj=n?mO$t3.s6WcCun]JLik@`d"g4BULs-BaL/ 106.1253 + fuW/0X8DUGRoj62\<#ifTam&'9"in!/X54]#BlL,d,=4XF4GZP*r=)E,un$]H:!=%p.NpGn 106.1254 + 6#5DG>8F(3Hk_<Je#%k(-n6?8I"R?!gL1#i+Y-;`f_1Lgm&8oPU[g_cU/P-"JaUmb+QMPO7 106.1255 + #jC.COCnTMVZ-&a!045s%Y"_&7fVsas6sq/E/,%q`sH\!$?3DVO?tB]%h8(AM`k*%.Xb2Qm 106.1256 + =rj6g)i-X6^ulf-?%]WLJ*$)LJ57e%e=9ir(F8G%",^Er/q>[^C0tA0L0`M<E]ebE6U"5jW 106.1257 + :Dd.X8[.p2btBlDBHqj$Jbi`beO>LDY:A(l)q:&FakhCMo*sG`Qi`kk&!<#E,a"rtYnV`9R 106.1258 + @mLQ<DEcjGSQ'a;V$lfeIia!(*l;:'4kWUC@XO$7Kr^iTN@Li5TJT0eWO\*XC0#j4[;Ip<I 106.1259 + B96?3!M'ko6^Ir[gYOp\bE+^0_q#Tl\;KcH1D8:lQCs'GGR;uOknn^<9pF'W\D2<'0OHfk' 106.1260 + $M`LZE-$k/G7(cLD.(,h8Bio/;jO9<LH>!dD'WaSY,:pXI]#l"p^T3tCB%>*-X@3PJIXlLm 106.1261 + 5DZHk1&k6ZA>E1#QJ<"#8$P0HtF1,ppZ1S.;VQ`Q0fp1n%XAn+,:=ZOU`akDnfh=k.^-\L' 106.1262 + XE,G_V4QQXt15@<)m;H*T#B/^7VkOEQL8)#%c:O!ZnlYJ[8"G:8;I!PX1Sd;l'N;bnu3U\` 106.1263 + J2;k-_m=XSV'<7r*W44D9Ie(m4aJH>McE[Oq8/t]E>T(hj$c&P#O(oOhPpUC\$<GMgBM"d8 106.1264 + "cHc6(*/LM!ESeQWR9a?YS,=YNV9[3mkIDB^`=:_E%Bm?Vhn'0_]E#.K#a^<np98M4JpEfZ 106.1265 + q6.\a"cE-$&]6I9-?_gjYFo17LV:0kG1Y*M:U>J$Tm,[^n]tVNa+&7?Y&R6k!3_UmO3I,He 106.1266 + VI9>Bg@IQ2b`ofM=e7[KW&O:Y0?li9(5X7IP8D@<lTR=r+ic0NNW\+GWH-)?i[CTM!qftG? 106.1267 + 4MtY\[)Hn`s(tVL8?7q>[0>Hq23T^YXCadf&&rLmW]RhTi@*:b)Ti^Yr#!A1?O6Gel_O,Wd 106.1268 + .[$].>\d@dR!)'"`-jA@oWH9Dd`XrH\[X$%sV$Hl>QV8OQ@0SQnTD+LZJ3B^e1fMZH1(6&b 106.1269 + U/IR[cUB'OKL/Uj0.S4ZS(m2b:n>XAI`q",JR]7dt8R0tN2]_;.h6r9=\,\-_4.?`IDS0:o 106.1270 + =1dSfrI;UjE*,4L(Cc/<@W>M_AiC`kaC/Bm4/Q!IQbU;A:Yb"%4T!K=F3i(jpGDljl>d!OA 106.1271 + lJa^fP7ZD`hQB^$3b;@4,0JD26u.ZG[*E[(QHJrEd:a*8CVFdh/c&u^8G&7fBd[-?+\:8]r 106.1272 + np-cQ'K[EmCi(1E?nFjQWX?RRF$<%s2mBbcFB#;9CH-r2cR6/+3GPDu_Am'M5qH"@.e(&B2 106.1273 + <GikBE2Ya`kD/ZS*>%3s%n\H\jDlPqb"NrnCaSdsg]'uc;O>o1KmN+EmHOfWC=`t?K;#KMg 106.1274 + CQQNksF>!2>0H*FT4pbHSQ+i+0m.J+I,PqR2&(CaTb,L%8L<E40Z@bed9HoV9E2p_t__<pr 106.1275 + !i)b@4YMDl',n@pYqQ0i(ie'u4jT>YrBJX@Zr&nI9Zo?>ZcCT27C4Ws:I)0Z@!L9]!GlN)2 106.1276 + U0.4hD`r<4\rLb[7*sBNHINc]2"VL"ZfXP?!#SlN*brm1a=^9:%0oKPV7k]d%dU5@[sAjDq 106.1277 + 0*,6]+$iX2rW8X!B*SF`rR,;duc"W+^!0WkGCd&ITk&3f@IA;_#7fUW>cNM^Z"@7r0Er^#6 106.1278 + oKK1tYH<`dQ=IG^CYrI<`B%L%E^Z/?]G8/9"mQs+-^HAGYf2;AP=<[,nN=Qq]jA5,_9R]7f 106.1279 + ;Jk]r*fZ^(Pg?KA5[G-j-]YiM8e\n1eLc*Edj/Oue&D`3j-Ac&BA`]1PCQ(tM@%'iUV<OFb 106.1280 + ?U;W[.f@c&XUQ(91^tHIV]iF4.+lP(`E(eRXo>l;`q:t7[FEr#glk`;drAFUql]=u]%*Wnn 106.1281 + [bo_WA#lK]%Z_JfW'e!c&&lVV]n]qToJ)8b+W0R$<IqW-60USqP8L['oArj/mF38CW@QOk+ 106.1282 + Jd<N_PO&l[,paa(<rtSZcnbpDqLiK4+gcXhRSdPS(_^Hm_I_nE:rLJ_dtJ%F6HY4LrQ^r2# 106.1283 + t-H&N9"KW+h/p#n+N!gV.^<Ypk,H:S!6eabk=O#g%i7s4Y,T<IVtl44)p^?UqKpskU+UJ]$ 106.1284 + F]!^QJV,Y"5Chdsr5Bn1Ni.8^^-LFhRkT^8h_e<s_79c=)-LmI3/hO8OM)&NSn.mP@+`CJ> 106.1285 + 1*iaoRD^dg_RPU_'*S/4WVeJD@#cDi(9UH_2I,]IJ!,S;a9(EL.PEd[6fX!gd5(KL0hs2e= 106.1286 + KN=t`*#O3nB.O#I!-Y/6>tr)&J_fH6)%=,@cSFB&EY+YO*\s)OM2_MG>f'C`,gr8aMYp47h 106.1287 + ^[U5\LT=oL)6/P+8UF>)k/5a7@f$?\:j$nS1Zf=Y/q^af^,)nc"Tu7VGL.Sq(FH\%lJ;!ZM 106.1288 + OTDGX39aa%/Bh:**!0NqRO=_ruRg\QQ#E\N[K%%O#M/S3usWk&fX0jbe-N9RcYP$!J](mI] 106.1289 + <:20)cVkZ,.'J(BNc1OQ6N?[F6_2N@X(G->kJVg0p6thl7],>NKkCiAs;pK\>(q<iqngp-' 106.1290 + _I,@ui('Y1<g_tu@h?bJRcCLKRL_;GT;ee2BO#nX-6@")=h*a0<>(g8)/%/P2`]>tl'qrI8 106.1291 + =g(J4_[>6V+5,kR;$hNjQWKtFO!`$`jXWu0lrTcc*9mLaJW`X6"#?3HB1pD(BW\gWAPf8$B 106.1292 + \7<:3*CQPmXNF+f$DPX\,QZoJ2/#CG'/J01DpYnuhco;,CfX6Nek];0fht(+Nad<).5V(Y` 106.1293 + 4=]\%@li5:c2O@%bCrH-P0ZCdk<8=4CAO4/uE<jNk^%g5e1[SFtJ>:jFQSG+XWjVZQ8QW]W 106.1294 + r7]eR+,"NIc>-09nXqQ,l;5C<MlfE>Y`Yog[3p^9jnHPYp"eM'T@-G\*(9n&*`KLV<A#Uo[ 106.1295 + V"S9[>hbc=WG-I<FMU>5=ZoJ*)gJ8,b+5:WHNbkr%Cu4m4V7_T!l.XQ&#&]q*;NZ8mj7Ko6 106.1296 + L6B1"]cuN^_j-8IL\<TB/86s7YhlceO]PiC$d&O@WDO\gH6Ejk&(_a[a^AiUB`R19]_d&`5 106.1297 + 7[m;Yd95K<b]ma^6SnM=F%a`Cdkh(FqLqkl^&t(_+p<fP!RH"`:Ns0*>Vq[;7O>Y/g7b$U^ 106.1298 + G9@W99BQr1l\A5`ScZ;Dhr=G4LqP:L\D?<PHK?Kdt!`*R/9rd[u#e%eOICLB53Vin(L5g6^ 106.1299 + ,cFrAR(TR0jR:P+7VJsjO;Yja7=+2gN1oqD&s!(bskfH6oI$GhN4_b?k1-B[,,nf-*MFTO@ 106.1300 + ]mJ1>,q>8Z.>LHJ\Na-%_dYDPM0%OQeQT.WC=;j75R&mgff4KFJg$kqV$,2N]F*m#JV:<A! 106.1301 + @rIq$KXVKVon//Y;S0[Qd(V"a[W"L7?#4I@d019G1kVE-SC`9VI$(c1k4n)R[S';:,>;9bu 106.1302 + ]6M._/clpOS1H<;>6]9A<FPcLKd])a</+o7#5lrC7]&\>AEAP6rPM[!*U!m+m:M$AG7sGY_ 106.1303 + meSMFWXrM\3#<5VR>*N<[_Oe(7qP&al'aletoek"/E!C7P+!$<lt>gJiEY&$V<.:hAri1f_ 106.1304 + D%>&C<(M*CEd<#:6@5`S\0DoIU(Z(Bb3;13D4'9)95#Kl,_E$AD")m<0X!d!/qojDU;Jq19 106.1305 + RT-Yn;`V2gDZ6usatE;QS(g#))rJAVLNt-!pHS-F"b.iLKfJ-<%4-)J8G+0=*,fYf\:c,0$ 106.1306 + dOO3ZVBeNAn,3E7i^dTp-D7/fO);K'^/!_;\r/*hRuFYoj4bMntm%?HmKg^lSJqSYUJALpQ 106.1307 + m.I4GERkalGJm*%;q&K6tHSm^;E'0RY=/(]QQ1EUM-JVB=0M^8P;Fa/o/FCrl:`\m@<&M/) 106.1308 + ):Z.!mDG0PL%7Q6]P$IN)TIt-l-,BRgj+nRn;R.2-5Hi8H?pA_>ss6p0kcj9\+$NFQ41P6Y 106.1309 + h!Se^B%0>r'!Y>kD@HJP\a>+q&*5Tl$:cSS24T]'Y*C811+ljUD_#pnh"V;q$%Rr0]qB$n) 106.1310 + "7T:p:hUfap`AD^1!f:f0PVV:TGe7$]k;F,6$O3,i;O:D(P<(uYYPJ-B*Bso"b]c.U&$SWT 106.1311 + *k(&W.F4gd'X5mTaU?!!?q=@E#T23bl;,6*'qLu+mL'Kd1#N\"7Y"b&4m#O:_fXR#S$^Y,\ 106.1312 + GD=Us%eS=JB>NJc7k#M%G93@Vc,Y.%(ZcK%"UVas>sjc&BZZ32<RBARW+\Dh,^.7ha4%0df 106.1313 + HBcCF`?Y!'\J_1EAD-bqG)8hP$WqiPG*EG62a<qXPJ3ACX_d0UB-$MLZ@i(4d*6FRP#C@Wr 106.1314 + iFWu/FVc+61MF5cN6Ao[p/<&eF*>EFVj)I790i0G6<>*>5N39$kb"V*JD&i)m09<dX!o3]* 106.1315 + `ZJb-r2n9BmF%n.e7gD$'e@ZRD<UAFd(I79cB7oEdJG&%i%^p3#_7aSEZ$"!<mRNbck79?O 106.1316 + sj==S.U;h1!@<UE]G58bS[%21"#S;Y3-'_=!CN_,-k,kdP*E&dMu.V-7Mt8!H&\5*@?>U-; 106.1317 + mhfOoR5B"XS2?-XfCGi(c$NC'm5&-W3Mai2%VJo-[64i"'ce7Xh+FXp^9t.qaBlU5^[@&BV 106.1318 + 1@d4^<\O]re7R#H(.q2r*>P.]t;0cGZ;g/>"%YDgCp6H"si*A[:@EqqA`$Pro3.^IAMiKbH 106.1319 + ,QQ]9>0d/P3DL.EM<@d-n(Bg'Vd_ROAMUq@<KHViY/8m4`2&`V]_=KuJZJ*uQ/2&d?0QQCJ 106.1320 + UCd:_mi9dS2DY(KDZni*^,,2p*_sm"Nm?HUdV4k7-o.$PEdBI'Ij];lJto1u&ecF0KfSSS+ 106.1321 + p/u7'9P<g=X,.1,BKtK?kjpW68>g!3j.*Q+TN&\K0#3[+EB+s!uWEVdlJ+]-Ltq8o>N\a(H 106.1322 + D$M]b6)KUEM(Mo-H/[.DRYc5ro*U2_%[X3eQjR&],0Zn1TP//u@!A:Q%)m*u`#)4RIqSY7` 106.1323 + !H-9Ul&EM?\bMB=EK:,%nW6IAFX@bjE2d4do2/J0Hd;-lZ]o/9Qf7l5?Adf;G9(5tZ6-<)$ 106.1324 + >FAdI;Y=Pjn7>F\k'K.C>3Zn!!(">QqoL:-K9(PnR0D(AYnK9L7UIG<T4S35>1L0f6G>.I, 106.1325 + 2MDSK9<TB#68XYC2eLA6$bC%N_a!^:*\.m`bL]Mtd3.He3O20f^_-Yk.68-<1%WdSOs`D51 106.1326 + u5PW3YT1P8t@=q/chU`*4'%E[21r'8Q!AE4k1cU_f7jb)^c?u,r=mB;t3h-#=!6g.2>bJPQ 106.1327 + NseT0%UI$m<GR%g,N2lNRC\4-XI[&S"nmNEGk8jOANZ-Z)rf\P0Ci=d>fDPgjGhDb\Ku:(G 106.1328 + ?qZ0Jr`mU1V$)W@h:_&<ona^!B>>kQWQ2;)7Mh-G0\>bUp7!Uqh[ar!Eu?5<-=[J*ubr#4N 106.1329 + \'I+e@5u8:2qd6%;&&A)J?r."-M@e_W@.hY]iG'.'+rVUO&p>R.ei-s0cl"!i0u=,8Fus&s 106.1330 + 9k0Jb!jF:3[DQ6m:LN-$&])g36'SCX0k46kB/WV"G!BL^)BU-`*`bpHG)'>kk5M+pB_I?s< 106.1331 + ek"(l7o^8?T+<eG)9J,gbHXT'u=0iG,o8!ZF$AIB(icC!C@m)'j$:12RTE"_,Y?FT5F&P't 106.1332 + *:?j-*SfMf!Y-D`76uop9T/hATGq#Zh-f_)6,jKj"WNDq>]RFfKqVY3[dZgonstFh7N-IrS 106.1333 + s5;ZI^?2`Med4`_E)7kaQT^t!P#f6$aR0i7ekf%"miQ3[.l/mouKG=i<1NHX??DU`TIf6MS 106.1334 + LI"F9RGNP%u(Pj\d$3;9SGr@,fUIT:naLP<GGZU]@[i1Hs+#c,)*b-*N7pua8<DJgoH=HLN 106.1335 + GK;CE3ILQ$)HXn+A!:=drH;7S',TbYK(jD)]cEI'?Qj-5AP$=':_6_/<eDW@=1s)C%=n3bG 106.1336 + @Z#XY?ui,oN$JGJgB[b3%,7r/U]*?H0h_\3$!XM[<emQ9od#R'6Gug\=L,:4*SM]pcKt?[t 106.1337 + WjI!4ZPTfP-&LCbXEI'`^CPAa>*1M13a\Ii*Q0"%i[*N,<e`!)W4l!C)FEn/c'OJ=)+LGc? 106.1338 + RqQZtKk;olUgQ+R:/@M-H&N&+[j9s92:Z]+'_KED"I;fRJWZVEk*K^M9_,IN5Mcll'5&#AO 106.1339 + lGkl<Gmu#]Y#l+X>91t-9%>D<BqtU.d@)nD>\3(RgL#BBU=XeX"8M9C+GBk!gGr_(_NJeZ: 106.1340 + 7lE+8Goeiqp]+]ePp&qg@I9>Ss)AoDQ6sq;=0*Lr7nr<T1)U?+fm/ppH^1;k7@<J&iD#]:e 106.1341 + i["]Q<2%;JWp3RS1]'i#iXI*GlNmcKpb>;M4m.uVUP]N]FObRK*(S#=g=L-c&.oTSE+&qg" 106.1342 + DjK8mofQ%&&<FH'0Sd@@^Qj?[6@=3H&+^EpUf\Kp\q[3XLr,Xe>0'#<DBt3@l9Ag`6C6U*+ 106.1343 + $AH5hh=X`^?UFE8+jH9%b34eqj>UcLr?H:apD9r.V_V)hVQH<I)U?)@C+VE/"1J7kG+h1C/ 106.1344 + 4&fPj43d<'`ae=$3W&K3s,#)q4T;GeSWB-<DHC:bDSZ2IZW]H?#H>T.%)63Gd)k+1+fZ<?e 106.1345 + '<#*M;Ao0]=P6mp,?n=9Bt9"Y)A@rf*X@#MFS(Qo25cU1l3n4\*5WMc3B<hnTm\u&YWE#mH 106.1346 + O6pg%C#^AYr`]*HPs*#(PY0^$/6^?HRL_^J$,7qZSe/LJiqU'*OGW/Zo^^`HV(TV9sjbs!' 106.1347 + =2`!-T#;?'lMuZWgs0qSk+lh/X?)bk$0&g'*Gn6+?[F"Ik&`>D]e1cWC12\K^4)^`XF4SWl 106.1348 + 25./O%Q)l^E\Xh+D7]0!F-?qn8C!"`68+^6V0gW@+5e$FWFZeMt&HeH*Eh7`^EYlHGkGUs= 106.1349 + YIMr8([QDaKA6$(4\$l%9XV\?[Rb*VtOpO2O!dk_Vg\CYu6]'e<(*"WAJ7FN]cajVfD'GYT 106.1350 + _9&&!4i@1``&pK,HqD8h9uQs,`B7/>Hs+G$?,c_M`]RhPHtgS[\$P!'`uo`LGA\87TtGala 106.1351 + ?5.Cqp6L:hoP_2aZPj1I$r*hS]Uf'aulNB5eY=P5QI=Y"['2<H7C)MouMNr3?.lGquMf4"c 106.1352 + `eX^prjSi8:c/EWGo9'`>h+>80&j,L6(C"2*Zd)l(\gL_AMEYkoTBf&LXWo>hpMd6/2iI#H 106.1353 + B^(WX,u[6Ocuh'`qb/WesdbP`I1@i<L"U!1&e:,TSkGe9/j0@]qF[6Y8PI5lg@l8Y3>_*B> 106.1354 + "@*dE7c-O(,1'"`6HNFDBI?]'>7[Yt&feqAENS*PQJSFY*]oXsdC_9kQ"F[,Yn*+Ng!Rk>D 106.1355 + gEQC@_N31arR>%oTK+tJh8uq4)@U0ngIH!R`*OBGh"S9Q%3=QcJUQ,I1=2TA0c>KCSbR&HF 106.1356 + p#Y$>X>MII1b@#%H-J&dCp/F>?G`dAcc+^a1BaRqRZP@c/F++gOcW1]5`i/8).6+F2?&,!0 106.1357 + -'Q1#iH?h1SfHIT_onZfV*FW#]m>!r<TPCei]e!LiEmIX!]Z#M=$)fY2(`IY`2S($MBK^?" 106.1358 + [e)^Ga@g(dm%1**Xa*Y%.84u6@=XSMlTSjAR5*UES5Gk-XnqIg68c/el&<ZY4/=%3N<gb)t 106.1359 + dmQ#jESaR*c1$p/ZDLTW_1Ct7LrPAi4kS.loT(2<b$u+RZnG_2M!p?GNmLhR**@W/kZX9d5 106.1360 + &)CQn./l6B5.>R'8TNKN3P]F$^a&KbT:B7@C#7E&+cl;s,po=(O4kE4Io7GuiXm8Pjs-qb^ 106.1361 + MESYHr_=&m3.nmH,'pMCD.qXl@4<2h_HJ4b8ri1gb.!=.Zb%++-b^:q`ZD'AcPTBHi*d&%0 106.1362 + KiGT?6uhH8\/f,%)q!*c)N4\"(3Iqh.uDTB6'elpi.Mro9"6?hMKiRNN.9'Fk!EI_jp'Qdd 106.1363 + W*$%>1tYZLH,.2@b0it7[.DE/_u8)ki9&->EL(<PVMR8g=l/XK,m',d%[Bf1jC-PBS3O97X 106.1364 + &:WcWPXUYQtUJ7^%RT1u.9rCqT'cN?4W>M2VlP5K^2Rr"T<$Fog&73I)?s2d'RoQWED7<!) 106.1365 + 2]C*'l#41>mh_JDmeKX8hs4&H(&&#g_dW'PS5q9\NQ5Q")'"r<.@#gDo+c:PD_7O+BCm&f/ 106.1366 + rm<VdqEkBSQ;psXk.3):CE`E?P8/^T6m-Y3[#-fdj.<']UW3@j)OH9^/\DCbtW9=cT[K[W! 106.1367 + Vc?q](XJDn4]"<VbmZo;4(lo,g+1H242'de>@X&3#*b_qt9=l5(6HbjkK.5O\aH^PscP#6; 106.1368 + R/6k]_iE+Bmm61BL@bQ7(Z3=*Lk`#d<jXXd0U_smjs&O^?6@f@\`Z4M\u:"g6:TWoGfiM@, 106.1369 + 3C;q03_QHMOBZOg.,b]U;@`WPrM^(W.$%!sE:Kjo2am)]b.3tXHWc-&N4L39t;*;6>9C-0o 106.1370 + !hL&.b;2i`7+4"fF(/tm_P172HHp!$lT7kggtOtK&DT<TcZB<m5u;939WYCXlY;%r&Q0W>7 106.1371 + Hg71)(0;J#tlQl]e\`#@i[Uj'f?,;9".?BUJk(`78h.IjuTY7<U*NT/(SD_qcd'#_J(W!mA 106.1372 + 4l2:fA"4f[ogCMdol_7?]URl.\-VZnsPC6s3QbRm*l)2#h=FG3-<]=t74`73C#j)VuV(oP7 106.1373 + $r<3<i"#1nQ`PaD-;@s\6C_9[O8fB)j[]P>$f-Dk[Cju_MiRGNL^3+V/thpsr7Bihg!.g4K 106.1374 + S`T<"fGih)KA,-00Ag^W#;/dn,(.4*clG^)pAbh'iMWF$Q;O59YAK;Rm#aAah,]ohrR7P?3 106.1375 + MNo,!6@&XC^e:Uhi49u)2QKE;/ZU.iVR',D)O1J_>WAUmYqe;UYDm@F7anb^HXf:&Uq&!BG 106.1376 + j\t"laq&Q%eI-^=^nS$DgVcl2WfiKCmJ]C`)qHCk`1'&h.\d$_+^Yk.W+b?+"hEN#+m9h6! 106.1377 + C!nM%nbg3R\6s7mAcpq*r9PFm>"0Sa?<1CYO%2`n@hsRu_XJ-G/Pe^\@^TMXBni-Oc:1&RQ 106.1378 + 9m>s*ReG&gnEeKl$85kqI.-'u6t/\"@7nGqGhF7X^m6T]h!M20#0QCia6K"kYd5LsG[GO,2 106.1379 + OrK;<l^UO:E?k`]2%dX0WfEhOa#s*<M-3lg,hXUXKasBh;ILs@5MaugS6k2JF0%_:?cPlp9 106.1380 + :m@N1#Z+aD6n9OUhA7Z_6OZUdpJp3,QB"LT^&VRf8jOS=6hk2D?b;#A0a6H!dRsQ!1eW[f2 106.1381 + CB;S%0@`#[t/(U#/rR,(.c@VJqU!/6%TlO)<-d)-OHH9=L:Sia]B2H[I9\qZO$rmoIXfgH\ 106.1382 + sfP6k.S=C([=-&\#>&P&aAFjVW%C.1cWX;!O1*r9Zm2P7_>HH\hlg,tU*O-=kUlMC;Y&\-T 106.1383 + *+,.sP4O:!U3,!Q6jd1'`+2DQ!J-S/-eZ^-aG`PLI5#ULo%4><FA&bt:/%Y8g>o+Vp5E_?b 106.1384 + X7([oGl8FN?<=$b-AjF:b:!IfA(ron9+EM@AbemR/+IoC#%*D1m#qn;O<9p*7N_Z\Og=2r) 106.1385 + !0hQEHTC=cU.KI,H.',2'_N$)b\XeU;r!GF''p/X:^`tMi'Irh+[M[32'f*&?P-dX0;FXjH 106.1386 + K;Iq&l9`B727&A8Skpfan85.<9Kf/Wg?W[@&<%70k:sCHIGK*aCiXD;.K9i;t;"Ib+/Q8;c 106.1387 + L_48#]6S*=+7e_E&5%3CBfFCmWM;X&6g$9,caj("IC<ea[KYC71'O;0K4Hg0%:R4_q0b[0T 106.1388 + \lgq0Pk*j.BND:>o4\S:_%W%tl^b7Q*R//5Okmn(U?MT5V@=aM0t1c8D)$"Q:9PE$C2Tplo 106.1389 + %)Tp8]O>O>(1f:GX_&08\KFE63HRrU+/EBol!0S'Y>Q>s*BhXhigKT#DC+Fnj[O!A'=e^#R 106.1390 + Nt"m8Q-F/MRujX#`;?I>rXC:Z@pu&/8Z*4c2Fc-h,6q3l!Yd%*%-t`M?qJucpMc:K>L?L?& 106.1391 + U(R(V.<:CRRp,*n@ha(g0VD]IW*VX[qd>e>4Q3KmKHZ>EX(Nl7Bp,Oh@!$//XtPIRYr56Ne 106.1392 + =f5>hr"YChVKJ\:s3-&L$b%6p;h0(mbFgOm.a8m+\f(W&ir9:0VXOaeMd.SWqoFHuZjn0GP 106.1393 + AWiuEW3EY0h:Wtub@EbB>.'JL`9_'YAYR/ZM36ct4G#86WHKPl3)BCVDSfScdL:Jj>26LQ] 106.1394 + 39[H@<0KI:WL@l/L(^b>G=jE0L2O;!fZ"+;E.9Z'P><I5OCK>Z+RMPj4<HFe+.59.;QA^m< 106.1395 + 23!LJm!osL6YUWWQ0r&ZEB$R?@73=X1BfG%=EMF2&T!-ZXs"lJ@>bF$@6_i\j+jFr*=VmdX 106.1396 + ,;(G<@@)[eT,<+M>dXd=RcH&m<,^X<Gp1k'4D*)LeJ/ffd0^%S_7*1V7'^b4'HD)l--MPE1 106.1397 + F,]3*Lp^lo%EGWK/'h["41Li,Dr`gfZnSHVEui_I^*n(?&JI&FJ[U[Gn,8=uRIc*X_XVA0J 106.1398 + \b#D[9ogTsj$$'7SdQISlW7nHCj^oqnZD6>&'9`En,fKamFV\c9*+rSm0_!o(BRqI[>CZ^p 106.1399 + V!Efs?28nAr<s1gd?,nck6SCe/4Vj0;/S367IfiU@<1h\>(/)5XB^-RA@o+eCep>hKi^sTX 106.1400 + ohr"eH$jZc,cVb5%C:X(D@5]X[)I&P5sI4!IH`.eQI9)!<\fMq;#q3B'JZUQaCfBe&H$J^E 106.1401 + *;0j7uJS.A&gHg-qRTdKI,G/95_$ge9_nIo0$7pE8N,.I1uMDWX$`[D`&Go9=)ue*1b`rdY 106.1402 + BMNa7Oi1]CuV1agjn$\iG)Sd]Lpt2PH`3A.",'AS`H05U<S*fe79\[IV?#do=4Qq&_<Tp2r 106.1403 + =>,<f7?HBZ,,ToYlDT9o./01rF_!?D&KHhP(362CPC:\P!=\RiANQVj?LSXk_@%iEe$*!$' 106.1404 + 3!\?<J5Wee)3(UhgWrQ*(&tped$j;CPmhRGJM4=sH"7e^I%RB9?5=o+qbKd^*Qba9d5E$+= 106.1405 + 8=.)iNk`2G3E+eLg3C6NX0=;/P,Ke!W(A3FI]R4+_,1`@3i`7N+rGDE#c%fn,SNHonMk#DV 106.1406 + P>6M4=NUbAAJ:O6<K+3_ph"ej$?'_6M`9m&MCHF/@dfj];&1_@rj?@?+p^!%bW"[.=2)Q.7 106.1407 + 4+=JeU=*+KZg6-c>6^KK)jt$Sqt==@=Z$4gZK"r%/4c7@l=F_mDs&M*8_\<CCXmWa%.t/2' 106.1408 + DU0L94([feKKRclua1T+IW$G1*a3)IRsV&pf^"4UF4"ATL.%E5D37C]CNb[!<2[mWm^7*)1 106.1409 + B\`-#)=iN"&&j/c$9M7hTO?%rS]2?=)A7NKH:Hu(8[-RWYi<VNV?+@gX6dWrB81d=O#m^:% 106.1410 + #/WGkR-bi[GfKYcJ1Pq*e+puT&B8+I7M4Ot,]uW4ILpm;\0QD,g57s7E2JGp'm$`(9MNRo% 106.1411 + S!N8`k-3#9Jeb4$qB;eQn&u*XB,N=N_!R0[t&&1EiX_4Op0'n5id5X]RYj7Hm1[#]jrP4oU 106.1412 + /:<s$uk(2.0,"bah>PABF&V6u7F2e5V8"qmXJqPOt;09SWo71;2H[73aJ*QmYLnP/Ed&b"0 106.1413 + lI#Z=5*X["!>%rc5K9U*JsQ,(>D^sn^Co@D(&[S(;a8[-1V=M7+:l\`<6#m@i53Y]^ufunI 106.1414 + ?bE.XuFGWF)1;T2bL1J4bE(hM'gkD9=9CU+CFKPr&),-uLbe,1D*+_c)KM:A'8(>US%+,K* 106.1415 + \3#'m.7BfPo-TMS0oo_,YT!QtP\;*PBh]Po9E9uE'Ac?6hoK5P"o;_[:pUNtgC.hXba9_P9 106.1416 + BO&ibt%sM$?VT)bg9*9l;":j9dms)^q7Y)?\p>-Lr:2<,bn(tffNEl::%f4d#(QIVp$\ia4 106.1417 + thjiMH_\qE@%6$qkpJFHJSV28te5c>0<%;lNS*oM1qRcohL=I-_8,LJ1,A:jO)d,h1+aQHo 106.1418 + q1Jnml4TiNSpJM94W`f0N99;PE\JiPV^c.r%cN.rF)>!+KiSD`K4>nII[L]Bj_2C"[oFWEq 106.1419 + '!#2g(M!Z:T]`V-&,#ThU:g$'2r,5$?JNs8;aB^#KjUqh2S3ncubTdJ.o'*pMIMbU7;Yut: 106.1420 + jQ4gGW.st$2BeqIkZ:6E*g@rnLtt"\XWc.>3`Du8;F*QHM".?imYN+RbIRr,Kf_/7.>Ra-/ 106.1421 + *)Q'N;(GVL'@s\!Q@S6D+R\DWl-;f.^62Y]UjjOIT()U$&(ChrD?F_4B35_e.kn<D*lQ[7# 106.1422 + I6e"#X1\NEFN2`^mJ)c2/&,$=uiC</Hu4ebH6I%:N0hDb0Os<To[t%:iLEd8_c1#h;mTHPk 106.1423 + :;h$qM-<G8>2,=+nW`)X1?L"1,C/TD(G4'%H2;s42^eTD+>G"JN?f.`1b<HqT8L/rGC#T[U 106.1424 + 1])5U&EYN7B#Ljead%o7B-n$&mdc?h6qAhs#<`dY60(>$UoncdeXB0h*#T\1m]o>F6HWSaF 106.1425 + f\5+^j>,?`%9O1;=<s892(^MqKLq?ULW'PP!1(U&%F:\4=Z&sR3Jjq^R0`bMg$PFtoo@Y;O 106.1426 + 4jrPfb$]rF_jt"_ceoA5!2i!%-#pINEQ4X>.a@Z*I:m@X=ISP/)3t@bV[DCKA,_!63XAk]r 106.1427 + P@#[QA?.=.QKuC7JK+.lgV"&7oc<=@EEb70F038EIV@otXfQ_-AS-gc`MZ5\:6dAhTNtLJ> 106.1428 + Zk:!$Y"b$7BVLCe_9&?#f#FbZI0gmuVo%FA>sHjASW$@lH<#[Z<bem0$AKFgf]J4p<;:^3: 106.1429 + `?%(L6Fi4H&D,XQ9>M[$Le^<3t_1j(Q"sBiLJ:%TUia-K\>fFqpIEl*jiER,IL$N#K9nuqY 106.1430 + \R+T`gO4<NNUJRFe(NHH=6Z6CeLXGV/\$$;K[:<]W(I&lq-TuohlZf`^&;<Gra3qL"Sc\ap 106.1431 + o"D$Fp>AS?p4JH7K24>rJ!RY#!f*j?u1O/"^nJ;?sX7KW-F*=G`%#;L+kpO[LD*.&HVB"Ja 106.1432 + fXj?rhkk&RfPi?e@1=eCP%epYUuIi>rtH:e6=S8;_q;LQHN7Fr]JSs'U!U$@W:hVBTB=%tk 106.1433 + tig!R$,iZhi.ceddRik''b!Sl\.cX.G=.$_@[2>&`d'[>roiN=>6:(,ta!=F8W?oB=j*][T 106.1434 + 1,@HN<j&S2!^('#aVrDSVA,Z5^2A?La'k(]6j9>NkNZ!_/1h8d?@)a5GkbmD=+QRu>A#9Lk 106.1435 + [O#FL-K9:Kbs9/Ni-0q6;$Nsr?r/lg!'4[>;$N\9L7lYC&93F>qW3fI%/qjeYX=.16f7BUL 106.1436 + U(iTAm^=!s(0hMLr_1PTIsXg<97FbATh/ap+'VOC,EXV$:[m(-<"JF<FocUAWBpTY$'l+$] 106.1437 + E#7AbKL<DIMZ[?=lZ<AnGrCITML-04q5/gAGbQIAOD)Q+&hdjDI*D%KBpM!T5S'jL+gDXs@ 106.1438 + MkKP2,!j5(;T#(u+L6"*M'kair.:oWX_N+'FkiV"C-mXXLtVd`CEAF!<'d&#RV=(Fd1%%^^ 106.1439 + [k$`tZDhZ2CMr'hZFiB)Hs(S-2$#ZABp77#bM<7>]B#r*VRg'"gB*=kfL&(7RL8X<sWbS-+ 106.1440 + C6kr9Y,m="C5!e0lFsB9%^9^iXQojqLF?VhJ9(sgF)*,-CG*,4I]<VAGZH5jL1kZ5DRXE<\ 106.1441 + Ei:W#Io2;^.iD:_JAS@KNMdg=K1RtVee9%CbD`&k-#,R4bae:m"W`"NU,n2[VUIh#*;S<?> 106.1442 + GChQ>(McN0]uiesYd*Ru>kIMe8OEm[EDFRd(X-C*n\mY+o_sd7p&69rT?\^jCq5C2PBY"%M 106.1443 + ;<7cWo3k&+MgDF)I5Gc-9mAI!tQmV_-(cKoH*l_o>_$@qIJ7dKLam;F?67=]4@=@rf.o5AO 106.1444 + ;ms&RT&93Sp3.m$&mrn,;L?jnT@#B!ELXuBB%fL92*!_TmB>fVR7Aa$gH<sEm#C(V,T*XqA 106.1445 + $#m'TE5)_KcO4^=I#$`_ML#_ek6u=e&of!,E7Y\WfRAV.W,UsJnNRZV7i?<-$Ab40$;SAA^ 106.1446 + DLtJ)=cX/LQHoQ0W>;EI0ZAdE^(W7d!CJukmEIVE^q$gL!nd:Vhg.XnqSc:89aT*((,O-E2 106.1447 + Dc+<g5G\PmOm4B4+*fTSmF-Q>.8YA[ZSi\;tKO[r\4MA)70%BU.^ss(HqAD,/W8`W]rkaD+ 106.1448 + WWj=ZR'(6&Zf7,s;Z@s3KAcA(R+VWg$2BQ+=Mn>?Ae?j!T%iPpc9-B%N1N8^(^hhP"defJK 106.1449 + W3+J%%"dglY&BpGT:CG3!hqhja:l=jUhXb^-o7d#%Y`JC[[WWdno>U\"d$8\7LZ%=M@).\B 106.1450 + %mfALa60E-E%'k&a)(J%!VY,_p?-@<%rc_7DMB9C#B6U^+EM`SEH_A+GAh_M@)6mIVf,(KG 106.1451 + JA@ra)KT@?j`:(#&ep7%t+-h>QWh95-V"3:gSA_Gk`Y0+^Vc<fPlV\L3TnWG3E+`W-*&Bo& 106.1452 + >Z#fbuP`<dn4iHXb$+@)k"/^G:YKF5Pk\&9hUl=."n@<bFo$l'>^ap/VI^R-G.Zl"<?+8gM 106.1453 + Sa9QWd&@uj'9O&Y)Q7uDIKqHb.`TVch?9OpXf$?&[]pS6c8:l:=/HEKd7:.B@rXl1%VoS6K 106.1454 + +(K^9fASi9Nq/-+VGm=)3Wr&HhH*.&;+HL/@rV>**q<lu4rSEKgCCku3Ge]"2:ORFGF:*M? 106.1455 + GdkY>7r7peW->_mI)!aVa*r7%-MRhiI"uZc2hVO!Kma3PpO@u0c\_TZbkGb/pt7t&6r;IJo 106.1456 + tsgZ_e5.eB9V6IPdEB7M5Rrrs5<N]Ef8ORhr^O:s.<Z\Du9RoLtCJ?StgT>A(KC\HN0pNYH 106.1457 + \Fam,MCPok3^Na/KDQWdbKfG&XAUcgtZW'BlklHNo$"fV`EGZJ`L(qKGL'G?B!M$?`(f#Qt 106.1458 + &0"+igHd!.r*&f""B@?B\h.O>ac7:OYh`(hBnLrNrPki=uZ+-K(HNjba;E8OnhV/(nrSZ*N 106.1459 + ^aC9'(bJlkR=r/Hjq?.7#6NBtse7K^JK1i(?C!\c-:#lBWXt#]OX^8D<Y#[('])>Wb`-5/= 106.1460 + .V1E)_/$4./2m@:_;P3s64ZS`c+<Rb^0AN"('W8'9d[2bG73gY\6N_*TckPAo+.&'f22g.p 106.1461 + ,WQ>E4th0N<Qk-[<6)gg3l@1jRAr1:E''3qdfZZ5;pj$`oh19g-9aVm8!t@"s.c,TE/sYLW 106.1462 + eh$H//CS8#=]"FaDkma(Mg7iQ`fL?N=(1`^0>]hLA%mJ"1KJkh>XKAj[*t;\8;K4GW58FhO 106.1463 + >ZHhql^l,l?iOQ[YGn=f&N'aCI18k+Y!aa#@KP-BTh8u;"a%1"(jPRR]/"qej`2(@InLQ7) 106.1464 + hk_hl>U)t'nd./\*+\*F2EKiql7$,CLEO8ddLO$DZNA<TNU:"o=R3p&(I%_t2;Oj^9b0mki 106.1465 + (mH2$67is^e?L^O;]7Crbg&271qle-p7T>W%,-BM0E_7S]BL"="@:/8&I;1ZFR9E%d)7LFc 106.1466 + DW:2&3ga=%h_:T6r=[fO`X_CVm2cn)UgFREui<)%"BD@E[st[Pd3g[UmQ3L=]X)'I:67/<J 106.1467 + +@P4q3E^g:$ClE8A"*rFXM<U#V0oKshGQAD(!hR:b.'I@0Ii%i`]*>1U9Tp/]FjYmdE`!F2 106.1468 + K>LI%;pV$NMrLSa4'A<>SYAG$2VE:!=FhGB(?GL-#p6Vh$T]fgf$Z/\Pt,Vd-TK]*^EK1oV 106.1469 + HFSLL<GS@tW[1YIJ<(V8Q3KE.Pr]uY,<ck`%4>QQFOl]_FbQlB+<P(Q02[.0@>fiE\FJ60I 106.1470 + -$Hp[IH,alQf[UjT\%bQHXG8j*J!B'(7*!KcOLP@7lY(t9k!nLN.U&8H68&%oefTHAU?Vg[ 106.1471 + -_(&Z!,7,\piPGXke8/[ak7d[NP8aMWJb\rrKq)>TX8T>#9@@_XUOC[C=nN^;#$41Q!p)Uf 106.1472 + jE<(Xc/q-)m\FU'VbcRbBEj,Z-m=KVi"CF+:*%m2UaXFGn&dY..eNL7oUX+0+Xf$7@jnYJL 106.1473 + st4?\Q0GPM\30o[ej?_Q][?D"4^WL5<L0DaP[d?`nR>I2DH4^m?5El`_aKm:D7?A\E4DaC& 106.1474 + k*Vr0_o[L+UgE?H"/^QfiU#h@pAkuR?Jp.]1h%4ee"^UX4F@7;2-\mLE+'B,),RNQV;c;9] 106.1475 + 94iO4ILng_7$JX1mVW/m\LXBKh+-252N%UP\&2CSTc>qEd,#a0Pd'u0$]0X8r4tAF9]OFA3 106.1476 + bX%D:I*>Z[tnheJd;)W+il(.889#aD01IsneDZ8W[N`n"t6Ej'[MUM<\mOR)%_R:q\5G8Ma 106.1477 + SHeZbd4lc?mf-/8cS#R.VN\jF'ZMD="Qqr?02QhDM:/n/]#tKHa#K,;Cr33Pl:08ISrKc`T 106.1478 + &mQ0(K0Ta-L<H8-*>_LS'=."#]1dmf$E)PA?MNMKlUO>u5m)B;j?&9.A0km9!(jLoN:PiKW 106.1479 + $8I@uRFDe=mh`$p3EM8kNQd\-39c9bbU>ZW<dnX7<.>&3BgB`rL&5&'uaF,(C"c1HM3=n0[ 106.1480 + rhZ[eJ^S@g5e&Ha-\PQl`X,-J'h87e+X*Fug%pe0-;,A(>^dq*$BWs7FJH,/NtYuY;&U`Ke 106.1481 + k=Y+mqR_QaUD&-60Of^as3UDFu(Qn-)@<!PYO0r3CkFY81U]D:a?>6=$3"EWV2gsWa>5Rd8 106.1482 + #uaiR1MT90SLar#:jrT$%H!5fnT972-_kd#]bEcA]7mo'21aR^H2B4MWi'E0![aN3=Qr0Q9 106.1483 + k0UVf^7>3fa:XiE8FO0S*m`V=MWQ.ig-;7\>pHod`sI/'N&5)%@)@\=C=JKfou5O;@M+I&j 106.1484 + Q:]qR4/=@3P;HTdEpubCEA6aO:/uVOtNrR5gLjsH5#86o#AuKFaU%S-3>8q-iaIO(l9VU6. 106.1485 + H8\X!m=IhaI.2p]H6:_oJKO@qK%SM"@S,sF6h[7)cME/fY++^6KSmuL9<2TZl&N*s-I>Z1+ 106.1486 + P8/dV5CMXkRsUmC<Ug$276oKh](ZpC@Of]9uP^c1N_I3I*/P^1:59kkCE%K"i/b2[9*7m=; 106.1487 + #u`75XO)OJ\NO?V?Nfo^8^.;?Z0ONSLfu;Hm*/6[#^TU9^Ya2oXMl)XK:u6.)g=T8Q]oLog 106.1488 + DYc_Vj3M!jm(7QnfErYjO#+)Wh9dC3[&hPE=S6bo@Q!gaUPiB/VT88]4Y`'120`X-3/mN0# 106.1489 + b7&S_9>s6E_.C"-'$'G^(.q"Ho`c%*#@q^p`'e)P'V(([I"!grA=cLM5s$.-"l?i#/+#irY 106.1490 + ],SriE$ec,RB%DpkoD(GoVRm0==Z^CA?05bE=-_IFjF&]/HT9b<6Ns9&':l]Ao-TRb_A1"5 106.1491 + eBaWnN!%"cn3N!_LZJsD6MCAs'TXX>EFYY7+b53,Cg2dVXB15amM4MC&),7E7"X7D.]a&I8 106.1492 + ,MTIO<7MF"gP[>A!P2B%AqLL[.*"C3@8S<!]g9'DpQ^mt9!57>!ejIJ$rh)+D:/UAV('aaY 106.1493 + X4N5,3N!9jse_Y@aQiRPD2Ds[mro+fKci)K/MU(_R;[EdTUI#;D@=.BV9'm)Nu0XUXEapY3 106.1494 + *`?[YXQX+i5p%K!Zgu"V>Tcu9\Lk6J\$_I\J:,U!T3FgekAYjE*,XA:;$Qq9"ocBnaHD(P& 106.1495 + HtMNnm]G&R2)E3Q/u<Gja1+ZA,3'Nh&oHI@X\CkkeKedk'`M@3cOV`]gWZI+LSqiWiJd!Vr 106.1496 + a'Ni!Pc_#@c1>V7;u<7=pd-%n-`>j%,iX@laVij68-CTT/GcP:D*)D9dt+![&:^@l($67L? 106.1497 + 0fsXZ$0Y`2"1Um[ML#4,F%4V$C7:?WK\q^N/Ys]V+jONQlk6`VA=4j=H=QbS(M]_\c1u;Vt 106.1498 + =a&``*LG>$jY0$$A-M%/9/QeVDcJ*q9RfBsWamsG&`;gZ>LhQANG(%(V`J"tTa?4`'?BNHq 106.1499 + `-"_*L(auR-rhX'1JQ`A363k>%#LE[$78X)I*_Gf_rr\u\0>;,^D!nC5,)?_lWBq`,-u+SY 106.1500 + `QlE4/D*^S85k)ZTWV2rNQCu@S:!]@gMGCDUJh"V0).i!a,hGLOF%5ZIQ283OX%%2Y@\tKm 106.1501 + e&7j,&fM(/$^::5U8mbj8p[pd$u5_R-X6E"n#.jY[GV-mfm^V$a/4^!_E9d;X[,OrZ\NEE. 106.1502 + JJ<<rVPQ,-UWmMTW][rkK$_^eil[cjKj6_Z;G-%u0`Xd0C6#SH;XK3QF6L0VffPhX&W0,%o 106.1503 + KUYpR'P.g0h"JRf2&L_b+EN$*gE&[4\3OLG$]fL5)Yj3POMU+do__$4QgP9U59+9;2!%i5h 106.1504 + !(Jj?&6aIAX/J6AR"Mu)j7l(eB?P::bQ,t<\;)I+E.hdriNY.lsk&=ctM%jP7Bop@LmopMZ 106.1505 + 0,7qf#3FJ`&Ra=lAJt#M0!NY"k7nG8Wsu=W^qlNY_;Z2<<ZLYu+#38?&E;/5$s+m8nEgj,% 106.1506 + Lb3IW#74a+\naR1)`aR!'(Vb*^lD,ck-:Q.NL9"(/d%"&iu)Y$R0UX>9c,M"0ee#h&<"YLs 106.1507 + Me=1018+Ba\g_ioTnT62peBh'T>C'r%0D_HPKP\0DJiC$@ne&ST3W*=$UQ4Q/+8+Z'O7@L@ 106.1508 + .J.Pd\H;QD:gCDX9M]'e@'&1hHIV^6p,-aCVg&nNEs:a!&]C%?<mEQ0Bsa!^CO-na_jCW[$ 106.1509 + HXSn+EQS?j61#<]Yj!sA,%:Ia*U>6ocjWpu/+3*IdBNkG?mPP+)H,8G_nFHW8,qpRM,-_.m 106.1510 + m3s:doeZ1q1dWK#1&a5qhREj66HT3OkT__^%5lKpln[WEKu!&n;!u1)@0OImkc.IR=M$>2- 106.1511 + j#kr15[IMh$#T[.rgk[%H@.<Nj[<!1h3NqTn!WZOZHs<1c)I"K<ZpO[5A:VPi4,MJiu)f/N 106.1512 + iKI-ZRKJdr$P>EZe;(82GPnUbYcqN4AH54^sa@0%0W+QTd]?W^T5he!qfufe8?O1+i"ae%/ 106.1513 + X:1*%N66:2"bU5_Kj2+%MI0QRRSZOSjPTN;dBKi%(indR?!?SZ[Pi=PY?<#dr_2C)-$d^-B 106.1514 + ;oP$bC75Ug9s3tpt;/6s>GW7L[3qN):!_Z#4Mb+"H47mYN'TuZ7&63Q<6#QPFb_cpqXuQ%r 106.1515 + .?kr7oWA^V'2-;A9=1i6Pfaj8cU[$@4d7Bh6Am'sAOBB&0Z\/S_O3->p>Bj&7q5=M9Qr7FS 106.1516 + K\UK8]-la!Zsm14@q:m;)JS41ib`F\P`G1;G-9cFVnX'I6(@Z1t74@'f7'jO&ORq,P79aoH 106.1517 + 4ch:(('"*u.jV7A3<YX"Vp%.C:6mni@3dThOF*3:nK[U6er6O&n2'9soaXF<jHMfI4*T)AS 106.1518 + Q<Zo:`nD,-gkd.81de4_^a:`P?e>=3U'7f,W^=u0.c+ghe@,E<n_HX.A'9ORZjiY,SuHV>Y 106.1519 + g9@]=H!eFE1i]Yf6&X;0I,?-9qH!NdA?WD\%<Jb,#8R@W8'31,BoY"=YfHSeR?1n=Jp(TR< 106.1520 + 5U&Qs?kPL[oke-t3%,P"6<5K_eic?#+=$J*@pm\oZ9)RT_d!E!;8]OoDPRNgD?)S8!HrW+G 106.1521 + 'dgITi2[*BB%07P_j'_$Y's5BgMu&K;hjZnK-Xi$214r[]1alI;9Ua=`n(D9_SHb)D'I';* 106.1522 + p=1Jsg&!N$<ESD,qTJj3^pQO'[NK=k#N.P7^1aQVR0E:K3d$<<G#mZmZ[-!k$*1"-61LnSM 106.1523 + 9k=a&,!eT`:gl#E$@EE29J<$?9>LK;rZD0Ei?[InTNh."qC;.9KE"I!^JX)ik!?C*lqdP`= 106.1524 + /=*9+U?(s#Q(GB1JB5e&<An.8g@n%6,X`sgZGXYJN2f`&%K6Y7cBX<J>2cFuZ4_^[[(tYWp 106.1525 + "!@Y6:^7fCH0(0(NqZ.h^Ik5mH-#SYj'-Wb4a$mfES!TA_@e_Kl#Xe,?/rJ(<QnKEjt63g0 106.1526 + e%l#.`NQ3s&uTB1=@COpU2=@"`T*d=EimMTsK=%C]G.u@$al5@gR#fQm,Vs.(/`!_6P3$=' 106.1527 + ajI6BQ2==4LEi$ZZ=UI:=XQ@MN5a.:)=hK==GQ(%lW8O'bs8+P8&NpI6?O4+os-I,YBcFKd 106.1528 + X4(a3"327Rd[\/g<kO_lA-<nN-L<$>QA,Dm<H=a,$H($H,e^&n)IF5`mQR']mqOc7.5H#m\ 106.1529 + F\:'>p@sT^Z1QHts5Y[9j4qp!JNTFMoYgn*ifk_JDNQHU*6B?l<5COf;K=I\)U+q&(fh:A7 106.1530 + OZ(U9o]9tUTl.r,1sZPZUMYMV4s*l.dC$ZK@Qf8U4']6hK)ubYfbPc4hdBF+,%F\u!\K'M> 106.1531 + F)^[OCAYc)-qraFs@k<6Bni%(hnkYs&aQ&8[hW=3Kt_3,8U*E,9e_.'f$oa>>(4ZPbi#NJs 106.1532 + m[i^(Iom=P%"1i&R=\[T3+MSH:*sDq8+e4(2/\.($[G+tmIm:S'fPAAM&Q!\\"_dpn#7F<W 106.1533 + /B1bj#/*G"k/4SW)&H1.@cpRel]?hR!_,*/H:'qa"SATh5d(13VGIuY_)*]cb(qFbGYI:jZ 106.1534 + )S=3=r>$Ic_`K.>%O7D1j,(H,Lm@N#ZT,K4j[U#Rb@<S(sU6\n=\hBuae"8MpTt)tW[;I1u 106.1535 + >4>X@VYM&Wg&%G91fY:`R,X`f!l9@emkIl6s-EC_f)'u?"f:2jPjnpB3?+_Sh3NAS25<m83 106.1536 + ?a.EH^`Z*Qi\\P>.,Wc$7OR;+GE[Z3L?pY#F63$=/%@6ifAkH"gK82Km@N@'nK'TWNK\pOl 106.1537 + D@lUTBoY)OgNN+PF=N+mlYU9F4p$.Y%c$jH9lI?aN5?SQfPGRG0sfRPf>(EB&Z;@M=/Mafr 106.1538 + AE.,kK@=3\4K&X%?JTOY<^]74ucJg.gtFdo$HpM5B8T68n%KGm0$_fcgm^'f;*GX)qMUYH" 106.1539 + lcauTKVC/#N!C.Wh0H>GuCB<-<S'-t`$!DVu\s]]m3$DCNp,]S<FgU'N]EOW@Z^:OIW&tfs 106.1540 + \]M/X!EYaLF*f5_g:AfG^QVVa:?ola:(NSYdNI8p3d=lIRgpmsO+a6e9A'KbJh=i)!PZ)K< 106.1541 + >h;ues!We!MUbf_-7$bHuI%dq';A;&Y'rWi\SW#A35-%4@@6/!XH)a&3&R#b!:g+J-jBQm9 106.1542 + m^qb?V$iS@cu"^W[\8bZr34SBK.3ccmHYc!8lFSD2<Dhp*5%c<TPXSCtc1s0d:'[a@oS@om 106.1543 + \/'ukh)?C!%NGa]R2JdJuKLnON&q`C-Eo1ZZ]+IaDppg,YA@oGN,LE)C:pJ\:2PIHl,+ItB 106.1544 + Gp!=o=5Cu$b+PfR:r>i+eV'EO3MUg+4*DOYRVn7Nl)I7Lp*I7_aJ'/R_!e#jL]o1P!O4bP; 106.1545 + fj0rtSX\<gOq?HD+PYJARMjK.&^a^OLtu:d_A.<dA%:LtemWpVTmAeYlYN:GR^RpkJr1d9c 106.1546 + nL*_g=_T_]`FR2$aM!]a5VZe_S*hn\!(b%+?VSN[.gZO=#0OY`#M0+>YE&Ffr"m'QBF2Hp= 106.1547 + (6E/\:Ytdf$a&S`cV.K0+MEWa6km(Et7@\)c99iVd-FFsDilj2it(,[3XL4J!YR\*!bgk?P 106.1548 + @s*^SuGJ*7r+k['&.Sr;ghO6I^K25(QFJdp$f[Eij*=a4Z/Jg\p>&"5f5R[u;0HLp!X`R#e 106.1549 + \QpV2H+siW4_f37^+J,q*F=XO8g#TlW.)*mj*p"0o]pfWj74)%s_;677hs\D<*eEr)SSfR= 106.1550 + 6UCeonN^USSsAj'+7^Kunm<d8T.BH^;NO5!01rE64fdsQTC1S"+PkYZ>`'`:lT.5f3rEp"h 106.1551 + $(PUKHiH\`?L6*r^X:=4B3J->l-!.]^OaG/Uo\E6i8^S'LXmc"?1YJEH_<>>LEu^Hk$.4'g 106.1552 + /Jl@*09.bJ\lpdJc_R5I_k!%HIR<668A@!1VNr9AS/tkuWf)T=r7Ye`9%#j?L',hr4R,dDd 106.1553 + 5::?"Y'S$hCq!9/PR+G,t7!YG`m6K+$YF?Ui[M+$?c=L;Bh)3%,GOkB;T5p;@]i^e>Nr_Y+ 106.1554 + $b2MdqFJ`J$R7ub,=g[%*3Lrq.PM,U-JO,u+k`f5\eUVcLV#n$8D).)JWDB!@=CO%j;j]<* 106.1555 + OMsA3I(cdP.u\bT4_8?#\8@>IKt`1>Ct7i/WZ43BAZo2`[O(=(\M_&elfrg+NYc95_l,OsA 106.1556 + bteVa\RX@&WJiA>$7/sH//+C6(u\>o>(;]0UJc-]Ch#OE:708fh")k?+/X1\_V/tS)*^E[D 106.1557 + A7[G`_V@+%aT9EopG\"qDB%_r'uD)5fNFNeQOSPFHnck_tt]&XMa9pTZK?4?NO5It,'jo_L 106.1558 + ;+f2(6?B`1tkB""WB!LF?#"TZ7j1_02Pj2;_-+4,$)#XTp"-ON2%N#[=4nC!186`=Bs&4:F 106.1559 + O7hS4p1esT*Dj0IX77iU:(a4KIB!T*d=rQYF@VQu%%uK(I'ZH%?JJ:09'TF(bni?^o8+KlR 106.1560 + -bba;:3`BYM_M"W`#4M"aKkHQ0MEr7fPnZ'@X;W\,)k(Uc)oo03"49#k;lAE[-p+Q1Xu._: 106.1561 + UB]n5Ys9P#=;7o2%N)P1fY>X(A)WXQ&R5-?SPHc[4b.O$<4?,!johO9iNc#TZK@<>f`O2Ns 106.1562 + oo\53GQWYG$i4RcRS*rChoF$11]G]T3u8L0$t.G_K5I7:`&nLeWk)[#D%=::!XURqc-8Z^0 106.1563 + &@m6ajES!NQsDunQ(GR`H8A^>I(2c\IQ?+4t6G[4kAk2EhKF,j\_pX5sD=77_9[T+hpHFft 106.1564 + tl=jfQ(1`=D+d''-"JKh`K%j^R7Lt,D0jLTS^T[P;!Pip85DZ#;=RcU3n:W3<jgfIb#X]IK 106.1565 + ispj+r'Qn83S&D&@gPnXPXp`')'5^0!b\4#cJi]9V)W3+LU6hn93Z,o;Mc8\BpPiRlPPqpS 106.1566 + *F^BZ6mYuXKPCB;W`85D7S41Kk0HlostnXYcGD:qpJ"_DnC2m^i2"S,>"IH(D"GT[+)=Xe( 106.1567 + dQ)r='Td.(a8N7_Og/3tbK5\+(N?);,?2M9>l=a$hCt.K7H0W"sk#Bm%+UB)(+=fU%hp`YW 106.1568 + hZp;n.7i-(\.LZ0Xu+\LcT*\I,kFM0^O<dGBV'oC-%dM8VC/rKJTUicu$9'fn#1n`m^%RC0 106.1569 + lDGEfYDFtm'#sro\k^@%JmUc&>3Nd68s$-,TB2'EJ0rI(J#7F"KK_4I>QQf0D'Alc'%KrXD 106.1570 + Cp"%9_C'3:M^rq$!LOL2@#'TC_(ob1Q!,SPmP2*qfDu@gEA;>6-2/3agC6Qh2[;%tNr_4br 106.1571 + ZQYRL^AdP&E]`!@Pbq:@oQ<[0lRuhA57ub$-f7^<<=AF6%k>YhS@W/XeM7X@o7Xu7OYS3h0 106.1572 + RI)E?6u"[sUN%9=Q`%hDkqAkRsYp"cie4$q@c&+&*]pGq8#A,'V'Bd;36MY=5Lgp>Hemqup 106.1573 + .Q"J?>#9!ZUUBbj=O9Lr5]PbdP4*i%56%cQ2,V'Mq&Z4*JA_A<X'$h-Inc2'@g?A.;0WdeP 106.1574 + 2&3niJ04jZCJ8uPs2:[`ZT'X=WE)!SXpeK>79,E2!/;-THI.bQPMC(,M!)5e,22FZQBp1ZH 106.1575 + :#H%3&MtqR,r%!gaaZBT*&/TL\Blhd\0#@f,+f!G@SaPj5A0LJLh&Cfch[r6<NP2;dXHknB 106.1576 + 2_-moaG]bHA";X&Mb3Z%ZD**#>mE%);K#4T[\Zf`mPM>bp';&e>*u1Z7mRRFX![rp-:9TPt 106.1577 + XmdS>$Z<N(-DrLnoS.S<>mi;9:ae.E%.Aa2V.='[BOOJGhftc<<!Q/q^"u\KOl=Ut*!,0PJ 106.1578 + DBEobZ@OGX6:VUWO2C:U1g\#@pcZ99@baIq,e#knal?UIhP!(X>,eXia#<R.h<fBV-d/.5g 106.1579 + $Yu7ch8XX$$"R'j0Y-(n`j#d;Eni8++@+hd+B5&Ls$^QOi=u_'u>apJTQDW1FLR`!oCSS/` 106.1580 + (8MW\93GX2'=IKC[b.&Fk\89L!#>Kfg\N"2Cb.36`b%']]9m;,3=DY(*,/\4m<(\Ef-0(Xm 106.1581 + 9JDUn>Vfb?PdifdE?SdD;ATAcV0#I,emL'FQU6e/Xb+7d;Ub@i\&b6)-#9qb,U*bA^%RZ96 106.1582 + gbC#YeL;(aZrIl\RT31YO!#p.Z28>m(FmAWma/7P#e93=_01_?;(i+*(8I-KSr*mZd9D-4j 106.1583 + Ah.n,@taY7.m&W6sdN?Lje)\S@Kktcjh`u%5^A$SsmD=ItRoN[*`r$G)PFQ=T*&Lo)?<B?U 106.1584 + U$HieDJ[0(dLkiEG'cD`f"Jc"t^c#iJ=_BTDCJ<4tVJFHhXpYf"dS[?AH]h#4/`EbW;)#FL 106.1585 + 4RKQa_:^%6o$edaX;%(8HMC5Xer$2doU3R06P+-,9V`QH9bTTP!%s-S6A"N#"hdG.[4qt&q 106.1586 + PR'Q[4caFA`;1)ZPaEN)4k6]HXU)DZ-gfFU1"[C^JPY'h]*SPoTd>&G8C)A&p^]t^0N,Z4d 106.1587 + KIfpOMP9^;.Z3"Dl>n+X\$6fd+m*O]T;W*l2;4<To>#!dS&WT'Rf%YBLTA^RnTao4(k3Me% 106.1588 + up^5/riYsa-`E!3jb*+\Bi\\cNmKShfMFX[pS<',&j.#@J/$F\_kNAq6P]hFC=`8p?,?O_4 106.1589 + alsXh#Xg))N!nB50M:F/qe!:@jX38Rc,\QajOe$08V807%j*3(Ll1DbRqCnQ+!JdLA+msZ5 106.1590 + Eb8l'#H8C8>XJ+=;J]UaRYl.ebZN1<S:'%+o>N5PaCcPB[G`iI9#FE402pQZ0V6egie;Q]) 106.1591 + ;>FC>r.M=hb==5fm:iNQ*Rs7!!A@1p$f^f!sD[a*k;lQi1A&G8rn<b4$2n[9&_+(Gmj=?fc 106.1592 + C<4*n%:CM8gPdp$'Pb?8JoZEJ='Uldfl4%RX/BYWkho(eKclfs7F<!k]bm>i$:(4s.gjHsD 106.1593 + @%hi[M0^-9miC;O2u%"9dg%b>1R_dW7_?F4E$qIK$3hK!c68_<"9G9=$eS9`7@^6UP"_WC^ 106.1594 + ]<RB=W475<PqKMA-6Fse%]JDU*bO[7elTZW\4;aJA#_Xj>90c]H'd@$8+\TFVoXf0`^,u8( 106.1595 + MPi-!]">1q.]^3.lYM(RD84j>_*f!-"18iLK,!Y15uO19/.KFS)Ok6u.jNb6ZlP5hb7#oJ( 106.1596 + k@q_q[o*?PE,]tZ-]Md:q+/l#f&h:$3=3_:olno1,4%k&hA#f81)+d#Js#J_H:J<CWo"a*3 106.1597 + pP1$&^#?fS-g[d"k%90d@#9]-oJ21a4`J3WpKQ$i;0$r&T(X4-VldA,_9Ws1$epJ-7&N.(2 106.1598 + ,E1rCge"61gt;@'Oc-'\l]#Q#m\&;@n39#)Y@])cY3WnfmLMEoSE_".OaW<pBJX1Qf]]Au7 106.1599 + HPZbu"K>e.46#jo\KNb9i)9(ZDP8"u:"6N&U@Yulq4P5Q7fU4\fMF2.34V4;GOVioWbE4<m 106.1600 + .)]_RS7d]&D$ZAD6ZA&F)sF"Y4?o?G-1jA?@kWVB4G@m$a$WkF+G<-=WCF[Y2hRM*k`3[c8 106.1601 + ;Rap_JsA#1e,)N$'_eo[Nm7_oM_B.s#->H]=_2_Zb<3rGf[7MVJtG6;Ehp*8r(K:#KT_rTM 106.1602 + W`EP"?L&LHoIm_EPs2Q-"",7MK<'I$oi$ZFkMD!c-*i'MLHDf=ai4Lg/Der0^(I"H"/BPmh 106.1603 + 2cm%"=HSe3L$"Come]@7!GfRlQEX[6%0oW$%6Kh;nTas3(8#dun4a[/ANMbL@J"EP?KRNak 106.1604 + :96@\&S9]VfHDfu9LQH,&BR%_IG_Y^+#I)RfUEd^1CC.AJ9!kZQY_50PT?B&I"686(d;(rd 106.1605 + V_*R+Pl-2"]P+qDL'fHB[\Qp>!LU=.&]K)!`Jh?%<7R_]ND/=q8F4nn4I46Vg56<+badE^e 106.1606 + D6^$fV;][:#Z+FK](,uR`hM=-ZB@lOBs"g>V-4pU(#pS/Er"EcQ15bV6&(:][EXpe$dcUcD 106.1607 + 9sU&s5qRn[M9H:Gh'*`2q9Yp<RcRbed`4"S\ESiQn=S:-+iB,iqd0oM0?X:4aTa/Gm\&lO" 106.1608 + WY2Pc.g(iiG]1sg@MOJ,?6,SO!#$IH'N:`TqLbk+`]\BeFjd/kOeFH+OuK-a?"#68$5Li%j 106.1609 + *'nqHS#;B[c$(ar#)9I:(U_8:*jQ=a8kg;4ZaO0"p*7rTBJ']ubaE1EWbZ9]@PFO32:@o1F 106.1610 + "X98:3!Je2![(Ho,qOWj153e)d\SYH';3_60ul]ndkrtPI3H4;?dR%T6e*+(KO<-DOO;k`; 106.1611 + =+B]r$S$)i_s@q;hZHQo4_*$!C^PI5nMDkF(%jQ0i4Die!VnA?rhkf`W>R-Jb;R`eP32X1= 106.1612 + YAN;ajL4'bF;l;8:pI<AYXnWe46\!`/apU&@m>9GGti\^F#t9aq78'h,&8gla6ZaK8U-4\= 106.1613 + /&:=QsNeeM`H;Ee(QA\[%teobZO%9Z_qNR^I4^-u&LeE,*>!)`C`f"fTNY]PN=4GM+$f0+1 106.1614 + ,9j3D86<1u-e3*-J8C.Q8HB!&of>)dceL3tY=B5lMNpU:T[7j[+K%Mfo<c*K#%;8j?d"D+& 106.1615 + "8EL^fFli%MHHF(fYrf;*Ga<VK\"ZOf&]"poo?Iho2"n=/L>QHh02lDGd&AV<X"Wq'nKCCJ 106.1616 + m"A.fte<R9q8THL0<H5S6OoSrLqpgCbC#m5J<f3OaA_ar?qPEO<$I;;[$;]='7l;fhe5BAU 106.1617 + $u#Q_Wr8g6ejBTuPYHYhM%AMC"hJ6LNP"[>E_4XGEfZFh-8"S(Qi6X^."AI?<!%WE[6eg8s 106.1618 + Gg>X,OT)G"Ok:;oS(m-ZPZ.+"g*M9W;_FgBeVb1f@m>dCM:D9Rij\/])*>m74^^!Nad]dNK 106.1619 + O&.QB[,*:Rgs'-Cc3e4/j`Pg"9-;?@Hbsd-<=I<?TVHftRh?AjC`Sd[@c.riT'^amd<JK<M 106.1620 + jeqe#-gfD`IHN!Vf%"oph2%h3SO2/76qEI>?D)f(kR)k89RunW#Dd=(&:"KldK`m$#@6s," 106.1621 + o2N%o\ZeHhmNC>`Vn](F,-E0N?E7sQu_)u!oMQ2?fhIJ89TcuG)Zh*L[G:QQ3CYk$K$qk#L 106.1622 + Ic+#^cm8HsiNR@&=IlP`LU@d"d^1LR&N\%Mdq&E"+,u#At8bDAcgT!"BtM?mZXtQ4Mr.nAJ 106.1623 + O!+)Cg`np]FQcsB#XiZ9Ar:$1G56/I:UgZ>Be*[[['lWUmB>0*5fgk]*U``\#9</'/c)9)[ 106.1624 + o9`Z*Z"$g,o6RpiN2WJC-<Zogk4u^1[3b*-+'[Y4Gc9#Ou3f7<G#09gS%2]:=53'@Ej'ZX- 106.1625 + ?u$2W:PP64j>KQhn])(S,NP.Y'^dr?*]`;Q9B0VHiZ7";U-<$<c=F>nAKFh"SgJ#H,N=#mh 106.1626 + NcW&C*;N@o\.:$@L^4Q5^uU"/mM\-ir.Y-rS:ci0pM)]j#GHH:,V,#B&p`7jNu:bk%EcF:? 106.1627 + ;K%j5+E\W!_Si5n+#bB&7Cc<^mN&7q@?kB1>7J-<''(FQSD+k+6PSG&,tF;.Z3EM.K._??T 106.1628 + tqIaY)oBCZjMH=,co.Hh*TjeuEj`'@cHQ.<R6jo+YhV=<V%`o]`I@odkfDJ3"H3E4"XA2\` 106.1629 + BmVM+D9BPY.d>j<$:3#?48*O'6k?+PEIQM1ectAA\jM$a_G'dm_s5biVk?qs.:q,^2&e,+g 106.1630 + LT#=[(8>PUV<W5tl@,VqL8jHGBnof)N?E1qLiDX>Y3MmfC6l)YfQW)&dK[L1L;pH5<j1h$Y 106.1631 + _OoY#;FM[jhtq@Yj8I'LN%TqE7!OYH>C7'li+,D\:(r%cj*s*#A1d<<krGkXQnZ]laFfJB! 106.1632 + LYS-KkZ*TD!i4oXmi`^<?GiMDACPm(Md+^254Gm5EJ]0%J.tQNu0im<7&t<n(uPg?h=W#O' 106.1633 + Ni3-0kpgMNP>mI\-9^s[&ui9dE%mKV/FfPQDBdKZ(QbKf0d2WX9(#&G^6m1d6b^`3P@k2Nt 106.1634 + oilIX!h'LqL]]KqXAgQ@==DW[n8Hrj"Dg(noIe\T3BEZ-!"i,&1`q]#bq="%QE!H=2%fc!X 106.1635 + on?Mr"Xn-i0*-$)!cW>an:4l$&7:D,&o_apE5)hNI^=dEd,E"SE5r4R#5IOEFq"^k#>f,S* 106.1636 + t`L*&;6.nE0+Gs?Pd^S")pa6EM"6?Ii.0?Snu79C&Q4f@E&NhGm>25KSX5nNg\t"Mrn'!l, 106.1637 + P49i$N.,+*(s\`SQ`jrfZi6VeJ>5kt`r&QBl/9QZErqA>%<3?Rt/kNpO0KW@aq9qBKh*3:1 106.1638 + nX=[,%&[lnfJ>Qq'0LJZ@hpiUZH6M'A-eSqs7\BbF'Dfdp$oS5qu*<$BmkOb*/FLYQfS<XO 106.1639 + #&:k*pFO*eTcohK\0F\7KoYt*E``sg-L>(0^_#7P6mdo4`3VBjcbuZ!0_:io=b46EFnh25I 106.1640 + #:/kI1ZUJB%2Unq2J6a&cfr2$A2c&uSs"/,5NE<=A1qNXh_GW>F*=^/EdhVDL3I]^-#C>%S 106.1641 + YnNTLK&AV<;1<ToH-A@#>o\p9_;0.oP]&"d/`g3dIanlGMQ>Bf[=m9:j<4toS6=e0[KK+8* 106.1642 + F6q`Bact>J#-Go%h"KG=RVee;O"ONLWLFgkT7,Dd`-+-$K8C@lB9i(R'_hArQIspA\h8QYL 106.1643 + ]k`cCk#k6II<GA[i`DgBoHq,`k%DjOe.F85:DG>gBoDhN?GG`;qop^_oL\BoHGVL#IOGNdF 106.1644 + us*FOSk4g#no`(lb7tkf1GR*,"pjQKCMZ8d@nlM-6=8/KeQat#cNr,NZGm,u.J%^Qn^8/V, 106.1645 + "]/$C'mkUP_MB=&FW`gL^Vu_"3Ldf6Ju?]<fHLA-b(5>kJNqAV^_$RN%"PPcJ8b[B0E_A0( 106.1646 + kN#1K]$HqjHAimd-@iLaY2;g+5'4EgARr(rLB"(3,=I,d=r3PL)8Wn\(ps)ir0KnL@AE,+B 106.1647 + \p,=ah1Mr[6oXXH[hbcf$89I`L[Of@kuKGR!l:l;-dG2spU1]^+4sE9Hb@=7Sp"dXD/Rs(C 106.1648 + m%QfJ'?.XF%cRs1[7<nnDqEW>6Q-Bh1a'G:WSKL+QnBOiF/iGcKfnMm=F/Jj@8@Z^o.3^!k 106.1649 + 3_dj=fS'CaIPY,F[#(t&c09O>Q8d,<[<B$F:(X(uX_IYomXqqSYbna3S;`Uci)I,"]b'6d` 106.1650 + ;-1s&qb='@CK7t-G,4W3!%_/4)</nHIp-3f\)k$lDn'"YQFH7XrEd-CDcMq]p;pbZi,<j&- 106.1651 + 5R,H`+!^g]Oj)CO2tjP=ZiQ_/XO[nF'60<G<M@M3,eL`1#kKre7s,0]k1*iYL2"h'ch2DD7 106.1652 + >K^2aYdOa*k_\E-Oi)--L;KjDoNN^1TBqcffIn!</jSQe1JFHX4AJSP.ktYl%ea-^W*@oQk 106.1653 + pgc(=r.BXM%rYHOkTj`J+\n@-g-Nrg*3:^dL.^lU)V"2POB'a;9F$f&))OGkIlZ&O"VhmRL 106.1654 + "1sV\Sk^<uO;%,kO%e2(@%E/oQ<>EK8Cg=-SJ:"Ba4%Um`)93?5E_4<6I!m*3:AINO]Q+.7 106.1655 + ,KUQlPa&k`oA6W&bG*qk^8m.G'?C^Er4tsFm(G'r'+<699Tp180Yu1Z+Z%B,CH2bi$O#9E7 106.1656 + _uJ!&^Lpm"$Mdqm,pU['Fb43^bLd[-+e25@jfWfCRZJ<L)h:+dZgjc-7grO9di1QlK'KZMh 106.1657 + CN+aR[dYs3gR7<E7S2.qT7A"C5S>erJP77EotWF[8b3oJ9dl`r1TY:GsU-A!C"gJS!N#D4N 106.1658 + <3M^,Dn4&f-K7ToH.#tR#$'d[^%(Ce=Fg<9H!XNE2Ypp`r>Rb')\oeOWg>^*=;ELsY])1@d 106.1659 + Zl*Z#NeY)klXCVkMMA(5/Is^.57;ltn3,U#H=07K!M880>2.FL3<]jRH(rf",jI%M9BWQBH 106.1660 + [i7h?Cj8P4fc@TTgY%U(S*('bb0j`KS^U@e96/ndh=W%QGq=0:F/A,a!E#c@?jamVl@?UM0 106.1661 + 5C\kZs2jO(;2t?-`gblCl=EuZ`IYKe;>lIDK1Heg$[\,\JVA;MscU6mCfZVcMXr!>RiaNE$ 106.1662 + 1:&_s]]`'ueb76H,40S;UC8[!Ai$bOZD`G-^O.2L`5N.r@bf0)@X-;p1]W<RnY_s'<Hk!/G 106.1663 + )*p4GSG8p:TpI!0^s;5`=+bHPpDJGq&cFSPqrPZ7ILA])#jPi&%rZ5^+L]R#OqBC3]#3HV9 106.1664 + n+NMD-I%>l/%XePbea37,DqtM8^]u%WreoY^^[g9cp&2[2g;LPTnssk4L!d(,I*rE*WIL!^ 106.1665 + "rK,^'OZRU6pP>k"@t'`@)/:b6RE9fA6*N`/0PJLN/@ig9N]8E.5&KO()I5pUL&SCH;M<o& 106.1666 + r3Pk*lKoh@e(Q^_9!5=&DmIb$n4SB-luh_$].SH@Y0E+3$O#:MG[+u(t[dFiiH%,jcTJ[R( 106.1667 + X<[_u9WI!3%dK6Q+KqF_Jm.e#t_G(aF\e*\kkUa&jW.^]RF=1$i\re5ffZ7"G@O%336p=BN 106.1668 + K]M2j$XL`lJ*,2_H?2G)%^&u0P+%4Q<5&oL*.U*^L!!lk;%+EWY.9Pi&O,>Q&-h@@XX/*2F 106.1669 + kMWiJj^K@pHip=(>;XBoC.*1S9l#L'h%FI"68n1RFEAiR*"98Xk0.)=>*-4d_9j$nV>)7*d 106.1670 + :jF8n8\DNjTtCPk-j@abVDuEAknm@%BVL;ls4lu.F#$:k6^Zee8#(ML,Z$a%d`4;#Tl=$4C 106.1671 + _+ljkVFVPa.Yn7.o=]J&ZCB<SlAIB3I,5E.''D7jbd<jRQVX%o^O:`R@t.tm4i*Ma"`c(?V 106.1672 + *hW)d5pRU\)g#'_.F.J5k,[']FLueBV`:E$u6>%#P7(N*+fl[k<[\@oGc#46%>*WQi##!"& 106.1673 + $,a'DglJRYcM0Ec&mnDXFjN$d+R-pWI4Q*!i4S;1k7Do0b=Xd)Ym=&pV9la)ME?ilA?Rf*+ 106.1674 + 5%$,o`q>lYr5X(V_.5CJ"Mc/SN1M2&bZ:g&:$CI5VM\$*!9Rp<F!oVqUYhZT`L`Y8J.'c8R 106.1675 + @hZ;RadpSJ0C<O0WjQ.O"\W\i5gaPWKoLY=lF0gs7DXMn:<"&'gMttbZ+3pf9@o)hc7@_!\ 106.1676 + bAh2fG!4P(K+0qQ6tRXO^31r2;u2KJD=97AT]XmW=V"kbSD?RHf9")Hicq::n`nt5oob&2s 106.1677 + bbGdC4VBScKci%eQ5p?W=6ZosT$)"l+(OJ3oY<&D0[]h=4`U-n$/DfPJK]4?Y&[*XTbeNA" 106.1678 + Q'8AqZg7E"u'OkjS/FrCGJR!3R.Y8UgN:^/Jk8[uB4^p+pA!(a4Y<O)\"Z'!R-ccJou$&E% 106.1679 + =(:&V'4@dn=j]lt?n3)BGlY?[J\#<O7c=%@]N/ChIWE6C(h&P+N;*b2V70ck50nD\QAe?hb 106.1680 + o>Z&A=IVH*S5QifmX\Mc\?41QA@jRm.Y.<NB3ouiUX<R[G[T?:e_ujk^oj)uD2!J!Tq/+2X 106.1681 + o0:-L#7kN]Fo?Q'[1#k!p\L'U^U:,edFDh]$2i_`^[KkcR9G-D1)+"nRICVjGHa5,\-M]Ze 106.1682 + 8P6kNC*WX)n9dg.E#F's.p!a52YP\h_@o4hQ@o46Qd&O#%'4bZMg_kouRh,h=XS'F+]=X!= 106.1683 + b\#;&+qXT\fA^g;Bt/c>kUNq;#e93H3k<NTM*EumEeG4=+@!Q#?Z,)p8)(-=!O2BGI.r#:Z 106.1684 + 9h"Gk`r)i"%4)"1K9Th<6ka42lG.KiFIpGN(jS[6n:k>$0%MUH/jhRZ!@d1*i&7"Ee;YQ#V 106.1685 + $.73Epf/to<e+E<,`&<:$-bteO++3J3&_$'M@Y@s_Wds`B49^95:AB/"u^OYl?7^H=7s;`g 106.1686 + Wo64mKp@cpHIqsGtipq]45\=DIFKpQZqph-rp%H/m0*c$+tq(<Obsp.p\5J"?oVWnBp!7<# 106.1687 + ),HSL7[$L8#E2!>JR$/.)/MS*Ba@>4?6qY-MpB1kCFe[00;?qd2quqQT]1rp:Q]DccE,!P% 106.1688 + Q)"XWnMM=JnNGq31h):FR"M^E<.qHm%`I:',Lrl<^h?Z5@\hnAda#N>SfO7Ia,c2%B0l2=t 106.1689 + mp3toT,JHKOWkZ=FIp_UAs2Xs8?gmuDhu*ND!<=eW!,r5EVE!X4i^jLO!72SaYT3c6+Ta>D 106.1690 + !cQ/g#g+_JK__Rpq;bTQ0I[+n5m/l1"E6p8YY>8i;$AXR"_XS2,eEto=U$Qk#&n8\Y\aU6E 106.1691 + <e1?#B-RB&6qa;(C-%U#]PV+Y`/d)/=6J:""b)[b\GOCrs8+j$?2sOYcS9%YmW7n!Uu9XjB 106.1692 + 2Zu[gXt0$uj;sYg!UGd0FW=$cHBX0[gL#i=7R'!\h3]E%pC1M$%^g7IDS:;#Lpp!>$sh&9/ 106.1693 + !fYmh97&J6`4&TJ[#YoOGH+VHLU&of?5Yq6UY0bZ9!'6-#GYrrcj,3V;%NhBkpj+n+=Uq@g 106.1694 + G'k5/gnQ`^L4VfP?#I-Q1Z#(0bUt<C5Xrt#c!5,X'%.YO_(i8CC!1=\oD](9p)0)&^Z'P.2 106.1695 + fLY(W):>E%Yp1)naLiX,)e-gCTVMu._!/+G]HDbFWPo\$XW9.H*HBaQZ/$Gji>s`8*c^EcZ 106.1696 + 0`V&nK0K'AauKckVsG7ocQ!n+E@c2Z4.rI&Krmh)@[&8D%>[,N?>GOB'SM57aqm0>R9=;'_ 106.1697 + 447@,W?i.)4`L<j%GoK#VN`:a1_h#;L`KZ<[Qq-RL7WafR<"U#dWgDCfRT%0@pdEd[7kO![ 106.1698 + bY-ut.mZAcUOY6.O*..WaOK'7Rj12sEJh?aAe&j?d/==st20#;$JVUB<j-EY)M_@8p_ZHRW 106.1699 + L&ef1K$DJr$5r^E4<[*3;_^)$0o$8rZnLlZj05.C80UiSI'ebaRD9A#497Fq@`.rng/r:2P 106.1700 + D?NsJ8MVhPO<N!t_929j?S`nihW$sWF$*m)K/>.G,(S9%U;nA:C]W!a7j9A1Y89"d@5]oQ2 106.1701 + KNP?ZMbsT'fNC?A?RR3WlbXB.(*JE/7A95VV!J3;IC[I_9)\G_W`j!?>udZ2fkopWCZ[?RN 106.1702 + ddCnL[-I1V>8Y:*P6h4CP?SZ`?4[d60;94_25anFJ)Mffg^Re4IqTa=%-Bp>Jcl^E?"<79J 106.1703 + q&q@URmAn;ehZj`S#!'[aN6"DArM+er,jZ`$g,(aJB!ljKa.3dtR'pKS'Zog.f5nHp36hEr 106.1704 + <U+\[SZO,(_7+>=:J^6dObcLpp$1qnG+cAhMlDDO8@mKm<J13eQ2!M;H,)hO$%s(1HO?4_( 106.1705 + nmFg$JgfOY`Yar9Cbti!'Wjq`YtH;Sq,FapZ`5Y)R5Yae9@V$VmlE"7)@F>0l/n_<V/"sU- 106.1706 + k!EC/7F*)U>Q0]n3?Qc9XORLZsFa6VY"=GiZNj3kurL$WiOCg&L&Z"FSer.+%qkB;KDA&&F 106.1707 + i1F!E,1>9B,=$TtOCl7/#P#<+a$0_4oS&b#NH\W*o<CN9i*("]cfqFhn"GTiY08E%=oe%om 106.1708 + m3+bG(RFOu-2Ao*2GM9f6\O]N8D=Z)ThYF)-/[ma;d>%EX0FfapP)"qDcU&^.QeP(?'.TM^ 106.1709 + H$1W-biT3oGgk6f-,*`+2Pr._\;,?jK)p5iG@OXRXlV<]0pF/!9'9ukS!FReh?uH1pb7=!L 106.1710 + $"5).14nkb6H0El+Mpf!"I:J^79D1ddNXY*C+X>t2+@\@Y@KO+7?nE:NcZggRNdP=#a'Z)/ 106.1711 + NY\n.:dU5Ap.m#XW]@?:K'/gB4MN8Trf02cL!De!S/Y%KBhJilrL7:'Buk5i[>DITIb2d&c 106.1712 + sIg@2VoXGr?9c<T:s'K&D#A0EbFp0$8MmFm!Nud;:elD/1Fd((kDLi&s@6DJ2k#1UM=cRa# 106.1713 + 9b=9@if/2HHADJCo=,*\.+15HS[&9+Voh?pr8@O<q3K37jWEd&sQ[k*OK%#l!t0udO2Uie( 106.1714 + E06AD7AB7k*e2AjceTE&a]jUu[^uh6m=@USP,*g[6eIc'2`?_o\p^VW+K&E:'a$C0ceJ<m/ 106.1715 + cBEHrOa/mNH"SgPjj_[8*%ssBHL)MpQ`MJ_d'jM5SEb'`6KEq[_G]COi"C2WP"I9H7NuFQ' 106.1716 + K8=(m3+sXMbl_fI,`*qTjfWK`@cbno1lQ=fDU3o!IuJ?H-BcE&G@h;VM>tgJ62h<673K4OD 106.1717 + BI4)dm4.QlK1'Eq].p"JXjMTn"\0_h!biP_ms.67B\X]SItb*/R*$i0Y^Tm<3_CL3REe\85 106.1718 + !.18MA80m>^#`,U48Dh$:LFc0!t,0+$l.!G\?pL/MOW;7G)U_n^M#8jEW%+@N#CPs?IMg0i 106.1719 + V_W[59-j=k6hdbrN,0*3*-q'`r'R8;h\D</>iJo15D:^_,=R7e:+SP1jbq:)r+DN*eN`M-. 106.1720 + :lHA<M]%M*7O!_XNp1:2_Vj%2#U4g1P%)G/U?NA[-4otjPBf0P\NE#5$rdC!+uqlPW#RB@3 106.1721 + [0kV$MF$.!oQ<<OB5rX1=Is66IrVT`G,DmPfRu5i0BYel'NYD(P\[/2#caI=dPPAR<b3gUJ 106.1722 + bajZq?&,H9%ObU,A97I+:p1/9PVMM`EZV;D+@KG>k+i.WL/`.2U;fR`?]@/aH-J-E&bKHki 106.1723 + _!F^\<;-]AqrT6^7)\bsG4$XibqTDAg>,2m&*^dcicPZ6(6[#7Gn)'\([k<eQJ3XT>,D/"* 106.1724 + M615I&DC0-ca#md0/rB[]qCeZ@;5H:TNg=ga>$N0?7@p5&KuTjacB?H$'i!oT>h"AU["]cI 106.1725 + D-IM)V<+$7Uhrfb`.VOR,(R/%VP?\]8T%rE?+Plm\ui"-m>!8(LO-5%$1R>(S0E%V/8cj[M 106.1726 + S`E#.<Qc_>L`+;(5C[\_@eokHoei5Pu8^q+r#XK'AE4*M8],UP?6J,$[G[R]+)"A&V*shN8 106.1727 + j(c)\]&;_a3Gm"</c`1U**C0Nj8)C,6bPOh_A,`YZ6TBDW`A9$lPgYVp68m:%IUqcso%/[W 106.1728 + -$[X2_13jl5\8[c2;P_-r4:37\1Kt&_iP30Y-\:@K"CnD"e>pr#`QBr;QSj``o,CrWMT_YX 106.1729 + teso-EVUn[f673Sf@[*/W,%=Xm$ICa*Xh;8g]mJGG[5FeM*PL-rP`pPI@P7$9',q!%<ZqWp 106.1730 + %)Y'`qGsV5JrX[A/2Kf6B3o\%5s*9(UAm\d$D8<e@0R>qEmc.^?,J2d![kf>RD:$$W-0,Z^ 106.1731 + 0F7J]M1c*iO:pFPe7p9UIHIuNd29d!PE+]?qr<kU<'I"=cHH5H$%92D!]@O5^UX4noln#X, 106.1732 + 67j,+@"4C2?AiYgQu0IN&V@r/*0)XC5g7]#.%F6$pRu_9>$\2AMiX=:`W#hhtoR3'qZW;9B 106.1733 + ._-nREW#7d4K:),hoC4$g/'+U2&`hOBF.F3=j60$)0j(#[RS"W@',&Yu0"(pRkFLX;nG89s 106.1734 + )]X`?I]HZ*Ub7fl[*BhmM5pfS`+nOU1>sj?V6RQD6/%=jrHBa6LOD6bB=fY@g2%W7%pHI`V 106.1735 + SFt)drAW+%4-[b%/t46l(rQSe.Be:b/8gB!liV!4$od0eg0IM.]rg#W"jFYQ2a+Er6\!?dW 106.1736 + %2?9/NVg*cP#po?nRt_QltXCV&Z42=hi2K,'eVD;0C^4<RTmKd2>-?*&7]P"sTM#/8CQE&T 106.1737 + r=c*19,MN*X'S^)c2"T>`t(iYSfH+OS:3s4eh(Iat]pU?UJE'!*t8Y(]e";Qk_[l7?bE$W> 106.1738 + ]2>4T3K;SL%=2u+;TR9-OW+sMPekAM#"mpA&FKB.Y$]]/s+_DTNS8&?;rl"=+G%.3<G_]Sl 106.1739 + Gl?T!FcM=,^WHfPL,5sDQWEZpXdb%*Qi(-@OZRf7bY8A#;62WZX5X]u?H8PO>/=nSNY1(.Q 106.1740 + U3mSh`n60V,/mZY-BdCJfD^pU67=a@jt(fNlTZ5+<L<6j+>M_!R\(gFhRYFBI)jMI,YjiS@ 106.1741 + dSg!P#la_,*KkqEss7AFpI]j]ON>9_T-EH^"$CJ&"L=RmZXGIoZ\_XQ#rUM%&=_U6%+,E1] 106.1742 + L]5nortXa1Yh1q.?,ds-`]Y:<"!cgOC[K(?+iE-/Ff\8j_LVeq^EiJYYs^/t$YY!6b<3`B8 106.1743 + OJ1&OA,o7-:RG4k)VPCgc;4+Xn!%!S)2ND8=kQE22/#S[aT"_5C+n<d0-)%D?giXm#l:+6p 106.1744 + 97H4uIe8@8eO%87D)&/*&-'Lp^&t)_%=Y5t5jqAVsc=o/*:$31Xe<SuUK#%s3);PdZ7AE`E 106.1745 + 'Ui#SR8'SXl4k5&:8ops<St3Nj_a`tY?'PGQgJ)W<O5iq(7S=,fkn3&mM?bBrWbKh0(0@IX 106.1746 + mQCG^I!nS'4).@Kt1HE=HHQ8bDgUR_7:/$:).<+)D`1#'$E9uGXAaYXVC]&V8MQj)P'g]=U 106.1747 + If;i+m1pGV?H;mHf^id5-%&hcnEs)?+-%B[$Mn]U`+WREao9qAgWD:T;n1FlN*!B5b?9Ed. 106.1748 + C%*uC![jn!cr*hQD8`F,lNlZOhgYNb`WIK(C]f8ktb8\a4p!d_XoPR7FViZ&Sb5c0\,#<up 106.1749 + M*-mlIU(kG'BGk4f/:n!c5ssm@N`3l0Yo+3&mR_a27<)ds84DHA@WBD"r+cCb6DSXU%^Fqh 106.1750 + +#0ZD:uICkr.]sF0bd1pa`:p]-V<l^UFAfUUoQ"<o#.jd960#)Z9?NZp96_Q]Xosno0h%b9 106.1751 + k]aeVCY87QT5%%Tpn+bo>!RR5TsY#2BnoE!tL+m;,ot+@tbPL(_gEM7jLhidn(b'bpo@(`+ 106.1752 + 8mB4[ctE*n0EG3*@o8q@Y"%i0@5'*pmD'5;#EZ@j8E2SKr<aU2#0MRl&rJ?WZq)K4.l*-&Z 106.1753 + 88p-k0V8ojd=0[+:V?Y.r7V5nB8k^;0aRo\JoD]r)s#"Mp3;M%"Gf0tY'/3u/I#@6Luic&4 106.1754 + 37Hu;XoReu\>?8`>U>5ulqgfn`nHOQ1QpSFoiF*K?KcAZt,j=#3/U!%D#V@c\@sI,tO(7ti 106.1755 + 6]ko)-;0P+YAKg(g'\nCQs^"SA!pq/DGQa6q8RH:?].?l&811GJn8V:TE6KSkY^$0=OXOD; 106.1756 + ebGl_5SPm_03$iqS@6T,;L0eIG\2Y_M>s]T#u`o>=<CTS-Kha)rBS3'\O8A^?Y6$Lq`DaDg 106.1757 + UXD^Mj#T"2Sr(-OTOJR7[3.bYO4nQR2A^NmD\"V^oq`S'o\,+[Q]#!d!M-6O>ZD]8:(Ga2h 106.1758 + oD<8oAA:\EokN.gS3Rm]tdaPSesg2-G*Z36a(8?ZG*U'<mXkZ<d0plAd(M>>ubUZm)RVlT- 106.1759 + 0rl;A48fU1*Ps,Qd*3uF]M`&WRIn.u\/\Zh^YnMV;p%]b!#O6l(+2S`lP%Q`N@?s46!**,A 106.1760 + J:LN"%i>k\^aok=6pQB`F`aHZU6]:;RJ!PR`'#6kXT@p5,!kc6+e]JM(,1uW3RE@*+]8k2K 106.1761 + `,*eASc>0`#"/ief-u$E=QF,4,8h*mZ5l5b1pbaHu;3B\KZA2@T6!WNodJba&)j;kUDCCG[ 106.1762 + JF1#1S8+Q#Z*i_N1B>(h$72+\:ZD&2B(]@ebD3Mo9b"V/S]UZ6_p"'j-G$R["Kf%0SuB57j 106.1763 + Ki+Ao^-)s;Th6-p\PdXi\XjSh0%=):[nA9j?$<_H#00d^G\S!/OI+-m1ab8->5P`h>24SYL 106.1764 + hUN"MDKod6Gn..'PJDM<peTQOQ9.j7;[RMAkZiqiLJ&iI^R"QogaQ#\aa8)<hMTe7VF6GOE 106.1765 + PH:)pP_B0aYQ^oQW#"uIqnJ:,cptrO*&Ej*MKtG"9c4+9'.RZjq;FGKPk1K1epAu^Ic=oA6 106.1766 + ^2ZKIo#geqbC8aTRg^-#9".?K;Aqu@ZlKXVR.sglC1hqb]1FLj#2Fl)P`)sHD&&@841WH3: 106.1767 + rGd4":5Oc1'KtPdG/Qp]<NYW!H41-q%!S"tSrc@W%rH1WOf9:d>)lL%M7;<-j[)C/mp+Pr, 106.1768 + @6Qb>TGjB\b8<i]5@3`q/#>GbfNY8/9s=B-Jr=Z(#:[fJQo85Mp\Lu"r1_6fq(KIn=G%L:O 106.1769 + 9eP'HYP_2?O1lP<:TL3u3TYY36NS>"Sa$L[[&Ue!0`(&?Pd[731ilbJO0kP7PS$S4A:VH>2 106.1770 + .&s,7[$I#Bc-^D`/Q#mZ[^=#(Uk*!Oqk4q/,\(&!"rAl=$5$>2JVq'jBo7aV[6kMW)Zg-j/ 106.1771 + l;t5J>NDL7o<XX\;7"@$L:uEZ$($8gUieoO4j7AZg+&L]@WA?7(X!h5kXGl60O",X5Qffd: 106.1772 + @<6#dOf\nCm,_&AO@uE=A?;(N:(C]]?SHi,j.'#T1n(L3NjZof`mW<I5-V<M^2L$\iWO)oJ 106.1773 + %e%q56SGU!&m/'3tF@LQ+k>UlkNcmf3O]O4(/!3<ro-5)4OOtcFVcSn1`K`g[lkJ/4kaHcK 106.1774 + %Nr2jGCQe,ea@KiPncg%ROU;JA=!.V,=-@UT>K`FY04k'sR\BO``+BbR;*;abF&LW2oIN%- 106.1775 + EK(dk!$m[=\[IME0pYiT(bD'0JX@"o6A,8i\b*OKjl#m-@6k563])E=OZGg[?B\0=P/h1J0 106.1776 + rB'DS(!gM:DFhbR1([A`;4s^C3;A`;7n(abseUn+aL.l@`+;]!jbpAH4%(-?E``Y;eCr@=V 106.1777 + hp8csck\(bu<EBZ70tlog.?%8jKUQIFQW=)2N`6[5437,%N^D^>FZ\7kFA7ddL7B`f[iWTq 106.1778 + Soi]r(';.`r3Y4Ir%+$6A%:QYjgGEeqM`aa$(Muhb<UBbahTlLl_.PBW;S2Z4BrZT3p78Sd 106.1779 + T9(DF(0ud!>9pOYj<Xe0s!<B;JUD$18fi<lm`^'s``!eYHneE7!Qquk-e9;NN(^E(O(6ZR6 106.1780 + T2XF]W^)iO"f*V&a!3u=UL8Oa@k3O\rh7hfQW*11:Pr.':"=RA><-<.9+X8@),\RG)]b2SW 106.1781 + ZY[&Bo?c(DQ"G=9GfSCkiO+L1kG@^?Upg3StL_YEfLonDM%#k6Nd\_GLY[dd%Iu9Si=]7ru 106.1782 + pHNP.p5Qmh9LJ-g#g(2K]Uls54*=gb(RP%"=N-XH,sja;QKY$1a'N+u6*RqaUtI61!TKRuK 106.1783 + gC]-0H2hf)*tG;!&>H(Js7I".:LITO]R(P5KRJ!oqXOXeu=$[m6Q29pa3Xmc7[@)hBf-MKZ 106.1784 + ;+D_<IkUd%k\%rOd5IBJ&-a0U?kJQh-UQL+5-49T+.`SE_Kg/f+^^L6/*!/AV!so?OU(_CV 106.1785 + _umek".?*@Skt!5(ki#Z$T\rj(.u+X,)eT3CbcZT#Z@u7C"=aAY8f@o'H=T^=e^Md(C3pT# 106.1786 + TH,GC3Mpb)aV+:NmR3SlN0Aj+$=l^1Fl?hr$"G3[?9B.MXa.?!o0p1KV-%R1h]R?nR95SKU 106.1787 + [OeTR/[?"55H@HE%5O_[=m4'*&5-2a]R0(]]-%BLK-&+=WeL1V7eH/36/!j,EKfQS^ckgPn 106.1788 + Hj0>\\m6js,50EX]m=fI2_`(1KY=tck6"qskn"11W*:e8O)@AY3"WXscX5mA2=+>N2Y,@H( 106.1789 + V`)8h+OfiAO,.M!\#[4pK5t-0'3i"kHe3-6Z>;iPcT*)16]O!cg=g1FXL`1$Ale_`m@mZku 106.1790 + M^+r?OWZ=8#Xm%N517CcZ>h]TK`ZpD6O3^g10MG0(PkUO`sZ=_]O&W0F#\PMMkjOs4E`R"> 106.1791 + ceCt7r3H5K6SpqZ5t->SM5_qE)J[k@??X6]G,$/#TLi8]bW-4Lf:b_gkH1<`^I=(RlRi3FE 106.1792 + ts/M`/,q6BmHdCbj)EO"sCQS7Df**082lWOtjT]:-\blZ@q^<u(&)80"$e^aMTr/W0_?!^* 106.1793 + "p8`Pedfcp6GJBNU;1nmSnUImYE*jh$I"Jj1ULD=SF"rN$r9WB6[&rRkPb05_V@i<;9R7d5 106.1794 + S7p.H"4.64t7"a-G)hAs,Z9f/91P9Y#5_Q%.S@V@p]1]\Mb$927`4e.1V1LP>#ZDe#)jqY, 106.1795 + fbfi$M\BQg/?hf]J\mNuLK)@t]ZMt=Z:%e,apCn'jG4(@CJ4$@9aoED*7>J$]h'/@M-MgWg 106.1796 + l3=Bd`m*N$R4`/6a`8MHHFMYP*uW,`8410hZtc"J2C:<JrE$Z\1kSR[kNKRaFPBTY;Ps_9n 106.1797 + _b+SE`kNlOJciS6VotEUo$`)U?"b-b3NM"'5R,eW*2)!_i8$0NA[:\1hE"9/nBHRc_m(hoH 106.1798 + eq\aX>E5eDrkO%P4Zb1M3=0cRb%^V;QdcOC%S>m=,B#7==?Y7(S'g*6^:,RjVVd)pTjn^^H 106.1799 + 3It[J+#TKUr<;dGsY>6$X2.OHaEaI)(3R!S-%_W"$9CR`S;:2nZ%Cd%B&?`tp>V`60\MXgo 106.1800 + *?nB5,>pL]:lOd7fTshHT?dB\;Mn*YPE:=\ql%B'Z4iRWP;*EU67@X[dg;ErM^AorJq:SuN 106.1801 + b[gI/H%#UHAkB<#Z*k:S?.:d):Fd4;p@I(h$$QsD,?ml,W$O%m$H2_6QtBn,\2?c&1SSKPn 106.1802 + oc178Zg5]"p!q:_&Hb#Sd@c#V/*d#s\Y]eI>AU*E#H[e'nP!eOn&bN1disWmSoB^)4.#F[F 106.1803 + VY>?/@A<QlOb3Up,"?PqdR$],0OR_2!<moB<s<_[.+>Kp1.DH:=^(,]K_U<*ZcKo#RBX/T8 106.1804 + .I;5bg+fq>hdY2Ad*HG45F&c4Q8[WWk=Y!OCh$?&5&l=Z:BS-RVCsTVCUmU?\Yu+$AG$"Wm 106.1805 + =:Kg@`H93JJ_2t1f5W:"+O^W(3/B%`=2JS[FbNpdMcdZO=N_3'oa019NEGu^=K*b$TRo,\N 106.1806 + N*/0f8te/d*ErIM@63Z%98Nn"e&SrRp!>";H5s6opf1Ko%BEZQ.\g'Y`7=\JXE]#V+?Ks+k 106.1807 + YAueCk(u>)fLbSZ3lFN^_Ki>-4n63lhIc\d0U$"uqNEJ:sSDDP3pt'bt]nrM'W5CP]rGgBF 106.1808 + ;WU-"pRLPR)sUgq/q[BGB,[>8X@a3#9UXbtmCL^@o+Uh.8r&E6pBEnH?JgkEY%=VTXn!$lu 106.1809 + pgs+)Kh9He+5;aH.>j]oFBj4fSBNOklg/Y^!NRLI]>Zib7fg(-jd#D4:JR*e^>AUNK^kb.8 106.1810 + Js?n*?1<GP"i=PFZ/.0uN]kt7*T@?IM#[_$#U"h*34`D7dGDS'?HqjMPT[4NmG?[g#m*ZN8 106.1811 + 5k=Z4-de=>tDO4c1-;b9Nj]8N:Di4,'K\OL0FCX#j&\S7;`SHJJH!8cM:c&ToB>+_^Z[]Lo 106.1812 + '4fpkE$%T-n4ROU02A-0kg3>7jTkfnbI=+FfD39O2pGLhi5^%ME2&'4Ele==ht\7M](=on\ 106.1813 + `7?\S.n^l+0Ek*W[>M>eHM:&0Sd&VuSTO[/"6I@$rW8Vk@N@&\)iXchWKLY\&Ci$l=q5`"< 106.1814 + 5U]f&2=KT*]IJ[>o.UG0!gO9pu*\q4X1CIe0@m2bXl18BJO5SrTinBUME/*9+_2+rc@#0P! 106.1815 + pn-PBMV8fP#_j`5(+BN+h.--fih_s+NSOj]6jYH<?*NC!*\UrHNfH:Dj'GGjhG.VFR_5\Z< 106.1816 + CTbm/h:G#B8I*X,'HTbDFn'bLZ@Le#_knec;f[L"leqPhp,5.IONsB/E6G]AVIZ/c50o_YD 106.1817 + ]84AKGDp?=me_Me*(\k&p0!.+6aU-K*70i8tsek!m;9LgWC<Lh94_?-?gA?jH[&@+HBT(3& 106.1818 + 9)?<uKV@-265S]U"X@qM$S?G6Mt*3j/%IgC420-,1JrMl-kEo6Z?k/F.XW/KLIkD5\bB;P? 106.1819 + 6p1!2=j58dMAei,a5_WIO<s[@<Au`t80i;OXGiq6RMlqroOH3sJJn]XaB@qcJm[.Yd2!M.3 106.1820 + i5UleU6K>WPmG(g'uC41=n_(+JS/"'Lb=bQn::nrb@HotB$QVJ2L/c/Wp"&bC<`43Pd$#\X 106.1821 + _G#@.ZGb!7^(c/FbhAu#[M015+^U`X9a6XfCl`7\;B=\$jj'Z`7?$p#-!J4X,%g&A?L:Fk- 106.1822 + sY/_cSp"R@_An-H"u2m]e$^#NgU(D6<-FJng*pet.q-G`5[p6%B/2A9`i?-ie)qQ>5P7CVG 106.1823 + ..W2J>R5\;(7?A=d3m`KCLgMOW/m!CMqmSRi?l^cR?g'*Aj?GL($eV8dOjrg12-7e2T_2<, 106.1824 + $OVj_VfS+,?ent-IDU.WL%F9g\B^X]8@(o6>NkgHgc%cR]gpRCm?H[52M/,6FO\h%oVKRfV 106.1825 + cfB6s);a'S*K'4_o&&[U(odmRhWsV8")pI-:hH2RI6ggLmFABCcNW8A`fJj@Gi'p)k]VU\D 106.1826 + A`^l[LNd%'t3610(k2.#L<$%>Cf@P?2*h0N2J86A"\le^AmZQ_MV1MS[T/pQ:Y7E(C5d,KB 106.1827 + %Ztr_2a_rU>jnE_duR46JT3Z6(88j)3Cf>jCN6Tke=thPU$OAgU.GgMk_8muWI\-MiPNcZ7 106.1828 + OTkCAOu(F&7=)i@CK@0/Q#7K7DC)/E:unu"Wlh`aK;J>EJ,M,bpC-PZ1=kobFmka4hWTShE 106.1829 + B'3hu'nW*\:\BGu%V;^@ngA$Wh(JBT*\r@KbAMHjj:6Pss\FhK)l!UHM429QIbgt-)>?=/) 106.1830 + LsB=0+nJb[F+6Q"hd1Hl+7a7TDZ<"CNtcW,?ZnG(l$$Z]?Y4It]Ppu>9jH7+CtEiSCD/pDG 106.1831 + /%m;hekrLX6bm4p?uu=%rCt^F*Bij6+rgkm:Z/hG8T4XpO@I4T6`VdFkXlZpTJu\5Buq[Is 106.1832 + :pC2Xb=(%tYJpIeYRLGYa#KpOW*HLNn<)G`R\Z7u$f2Mg3!qGgD@BT8NF$O*L\dGn6$(095 106.1833 + iMPBfBWGu'\dhide?kl^]i"8FU)_p\@YRJF%VH,#nq\"7lkT)%99H4QZp+.rB_TmAYlH9\6 106.1834 + P:SrG.Vg;^JqJW<YT;d.?W;=9/HH3(4c`VTOYBng)H3d^ZkZ\n^6j>nEHN1/F&%-b&[X3M3 106.1835 + qiA45QahC7]6g`oH`+Q(^V0LM<X-WGH$@)P)JF?0E*CT):7*+,3$/.!8i\!6r--50T?2Jaa 106.1836 + S`fqI)jEXcd$pqc[=?kI.,G[s3Z6JdX=@-rD1mj=4DY*f6qSiI:q5]J(ad]g3p`jIF$XGhp 106.1837 + )@\AqZ#$!ao&\BAJ!VhL7-=IQuqC2s,Qbk5J`NIZN]ATBH3Wl$g+u";kW!-cH#Qmj,*S8Jc 106.1838 + @Fr6Tgu`r;n%s%i9:?gN8\om_2ZIt.9DO8=?]qgJ4s(uO;$-i3k8qZm1%-l%;!+E1FN*Yem 106.1839 + 66=I+.F@IDeLW*_"BV\rl)3.02dCB*t5pML`A28EUU.larZ&io"KZ7RZRS@DCH,Sif4.]5\ 106.1840 + e+s4PKgVS3B[h>s-C%6$;eabXKgqn;W`<faHGsL(>HV%Ceb]N)`FH2VCt<r%VU]Ij>A_sgK 106.1841 + uW4;IpHEJGMVESGCDbpf2qXk"bX[#E7fP--P_QZ@r^/tH2WPK0s1q1>eXDsS'>Se3W/#l4e 106.1842 + ^;;o\(ldQW'g4CNZ*E?H6?WfPL99?,k?9\)$IrS,N'dHc+44S#^@\-?=oQ+ugQ;(I+bDl?# 106.1843 + )C5/11(g[0334oXVsKWK!j3F72*Vq(,,H[XcNLWANJqL*hMJ&gaFqu2(YC[q8802($f!&+r 106.1844 + U&HopH>T!a^d!QuB_GHaO$Gt0&0atrrgc5k^d/60@`).LG'#`0[;&$c="9ANgBA3.`0!SAi 106.1845 + )TL1;E?*"rgj's]dJSP<aAO"7,081o)L9FjS=(_GUn",(8lD1Y.a$2NIhj]bF9`YdnXQj<b 106.1846 + YoM'1<e30d59*H>hM$[dsU+6Y"+0/!)D"UmQ=9DPkdMhe,99Hb>8Q9(X'kc%m\NA>o?,Ze9 106.1847 + rK2dSubd9%)5&0Xf8^K^hg`6cCiXe5[M\$W(X"\O4b%/Ql-)eU:k.elA8T>1V6;EB-T\S=O 106.1848 + !/"J'UAfN'#KVGM8L;,g"Y%?"iOepX6*g/acDC>.7PZ#&/qh77F@Ps(=Mflm&1Eno80d<+2 106.1849 + G?.jDWf6uV&hH-0aE$(3i@04XGAa+[$fDYf$i)h$,K&G9F&VT+F>8)?:8(Jh`9Gh@jMW3:& 106.1850 + 0oY-phDpVVf`"0u_RHrsP+PCt`iIS\m.!g2=aje;AWsbOREiu&C]J'#DKD9/fuAN4kZT$aU 106.1851 + ?L;pOI>0t2GUogQ!15Rk1OpAWp81'HO+C9`AUk7_a_J4OddE)=_`fM\#Zc<9H1De]'d>;k1 106.1852 + ^akZL$i,h6h0*hYFnSg\l&G:tO50M<ZnJF1^o]?Puc10NT<FRN.]ab3(n"mB@$+mio.[4T< 106.1853 + OKDg^mLaRWqu.OOa,^I4Z8MaosQoK*9sg@j@;ESU:a7g1O7RY%J>GXFEHiqTF\Okoh>>l!! 106.1854 + dRs/AmqGXXplLUGOj6()^e+MpGrh$%PPlAC/\bht2dIdBE?eP.M2E\HZfmX1^qYo"UcMVOt 106.1855 + fD1_T/tA@Z[ncr+d+NrqOd81DYgqXQpO@,S:;?NN!)oZqIukL`^kFiOT.BYgd!cNm(duGPJ 106.1856 + qR9"mLd='<1i)_p2/%7E5N<b$VLUZA.[Dh_Y.gT7gq2)A\K-N\:kLR,XmO3dLr\u,ekNc9o 106.1857 + 6kI9thu3b8[+pMT$JB5Y.cM6f_MhZ$m-0Jn#<6,H4H+V?0-%N<P!bArDdonOB77l.`!4Ej; 106.1858 + JY_l,UqiX#RA030[&LG^&[PHK9C@9U_A:EWTK<JolR/AK:DSYG=qMrOFaZU/(<+67;>&Y]1 106.1859 + o,)I6anop8&&g#(P-QQTRGEaiE+-63o-<[lJO]"jQ82mRtS&C)&nNL>S)20d,,&2>#&AH#< 106.1860 + M_aF'@s0Vml+5;dVW=hm:Cp'1'6\ELB!QW2"TDFreF*DF*7^QR\m.4hRgkoNk>(E1?I%dlX 106.1861 + <r:[Qd\Kr9h;lVk/>tcdrKG&npNK14QInhRX%3)B0&te5*'7VG0_Vq:2!>mRC$:Z;49@3d( 106.1862 + ID5cMbXXb!ekD/-KOFLmgAK;b@A=S!j<Y!]q;ujQ$aS-EaM=\ajG\geA5*1a1AjH.<*I7#c 106.1863 + "np7eHsklqHi(o?k,Qp)j"-"qB,-h(S,"PNuPC*`[TZ<g]jV27d.m49S`WQNe$DbI"6Gc)d 106.1864 + `R>hPgs!RE)Xn;$7e'[)KWWSNb<;;k]d.nD+3BX8`!i<\QB2bjJ<[Lg=2i#PV6AbA;Q*k?5 106.1865 + fXMB!lNDs9oTIR))b"H-+cg>RRO-Zl<GL?:Z)NueY:#.-1!0YXY,nq2PF;KC.oA*m/uG$Mq 106.1866 + [[R\He"q\=IqYn@p9sRQa<M<#1EC#:?d/k-BcVI>1YuSai0%DG1O6%7W!,O]t7&5oU/qX.s 106.1867 + 1&FZ('<TRb8'oEXCREZgmiP;Yl"_$=2&aWS7%ZS#]pK]p,pL*s>uA'nXSl]k"RL#%8C=?D> 106.1868 + @BY_"XP`Zfl/fjslAEkskE6@!.+_fR5lffS0PI,nqBc";("lJ65=@u8aB\F5BKe&=CmmhPR 106.1869 + u(fEn5ANPa+N"*[^G83KgEI8)t,cK@'RGruWm0XU[F7h[X@f]AaRmaM.ptE%26@4`pP`I1. 106.1870 + @gQb;eXH)?_kYE;A@Pa0RrbAlXGPr:;HP)uEa_^tc+<^N!f5U713UT=G97K8!p2+`@4/Do4 106.1871 + %mG9P-Q*^bkZNgkBTc<8iE-bg%KRQN=h."NQ/cQ(IC"GQSrleU*c<\bNR_oWQE/A!#eD!kt 106.1872 + FaHYV$j>])Q/S*JG'rILt.Y*W"dLZ`K#>%'Opm=(C&W5NTj!OT`tIjiQPio,M,\!!;e.h#p 106.1873 + I:Gt)rPThB4&SUUt>cGM`)=mP'W[<AlogGfb:_eCd5pB`a)S!R)k).gUl7g7i+++uJAMb#X 106.1874 + r$/s1gf^DBr?ajY,QEg%5Ds:cF?Nr!@\YCop]sk+'[:7L1$ZmhX,2BGQ'U'J/P%X2=:&*Tc 106.1875 + H<bfbnkt[m<:5Mg06<3FNcW,7-Um7T*Ir+Air(o.9lJeSs6#A%`jAL7lF`1''+Rs>q2QuhA 106.1876 + FD3f]V21u\MNG4Q\"jaL"%i";sJbZ[1nT"c$PGslh=buPFf[UqSr$m)fpE!0'h!!-\_'H*G 106.1877 + G)B;rToLHKU.FAoJ57i;5@9^jA;fp^Y"!4PuUjr6NJ!3j[^g]%HQ;hoPI'X5*0YQh>dfR<? 106.1878 + 8/g,K&3i%nZ]qG'cFIHS<<hYgK"WKls:,=CpF:!MGT`lg!n:\C2Q:B1lP;Y@NDn31n`Et5O 106.1879 + YITi;o"RB?;caDYrYK)ti;Y9q;nb'K&T)=&%R!g'R;SK8j-pGhVGV@nL6t7eFic=rHPh1qo 106.1880 + s)3eqcjp-g&kobSc#E"rEY3,R!c[a&F\&+[I",4%Xrd&k+-:TjbmIf.5apHj3(asJL\@ 106.1881 + )n;L"=9rIBWPd,.fHN^"JTN2:W+`%3o@*MqdPNfDfYgFG4/78;m9(GYZ/ilFTO7_@n2V%a, 106.1882 + LE2KGDk%$ALVCKaN%LQD?48$\d)R/XY.o81)Jcrbk3u#9pDAFt"u&AoPo`X6uTFppP$Y;f> 106.1883 + EWO?P"jE<"p4PL.7^VnTJ&g9>-LrIo"pmOJ*1r$INHe,kg/m^io^n0sIOjA8+mOQ-gb$78U 106.1884 + 7Y9n)q6=CC%1ac,s#S?tU01N1hgeQ6)$aElBd3qr3pD)(f@5+ijk6DAi)]"QZ>75UlM+!J" 106.1885 + DC4iS^0sdP/+=Sb:6MlBp2F4(%]\>[`>*t'LPocj,'OO4!,Sp#YYA"2:$T\jb10-<)Id1\k 106.1886 + pVInfW>Y;e*U9W&N]2Bppt-a#fTFQ`lAo!kgg;h(lQ[cZ&X?)-Q-ZA!0Cn#,&\ANT,M^LMU 106.1887 + ARS;6q3^#d>g<'i2:@WQuP.D$-\7*26j]huJqFe8gSE%Di&6ncl6*4rc<C(Qqs+EF;QG5:+ 106.1888 + `i?>kMB;J@K^UuFmG+j^4D/\ZT@M!smD"d4]P/aEU<`>e5]cr,%5Be%k(Cp<C%r5l&dU1l) 106.1889 + hD'u/O.E=(lEJGq0U70Ma)=a7,n+S6tXXQ"_*-.GQ9rR01cRKCn-ZZNuU1YsTI4FWh,,TE3 106.1890 + noHJgRjJ:0(/k;h`QKURR5"4J<f:S@bb#&JLG@-)X![%nnX0Ilbk<['P`j!+!;SCk^G>q1L 106.1891 + PNgEl#dij!:$m;&X,t+#RN.nE/o[mPJVX3o&BHM`@<'ZCoUg)ZIW!==DUII1*VE37Vm3'65 106.1892 + Qsu&b>BK7ja2$4X:<F3E&F!!Q-b>UGWIV3R_+g^sP%P)CSNs26,ChdI`M6E;\YA2cAifF*d 106.1893 + +-I_7HS5*P:re*\i?l<+^;$SWYe'E:<3"$ffj5a2XA`>LBa[m9R%6'N<Se/q!k,=4d=5r!L 106.1894 + KF>#uq1IG,#6^0Z"_P9GlYZKq48]>m@oM7mi;ajYe7?h!7e+R,XN,[_Ea:qoLe8IhkF%92R 106.1895 + 7u0YNe7.BgY\HX?2fsC;e;m08P=\`?8VRUB&TL%PVaPVt8X)q@['*+:ZV+9,99d"g9H7LuK 106.1896 + 1j_79U*^oeB^i'dT!8B_=Y]@<8UFbj%`S::6b$6F@/gQo1r?[:R(`PeG_U"lr>mu:_a@7eI 106.1897 + PLl'2_aF.*.R#7JAN:),aH^;O&b1eLsQ1*/*m$;\_AmeN["J6W@#,;anY"F[oFH;cQh!<L$ 106.1898 + b^eF?Ph@ocTB<g@H$b=bM0ogVr"=-\,6eUL[9Jpde,@HNrF'dHg\P?CnP=d>IZ`YD4&+Cu9 106.1899 + _0O]B5^dVHBZWf;g(W+ZC<PMa<_@]ef/YIAoe\VGV/du4C%Md`(!+0%6g(O)A>nsXb[I,VH 106.1900 + \R)\J(,btne\PU8`Xu4o>kPr@edl&Oh-;hq"ngt`Q1c.4+tZ*I@[6Wi<VdIgrZ5)k&%4MNT 106.1901 + T`n$d9tn7@3FN7p#7QS8S(pS@Ni!cFt6pC0J0^nA&?o0!0^qo&1s2/&%4#@[T!s,=^j_HA[ 106.1902 + X1((2$utGV-?o>o%<0[WuN:;e:+G@Y'gs<f:=.N\-PK?(g.jFq8;q6#$$S@b&166IfQ]/S_ 106.1903 + _t@Q#fE@4j.?)-n#iCZ)=2+He=b"`1T]D&)qb<[]P"mMr[k??Y@8(?\ttgKdh,>ekW'290W 106.1904 + Yc7LpH?Zinu2=GLMi%:8V>W(&O6SEGEc#M\W@b1cdokd_3#Srb-B/`j,K%2Pcm3Y0P"4q:! 106.1905 + J<tH]g'^u*AUkkH_V,RqJqak*/D"->+\R(s?r!S9G%0'HTKHeP)g>A.;n%,TpORQYC`6B`/ 106.1906 + O>/=f8k2$drli6%6)E]TNcg\UNAiUG@7h&[sfo[/Ug01HXWat\%ZJ+O;+GCB/dsB2pZmu4* 106.1907 + j6HJ'[U5\)\1Rl$J$2I\q1;(\hUorEt/#AXCaIU>(4%?n3'*B/dI?@b$%,D1U^!B/eRsGUn 106.1908 + 1Z0mp?C/GJgi\%RG2[V%ON&E;Gj``[u3fl=N!K&YHSAm%[!]7n7AK>Q.\V!Wo(D0OWPG@K< 106.1909 + N!1%2_Sh7I$;n.E0Q],P.?&6]iAXJW4Qu5j4T8D0>MDo=.B+TiBM0/DrFX%-L#%riq`Hc'. 106.1910 + H(ri7pMY77fm8>AHIoA4pP+qWd>d9kIohk5Q^KP;m<7+cI:CfV\)2MkfnPk/I_sQdf>2r]j 106.1911 + cJV;JjS.Bf@=lnomPGmIKJ,RQaMBRd?=7qHm70l\':,h!`'X;/U0&Qij4m3B7@@")H\#/=< 106.1912 + Wlr?nHVH;n+E55gt8#R?o7'Lq"=W=@JSO87pLqR!$Z/R?*&Rc%otERA/)^->/7Rf8Kk&RY' 106.1913 + (WK^kG^I>nqt4i57/H'sBgdtlo_S0HLRAFH%_du!kB"5(phL8UT:`K4XmNZulBH0QtAmS;E 106.1914 + Q/Xc<2\>>a!rap-DNHJ0![3&>"$5ja?#b!iMg-)3>O=`c_UmaND_)\>.V@-R$#_;ZG_V,RT 106.1915 + A#4^JVLmNL>$7WLX=P8WV]%W*!lq*fl)122V#`TQ>$5`pfqoo%VKuu/RW#*t]rFEK)LAH_H 106.1916 + @@DKK;`3'X+K%6]"b3\'<,/HUtTJginA4[LT3YRWg^&f]!*`S\#Z7VX5M1&2S:W1\.UiXXT 106.1917 + lJ@>,El4f;N^l/GeE?2G9m8l7KU?YCbH03d[m#VCc!UVn33cg4uYS&Z".rY<'4mH@d_?0;s 106.1918 + 4BZ?i@GEBYpWc)$mb/XF#R3kd2WMmN7OZm`\rHE)&,5IBr+/DF1#gK6%R>Ru-`T-D[k>'mU 106.1919 + Xe#/X]UcWT;4*JXGf=0Hu\3er[>D\32fspluVckTM<<WaFGIuVM]UR*WgX!P:1?h>q0H8c[ 106.1920 + gY]^aj1\a\^74H&g[Dlro=nN(^RP,8g],&/"2J.H^mkeJg^h4@'>[oi_42I\g`OBQ,Jm\5_ 106.1921 + ON-ngb6Pb1W*HV_jig+gcr^s6c<5"`10K=geYm/;oN!C`LL/OggA&@A&_bd`gghagi(4QF2 106.1922 + qO0a..LsgjdBbK?.;QaIJ10glKM:!'gSe~>Q 106.1923 +Q 106.1924 +showpage 106.1925 +%%Trailer 106.1926 +count op_count sub {pop} repeat 106.1927 +countdictstack dict_count sub {end} repeat 106.1928 +cairo_eps_state restore 106.1929 +%%EOF
107.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 107.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/VMS-core__internal_workings.svg Fri Sep 13 11:02:18 2013 -0700 107.3 @@ -0,0 +1,1010 @@ 107.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 107.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 107.6 + 107.7 +<svg 107.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 107.9 + xmlns:cc="http://creativecommons.org/ns#" 107.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 107.11 + xmlns:svg="http://www.w3.org/2000/svg" 107.12 + xmlns="http://www.w3.org/2000/svg" 107.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 107.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 107.15 + width="744.09448819" 107.16 + height="1052.3622047" 107.17 + id="svg2" 107.18 + sodipodi:version="0.32" 107.19 + inkscape:version="0.47 r22583" 107.20 + sodipodi:docname="VMS-core__internal_workings.svg" 107.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 107.22 + version="1.1"> 107.23 + <defs 107.24 + id="defs4"> 107.25 + <marker 107.26 + inkscape:stockid="Arrow2Mend" 107.27 + orient="auto" 107.28 + refY="0.0" 107.29 + refX="0.0" 107.30 + id="Arrow2Mend" 107.31 + style="overflow:visible;"> 107.32 + <path 107.33 + id="path3563" 107.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 107.35 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 107.36 + transform="scale(0.6) rotate(180) translate(0,0)" /> 107.37 + </marker> 107.38 + <marker 107.39 + inkscape:stockid="TriangleOutM" 107.40 + orient="auto" 107.41 + refY="0.0" 107.42 + refX="0.0" 107.43 + id="TriangleOutM" 107.44 + style="overflow:visible"> 107.45 + <path 107.46 + id="path3682" 107.47 + d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z " 107.48 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" 107.49 + transform="scale(0.4)" /> 107.50 + </marker> 107.51 + <marker 107.52 + inkscape:stockid="Arrow2Lend" 107.53 + orient="auto" 107.54 + refY="0.0" 107.55 + refX="0.0" 107.56 + id="Arrow2Lend" 107.57 + style="overflow:visible;"> 107.58 + <path 107.59 + id="path3557" 107.60 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 107.61 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 107.62 + transform="scale(1.1) rotate(180) translate(1,0)" /> 107.63 + </marker> 107.64 + <marker 107.65 + inkscape:stockid="Arrow1Mstart" 107.66 + orient="auto" 107.67 + refY="0.0" 107.68 + refX="0.0" 107.69 + id="Arrow1Mstart" 107.70 + style="overflow:visible"> 107.71 + <path 107.72 + id="path3542" 107.73 + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " 107.74 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" 107.75 + transform="scale(0.4) translate(10,0)" /> 107.76 + </marker> 107.77 + <marker 107.78 + inkscape:stockid="Arrow1Lend" 107.79 + orient="auto" 107.80 + refY="0.0" 107.81 + refX="0.0" 107.82 + id="Arrow1Lend" 107.83 + style="overflow:visible;"> 107.84 + <path 107.85 + id="path3539" 107.86 + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " 107.87 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;" 107.88 + transform="scale(0.8) rotate(180) translate(12.5,0)" /> 107.89 + </marker> 107.90 + <marker 107.91 + inkscape:stockid="Arrow1Lstart" 107.92 + orient="auto" 107.93 + refY="0.0" 107.94 + refX="0.0" 107.95 + id="Arrow1Lstart" 107.96 + style="overflow:visible"> 107.97 + <path 107.98 + id="path3536" 107.99 + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " 107.100 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" 107.101 + transform="scale(0.8) translate(12.5,0)" /> 107.102 + </marker> 107.103 + <inkscape:perspective 107.104 + sodipodi:type="inkscape:persp3d" 107.105 + inkscape:vp_x="0 : 526.18109 : 1" 107.106 + inkscape:vp_y="0 : 1000 : 0" 107.107 + inkscape:vp_z="744.09448 : 526.18109 : 1" 107.108 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 107.109 + id="perspective10" /> 107.110 + <inkscape:perspective 107.111 + id="perspective4311" 107.112 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 107.113 + inkscape:vp_z="1 : 0.5 : 1" 107.114 + inkscape:vp_y="0 : 1000 : 0" 107.115 + inkscape:vp_x="0 : 0.5 : 1" 107.116 + sodipodi:type="inkscape:persp3d" /> 107.117 + <inkscape:perspective 107.118 + id="perspective4336" 107.119 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 107.120 + inkscape:vp_z="1 : 0.5 : 1" 107.121 + inkscape:vp_y="0 : 1000 : 0" 107.122 + inkscape:vp_x="0 : 0.5 : 1" 107.123 + sodipodi:type="inkscape:persp3d" /> 107.124 + <inkscape:perspective 107.125 + id="perspective4365" 107.126 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 107.127 + inkscape:vp_z="1 : 0.5 : 1" 107.128 + inkscape:vp_y="0 : 1000 : 0" 107.129 + inkscape:vp_x="0 : 0.5 : 1" 107.130 + sodipodi:type="inkscape:persp3d" /> 107.131 + <marker 107.132 + inkscape:stockid="Arrow2Mend" 107.133 + orient="auto" 107.134 + refY="0" 107.135 + refX="0" 107.136 + id="Arrow2Mend-9" 107.137 + style="overflow:visible"> 107.138 + <path 107.139 + id="path3563-4" 107.140 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 107.141 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 107.142 + transform="scale(-0.6,-0.6)" /> 107.143 + </marker> 107.144 + <inkscape:perspective 107.145 + id="perspective4423" 107.146 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 107.147 + inkscape:vp_z="1 : 0.5 : 1" 107.148 + inkscape:vp_y="0 : 1000 : 0" 107.149 + inkscape:vp_x="0 : 0.5 : 1" 107.150 + sodipodi:type="inkscape:persp3d" /> 107.151 + <marker 107.152 + inkscape:stockid="Arrow2Mend" 107.153 + orient="auto" 107.154 + refY="0" 107.155 + refX="0" 107.156 + id="Arrow2Mend-8" 107.157 + style="overflow:visible"> 107.158 + <path 107.159 + id="path3563-2" 107.160 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 107.161 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 107.162 + transform="scale(-0.6,-0.6)" /> 107.163 + </marker> 107.164 + <inkscape:perspective 107.165 + id="perspective4461" 107.166 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 107.167 + inkscape:vp_z="1 : 0.5 : 1" 107.168 + inkscape:vp_y="0 : 1000 : 0" 107.169 + inkscape:vp_x="0 : 0.5 : 1" 107.170 + sodipodi:type="inkscape:persp3d" /> 107.171 + <inkscape:perspective 107.172 + id="perspective14081" 107.173 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 107.174 + inkscape:vp_z="1 : 0.5 : 1" 107.175 + inkscape:vp_y="0 : 1000 : 0" 107.176 + inkscape:vp_x="0 : 0.5 : 1" 107.177 + sodipodi:type="inkscape:persp3d" /> 107.178 + <inkscape:perspective 107.179 + id="perspective14206" 107.180 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 107.181 + inkscape:vp_z="1 : 0.5 : 1" 107.182 + inkscape:vp_y="0 : 1000 : 0" 107.183 + inkscape:vp_x="0 : 0.5 : 1" 107.184 + sodipodi:type="inkscape:persp3d" /> 107.185 + <inkscape:perspective 107.186 + id="perspective14299" 107.187 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 107.188 + inkscape:vp_z="1 : 0.5 : 1" 107.189 + inkscape:vp_y="0 : 1000 : 0" 107.190 + inkscape:vp_x="0 : 0.5 : 1" 107.191 + sodipodi:type="inkscape:persp3d" /> 107.192 + <inkscape:perspective 107.193 + id="perspective3233" 107.194 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 107.195 + inkscape:vp_z="1 : 0.5 : 1" 107.196 + inkscape:vp_y="0 : 1000 : 0" 107.197 + inkscape:vp_x="0 : 0.5 : 1" 107.198 + sodipodi:type="inkscape:persp3d" /> 107.199 + <marker 107.200 + inkscape:stockid="Arrow2Mend" 107.201 + orient="auto" 107.202 + refY="0" 107.203 + refX="0" 107.204 + id="Arrow2Mend-8-1" 107.205 + style="overflow:visible"> 107.206 + <path 107.207 + id="path3563-2-7" 107.208 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 107.209 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 107.210 + transform="scale(-0.6,-0.6)" /> 107.211 + </marker> 107.212 + <marker 107.213 + inkscape:stockid="Arrow2Mend" 107.214 + orient="auto" 107.215 + refY="0" 107.216 + refX="0" 107.217 + id="marker3239" 107.218 + style="overflow:visible"> 107.219 + <path 107.220 + id="path3241" 107.221 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 107.222 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 107.223 + transform="scale(-0.6,-0.6)" /> 107.224 + </marker> 107.225 + <inkscape:perspective 107.226 + id="perspective3353" 107.227 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 107.228 + inkscape:vp_z="1 : 0.5 : 1" 107.229 + inkscape:vp_y="0 : 1000 : 0" 107.230 + inkscape:vp_x="0 : 0.5 : 1" 107.231 + sodipodi:type="inkscape:persp3d" /> 107.232 + <inkscape:perspective 107.233 + id="perspective3447" 107.234 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 107.235 + inkscape:vp_z="1 : 0.5 : 1" 107.236 + inkscape:vp_y="0 : 1000 : 0" 107.237 + inkscape:vp_x="0 : 0.5 : 1" 107.238 + sodipodi:type="inkscape:persp3d" /> 107.239 + <marker 107.240 + inkscape:stockid="Arrow2Mend" 107.241 + orient="auto" 107.242 + refY="0" 107.243 + refX="0" 107.244 + id="Arrow2Mend-8-5" 107.245 + style="overflow:visible"> 107.246 + <path 107.247 + id="path3563-2-5" 107.248 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 107.249 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 107.250 + transform="scale(-0.6,-0.6)" /> 107.251 + </marker> 107.252 + <marker 107.253 + inkscape:stockid="Arrow2Mend" 107.254 + orient="auto" 107.255 + refY="0" 107.256 + refX="0" 107.257 + id="marker3453" 107.258 + style="overflow:visible"> 107.259 + <path 107.260 + id="path3455" 107.261 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 107.262 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 107.263 + transform="scale(-0.6,-0.6)" /> 107.264 + </marker> 107.265 + <inkscape:perspective 107.266 + id="perspective4753" 107.267 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 107.268 + inkscape:vp_z="1 : 0.5 : 1" 107.269 + inkscape:vp_y="0 : 1000 : 0" 107.270 + inkscape:vp_x="0 : 0.5 : 1" 107.271 + sodipodi:type="inkscape:persp3d" /> 107.272 + <marker 107.273 + inkscape:stockid="Arrow2Mend" 107.274 + orient="auto" 107.275 + refY="0" 107.276 + refX="0" 107.277 + id="Arrow2Mend-8-12" 107.278 + style="overflow:visible"> 107.279 + <path 107.280 + id="path3563-2-3" 107.281 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 107.282 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 107.283 + transform="scale(-0.6,-0.6)" /> 107.284 + </marker> 107.285 + <inkscape:perspective 107.286 + id="perspective4850" 107.287 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 107.288 + inkscape:vp_z="1 : 0.5 : 1" 107.289 + inkscape:vp_y="0 : 1000 : 0" 107.290 + inkscape:vp_x="0 : 0.5 : 1" 107.291 + sodipodi:type="inkscape:persp3d" /> 107.292 + <marker 107.293 + inkscape:stockid="Arrow2Mend" 107.294 + orient="auto" 107.295 + refY="0" 107.296 + refX="0" 107.297 + id="Arrow2Mend-8-8" 107.298 + style="overflow:visible"> 107.299 + <path 107.300 + id="path3563-2-74" 107.301 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 107.302 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 107.303 + transform="scale(-0.6,-0.6)" /> 107.304 + </marker> 107.305 + <inkscape:perspective 107.306 + id="perspective4850-7" 107.307 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 107.308 + inkscape:vp_z="1 : 0.5 : 1" 107.309 + inkscape:vp_y="0 : 1000 : 0" 107.310 + inkscape:vp_x="0 : 0.5 : 1" 107.311 + sodipodi:type="inkscape:persp3d" /> 107.312 + <marker 107.313 + inkscape:stockid="Arrow2Mend" 107.314 + orient="auto" 107.315 + refY="0" 107.316 + refX="0" 107.317 + id="Arrow2Mend-8-7" 107.318 + style="overflow:visible"> 107.319 + <path 107.320 + id="path3563-2-9" 107.321 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 107.322 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 107.323 + transform="scale(-0.6,-0.6)" /> 107.324 + </marker> 107.325 + <inkscape:perspective 107.326 + id="perspective4914" 107.327 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 107.328 + inkscape:vp_z="1 : 0.5 : 1" 107.329 + inkscape:vp_y="0 : 1000 : 0" 107.330 + inkscape:vp_x="0 : 0.5 : 1" 107.331 + sodipodi:type="inkscape:persp3d" /> 107.332 + <inkscape:perspective 107.333 + id="perspective4946" 107.334 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 107.335 + inkscape:vp_z="1 : 0.5 : 1" 107.336 + inkscape:vp_y="0 : 1000 : 0" 107.337 + inkscape:vp_x="0 : 0.5 : 1" 107.338 + sodipodi:type="inkscape:persp3d" /> 107.339 + </defs> 107.340 + <sodipodi:namedview 107.341 + id="base" 107.342 + pagecolor="#ffffff" 107.343 + bordercolor="#666666" 107.344 + borderopacity="1.0" 107.345 + gridtolerance="10000" 107.346 + guidetolerance="10" 107.347 + objecttolerance="10" 107.348 + inkscape:pageopacity="0.0" 107.349 + inkscape:pageshadow="2" 107.350 + inkscape:zoom="2.34" 107.351 + inkscape:cx="470.48905" 107.352 + inkscape:cy="738.60096" 107.353 + inkscape:document-units="px" 107.354 + inkscape:current-layer="layer1" 107.355 + showgrid="false" 107.356 + inkscape:window-width="1585" 107.357 + inkscape:window-height="1135" 107.358 + inkscape:window-x="239" 107.359 + inkscape:window-y="0" 107.360 + inkscape:window-maximized="0" /> 107.361 + <metadata 107.362 + id="metadata7"> 107.363 + <rdf:RDF> 107.364 + <cc:Work 107.365 + rdf:about=""> 107.366 + <dc:format>image/svg+xml</dc:format> 107.367 + <dc:type 107.368 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 107.369 + <dc:title /> 107.370 + </cc:Work> 107.371 + </rdf:RDF> 107.372 + </metadata> 107.373 + <g 107.374 + inkscape:label="Layer 1" 107.375 + inkscape:groupmode="layer" 107.376 + id="layer1"> 107.377 + <text 107.378 + xml:space="preserve" 107.379 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.60163802;stroke-opacity:1;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 107.380 + x="441.66748" 107.381 + y="404.66492" 107.382 + id="text8002" 107.383 + sodipodi:linespacing="100%"><tspan 107.384 + sodipodi:role="line" 107.385 + x="441.66748" 107.386 + y="404.66492" 107.387 + style="font-size:8px" 107.388 + id="tspan12172" /></text> 107.389 + <text 107.390 + xml:space="preserve" 107.391 + style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 107.392 + x="435.16418" 107.393 + y="244.9225" 107.394 + id="text5831"><tspan 107.395 + sodipodi:role="line" 107.396 + id="tspan5833" 107.397 + x="435.16418" 107.398 + y="244.9225"><tspan 107.399 + style="fill:#159415;fill-opacity:1" 107.400 + id="tspan5843">Green</tspan> = VMS-core</tspan></text> 107.401 + <text 107.402 + id="text5835" 107.403 + y="245.02016" 107.404 + x="530.34119" 107.405 + style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 107.406 + xml:space="preserve"><tspan 107.407 + y="245.02016" 107.408 + x="530.34119" 107.409 + id="tspan5837" 107.410 + sodipodi:role="line"><tspan 107.411 + style="fill:#0303b8;fill-opacity:1" 107.412 + id="tspan5845">Blue</tspan> = application</tspan></text> 107.413 + <text 107.414 + xml:space="preserve" 107.415 + style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 107.416 + x="360.28989" 107.417 + y="245.02016" 107.418 + id="text5839"><tspan 107.419 + sodipodi:role="line" 107.420 + id="tspan5841" 107.421 + x="360.28989" 107.422 + y="245.02016"><tspan 107.423 + style="fill:#960a0a;fill-opacity:1" 107.424 + id="tspan5847">Red</tspan> = plug-in</tspan></text> 107.425 + <text 107.426 + xml:space="preserve" 107.427 + style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 107.428 + x="368.25397" 107.429 + y="405.27225" 107.430 + id="text5849"><tspan 107.431 + sodipodi:role="line" 107.432 + id="tspan5851" 107.433 + x="368.25397" 107.434 + y="405.27225" /></text> 107.435 + <path 107.436 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.50000001, 0.50000001;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)" 107.437 + d="M 289.73631,397.76803 C 263.95998,384.0618 244.9124,373.07853 244.9124,373.07853" 107.438 + id="path6066-9-4" 107.439 + sodipodi:nodetypes="cc" /> 107.440 + <rect 107.441 + y="231.42043" 107.442 + x="157.23335" 107.443 + height="194.79402" 107.444 + width="457.79532" 107.445 + id="rect18326-3" 107.446 + style="opacity:0.3142857;fill:none;stroke:#000000;stroke-width:0.09999995;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.39999999, 0.39999999;stroke-dashoffset:0" /> 107.447 + <path 107.448 + sodipodi:nodetypes="cc" 107.449 + id="path3602" 107.450 + d="m 261.4119,372.41344 c 26.46687,13.70623 46.02474,24.6895 46.02474,24.6895" 107.451 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.5, 0.5;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)" /> 107.452 + <g 107.453 + id="g3232" 107.454 + transform="translate(0,-1.1337509)"> 107.455 + <rect 107.456 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 107.457 + id="rect3614" 107.458 + width="131.25447" 107.459 + height="68.687347" 107.460 + x="352.18222" 107.461 + y="309.504" /> 107.462 + <text 107.463 + sodipodi:linespacing="100%" 107.464 + id="text3639" 107.465 + y="318.80692" 107.466 + x="417.67981" 107.467 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 107.468 + xml:space="preserve"><tspan 107.469 + y="318.80692" 107.470 + x="417.67981" 107.471 + sodipodi:role="line" 107.472 + id="tspan3641" 107.473 + style="font-size:9px;text-align:center;text-anchor:middle">Physical-Core Controller</tspan><tspan 107.474 + id="tspan3661" 107.475 + y="327.80692" 107.476 + x="417.67981" 107.477 + sodipodi:role="line" 107.478 + style="font-size:9px;text-align:center;text-anchor:middle">(pthread)</tspan></text> 107.479 + <g 107.480 + transform="translate(69.355022,-312.20049)" 107.481 + id="g3647"> 107.482 + <rect 107.483 + style="fill:none;stroke:#159415;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4.32072499, 4.32072499;stroke-dashoffset:0" 107.484 + id="rect3649" 107.485 + width="61.691765" 107.486 + height="16.01606" 107.487 + x="317.60855" 107.488 + y="667.70459" /> 107.489 + <text 107.490 + sodipodi:linespacing="100%" 107.491 + id="text3651" 107.492 + y="678.71558" 107.493 + x="347.65115" 107.494 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 107.495 + xml:space="preserve"><tspan 107.496 + y="678.71558" 107.497 + x="347.65115" 107.498 + sodipodi:role="line" 107.499 + id="tspan3653" 107.500 + style="font-size:9px;text-align:center;text-anchor:middle">core_loop</tspan></text> 107.501 + </g> 107.502 + </g> 107.503 + <path 107.504 + sodipodi:nodetypes="cc" 107.505 + id="path3655" 107.506 + d="M 318.49369,397.76803 C 357.52667,383.08168 386.37044,371.313 386.37044,371.313" 107.507 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.49999999, 0.49999999;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)" /> 107.508 + <g 107.509 + id="g3242" 107.510 + transform="translate(0,-1.1337509)"> 107.511 + <rect 107.512 + y="309.504" 107.513 + x="532.18225" 107.514 + height="68.687347" 107.515 + width="78.674728" 107.516 + id="rect4725" 107.517 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 107.518 + <text 107.519 + xml:space="preserve" 107.520 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 107.521 + x="571.67981" 107.522 + y="322.80692" 107.523 + id="text4727" 107.524 + sodipodi:linespacing="100%"><tspan 107.525 + style="font-size:9px;text-align:center;text-anchor:middle" 107.526 + sodipodi:role="line" 107.527 + x="571.67981" 107.528 + y="322.80692" 107.529 + id="tspan4731">slaveVP</tspan></text> 107.530 + <g 107.531 + transform="translate(230.36868,-317.52206)" 107.532 + id="g4733"> 107.533 + <rect 107.534 + y="673.02618" 107.535 + x="316.63855" 107.536 + height="16.01606" 107.537 + width="47.791374" 107.538 + id="rect4737" 107.539 + style="fill:none;stroke:#0303b8;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4.320725, 4.320725;stroke-dashoffset:0" /> 107.540 + <text 107.541 + xml:space="preserve" 107.542 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 107.543 + x="340.63751" 107.544 + y="684.03717" 107.545 + id="text4739" 107.546 + sodipodi:linespacing="100%"><tspan 107.547 + style="font-size:9px;text-align:center;text-anchor:middle" 107.548 + id="tspan4741" 107.549 + sodipodi:role="line" 107.550 + x="340.63751" 107.551 + y="684.03717">top_VP_fn</tspan></text> 107.552 + </g> 107.553 + </g> 107.554 + <g 107.555 + id="g5001" 107.556 + transform="translate(-104.17459,-375.52206)"> 107.557 + <text 107.558 + sodipodi:linespacing="100%" 107.559 + id="text4834" 107.560 + y="619.79431" 107.561 + x="339.56277" 107.562 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 107.563 + xml:space="preserve"><tspan 107.564 + y="619.79431" 107.565 + x="339.56277" 107.566 + sodipodi:role="line" 107.567 + id="tspan4836" 107.568 + style="font-size:9px;text-align:center;text-anchor:middle">Shared Parallelism-Semantic State</tspan><tspan 107.569 + id="tspan4838" 107.570 + y="628.79431" 107.571 + x="339.56277" 107.572 + sodipodi:role="line" 107.573 + style="font-size:9px;text-align:center;text-anchor:middle" /></text> 107.574 + <rect 107.575 + style="fill:none;stroke:#960a0a;stroke-width:1.07999992;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4.32000008, 4.32000008;stroke-dashoffset:0" 107.576 + id="rect4840" 107.577 + width="149.25206" 107.578 + height="12.695431" 107.579 + x="264.97189" 107.580 + y="610.18365" /> 107.581 + </g> 107.582 + <path 107.583 + sodipodi:nodetypes="cc" 107.584 + id="path4883" 107.585 + d="m 205.94834,249.27344 c -0.0417,34.47629 -0.0725,62.1034 -0.0725,62.1034" 107.586 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.49999999, 0.49999999;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)" /> 107.587 + <path 107.588 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.49999999, 0.49999999;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)" 107.589 + d="m 193.94834,311.61326 c -0.0417,-34.47628 -0.0725,-62.10333 -0.0725,-62.10333" 107.590 + id="path4885" 107.591 + sodipodi:nodetypes="cc" /> 107.592 + <path 107.593 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)" 107.594 + d="m 530.74391,361.79676 c -25.49902,0.002 -44.34169,0.004 -44.34169,0.004" 107.595 + id="path4902" 107.596 + sodipodi:nodetypes="cc" /> 107.597 + <path 107.598 + sodipodi:nodetypes="cc" 107.599 + id="path4904" 107.600 + d="m 485.57785,337.79676 c 25.49902,0.002 44.34169,0.004 44.34169,0.004" 107.601 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)" /> 107.602 + <text 107.603 + xml:space="preserve" 107.604 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 107.605 + x="508.8573" 107.606 + y="335.07925" 107.607 + id="text4721-1" 107.608 + sodipodi:linespacing="100%"><tspan 107.609 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#159415;fill-opacity:1" 107.610 + id="tspan4723-9" 107.611 + sodipodi:role="line" 107.612 + x="508.8573" 107.613 + y="335.07925">Switch VPs</tspan></text> 107.614 + <text 107.615 + sodipodi:linespacing="100%" 107.616 + id="text4931" 107.617 + y="359.07925" 107.618 + x="508.8573" 107.619 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 107.620 + xml:space="preserve"><tspan 107.621 + y="359.07925" 107.622 + x="508.8573" 107.623 + sodipodi:role="line" 107.624 + id="tspan4933" 107.625 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#159415;fill-opacity:1">Switch VPs</tspan></text> 107.626 + <g 107.627 + id="g4969" 107.628 + transform="translate(-12.174591,-319.52206)"> 107.629 + <path 107.630 + id="path17769-7" 107.631 + d="m 288.45515,727.81832 c 41.78708,0 41.78708,0 41.78708,0" 107.632 + style="fill:none;stroke:#159415;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" /> 107.633 + <text 107.634 + sodipodi:linespacing="100%" 107.635 + id="text17771-1" 107.636 + y="737.88684" 107.637 + x="288.42194" 107.638 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 107.639 + xml:space="preserve"><tspan 107.640 + style="font-size:9px" 107.641 + y="737.88684" 107.642 + x="288.42194" 107.643 + id="tspan17773-1" 107.644 + sodipodi:role="line">schedSlot</tspan></text> 107.645 + <path 107.646 + style="fill:none;stroke:#159415;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" 107.647 + d="m 348.45515,727.81832 c 41.78708,0 41.78708,0 41.78708,0" 107.648 + id="path17775-5" /> 107.649 + <text 107.650 + xml:space="preserve" 107.651 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 107.652 + x="348.42194" 107.653 + y="737.88684" 107.654 + id="text17777-2" 107.655 + sodipodi:linespacing="100%"><tspan 107.656 + sodipodi:role="line" 107.657 + id="tspan17779-7" 107.658 + x="348.42194" 107.659 + y="737.88684" 107.660 + style="font-size:9px">schedSlot</tspan></text> 107.661 + <text 107.662 + xml:space="preserve" 107.663 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 107.664 + x="286.49493" 107.665 + y="724.40527" 107.666 + id="text17771-1-8" 107.667 + sodipodi:linespacing="100%"><tspan 107.668 + sodipodi:role="line" 107.669 + id="tspan17773-1-6" 107.670 + x="286.49493" 107.671 + y="724.40527" 107.672 + style="font-size:9px">slaveVP ptr</tspan></text> 107.673 + </g> 107.674 + <rect 107.675 + y="262.49448" 107.676 + x="163.84431" 107.677 + height="161.39378" 107.678 + width="329.44443" 107.679 + id="rect4979" 107.680 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1.08018125, 6.48108746;stroke-dashoffset:0" /> 107.681 + <text 107.682 + xml:space="preserve" 107.683 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 107.684 + x="396.57816" 107.685 + y="273.16141" 107.686 + id="text4981" 107.687 + sodipodi:linespacing="100%"><tspan 107.688 + style="font-size:9px;text-align:center;text-anchor:middle" 107.689 + id="tspan4983" 107.690 + sodipodi:role="line" 107.691 + x="396.57816" 107.692 + y="273.16141">Repeated for each physical core</tspan></text> 107.693 + <text 107.694 + xml:space="preserve" 107.695 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 107.696 + x="263.94568" 107.697 + y="390.80692" 107.698 + id="text3911" 107.699 + sodipodi:linespacing="100%"><tspan 107.700 + style="font-size:9px;text-align:center;text-anchor:middle" 107.701 + id="tspan3913" 107.702 + sodipodi:role="line" 107.703 + x="263.94568" 107.704 + y="390.80692">1</tspan></text> 107.705 + <g 107.706 + id="g3195"> 107.707 + <rect 107.708 + y="271.504" 107.709 + x="172.18222" 107.710 + height="105.5536" 107.711 + width="131.25447" 107.712 + id="rect17981-6" 107.713 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 107.714 + <g 107.715 + transform="translate(-104.75363,-307.52206)" 107.716 + id="g3590"> 107.717 + <g 107.718 + transform="translate(-109.01365,39.321571)" 107.719 + id="g18019-8"> 107.720 + <text 107.721 + xml:space="preserve" 107.722 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 107.723 + x="419.38776" 107.724 + y="590.22229" 107.725 + id="text17967-5" 107.726 + sodipodi:linespacing="100%"><tspan 107.727 + style="font-size:9px;text-align:center;text-anchor:middle" 107.728 + id="tspan17969-7" 107.729 + sodipodi:role="line" 107.730 + x="419.38776" 107.731 + y="590.22229">comm_</tspan><tspan 107.732 + style="font-size:9px;text-align:center;text-anchor:middle" 107.733 + sodipodi:role="line" 107.734 + x="419.38776" 107.735 + y="599.22229" 107.736 + id="tspan17971-6">handler_fn</tspan></text> 107.737 + <rect 107.738 + y="580.86206" 107.739 + x="395.11298" 107.740 + height="22.365267" 107.741 + width="48.927513" 107.742 + id="rect17973-1" 107.743 + style="fill:none;stroke:#960a0a;stroke-width:1.08000004;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4.32, 4.32;stroke-dashoffset:0" /> 107.744 + </g> 107.745 + <g 107.746 + id="g3604" 107.747 + transform="translate(-45.01365,39.321571)"> 107.748 + <text 107.749 + sodipodi:linespacing="100%" 107.750 + id="text3606" 107.751 + y="590.22229" 107.752 + x="419.38776" 107.753 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 107.754 + xml:space="preserve"><tspan 107.755 + y="590.22229" 107.756 + x="419.38776" 107.757 + sodipodi:role="line" 107.758 + id="tspan3608" 107.759 + style="font-size:9px;text-align:center;text-anchor:middle">scheduler_</tspan><tspan 107.760 + id="tspan3610" 107.761 + y="599.22229" 107.762 + x="419.38776" 107.763 + sodipodi:role="line" 107.764 + style="font-size:9px;text-align:center;text-anchor:middle">fn</tspan></text> 107.765 + <rect 107.766 + style="fill:none;stroke:#960a0a;stroke-width:1.08000004;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4.32, 4.32;stroke-dashoffset:0" 107.767 + id="rect3612" 107.768 + width="48.927513" 107.769 + height="22.365267" 107.770 + x="395.11298" 107.771 + y="580.86206" /> 107.772 + </g> 107.773 + </g> 107.774 + <text 107.775 + xml:space="preserve" 107.776 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 107.777 + x="237.94568" 107.778 + y="280.80692" 107.779 + id="text17977-3-5" 107.780 + sodipodi:linespacing="100%"><tspan 107.781 + style="font-size:9px;text-align:center;text-anchor:middle" 107.782 + id="tspan17979-3-4" 107.783 + sodipodi:role="line" 107.784 + x="237.94568" 107.785 + y="280.80692">localMasterVP</tspan></text> 107.786 + <g 107.787 + transform="translate(-103.63132,-319.52206)" 107.788 + id="g3580"> 107.789 + <path 107.790 + sodipodi:nodetypes="cc" 107.791 + id="path18292-2" 107.792 + d="m 317.62527,671.29009 c -5.09448,-8.49068 -8.85909,-15.29455 -8.85909,-15.29455" 107.793 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.5, 0.5;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)" /> 107.794 + <g 107.795 + transform="translate(-7.0136518,5.3215684)" 107.796 + id="g17983-3"> 107.797 + <rect 107.798 + style="fill:none;stroke:#159415;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4.32072499, 4.32072499;stroke-dashoffset:0" 107.799 + id="rect17975-2" 107.800 + width="61.691765" 107.801 + height="16.01606" 107.802 + x="317.60855" 107.803 + y="667.70459" /> 107.804 + <text 107.805 + sodipodi:linespacing="100%" 107.806 + id="text17977-2" 107.807 + y="678.71558" 107.808 + x="347.65115" 107.809 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 107.810 + xml:space="preserve"><tspan 107.811 + y="678.71558" 107.812 + x="347.65115" 107.813 + sodipodi:role="line" 107.814 + id="tspan17979-1" 107.815 + style="font-size:9px;text-align:center;text-anchor:middle">master_loop</tspan></text> 107.816 + </g> 107.817 + <path 107.818 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.5, 0.5;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)" 107.819 + d="m 374.32675,655.55365 c -5.09448,8.49068 -8.85909,15.29455 -8.85909,15.29455" 107.820 + id="path3578" 107.821 + sodipodi:nodetypes="cc" /> 107.822 + </g> 107.823 + <text 107.824 + xml:space="preserve" 107.825 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 107.826 + x="269.62048" 107.827 + y="298.02182" 107.828 + id="text4821" 107.829 + sodipodi:linespacing="100%"><tspan 107.830 + style="font-size:9px;text-align:center;text-anchor:middle" 107.831 + id="tspan4823" 107.832 + sodipodi:role="line" 107.833 + x="269.62048" 107.834 + y="298.02182">readyQ</tspan><tspan 107.835 + style="font-size:9px;text-align:center;text-anchor:middle" 107.836 + sodipodi:role="line" 107.837 + x="269.62048" 107.838 + y="307.02182" 107.839 + id="tspan4825" /></text> 107.840 + <rect 107.841 + y="288.66159" 107.842 + x="245.3457" 107.843 + height="12.695431" 107.844 + width="48.927513" 107.845 + id="rect4827" 107.846 + style="fill:none;stroke:#960a0a;stroke-width:1.08000004;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4.32000001, 4.32000001;stroke-dashoffset:0" /> 107.847 + <path 107.848 + sodipodi:nodetypes="cc" 107.849 + id="path3576-2" 107.850 + d="m 227.16268,311.46504 c 9.78768,-7.86986 17.02037,-14.17623 17.02037,-14.17623" 107.851 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.49999999, 0.49999999;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)" /> 107.852 + <path 107.853 + sodipodi:nodetypes="cc" 107.854 + id="path3576-3" 107.855 + d="m 271.94834,302.4222 c -0.0417,4.62441 -0.0725,8.33012 -0.0725,8.33012" 107.856 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.49999998, 0.49999998;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)" /> 107.857 + <text 107.858 + xml:space="preserve" 107.859 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 107.860 + x="201.94568" 107.861 + y="348.80692" 107.862 + id="text3915" 107.863 + sodipodi:linespacing="100%"><tspan 107.864 + style="font-size:9px;text-align:center;text-anchor:middle" 107.865 + id="tspan3917" 107.866 + sodipodi:role="line" 107.867 + x="201.94568" 107.868 + y="348.80692">2</tspan></text> 107.869 + <text 107.870 + sodipodi:linespacing="100%" 107.871 + id="text3919" 107.872 + y="294.80692" 107.873 + x="199.94568" 107.874 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 107.875 + xml:space="preserve"><tspan 107.876 + y="294.80692" 107.877 + x="199.94568" 107.878 + sodipodi:role="line" 107.879 + id="tspan3921" 107.880 + style="font-size:9px;text-align:center;text-anchor:middle">3</tspan></text> 107.881 + <text 107.882 + xml:space="preserve" 107.883 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 107.884 + x="231.94568" 107.885 + y="302.80692" 107.886 + id="text3923" 107.887 + sodipodi:linespacing="100%"><tspan 107.888 + style="font-size:9px;text-align:center;text-anchor:middle" 107.889 + id="tspan3925" 107.890 + sodipodi:role="line" 107.891 + x="231.94568" 107.892 + y="302.80692">4</tspan></text> 107.893 + <text 107.894 + xml:space="preserve" 107.895 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 107.896 + x="261.94568" 107.897 + y="344.80692" 107.898 + id="text3931" 107.899 + sodipodi:linespacing="100%"><tspan 107.900 + style="font-size:9px;text-align:center;text-anchor:middle" 107.901 + id="tspan3933" 107.902 + sodipodi:role="line" 107.903 + x="261.94568" 107.904 + y="344.80692">5</tspan></text> 107.905 + </g> 107.906 + <text 107.907 + xml:space="preserve" 107.908 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 107.909 + x="297.94568" 107.910 + y="390.80692" 107.911 + id="text3935" 107.912 + sodipodi:linespacing="100%"><tspan 107.913 + style="font-size:9px;text-align:center;text-anchor:middle" 107.914 + id="tspan3937" 107.915 + sodipodi:role="line" 107.916 + x="297.94568" 107.917 + y="390.80692">6</tspan></text> 107.918 + <text 107.919 + sodipodi:linespacing="100%" 107.920 + id="text3939" 107.921 + y="390.80692" 107.922 + x="355.94568" 107.923 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 107.924 + xml:space="preserve"><tspan 107.925 + y="390.80692" 107.926 + x="355.94568" 107.927 + sodipodi:role="line" 107.928 + id="tspan3941" 107.929 + style="font-size:9px;text-align:center;text-anchor:middle">8</tspan></text> 107.930 + <text 107.931 + xml:space="preserve" 107.932 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 107.933 + x="503.94568" 107.934 + y="326.80692" 107.935 + id="text3951" 107.936 + sodipodi:linespacing="100%"><tspan 107.937 + style="font-size:9px;text-align:center;text-anchor:middle" 107.938 + id="tspan3953" 107.939 + sodipodi:role="line" 107.940 + x="503.94568" 107.941 + y="326.80692">9</tspan></text> 107.942 + <text 107.943 + sodipodi:linespacing="100%" 107.944 + id="text3955" 107.945 + y="350.80692" 107.946 + x="503.94568" 107.947 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 107.948 + xml:space="preserve"><tspan 107.949 + y="350.80692" 107.950 + x="503.94568" 107.951 + sodipodi:role="line" 107.952 + id="tspan3957" 107.953 + style="font-size:9px;text-align:center;text-anchor:middle">10</tspan></text> 107.954 + <path 107.955 + sodipodi:nodetypes="cc" 107.956 + id="path3175" 107.957 + d="m 350.74391,361.79676 c -25.49902,0.002 -44.34169,0.004 -44.34169,0.004" 107.958 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)" /> 107.959 + <path 107.960 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)" 107.961 + d="m 305.57785,337.79676 c 25.49902,0.002 44.34169,0.004 44.34169,0.004" 107.962 + id="path3177" 107.963 + sodipodi:nodetypes="cc" /> 107.964 + <text 107.965 + sodipodi:linespacing="100%" 107.966 + id="text3179" 107.967 + y="335.07925" 107.968 + x="328.8573" 107.969 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 107.970 + xml:space="preserve"><tspan 107.971 + y="335.07925" 107.972 + x="328.8573" 107.973 + sodipodi:role="line" 107.974 + id="tspan3181" 107.975 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#159415;fill-opacity:1">Switch VPs</tspan></text> 107.976 + <text 107.977 + xml:space="preserve" 107.978 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 107.979 + x="328.8573" 107.980 + y="359.07925" 107.981 + id="text3183" 107.982 + sodipodi:linespacing="100%"><tspan 107.983 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#159415;fill-opacity:1" 107.984 + id="tspan3185" 107.985 + sodipodi:role="line" 107.986 + x="328.8573" 107.987 + y="359.07925">Switch VPs</tspan></text> 107.988 + <text 107.989 + sodipodi:linespacing="100%" 107.990 + id="text3187" 107.991 + y="326.80692" 107.992 + x="323.94568" 107.993 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 107.994 + xml:space="preserve"><tspan 107.995 + y="326.80692" 107.996 + x="323.94568" 107.997 + sodipodi:role="line" 107.998 + id="tspan3189" 107.999 + style="font-size:9px;text-align:center;text-anchor:middle">7</tspan></text> 107.1000 + <text 107.1001 + xml:space="preserve" 107.1002 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 107.1003 + x="323.94568" 107.1004 + y="350.80692" 107.1005 + id="text3191" 107.1006 + sodipodi:linespacing="100%"><tspan 107.1007 + style="font-size:9px;text-align:center;text-anchor:middle" 107.1008 + id="tspan3193" 107.1009 + sodipodi:role="line" 107.1010 + x="323.94568" 107.1011 + y="350.80692">11</tspan></text> 107.1012 + </g> 107.1013 +</svg>
108.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 108.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/VMS-core__plugins.eps Fri Sep 13 11:02:18 2013 -0700 108.3 @@ -0,0 +1,365 @@ 108.4 +%!PS-Adobe-3.0 EPSF-3.0 108.5 +%%Creator: cairo 1.8.6 (http://cairographics.org) 108.6 +%%CreationDate: Sun Oct 17 19:38:15 2010 108.7 +%%Pages: 1 108.8 +%%BoundingBox: 0 0 116 67 108.9 +%%DocumentData: Clean7Bit 108.10 +%%LanguageLevel: 2 108.11 +%%EndComments 108.12 +%%BeginProlog 108.13 +/cairo_eps_state save def 108.14 +/dict_count countdictstack def 108.15 +/op_count count 1 sub def 108.16 +userdict begin 108.17 +/q { gsave } bind def 108.18 +/Q { grestore } bind def 108.19 +/cm { 6 array astore concat } bind def 108.20 +/w { setlinewidth } bind def 108.21 +/J { setlinecap } bind def 108.22 +/j { setlinejoin } bind def 108.23 +/M { setmiterlimit } bind def 108.24 +/d { setdash } bind def 108.25 +/m { moveto } bind def 108.26 +/l { lineto } bind def 108.27 +/c { curveto } bind def 108.28 +/h { closepath } bind def 108.29 +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto 108.30 + 0 exch rlineto 0 rlineto closepath } bind def 108.31 +/S { stroke } bind def 108.32 +/f { fill } bind def 108.33 +/f* { eofill } bind def 108.34 +/B { fill stroke } bind def 108.35 +/B* { eofill stroke } bind def 108.36 +/n { newpath } bind def 108.37 +/W { clip } bind def 108.38 +/W* { eoclip } bind def 108.39 +/BT { } bind def 108.40 +/ET { } bind def 108.41 +/pdfmark where { pop globaldict /?pdfmark /exec load put } 108.42 + { globaldict begin /?pdfmark /pop load def /pdfmark 108.43 + /cleartomark load def end } ifelse 108.44 +/BDC { mark 3 1 roll /BDC pdfmark } bind def 108.45 +/EMC { mark /EMC pdfmark } bind def 108.46 +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def 108.47 +/Tj { show currentpoint cairo_store_point } bind def 108.48 +/TJ { 108.49 + { 108.50 + dup 108.51 + type /stringtype eq 108.52 + { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse 108.53 + } forall 108.54 + currentpoint cairo_store_point 108.55 +} bind def 108.56 +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore 108.57 + cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def 108.58 +/Tf { pop /cairo_font exch def /cairo_font_matrix where 108.59 + { pop cairo_selectfont } if } bind def 108.60 +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup 108.61 + /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point 108.62 + /cairo_font where { pop cairo_selectfont } if } bind def 108.63 +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def 108.64 + cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def 108.65 +/g { setgray } bind def 108.66 +/rg { setrgbcolor } bind def 108.67 +/d1 { setcachedevice } bind def 108.68 +%%EndProlog 108.69 +%%Page: 1 1 108.70 +%%BeginPageSetup 108.71 +%%PageBoundingBox: 0 0 116 67 108.72 +%%EndPageSetup 108.73 +q 108.74 +Q q 108.75 +q 0 0 117 67 rectclip 108.76 +% Fallback Image: x=0, y=0, w=116, h=65 res=300dpi size=399300 108.77 +[ 0.24 0 0 0.24 0 0.327072 ] concat 108.78 +/DeviceRGB setcolorspace 108.79 +8 dict dup begin 108.80 + /ImageType 1 def 108.81 + /Width 484 def 108.82 + /Height 275 def 108.83 + /BitsPerComponent 8 def 108.84 + /Decode [ 0 1 0 1 0 1 ] def 108.85 + /DataSource currentfile /ASCII85Decode filter /LZWDecode filter def 108.86 + /ImageMatrix [ 1 0 0 -1 0 275 ] def 108.87 +end 108.88 +image 108.89 +J3I@:BHu(:pOk^R:T.dk*=mro@So+\<\5,H7Uo<*jE<[.O@Wn[3@'nb-^757;Rp>H>q_R=Al 108.90 + C^cenm@9:1mM9jS"!dTMT(d8$g?t7s\'HOJg#PSPQ1`C/m<k<ioH)<bk^Hj`\=EYZP^B4!g 108.91 + 3;B=(iZ<kDqOh/Bf.DHAorf'R[o?>ioWjnAY&^Hf#!Qo!:QLNm9ApfKo@"^St*EZ$@h7Iu_ 108.92 + dAb*B(hHM_+c/A3_/KTg;O43>N3c+5)[@l+5FLs\BULUaal`3%:<o887eo3Me/cP3]=PdZ! 108.93 + go`"\NO%+%3I?d9;j#,$np4Qs03bd8X)RpL$EoAk_=@@arU18[WS6S6H@0(,e%b2Fq7f.4D 108.94 + ^FtK.-a-^`ir&L%0OEX9GI`IODGpB_@VYP$,Ve*/ITH-bVY3W/8C>o*cVOQKd#X?9bX/(9N 108.95 + ;hHOZZn_7?NO1(WM6kAK/XoKPq^J0sl-?a0F-D'h>PLB,o"@,_I111+\T;ajP!l-d!&iT.% 108.96 + e/>a[.cdZeMs92bu*/kbcJV__#PoP$$N1M#)o:%M?)+j1Opk9%o(KO6Z6F4AYo:,E+N3D]7 108.97 + S$Tq2Sh"*j$'D3;6:imCW5#QKF,=>9a`@jVR['[;:;RD-F8Q#.+Ki:rn"\Vipojq&s7-Kf$ 108.98 + _Sb_TSJ.XGc#m=DQ0j!,fG4pM@G$ktNFUWW9pK;CQ>N1*g(o[EC"elTX_ZZ,c*_ECQL2A(g 108.99 + _UF=ESQm4c#_\W:"=CB22WBi.$5D:LW)d^m<d_,c1QMBQgOa$i"uq-J`)nJ%>3UV:)/KAQu 108.100 + 3q"iY[\%M;jo*/W8X+c8CUAR-m+uj;AFrOlVo_9p=ZV20BS3MB`J*?BIu]RHBp?D4B]+c?5 108.101 + ]@RI5KqkSaqbU$.ptNMGKY>YUNWW&A%=?FiV&WToqTXfLb+cF'e?RdRkmll-E@V&u.7m?bb 108.102 + [L1RW,Rr7&kmMh2J\aGrimCVg)-HTDpW&bNXT=`DQ_=3sJ%E%]U:DLk=Rg/S?A_M=UIHiq5 108.103 + /^*`*cS`u=SF8VekhLIRaI]tm.CJdg:K>s<SSqfcp)T12d<(p<.t3UdaN`Q8SaV!ap`9s!@ 108.104 + !J'lalE/&:R1%2IVq&SqAs"?l1^&^2HP5HVmYHE541ShO^?qahNOQa4?*3\+4ONnR+^6grE 108.105 + kB*k*pgLU\T:d[PdCdhoE)F+9NYtE"2h18'32$46_:!8bNO9h#&:!e/D.XNPR?G"C@kl*Nr 108.106 + c8_2"3S"2k7kOEoeM0dar7"=/4fnY%j0i4MRd[WMuM*^`a)%H55cLJ[C[6eHc4U')3_E;Cb 108.107 + H=H"rn6Q6`E/gEd:SIQ'!n7-Eh-cK26$Y%!pL7n)f7G)VrUB;P<nW#7l;%FPsf\qfeQ8S^K 108.108 + O>,Zn9T?<'.)e.H*9*n<O%adEa4TnqirE8A;3F/^fZkZ#9P]`p4Bb;,2^:beMi$u&E5uAV, 108.109 + bci9"4?[(8Vhd:6<bLp;L0EO#[4B6@utE-Q-$X\q%i';:5AsT+Uol1&L2[C'XHR;7ohJ^-0 108.110 + .(E!4FIHBnHm@%"eTP*ZR^r&iaK63gVC4--Nio'F[[$Rdt2g"M(]k=R9OcF%0dsW@9^``/p 108.111 + ,P2KV<3.5n&^ggdXACWZrP*i?TI@Y9,Y$b?4#kP?>CCaIe-\7FN!r32`ri`XH.(GsdgeY.$ 108.112 + ZN6DTr0]jokRPTMT:+<A,=Nos!ZpBXJ.GI9.`>4j4ac9.h2]-09KUJ'UN)D+P3geEYTl[qT 108.113 + a*H\dkFA*2PM(u=3MSd*S;2mH>(TA$QR\IdP$W"*KJ2U*0VZarX&X&?<SG,flNL^3eLDWi` 108.114 + Xq@'l[BoC!J"0pECMGnENW<e\lW)&?0f17LR"9[er%pBlYOSA',%r[>7G$-7>\9M/[3j*G@ 108.115 + )1E"fa>`WOdDV%4i64X#;`Y=kc)Pm002j9KL3]X!#5pPA%8-\UE&mDd4k7Z*m]Yg07cu<p_ 108.116 + Fu[-`mO&'/(iC]t-O2SRGjH]<%57EN)A0#knWQN\m&]sm=M[Tk:>@.%UZ]2rn<?/*$5D9Ou 108.117 + KC_"tF/#u[Q(]^u\IeI+&h0\UEhRkQ!nZXOeAM636](TmU?Q8rnn-/p/<YkL]$gPNCo6n,- 108.118 + UA`k?qge0j&].XG$9<JAJ_1/50oc14=<&9+XtCI-=H=)(>YN^f^!Nskos7i&o"P=A0b4!)) 108.119 + @67XM=JK<'3OZB0d36OiP=-f=Q^l=<uHlbPt`@KV:!Y(>7C'\;0)c5.RT/D1`1[''2[Unjk 108.120 + Q]!o)j-W)(R%$#\0(b^1#8])BIq:*tH5$EH.CO5%e-PSaU7\cU2n?BAE>kZQ^a-A.o.0N== 108.121 + VlZo_]a#].D_S"nb6NsWBJ6g7j8IIo.XdnPX.l.CELfLW<t;YFq:=FI(>7O?M$UK$O0]r6X 108.122 + L50_:r.L(]WUGHFDe_9HtlFU,^2<M_h)8o!4Adg_D6q5@opKYV\KsU6.)Qd,VBPge$'D96E 108.123 + e"[s/Cdo)'o%&tZHIj`c[NDsO-B?LLCJZ\[4MkQfYg/s5+)FZq_Y#tcfm;7.j1VS0g7H%4S 108.124 + -+@!8>Ec'S2qA^/V3@S&IpX]"3ULu3U&,W3`n<NN4[>`me.$i,K>o&X:ouBr\Y9FLBZd;T- 108.125 + `"bRq20;/*9Nh7W6[3^EL?(?r6<;m[/,h([!uF>j6e.YtlE%2]\(jdH7_gscEJaU#RIs 108.126 + U'^p*9.lV)qB_nDDX+kG=RH!VNY^:W$<)ZT/ok==pRJ3W%RbMnWHAZu[-%QZOed@D5]FU`H 108.127 + 1]0&4>h,/R=*[d`U,Z<IG(L$R`mCiARO_/RBJ\qt-jLiADkYU82EHl]U=6<\AIN'CsY3Ng1 108.128 + Rg8>"kDjf#SAk:Vn1d$LShPV5%XCjQi>o\WqqicZ.Y]SA55X=ns)0eX;#g7f&Uejf>!MrW3 108.129 + nql&fWWRrk9En?qQ(dCG>,Zdq5cXQr@/k1s,6^+5?P5KU\6C5&AGmIfTN;i7)OKs^&NEbms 108.130 + HeS`F],J.!!a3:1=aB@*^`cjs:#(o'nBf!N&?b93>OfNZHIq!i$5H0HBX:l2V?l?Orn*%7F 108.131 + OkieHmXs.BAdL%<WPNf^Cha6rBS:)<Q#%093pTkJQ:cX-c.FCWRk*hsY3Ab*7Q5f)r5j__G 108.132 + ]DfT3'DUtZQ$#HPIY+"_YZ<se9QKAU50VXAa;IFHX$]o0)&=E2gD[<Sg@k`6"n:J>(f*neg 108.133 + $RfunjmrU_!<<CF#po65/@bT=nH3YOdI!8)7JR=g"R[hQ"lKCVOMlo$)%]7t&WkZ>c*e2r, 108.134 + nb2E*DnB7-Hc*6bkPuGLN(iWmB$BH!>#f)fdLtScNmls2ZooEoM;:.7M-6P&HpEF?dWCkcq 108.135 + P6%6Pf2Wngqel/mAuA?MI=I]$WXY0m_OcDZn.$$ml&U-1Me6!q58')@sp;L(t0=D\fU%)Ng 108.136 + 3]Oab8hK$\>ZfBgqnYgjU'^=CRp)6f^e9g"38lsK8kU626YEUO*O]c(R/n\tkUW-%sb)]s( 108.137 + NplWG!/#;a:JCTd@LJ^8YX]#S*D\\!*i95M(7K4&s`<=HK'SYu7m&q+!OC+r\f!,/N0+'Eg 108.138 + >_b&(?a*5P;>eT+#6#'$LTQCT`Uo=QjNbaQ+#4tsOq+l1JJ`Ac(p"Sln;/O[;%EqN->!DAn 108.139 + lfF!QiI[&%Z,fe`UPEkfdd7!,"SaYL%cIA$O^qea0LsQbFGZ8<?Vs+`NkC'0[dl0+"Ze0,> 108.140 + QZpOH,(ck$TsH"-Htu'(V$`[16*Z/1g)N%N&TY[#))_?df:>Y!g>"]a$=Vo+HYaP1h'Od_? 108.141 + ARQ1<<P1FgcA:tZD_p1S@h"p5t[%akOUP*/l/N9]WS8De6a!=mW"mDAB*:>K`1+@ZdbP7KT 108.142 + [Rb3es?k),F;T&PEk319AkAgkc0!-npaXD3h#P1"t''1-4T^kuD4*/'JPGGq@L3Bj?..SB? 108.143 + ;nkIOeNI[74=h(,Cn2Qi4Xh&t5-sW?lG5X-1HlEf5#N<2'Ce=E"[H]d5=PSBKDtGjb7h5.1 108.144 + _^6^oH?OK"[L'*!Y'Ze6%)*D<C:jf(Gn9A<'`o/6uFh0?aMC)oLD>,<CLN^`k`\t1grj1@N 108.145 + )Uf','+WP)VnpF[pOuF&73Ee8n-eKh-<AD_t6\[#mp:P\mdg8T^LpoUt+uq&#:R8i3YBoW\ 108.146 + )[a!"*T3qTaOoYF3J3D$Ts9XN&<jrmE_d7n`99sbF'Eo04Uh+i(V9[nO/P_*eoUB7gu:UL' 108.147 + ro`7lH"]0=J:pga/oat%Y'iB)k;7.EAoc[3j,uSk7;RJ)SoeBB&-8D@o!qeELog)P779"D$ 108.148 + <4,G"ohe^H<E4/UIn)X1oG2?0N=5Dn<jcdFol4%jF]W^2=0TE9L%:URI9:WK=LF,jooWB7P 108.149 + ujuIF0sIu8b#r+V-8#@>.(J9os%T^csN&l>;a)uotalj`E[PF=f48_jn9R7e=[-H%L/t7Fi 108.150 + drIj^*)o?FB-T[=DU!]3b1+?a]i>p&S6;b]@k;bg=^D&;;`KV-XFL`g.WRp*!m'-";$H@^[ 108.151 + jtp+^&82.LeiA%"O1p-E4I7:^R5A@>3Cp/,BZ<Fp=r$T;7Fead&>p4mfoB!uPgp2O_'F_>l 108.152 + CB=<5$p46l'<eiR<8(&&:1]%Fn&MrRW@=S?9FR$Y\pkJKO?Ii`)etTrX/;KOKCOoi.i2^ZP 108.153 + `GAJb4nCHXP]9<lmpS$!Bbm7S(:(^kV>qC3+82lDG2g:Q[YK%;CNN0UQ-`l=fg41*=t"H0( 108.154 + @o0tkAI`s@94)R[e>JWqJ0.2?ZfdAe'1,^Z#/]?EVC0089o32Ys+L:^%WabL]VBo.UQ0CX` 108.155 + V6/2bA(7%#5W2FK=)7FgbY$)f<'#\X-'H(FI*6d][]C-s"YVQSCdm1hubE#FBbM[r@HE\TD 108.156 + p4H0a.-k\k\mZ#sXLE&V3OVR(QWXLn5$?ak5uQc?QpYQ,KHCA55F$RJHQo5I`uHoGYlpM51 108.157 + -Z[B6Z"h.uk9='%jg8oLQZ1j/4"A^#'%rHOVG!J0FGOp=mQ%,-CHC'tM99k$/;RrJ2\a5Ls 108.158 + %*LgmQ%>.*I0Pa[=>7:Q-sp'%Kf=E:f"$EF_0tG6He+O:[[Va>T6%MJJp0J8G=@#5_2#(RK 108.159 + 1J@P=:2Ff%m"oqKNDN8p\np[;2C-kKlr$"bP@$_MhW#CL.8q4L$a#m7UF[OLH$?1=<i_sB8 108.160 + Y74M\`RW95fX+fo,t3L;iR#\F@hgp`+PSN7];/R,GE_fk+@BD]&Vb\E/Pa4"XQ!**>Pi'k2 108.161 + (5Vi^4UOERaf[iLWi4-:l,keN%=q*C5G]p*VU'3<RW7d#q[1pgC;DV6agR9$S<3Eapo@+c` 108.162 + A\Q+qG5F&`_QV0c5FjEf#:IPKPQT9H"R<b(m9pk5WQkg!q=;Gd7NL>\>R5fnPq5KZ^\T1fc 108.163 + RJ<87(R&#>cZ&[\Rk#AFfV=t[':IF2D"F]'(=ejUFc@`)-e[!]q9b"Dn""a5FVp0>o;JkgD 108.164 + j\)uS>M@=g%K$Go:$X2Y8Pu63:3;?a**m[B\F&lVGX%3Z_JD-T=9B@\_E8=WKd\LRV%>LqD 108.165 + `#s23%H2U"VYV3^KJXCI)+@P$/6=`i#XO>%Cf<OP4l\g)b;N$`9<2DAl2^>'6b*5Gu%JWCj 108.166 + e$-SM2TNMbj;W@I8c':PuuYqegLWL71ob."AU/ZM*.XKa2e5s)2.rJ_^FBY(<)o5M`i%,?e 108.167 + c?.&;"/k7n[AL6qm'3<7`Bdi2rL=/ePb4<5*V<t)kmbA`B2c<c#NQT_I-*T!<Y\bJd]*oSh 108.168 + OT[BC0f!q/P&/E)lt\YqR<lZL>/YEi0;uD(IbH0!)V^jiSmm`ji@*F>dn(pj`6PM=&BLKE- 108.169 + 2TRa$J)Z/Z!1gI)f"Fc+#O6-\4HY0P#3s^CUWUP\-A#$]2#MU;K8)CM>0Z5-E3s+K<=]"l: 108.170 + E]B&Y=ciI#P:+?PAT`'.4_0h72S8,YfjIL'bQWk37mAl.WX^]<Sstj1Ap)`ZZr;>S4e7&fV 108.171 + f.Pd\u.+oes[*KU&9C0SbdcW8Ihgsi1j&:o0>d^^H[U(NOd_oR82!WOZI[c):(iq!rs/X\/ 108.172 + rCgg0Y__0ZlY2@.P5n?E]`BXFmHZKmpe&CmIa,T`7W-u_s0dS"%\L;g<VM2fJ"KX]kC:NN. 108.173 + >U=ZaWM_iA@Znf?P.^^?A,mQ<?dfh87Ib&=6=81D*Pg&-)s%ht\mHGl"hQY$@/++Le]>`4c 108.174 + )>P8[nb@Tra5AS`>kY.k]M\C_9.)AV>&Z?2Z8I_Fbt1YS+l$94<oEi[C,dR_PWI4ju4(Om; 108.175 + ?pI%")d7H]9e82%cBXc6<2t>h3;'qoo>'b$>jbgo>+ZYGQK,]@b6S=Ja2g/^@r^s'\^<8;Y 108.176 + &D9tl$U)Eir$I,Wb+jk7=XaA.`J*Eh(cD'4s0!Bmf&SScsC\^r1+f6P-,H&7Crp"2DfSsiI 108.177 + 0jrFV(C6Dkf&P_f*nO;"Tq'pf,!I`oK*OX`uD!?;hfWS#qL&p1pH.g__C7W8t>>`f##KkjJ 108.178 + ]Nlt&g-nb"e%>S1?2]K+rVkR?8sc+70YNn)`U>>&n\q#N,OLW6h=Mff>M;imjD_4Zr9j&\= 108.179 + il&FjrF1tP8i)d&;NC`j1ZXZ4ihADc/Ug>5(8H*Hc4Y;6=@7b!)1#OIV%8?BAVFg^SrsF^& 108.180 + crWFmMEolEL6PqkMZT\6p;4NP<6Y#.`^lNclJ,Bc`T%g#$r(kBm%Cl5i0_rha(mSLbgT`dO 108.181 + WLIAc0IpW3^(n=?90rlOYMs/uA9?eg$cruJf%JqlFTE*hYoB3jr&O7)OlGoKo=*^/>kA)7. 108.182 + *c2RkF*jt\<'AH)-faT4_S,`&>J&@!GI=B`-h\5.,!VX8dLYm#/^N*]Q(E8,;oD_'uT1!AM 108.183 + 8OiV$b<=OqR]H-de+L&<qjn\r^BsrF!R*+[d@RRN4SQiWoD$(Sp4'dFs+/'/Ckh??r8,k1F 108.184 + &^<>P&ERUq<(^"%gW^J#mGpP+V4?I/f>+R6fJ[pPYNYBKd#IfB[]R6(5KZ#&'5LE8G861AJ 108.185 + .MNmTBFS70f"nci@9-O%ndNRE0]"1RO4N<#QJ5B*G!JO-H'',l$>r6sVYcKhWFbU;7sJ#c1 108.186 + c,7t9,7K\I3d]fB$El\jLs7]+Nh>O.MeKeeudV`8E+.]$=P=g6Q=<`lZN$!aL*)`X4]h[$N 108.187 + b@'UXe?/E+/6c<T2fq)h&S^1s@)BBTS8YsmMobsB$HF$k0*]89]Am2_bBi(T9knEUY]p!Bk 108.188 + d]$aE>lBNmGl\sf/9f@lBkN"]oZ*Sq\Fo_788]`[g$a)99A83.]jQ]K0(?Hq+5)F\T0+jnM 108.189 + l4>BYnMN3ro_o/1\eWJ]@)BrDef'".?F<T\j*@f2$Z1E"":4Ubee,>VU0r?"ea225l&+WoG 108.190 + gRX9T%PU]8H15pF>XD%`Y^!b[VM[EMR@NTPD)G)`3PKY1klA$:^2Skt4M*\?XgukdkL3P+= 108.191 + n%Jg0n*nq%;_0sA_E/>t>X*j_+%X0BX=d57Nn^Mb;D.Ej1cY/8F3PeT+/1E%bp:1tm?[`QZ 108.192 + 3,bi/3K/3mhZf6$`UJ,Gh4.t#j4L^:U/G?nJ81YCD_fDjE6IU&<4&7`=aqIQ+&aG8rW%H29 108.193 + PrIqnlJX%gI7D^XB[VB55SM&>`Mq@]Y,4k]&fC,cnKbM%-rT=T0A)K2`@o19CZeA6Pd2XJf 108.194 + kZ0rVGX:/P)(a`lAK#Np'MUEgFDJ?Cf2$^RqK!,MPFm9(9/X]Z+$/0EKp*\DOaMESH+Gl8C 108.195 + KSK<sU>Ecp$mGDOJF:JnDpKl;_mni:t;JNAK)dM]H;Aaa]E_q'JatSG>R'h+1&T=X'\bK8k 108.196 + sKoqDn"ApMC:cf:rU+.ZI.iX)5im]HPL?q>GHK4*B__apeDKZbl3kdHG&/(6foKd+hMd^;O 108.197 + M@dbbFOR@t3D"u#%K4FdG<E/(FD-D;SE]mp@W*-,.S*p19qM&5/oOksY/FKTkkm20kK'A]K 108.198 + Z@_'MS/dsN#d"T2hl4j9RHt3=kAG70#=D8R83KDh1`L`8Q#8U2l^;kYT(7JOI>;Re9Dn_sp 108.199 + *P+CCnUM5@YN!6.i3WNWQ_@s$F<hc0sb;Ef/T:;?0XSt,@#hCAgk<gN2$+)#K#!_LaLgF./ 108.200 + ckA,$!&LA+QCbO9+'`s.XY:;<r.rJ(j3TY:mXg,lPo5q&i'cr[%mJ=l9<IE5W@,&B>JN*+M 108.201 + 3Zld3&((:p4K+ZVu&`13OmY.[AIK7S!-'+id:!$=$F,-RgdO(DLqc6IL\n&>+>aDaJ4b.2i 108.202 + &jF>(SnIK(!ep.NqjX:foo2HrIKEN0d]qs(A>:U1FcZM*,Z`_6fS(f'dQ*[Z8#mXRp<Hf_m 108.203 + .E3Pg@GqeX9<4V,2)-p_@f_U!V%ghe<ndsi>XKb#"Pt*XJ8ek31Ni3:SuYeh+!Ja/N<t9U^ 108.204 + Sl,s&2J<hn.nGCZ,6'*]L[=-/a#$Gk80d"76or]3?s9c?jJRg.1t+i+,/E;'9_(6c(597eF 108.205 + _5rRIc>lnM@?SW;#9#Xt&dD4!sU;/k1J,O%u-:OQTM[8'HOG9Ys+]#]1btHp`p72161(J5b 108.206 + U`&Y$($=pN0d?7-[lP`,ekYW.goU0DJZA.hoT=_=EM#rlqH[0Jk)K_MA=I$(^#)ik'21785 108.207 + >=#"BDQ'\/H80jq&;5SCN(oFU2m1LPe@@U$?@62J?/nM5h)'k"'2H"B9V3JET,A7tq+F+?H 108.208 + ,goJtGBiXK[1QN:iXCoY_ZaMS$u/0F.F[ob0FM;f3sn//UmZ*d$p?s.-\dH)65:_@\`&$,[ 108.209 + U+IiSp8G9O/R'VLK&j^Qfu[!/[Y'3a_#0V.=EIQca%=aLZqF1I=&/_o[M>.AjWJu'5b*1!) 108.210 + `$<;]`hU-W2e5`6o#VaE<4f2&0jlE[kA[rAb1l4R0eQ4@CE^&Z.FeMUq)(/r5c!/6!ID]gB 108.211 + \=#d%I$b_!B'l:C4kZ`]c1*Lfd'rGZWh_^P3[GI3dtip"'lT:c3Z&Cor?e9"P<'uGK"U)ud 108.212 + %XcTPO<2!=XW48\(14lkmcqg,U!hdAE@J2I6dG%VsTWOn3[l3ESX)CXJbH,SkhVM/"I,;"0 108.213 + /r19_(Dof@QPMa&73tY)d&\(=DD[iS&pEA42Zme6"gA<2P`8'Z.^3*`GdEAtWS+Q`IHqLD, 108.214 + *FkfTrEhJ/WgaZQ%6@']&$JF4H2/$O]c%[=^<I5K<Gn)kt$\59BbD&/bm(#21-TND++KJ2? 108.215 + %d+H]I*'9G4mQnd<TW^BVgg<kQ@$)Wh?f6!r(3[D`K[?O<#eP-.TYVM?6*m!YGrQ:o2]IT- 108.216 + t?pGh^X0QjS/M20mu'm*K7%XL">=/u(g$(ZmtKG,i#m&,"`\Z<Sc/O?rfC@?".VBaR>!*`> 108.217 + >p>UP$`oKJY&58Tko6t8YBgm[l'2+pQY'Iip%nRf,_T)-M,1's$PJ]^0:\=NsdM;3m5]a3" 108.218 + <pmZMADXcQn=-74WMS(LF(Mp/kH"#nj!\,hZOj-i@S*/i=BD_d?UBI%%^*C\dg38Fc0`2HC 108.219 + m!')CI#@UqE)2'"5meYPoI912)[RNfd+]dB`%qun/X+;R@'r,M^>LrL>1aICMr*:^?B\o>h 108.220 + nDsa%dg#W+Aq+.Q3J@J.64RG+kk!4J:%S4\7^\bidETUpBTP>73>.I8m#e;j4<g%!!]9+o< 108.221 + dFm*6gQ\=G21[NoN"4bKk\cQ2>/bE(G;/XJ0/V`X68R?72peo-":/?kr8mOg8-[heJ`e8Fo 108.222 + 9IX5NdL$F?i%DHp^2Fgb8IXPB4h<8;oe#/NDaS,WZddF.Aq`g80DhuF#Y.Elor`\YFgTe=? 108.223 + %--er6,pU:LiP6W]*OE8Xp.514d0ALI)N>ZKKA7fIAB4bX[sHpjM?2K$1-OSIW#,bK62-Td 108.224 + W@%l,(;$Mpr&S-I#c\H\%b!$m="'T+Q6UN(oinV/ZJ=RVsLt_3$+ds^+kK=6s.aKH+5#`r: 108.225 + @Y5^@MR%H7U9HoI8rK58PeGKbSdOXcVrtnqjo]kJ/bO&JGta!]Rd.H*DgSP+'lT:l%<&M(4 108.226 + FN$EI:$fV^r14sjcgRp'GDoA^*,j9`^%Ru73Kqo$!c`O^]AYS5'eU[8l)&\DPq2r!pii?uI 108.227 + QadeP@P^E-7YjXBbF,ud>%f>36C\T?Rq(*]A.#]/qo62YcbR!_J]eG:!Gm(I!3P1+bYULtc 108.228 + Y^aMgQ'5VQ^[)uK^s>@k0YN*'-p^\/$,StfJjDqs^/Mq`A/BgWOI>uXZ;_qPK3>AL*lE(F5 108.229 + ,pM/.NbpQM)UqL`(F"*JNQ*<EPd%<6AmIe3CUVXTYLB\M8@A(!/W=CLI6U\]:fKq;")2]]S 108.230 + B0,Nq>3?$=L^>cG7k5$PXqSoAU^*49,LI#kU;?=I;C,kJ<AG[#@K\>VnjSUF4f%`b:&k^kK 108.231 + &c0IO*2XYBR[&PBp]kI&\'.\$JDqPqEEFh\j/`6a"8*)<%;-Gs5]2&ogbg/LS+P_tA3LhO5 108.232 + Z',3^a7M1!uPjr]?qXBV^1.IDb&1C!V1k^TFI7-oZ,FT_kgg7E'&Y1I7*"65p(lLj6V7:$4 108.233 + `^@!pK-WXB^;q1r_##smqb9JRlaYH3`Oq$5HEY:qKs``i%8:aK]99,@"=5T1XpfJDF3hM?O 108.234 + $YCn8m9t?an!7uU'Sj_4;4M8o7WnJ@m4^l5Fc:V4D$JJ=@Xn.6sNtbCdoBAC']3&%$[@,3_ 108.235 + W1M'?Vk$8j&tDXLfK8?^jHDb+n%1+r@gg]=MC*5'2t1lc2R`N^=uo8Y_9g,asT9)p<k]1[N 108.236 + +QS2ST,"\Wlu99[Z<Pe50;cl9X1RlnBD]>9n<eP#f$Z7C[J"/hVF6+h`Ka7uMD'T9u$btD$ 108.237 + Cbe2+Kb)=BWKen*47_;kuX%Q$;j1`am`64L;4"S.*cGt=ZcCF/lCcWF*W&spV'f<Wj<50k4 108.238 + _b/-;`!Mu/N#PMod5nAN6+cWu]P\(8CnS$&8X)fl1S7;[bf_Ob:21#/HmhaK\k]@.:`CM!E 108.239 + YV?mim-;R:@(-hqV=GQ`!D/Y:m`G'XU>4_$qW:nb5D2I2"aStl;6]!`pkr^(tHfH&P^4Yc= 108.240 + <E/r;T1@!)OsZ;41;+)7*$fK:@GC:D4sB>A$e5aO'kW3n4t$D"s%fR#oQ,9RO0E.VHudnkl 108.241 + 54;OJBLZ(b+6e!3n_6gWAG'_=A^+?MG(c6/k"_A#g#S;Y$>5@Fdk\Cf57bX)1^UfAg;I4A1 108.242 + /4:R9#)>J!rkZ(R[5Z@nC,OEoB/AOPo*m4-te!qX(jKSuDS&YO57"jWWU[X.KmRg>(;hX#T 108.243 + <@1Mt(8l3\3s@%]bu7V&S^90BVKupO!8p`5o@!Jt97X32Lp954&l4[eMfS=8Emu!R:/n=me 108.244 + G>J0X;KJVA6)7Be(PelC2(i/OKIje\<Io\"\&pf,LlVK&7eqi]_X@HPRnsIUhKs2PY"amp" 108.245 + $\r<]"@<<HhMhSQ92>8HciN&b+>6Fk*/$<R":bCg'iNF[UA$;(HZW$qFAn-R?BK9J(KkD21 108.246 + Eqla-fu<FkR!X]SKmW1gn?=@gl\km&VqUl'6]V`PMa9p'r+qj2\-^!V*[N8RZP-WifH9\fU 108.247 + rPo%JW\_)>$=kiRNMgnit9>On$d#D/[bGj1RqO:HTg-H!H>cq7AW)cW<+_@>R70l9R7*sbg 108.248 + Tf%7%fZ@<=cW^"H:aN*74aL'rU=Pg5<irWoal#^A1Esb0gM%MZ"R0-e]M#Z<Tf'11-&c&.N 108.249 + EaVY3I1N0RJf$q"M;Xh%@+P%%E7+LY$9Tm[O@>A]mJHj[TnAI78Yj4IE`3i`n^O?3pk$3?" 108.250 + Z,sBWqZU>!:8qZ:RT%L5N*!h.Xl8%GG+".,??Q>OALr9cmZW:+%XG0+r@C,fSUBDHX!Tfu4 108.251 + fb7HZ2gh&icU;Wrl;[Hdi.ls@co!_j+iV<?_3Qef(=?Q*q@M>CPK_$Fko>'ZiD`U[A`\DC5 108.252 + Tau/s$Wbtg:TGok/hq25lmJgP_H/K,Obt*4YH+I5P_91T<R0E=l[KdlhnR-eP+/SQFodi_; 108.253 + 6IO]5?WI>7\W(!7$/l3<@#bh-.GE^Z>N!0.i6:[o*T"mXf2b'.gr:"9WS6;X)e$k&iB^UT< 108.254 + :=7,Md9$He$MDLVB',+^>['W@Tf71iDJS,#0fQ:eUAYINV244NSt'g@bH6?<\@kWKAplH@Y 108.255 + A2mX!-)rA)WDjiLSNSc7iaR:?(t,A!o[D&Ph@3O5i(diiL_].@K2H3b/O7A!TDk.2cX#:1M 108.256 + -Vj45#QV@I*9L1=fPj>KUBSjHtj9FY#j'])7aV5f<QX5n5S@_N?ic9Ppc<"0U9j\Ahc%S`0 108.257 + ?:5GK;i8.>hmDi\],@tau%5q5JhHr?]r(,TV:fG0S2@NL7(<p.WjfV-]Ag68Q?fm1Nhj%'O 108.258 + k!*IDC^LYRPNGu'Q1S.d8*7NjAqk-b.'I4MF(\+mAdQiHk_S%XBOa;aKYDaM0p2ZgHsZ2TB 108.259 + 3'Htrb=:`,%p=pB3h,q-=KN&6]J2P@kK31F(8_A^Z:u;ka[pg$S5nkk[tZgBBF&oG'=4HDq 108.260 + :52B\nU/7ZqB/NflqWku_ifDO5'XBj_rKAl`jl2H/j(Bk]JqAr`+H%U&"LbNC4Ckq7Iop42 108.261 + ELF_U*eAH#Ef=l3r-Uh/,JC5u?[;8R#VeS-))B$RC@hGe6p_!8eLjj(&B2Ql?u9'ZMm>bYu 108.262 + f7YoPpZte`t\H\hpNaHR!^?:5#B9ogf(;";+\^`%<li*pI@bbL+RV<PICaNM)5/q*(]Gp"< 108.263 + >0ZMPIUDGbb@:atS%d##p;QCD<:%RB>4$QO,"6>$[d%H,iI7HbdQS0$d'@%99sXQR6D)qXC 108.264 + @)XNf'/caIbHT;3EY7fD7t!051:b=e/Lm&Lj42_CP"MWGj^T?>?Z%!)*1kOd1;Vag0Gn*S> 108.265 + :#MB9Sckfj+FsVW3m&o:bm=Rm,rl:1iM*&*kD]<4KP6=RKCAgd&m=:Rp\<!_\^Em7D"%8$! 108.266 + *I$,:E3_!alaln\NU74r=oKk2T8muG.+o9uRX$1Lp@n+&n%nd<8L&FT5"nC+(M@DJ%n6uc! 108.267 + ;EDUdtD?8agL[4(QA[^jY$5;qU\oG[#nDZVdo6FC8f(%0$mo\7VrBb*c+Rta]llH@LOrTA@ 108.268 + fs;]]$TncR9S"qJg`h!E[h2,nq[J>n0>aDq4fdt5qB-202b'hfLgKJP$E%bmZkLD6(")9\8 108.269 + hd3RK!74;8&=riiZZk^Db\]-$Yan<0)c,t2G$ee5oTXA.1qBf/rMe-^FIk,YZX4m4Y8Dko/ 108.270 + lF.X\VlR.e4_7nhOltG$5/Y$$!)u+YlOW!4'SjlgGc?^n`fFMIgYcQS@W[`Gk.j2`SFa>[A 108.271 + Z@:+o3FUXTgU3F@f)#W:`$UJ:@_T'_?Dp.J=UpkJLDBg8e-m`.>J^LLK1.eZYEDS2\8rD'L 108.272 + 3;%6l1#]BA!%jkp1f-*(i8-^Q!HT1N*LG^mCFB:=,03K\cMXR_W(6]U.EWbs\V\bjMX^]T* 108.273 + OLqVbCC:"_1&$)bk>)@d'j[/T+C@>Vo,f]j?[-"*NoJP)l*Y['KpS0^<0'D&;PWi:hGt2BG 108.274 + cPZU\:o1K7U//,Kg14q%u#;<?h"cepINhY>*70PrbYt=F[m?D2ThnH=?p!o<7GtT*)h(-E( 108.275 + 8BsF:akBOqb$=k3h>mp0As?%fqG[9.WnlHS9:0"QXY6Suh*==f5iVG)T5rND)bT[hl+>kaB 108.276 + K/n?o#47&OS`3A.Q!\W$,86q6VAEsVUbeG:kQl2N&<LV0"oW-I6uG9=7!;fNRC>kT8LE%Q0 108.277 + N2m.&k+]1oA*!<bIKD4^BCNk*>Hp:7Tj4sT,R_K6SIFh7Er!pqn3;mc]NKhQ]'#/gEe9m@3 108.278 + GA_#?\V'h&*"0C_6Ss;2O4%0jK>G3X<2'nD"Xa1<M7YgPr(UZ!L5c(t]j1#pmKW7^Dnd[j3 108.279 + /E-)]4HIV&6X4\[^31-n0MZ<[E]$X!X&LQ_-kW7/.NBrKL91ppk2*_'8f4fd<NSMi>[KfNt 108.280 + M02L.*>F+lq&')bO*TInO.3pVb&<1O@;X08J?Eq`BXq-dg=Y#"_1V7>'*7m.bipVGh3YpbQ 108.281 + NX9r^]b[<QM^[9Ke!WeB#YDCo=TfceTJ7=MjaJjc]k3n-p^(qIKN[0st9ob2<%CN<rJ6@pe 108.282 + ^:p5+k7OA(=[6i3,op/'*n;Q2jf,/gL2'&p<eG8m1?$gA5WUdTX[\BI/BObnID+p]>ZeAA6 108.283 + Fh%8-CV,D\.rqMOZ<],2nRd/m[,,j#S\JgDpg+JV[A/MV1[^lJ[11\W9ca)UWt2H(m&[oKr 108.284 + Un'4d:E0cbeKT"jFm@^+"r!p\,6/NYN[hGTWk,*q#\/]U5K.=-rM2UTk]^qW2`DQdgDhnRn 108.285 + Bfpj$VVs^($#bVSC:&g5Wp^)W^c\d9@7<X%gf?g,I1'JDhTlH2-Bk/ja13-V<;CV*K$XT^' 108.286 + ,R>_s`0/#up+_lMQ,qS*U5oRo"gd]BNBOCYg7/s0+!.\nYLRXn'$<7%>WBgVn$Y`=VN1sS] 108.287 + 5U689M1_A7qW&-8\6Y[hma,c&CY8#,lr5o"5l5ZuYQaAS9LX,L^.#5d`6t&]enX<;nUe,B? 108.288 + QmPD!Cm_bNCRuS<FOEN$+_k"[=JC_U)MPOl7-e*k("Eg.Tp#A#KMlk"\;++`;d!7+88Qk;c 108.289 + )>so<S;PcnLuE#*"bAb$Mk1_)#!fq9@>52B[*5o8ss!jFn4:%?-"V9L!qu,1JT1%nj?5D$+ 108.290 + l4dT!@mT+<iQTi<!>AKj9=4(d"W&SMrkaDj^/A2.eM_>/,h:fTXiV9N^tGOA".O7g?(,7Bp 108.291 + VNZq`Jd?"bgYY:>oN=dYm`H6$\W\YWkG[.XhO"@<fC4%6tG;\o";f&bAV6.uLBP\Ab2j`mQ 108.292 + B#,mDcaBe:ohc19YIp^h3:l-"C3E<HR7F'SfT_M+aL$d)YZpnrcl4JkM42N"T+DUluK0p(D 108.293 + #J1S9'n9BN)NDdITQAu]DlnCUgAC!q55]t.>+Ht8F#MaO^nD<p%DH^qc>8'p#]=a<3aFl0T 108.294 + 4Q[Pc_quug:'DCX^b!0+h[gaas%i*!43pj-LSU@gi<S>+S_9MM0XUVFkBD,Z3P[Oa@<UlCT 108.295 + ,7eIO=q)C4#m/4pC?(W^U7\I7qn*f;$&/TSkQOQfRj5=q;DuEpKraYiQKue._RR`c^#g7Z_ 108.296 + 0=)-V88$3$"[55n(e%t3YuMl+DmZk*m4K':2,+#kJ)*MF'q`G*^3'a4a]!)7%.ncZcg.0Z@ 108.297 + V<Aj7[aM;g<%74kSKBCgH,5/8P`-auT0chT.JZBF2ZMRU2fs.PfIWM4Y(N'?^\OBDd`1/Pd 108.298 + E6?uo(Xl!N@DK0iO=CCM7REGH9E@J`9gM5M%VVJmQ%BUF42:>.(u__,/+6Lr1/]TJN@]2sX 108.299 + r7,Rpp<TJ8HO$F+kD`6?R!hO5'F3r1eE9-db1$*OG83O-f_pT@lsaQEJdR5pq5FY8erQY3] 108.300 + IuOj?]Q:Wf=#\NQ>7>*MfC:HNXZB9@BF,=5p#_nO\8M8VFr&@g[Y5/ndrsV)6\tN;sSRK?4 108.301 + `0,j(oY019sG:$KVPjnJhC1QClD2oQHU4(NaqFt8(KZT9J0oq'XfLs9Y<6)N!/S!2i^1'^N 108.302 + =BHo@(Z^uc1f><Q1iQ7JsQ>o\<k<`jY'r&saI6k;_#@2@iU@\WQ8g)MOkp"9CnIC_Cq2#dE 108.303 + M)^B6U5;S?;bZGP2*fZ%^qmtH7p%W,RVY"1Ypt/ud9S+Y<77%mL&.c_FNLBn27V*bM,`c:< 108.304 + @!gf2_?M]&'J4aX*&h+`"b"!.4n,jEuq4+$,'#17:<7J^9?(EF]PPqYTRUs;BflA?H^;WVR 108.305 + 7`@%p-t<haGVhF[@WZ.f!Q?AI5M=DOnm!4_&<)Q(GD[Ue[nI'Im[JWTRFXf%Vcim3L/cm]q 108.306 + jU.XPlHAZ^kk@[Ye]NB=3un?EYL`EM9pKH?\.46^&cgT-#UTZYQT<hd[[]-hR@c+I<"Tafc 108.307 + ^NH6_G(Ub$TficJFB;Zbd\u"C((<$DFQui!tl;I2@)p``^V5KIlVWD!nfMQPnCV41YoSY6N 108.308 + S?L37^2+kVelgNj&`pC+koTkh7\2lp'a#QA5gn.20*tNUQGFuhpJ%.95H\</,5<b7)#PD-% 108.309 + /plZ;;hF^Ccm9Q%4&PB[dF_>Q]/o?29+::[pA?$87>X/_96-sS\.s_ce]P3Qu7E767Isd<^ 108.310 + 1<.U.XJdP`0U!+3!qsQ_Y:g:E>0Nb'6Z=Q]-Z.Eun[IGo2.Zgln.rmSG03Pk!idfRGZY(Wu 108.311 + Jj/?h7GC9m69U3Y",8loX51CTliq(b=HCP/*u-57X")DW04-!mqZI(5t)IHI&^LNKVK9\N= 108.312 + ;B[mWeZp>(=g+H(a.;qC]5c<$Rnb_N%3^<5:ee\,;1M`P(Y(n@;M62BFfK<V2(a`L0q0Q8+ 108.313 + Lq75Y##EcQY@ZojmgM+%]HOMO65B6CZ<4Bt.p?J5k,gYFp5>!bXWM<$c-$8KS-[iE:M`ABZ 108.314 + rFKm%G%\umZN`6VsMecYW*RR.]>Jbp."_kkY;@AD.Mb8G,uZ1Q:3S2ql)gbW0G5Rd1P2EW! 108.315 + FsuO2Y%OjZLr#FPZNEXUg)@c9mHLd0S+S7.g"**_1I^H/YWRX7<;=AK6UA@iU,]CH_+MpW3 108.316 + J`jBk"<%/%EE2[%IXkC[[c[$C3+/EZ%KRmC\?7N/W-@r=qO)K$#*pD517_uH\KNi;NTIWDr 108.317 + fG_L:=fsQX&>r"QmT+J!>Z?dI2kb&$QO`$@MkBRQi\as>'qaK36EIHYRUUbM`_`-M2_fOmu 108.318 + q8qIYff:^EdJc/<(;D*Fo-]gG?=1/2o"i/SlYc1j"H(R4NIcI'[IDl;pugBt1V@(doAbVHi 108.319 + 56YS4IHp>Dr6F8+!i%cUnQU,[j?=CPD;4Y^@Ar?d$:`fgrUYY1-[%er(i\Jrcc]`\c^NkT3 108.320 + o=ac3*cQ,Gf3PEV2KG#l;JF#Ul.TWdd)W25pB$:W1dr./_)Po5-*ll]/[IVTj&IGiGV$!X/ 108.321 + O@/gA28JZ&)>:?^DmbieFqhQP@BO4H9Bpf&]nWCpjsV,FINW8Om",)ebe$iL$c`qSZg(T*- 108.322 + s:9Ok@#6hssqG:5uU*BjRAHIH/R`%h]L.MW3G6:Rq#>g!r&3sli7+^p%XRG-lmgf(F')-.8 108.323 + pTU=fOMW2sVZLaPs00`PJg+&E<t#RJmL+uO.j500g<l"(:9_fhE1IF,PmO0,%;pe.M/XL<E 108.324 + 3+iP$BRf8`km+bYkILPnID)tWtPm2!sl-!"#2FP&CMa6n58^)#ga-*:_^fD(u0*nJ'dQSbY 108.325 + \U!p*$\$'Z)(%7VNG&gB=FoI#Wg*0BEem[h95<nV/%GVk35V'T`n)![%L*&Loks:4afpQ,4 108.326 + r5Lg:nX-=`(gnW84XDU0.-VID97+E<8^d@;418H6Wo*'u4q0p3^MWZ3[?(+'n7B"[$*::j@ 108.327 + ?+gA?QOLZ1Qc>KPD*Nj^,ENFCt#Vj4<N9@),@K,<*l>u,I&.&"QO&Uf\"r-5-DU3_M%\"Q' 108.328 + ,':*nj/'L51&`@P)^*QM+7]uuiXI&E,:%g7j_'Bk0t;0oF!Hi#o?lE&n`$)oC8HlnWQkSUA 108.329 + f1cS\GW+.IY9<uE%]N](l*n-N2Uk7&sF0s<cI%>m3l*GX_/k5*piHT/Wu.hd\MYn??">]L@ 108.330 + $79"`4c)"Y!/?-GgcQkUA#64!t3r-VfdFC)\52&0/"P)m]Jt!QQlilEi5bMiY17#44$P0TV 108.331 + C:ogc$J$_I,Yq#>&C%1tHA%:'h7raN,riT!,PmPbG-0bap7'MOQ%O/h'C%M=l'0k)djY;-E 108.332 + j+H>t<`%rho@K/+30Q49`1Ld='%D+MR$J#]2!Rg7=o'Z!Cgdc9rXY1$MEebD$VQKEu(R(g[ 108.333 + $K!iIg_9:j#'7OA'>PQ.`sSk*`Y!7"d3?%3-Ta-<W0=>*1Yk5eWB4h6n8k2pe"ZA2k<G0f1 108.334 + o[Z8m56aWq`p$S5,lLbm>!hZpHZ)(U=8'%ZlMJ)nNc?OYRtc#o?`qiV*]8bSs1B4ZopfKWC 108.335 + !Sr5r:G`;q0.c7n&>15OH8QZs-!k]gSj!7.Pf$1\X@\G+(6R2,nil#N&"MVaft%6$!E)1m3 108.336 + a'I7[D,K(Oed:LuPii<:aD7oZ$P#>[pUZV-%Z8dV7`Z_3ad3D6a%=]Dk(eC%Nb^7#bR5;^D 108.337 + Qo[Q]*@nd[#:;nYVM3gr\%nRK(:W1^W[/Wrj=\gK#6KZ6''QC;Je0&-f;:Qad'dHUV-W63[ 108.338 + ;UmF!'f/cg2cGu';q4*3'gkr#7oYaH<7OcE'iS+4=&kMi;;_a]"9/i]O=PHZ<n2+i'm!GVG 108.339 + ?:&V=4Me&'n]TG-WlK:W9[q7D?!5&+r$<2&J^pA!BXI`#m6Hn>1Kf\'sh+E[p,-0>LgJn'u 108.340 + O9V`dUlp_fa(,("6Ggf3OZr?.Ih=(#rO+&C/_q"V^D0;6jsdj'Ga_?e,0a('@rF#@NhK>gK 108.341 + <U[M*(M(L`UK@FcN)p#r."pF$dKC4N^%!/Y2d2e/.8A(EkT(.2V57q@oYACaOf(/ndF=(R\ 108.342 + %A_(4#(1UrWB4dHFB%Cm5(3=(#&g5!5B@_3=(5$:$LM3!3B\&5Y(6`H5QYDab':,5J;n<Y6 108.343 + _ePCT)fVgmPc8"*.jJ%!CY$7:(;g8!:.C;t*`,LF.GJ!FFXT/eD:[T^(?.QBPkI!%*k'Z.0 108.344 + BYY[j_pI^Dq=n9QKTNY.-Yp0E#0%)(DCd)"<qt!4S9G-0m>f?'loWkEn92hJgGEWb<n33&[ 108.345 + r3ipHs%(7nM;f+u]gFQ7[3F=*9j67@-[l(K#336$:dpG1UXHf3fcfZY`aPE48hk(P?s6LB6 108.346 + "K+k3>A<q18*JU!NNH.SY3f8QD(m;_cXH$6fG(UJHi[_):0+W"Z4^ls.:P)/%?I+PoW(Xme 108.347 + *8UJ;bHl(C`(ZTs;=ad"RF)(r#\#k+'pOAP+X:9%_m<=(TH5r-l-`liZfDU8&(P.KuIJ=b5 108.348 + (aFW)iIUbOK%M`/$aD^YPBYY8K@iDA$3PmSRP4a1K\0(S(fQ,j=,!#;J-0DfG[#o)B81u0L 108.349 + ;RUBpiD1WGDDP\*;Ft@@=O)8H\e%k&,;/D@nVWfQ\>GnM8OLmTc],YVA8m,L'Pt\Gd7hSC` 108.350 + 3"fLKLs@R!p%8An"lYM3sG^ps"T(S.bUiLq(ujR&Un]GE*Mr`rcj-+hs&IH]2(J>PRrJK6N 108.351 + >Y!JX^N2gF#;Qs5S=%>82Y?^7m*8:_=p_A'O12IVB)'u]eInF-%O!Vno<Fta;(^I;W*T=(s 108.352 + 63DqbLb?HtV'Y,l\28bVeTG#pn>ZjF()+a$19jI@rPp"L6FiBZ?/X?EmP?,m]q1k9rCR=_/ 108.353 + Ddr;[),ZYe$^%0AOnGo@,+k-cZ'F"#R.*R"3BLET4otJ!P]a[(U@jcHI@=ogP'+U1UD8t1N 108.354 + L!_/06rgf3R*mhfpu8m>5<Z828bf,]q2dM0cBLd"*^0@]p[mMRQ9&g)6$aq0X-d<.J^/Nfs 108.355 + 3'[[p&Ue0feEdj(FlY3LlN1SJcXD[Lo5O<if<9UVd\>)@ABK&R5*+>Ii083S0o!g,=51QF[ 108.356 + B-).k>oBj9:+PrYC'3ZS-EV4o41Ie*6.@Q#7\VlH2dWnOYW)RHGrN](H7X'39>)T#!3AiY1 108.357 + TXP2"#KQ2n.n#[M_X!-B'"*P`SkH3J(WhJOX"*P_HpTE6H?eW(;])/]th5k*$XLe_?g=.iD 108.358 + Dm:5JY$1(p]$IP\jf_k`Z9$76j(kssg*Z[;-Ta8h)\b"g)71=+2eDrp]"bFWi\u33[5t_%3 108.359 + h:S[I=G?d[bG`0#q;=TF17Wc\&ITW':hEnJ%1u+\A_U\2RFQ1QaXMe\_Eaf"*dcIRR[L&Y] 108.360 + kH)@J$e!S%G0%]A(*5)oK<ma1Rnb]\CcG)q2K)f=d[.^"_GY)rnY:kJ!GO^>&+k)tUgKpV3 108.361 + 3p^YAe(*!<u]#Jci;^t]I:*#$.n(VuUU7g#&"+9~>Q 108.362 +Q 108.363 +showpage 108.364 +%%Trailer 108.365 +count op_count sub {pop} repeat 108.366 +countdictstack dict_count sub {end} repeat 108.367 +cairo_eps_state restore 108.368 +%%EOF
109.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 109.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/plots_exec_vs_task_size/cray1_pthread_vthread_8_32_128_512thds__o30000__perfCtrs.eps Fri Sep 13 11:02:18 2013 -0700 109.3 @@ -0,0 +1,1135 @@ 109.4 +%!PS-Adobe-2.0 109.5 +%%Title: cray1_pthreads_vthread_8_32_128_512thds__o30000__perfCtrs.meas.eps 109.6 +%%Creator: gnuplot 4.4 patchlevel 2 109.7 +%%CreationDate: Thu Jan 26 18:06:46 2012 109.8 +%%DocumentFonts: (atend) 109.9 +%%BoundingBox: 251 50 554 482 109.10 +%%Orientation: Landscape 109.11 +%%Pages: (atend) 109.12 +%%EndComments 109.13 +%%BeginProlog 109.14 +/gnudict 256 dict def 109.15 +gnudict begin 109.16 +% 109.17 +% The following true/false flags may be edited by hand if desired. 109.18 +% The unit line width and grayscale image gamma correction may also be changed. 109.19 +% 109.20 +/Color true def 109.21 +/Blacktext false def 109.22 +/Solid false def 109.23 +/Dashlength 1 def 109.24 +/Landscape true def 109.25 +/Level1 false def 109.26 +/Rounded false def 109.27 +/ClipToBoundingBox false def 109.28 +/TransparentPatterns false def 109.29 +/gnulinewidth 5.000 def 109.30 +/userlinewidth gnulinewidth def 109.31 +/Gamma 1.0 def 109.32 +% 109.33 +/vshift -46 def 109.34 +/dl1 { 109.35 + 10.0 Dashlength mul mul 109.36 + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 109.37 +} def 109.38 +/dl2 { 109.39 + 10.0 Dashlength mul mul 109.40 + Rounded { currentlinewidth 0.75 mul add } if 109.41 +} def 109.42 +/hpt_ 31.5 def 109.43 +/vpt_ 31.5 def 109.44 +/hpt hpt_ def 109.45 +/vpt vpt_ def 109.46 +Level1 {} { 109.47 +/SDict 10 dict def 109.48 +systemdict /pdfmark known not { 109.49 + userdict /pdfmark systemdict /cleartomark get put 109.50 +} if 109.51 +SDict begin [ 109.52 + /Title (cray1_pthreads_vthread_8_32_128_512thds__o30000__perfCtrs.meas.eps) 109.53 + /Subject (gnuplot plot) 109.54 + /Creator (gnuplot 4.4 patchlevel 2) 109.55 + /Author (msach) 109.56 +% /Producer (gnuplot) 109.57 +% /Keywords () 109.58 + /CreationDate (Thu Jan 26 18:06:46 2012) 109.59 + /DOCINFO pdfmark 109.60 +end 109.61 +} ifelse 109.62 +/doclip { 109.63 + ClipToBoundingBox { 109.64 + newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 109.65 + clip 109.66 + } if 109.67 +} def 109.68 +% 109.69 +% Gnuplot Prolog Version 4.4 (August 2010) 109.70 +% 109.71 +%/SuppressPDFMark true def 109.72 +% 109.73 +/M {moveto} bind def 109.74 +/L {lineto} bind def 109.75 +/R {rmoveto} bind def 109.76 +/V {rlineto} bind def 109.77 +/N {newpath moveto} bind def 109.78 +/Z {closepath} bind def 109.79 +/C {setrgbcolor} bind def 109.80 +/f {rlineto fill} bind def 109.81 +/g {setgray} bind def 109.82 +/Gshow {show} def % May be redefined later in the file to support UTF-8 109.83 +/vpt2 vpt 2 mul def 109.84 +/hpt2 hpt 2 mul def 109.85 +/Lshow {currentpoint stroke M 0 vshift R 109.86 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 109.87 +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 109.88 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 109.89 +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 109.90 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 109.91 +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 109.92 + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 109.93 +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 109.94 + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 109.95 +/BL {stroke userlinewidth 2 mul setlinewidth 109.96 + Rounded {1 setlinejoin 1 setlinecap} if} def 109.97 +/AL {stroke userlinewidth 2 div setlinewidth 109.98 + Rounded {1 setlinejoin 1 setlinecap} if} def 109.99 +/UL {dup gnulinewidth mul /userlinewidth exch def 109.100 + dup 1 lt {pop 1} if 10 mul /udl exch def} def 109.101 +/PL {stroke userlinewidth setlinewidth 109.102 + Rounded {1 setlinejoin 1 setlinecap} if} def 109.103 +3.8 setmiterlimit 109.104 +% Default Line colors 109.105 +/LCw {1 1 1} def 109.106 +/LCb {0 0 0} def 109.107 +/LCa {0 0 0} def 109.108 +/LC0 {1 0 0} def 109.109 +/LC1 {0 1 0} def 109.110 +/LC2 {0 0 1} def 109.111 +/LC3 {1 0 1} def 109.112 +/LC4 {0 1 1} def 109.113 +/LC5 {1 1 0} def 109.114 +/LC6 {0 0 0} def 109.115 +/LC7 {1 0.3 0} def 109.116 +/LC8 {0.5 0.5 0.5} def 109.117 +% Default Line Types 109.118 +/LTw {PL [] 1 setgray} def 109.119 +/LTb {BL [] LCb DL} def 109.120 +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 109.121 +/LT0 {PL [] LC0 DL} def 109.122 +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 109.123 +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 109.124 +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 109.125 +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 109.126 +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 109.127 +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 109.128 +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 109.129 +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 109.130 +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 109.131 +/Dia {stroke [] 0 setdash 2 copy vpt add M 109.132 + hpt neg vpt neg V hpt vpt neg V 109.133 + hpt vpt V hpt neg vpt V closepath stroke 109.134 + Pnt} def 109.135 +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 109.136 + currentpoint stroke M 109.137 + hpt neg vpt neg R hpt2 0 V stroke 109.138 + } def 109.139 +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 109.140 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 109.141 + hpt2 neg 0 V closepath stroke 109.142 + Pnt} def 109.143 +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 109.144 + hpt2 vpt2 neg V currentpoint stroke M 109.145 + hpt2 neg 0 R hpt2 vpt2 V stroke} def 109.146 +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 109.147 + hpt neg vpt -1.62 mul V 109.148 + hpt 2 mul 0 V 109.149 + hpt neg vpt 1.62 mul V closepath stroke 109.150 + Pnt} def 109.151 +/Star {2 copy Pls Crs} def 109.152 +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 109.153 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 109.154 + hpt2 neg 0 V closepath fill} def 109.155 +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 109.156 + hpt neg vpt -1.62 mul V 109.157 + hpt 2 mul 0 V 109.158 + hpt neg vpt 1.62 mul V closepath fill} def 109.159 +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 109.160 + hpt neg vpt 1.62 mul V 109.161 + hpt 2 mul 0 V 109.162 + hpt neg vpt -1.62 mul V closepath stroke 109.163 + Pnt} def 109.164 +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 109.165 + hpt neg vpt 1.62 mul V 109.166 + hpt 2 mul 0 V 109.167 + hpt neg vpt -1.62 mul V closepath fill} def 109.168 +/DiaF {stroke [] 0 setdash vpt add M 109.169 + hpt neg vpt neg V hpt vpt neg V 109.170 + hpt vpt V hpt neg vpt V closepath fill} def 109.171 +/Pent {stroke [] 0 setdash 2 copy gsave 109.172 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 109.173 + closepath stroke grestore Pnt} def 109.174 +/PentF {stroke [] 0 setdash gsave 109.175 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 109.176 + closepath fill grestore} def 109.177 +/Circle {stroke [] 0 setdash 2 copy 109.178 + hpt 0 360 arc stroke Pnt} def 109.179 +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 109.180 +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 109.181 +/C1 {BL [] 0 setdash 2 copy moveto 109.182 + 2 copy vpt 0 90 arc closepath fill 109.183 + vpt 0 360 arc closepath} bind def 109.184 +/C2 {BL [] 0 setdash 2 copy moveto 109.185 + 2 copy vpt 90 180 arc closepath fill 109.186 + vpt 0 360 arc closepath} bind def 109.187 +/C3 {BL [] 0 setdash 2 copy moveto 109.188 + 2 copy vpt 0 180 arc closepath fill 109.189 + vpt 0 360 arc closepath} bind def 109.190 +/C4 {BL [] 0 setdash 2 copy moveto 109.191 + 2 copy vpt 180 270 arc closepath fill 109.192 + vpt 0 360 arc closepath} bind def 109.193 +/C5 {BL [] 0 setdash 2 copy moveto 109.194 + 2 copy vpt 0 90 arc 109.195 + 2 copy moveto 109.196 + 2 copy vpt 180 270 arc closepath fill 109.197 + vpt 0 360 arc} bind def 109.198 +/C6 {BL [] 0 setdash 2 copy moveto 109.199 + 2 copy vpt 90 270 arc closepath fill 109.200 + vpt 0 360 arc closepath} bind def 109.201 +/C7 {BL [] 0 setdash 2 copy moveto 109.202 + 2 copy vpt 0 270 arc closepath fill 109.203 + vpt 0 360 arc closepath} bind def 109.204 +/C8 {BL [] 0 setdash 2 copy moveto 109.205 + 2 copy vpt 270 360 arc closepath fill 109.206 + vpt 0 360 arc closepath} bind def 109.207 +/C9 {BL [] 0 setdash 2 copy moveto 109.208 + 2 copy vpt 270 450 arc closepath fill 109.209 + vpt 0 360 arc closepath} bind def 109.210 +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 109.211 + 2 copy moveto 109.212 + 2 copy vpt 90 180 arc closepath fill 109.213 + vpt 0 360 arc closepath} bind def 109.214 +/C11 {BL [] 0 setdash 2 copy moveto 109.215 + 2 copy vpt 0 180 arc closepath fill 109.216 + 2 copy moveto 109.217 + 2 copy vpt 270 360 arc closepath fill 109.218 + vpt 0 360 arc closepath} bind def 109.219 +/C12 {BL [] 0 setdash 2 copy moveto 109.220 + 2 copy vpt 180 360 arc closepath fill 109.221 + vpt 0 360 arc closepath} bind def 109.222 +/C13 {BL [] 0 setdash 2 copy moveto 109.223 + 2 copy vpt 0 90 arc closepath fill 109.224 + 2 copy moveto 109.225 + 2 copy vpt 180 360 arc closepath fill 109.226 + vpt 0 360 arc closepath} bind def 109.227 +/C14 {BL [] 0 setdash 2 copy moveto 109.228 + 2 copy vpt 90 360 arc closepath fill 109.229 + vpt 0 360 arc} bind def 109.230 +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 109.231 + vpt 0 360 arc closepath} bind def 109.232 +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 109.233 + neg 0 rlineto closepath} bind def 109.234 +/Square {dup Rec} bind def 109.235 +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 109.236 +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 109.237 +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 109.238 +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 109.239 +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 109.240 +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 109.241 +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 109.242 + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 109.243 +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 109.244 +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 109.245 + 2 copy vpt Square fill Bsquare} bind def 109.246 +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 109.247 +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 109.248 +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 109.249 + Bsquare} bind def 109.250 +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 109.251 + Bsquare} bind def 109.252 +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 109.253 +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 109.254 + 2 copy vpt Square fill Bsquare} bind def 109.255 +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 109.256 + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 109.257 +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 109.258 +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 109.259 +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 109.260 +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 109.261 +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 109.262 +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 109.263 +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 109.264 +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 109.265 +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 109.266 +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 109.267 +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 109.268 +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 109.269 +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 109.270 +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 109.271 +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 109.272 +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 109.273 +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 109.274 +/DiaE {stroke [] 0 setdash vpt add M 109.275 + hpt neg vpt neg V hpt vpt neg V 109.276 + hpt vpt V hpt neg vpt V closepath stroke} def 109.277 +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 109.278 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 109.279 + hpt2 neg 0 V closepath stroke} def 109.280 +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 109.281 + hpt neg vpt -1.62 mul V 109.282 + hpt 2 mul 0 V 109.283 + hpt neg vpt 1.62 mul V closepath stroke} def 109.284 +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 109.285 + hpt neg vpt 1.62 mul V 109.286 + hpt 2 mul 0 V 109.287 + hpt neg vpt -1.62 mul V closepath stroke} def 109.288 +/PentE {stroke [] 0 setdash gsave 109.289 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 109.290 + closepath stroke grestore} def 109.291 +/CircE {stroke [] 0 setdash 109.292 + hpt 0 360 arc stroke} def 109.293 +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 109.294 +/DiaW {stroke [] 0 setdash vpt add M 109.295 + hpt neg vpt neg V hpt vpt neg V 109.296 + hpt vpt V hpt neg vpt V Opaque stroke} def 109.297 +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 109.298 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 109.299 + hpt2 neg 0 V Opaque stroke} def 109.300 +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 109.301 + hpt neg vpt -1.62 mul V 109.302 + hpt 2 mul 0 V 109.303 + hpt neg vpt 1.62 mul V Opaque stroke} def 109.304 +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 109.305 + hpt neg vpt 1.62 mul V 109.306 + hpt 2 mul 0 V 109.307 + hpt neg vpt -1.62 mul V Opaque stroke} def 109.308 +/PentW {stroke [] 0 setdash gsave 109.309 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 109.310 + Opaque stroke grestore} def 109.311 +/CircW {stroke [] 0 setdash 109.312 + hpt 0 360 arc Opaque stroke} def 109.313 +/BoxFill {gsave Rec 1 setgray fill grestore} def 109.314 +/Density { 109.315 + /Fillden exch def 109.316 + currentrgbcolor 109.317 + /ColB exch def /ColG exch def /ColR exch def 109.318 + /ColR ColR Fillden mul Fillden sub 1 add def 109.319 + /ColG ColG Fillden mul Fillden sub 1 add def 109.320 + /ColB ColB Fillden mul Fillden sub 1 add def 109.321 + ColR ColG ColB setrgbcolor} def 109.322 +/BoxColFill {gsave Rec PolyFill} def 109.323 +/PolyFill {gsave Density fill grestore grestore} def 109.324 +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 109.325 +% 109.326 +% PostScript Level 1 Pattern Fill routine for rectangles 109.327 +% Usage: x y w h s a XX PatternFill 109.328 +% x,y = lower left corner of box to be filled 109.329 +% w,h = width and height of box 109.330 +% a = angle in degrees between lines and x-axis 109.331 +% XX = 0/1 for no/yes cross-hatch 109.332 +% 109.333 +/PatternFill {gsave /PFa [ 9 2 roll ] def 109.334 + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 109.335 + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 109.336 + gsave 1 setgray fill grestore clip 109.337 + currentlinewidth 0.5 mul setlinewidth 109.338 + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 109.339 + 0 0 M PFa 5 get rotate PFs -2 div dup translate 109.340 + 0 1 PFs PFa 4 get div 1 add floor cvi 109.341 + {PFa 4 get mul 0 M 0 PFs V} for 109.342 + 0 PFa 6 get ne { 109.343 + 0 1 PFs PFa 4 get div 1 add floor cvi 109.344 + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 109.345 + } if 109.346 + stroke grestore} def 109.347 +% 109.348 +/languagelevel where 109.349 + {pop languagelevel} {1} ifelse 109.350 + 2 lt 109.351 + {/InterpretLevel1 true def} 109.352 + {/InterpretLevel1 Level1 def} 109.353 + ifelse 109.354 +% 109.355 +% PostScript level 2 pattern fill definitions 109.356 +% 109.357 +/Level2PatternFill { 109.358 +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 109.359 + bind def 109.360 +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 109.361 +<< Tile8x8 109.362 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 109.363 +>> matrix makepattern 109.364 +/Pat1 exch def 109.365 +<< Tile8x8 109.366 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 109.367 + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 109.368 +>> matrix makepattern 109.369 +/Pat2 exch def 109.370 +<< Tile8x8 109.371 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 109.372 + 8 8 L 8 0 L 0 0 L fill} 109.373 +>> matrix makepattern 109.374 +/Pat3 exch def 109.375 +<< Tile8x8 109.376 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 109.377 + 0 12 M 12 0 L stroke} 109.378 +>> matrix makepattern 109.379 +/Pat4 exch def 109.380 +<< Tile8x8 109.381 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 109.382 + 0 -4 M 12 8 L stroke} 109.383 +>> matrix makepattern 109.384 +/Pat5 exch def 109.385 +<< Tile8x8 109.386 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 109.387 + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 109.388 +>> matrix makepattern 109.389 +/Pat6 exch def 109.390 +<< Tile8x8 109.391 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 109.392 + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 109.393 +>> matrix makepattern 109.394 +/Pat7 exch def 109.395 +<< Tile8x8 109.396 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 109.397 + 12 0 M -4 8 L 12 4 M 0 10 L stroke} 109.398 +>> matrix makepattern 109.399 +/Pat8 exch def 109.400 +<< Tile8x8 109.401 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 109.402 + -4 0 M 12 8 L -4 4 M 8 10 L stroke} 109.403 +>> matrix makepattern 109.404 +/Pat9 exch def 109.405 +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 109.406 +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 109.407 +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 109.408 +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 109.409 +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 109.410 +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 109.411 +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 109.412 +} def 109.413 +% 109.414 +% 109.415 +%End of PostScript Level 2 code 109.416 +% 109.417 +/PatternBgnd { 109.418 + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 109.419 +} def 109.420 +% 109.421 +% Substitute for Level 2 pattern fill codes with 109.422 +% grayscale if Level 2 support is not selected. 109.423 +% 109.424 +/Level1PatternFill { 109.425 +/Pattern1 {0.250 Density} bind def 109.426 +/Pattern2 {0.500 Density} bind def 109.427 +/Pattern3 {0.750 Density} bind def 109.428 +/Pattern4 {0.125 Density} bind def 109.429 +/Pattern5 {0.375 Density} bind def 109.430 +/Pattern6 {0.625 Density} bind def 109.431 +/Pattern7 {0.875 Density} bind def 109.432 +} def 109.433 +% 109.434 +% Now test for support of Level 2 code 109.435 +% 109.436 +Level1 {Level1PatternFill} {Level2PatternFill} ifelse 109.437 +% 109.438 +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 109.439 +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 109.440 +currentdict end definefont pop 109.441 +/MFshow { 109.442 + { dup 5 get 3 ge 109.443 + { 5 get 3 eq {gsave} {grestore} ifelse } 109.444 + {dup dup 0 get findfont exch 1 get scalefont setfont 109.445 + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 109.446 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 109.447 + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 109.448 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 109.449 + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 109.450 + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 109.451 + pop aload pop M} ifelse }ifelse }ifelse } 109.452 + ifelse } 109.453 + forall} def 109.454 +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 109.455 +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 109.456 + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 109.457 + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 109.458 +/MLshow { currentpoint stroke M 109.459 + 0 exch R 109.460 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 109.461 +/MRshow { currentpoint stroke M 109.462 + exch dup MFwidth neg 3 -1 roll R 109.463 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 109.464 +/MCshow { currentpoint stroke M 109.465 + exch dup MFwidth -2 div 3 -1 roll R 109.466 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 109.467 +/XYsave { [( ) 1 2 true false 3 ()] } bind def 109.468 +/XYrestore { [( ) 1 2 true false 4 ()] } bind def 109.469 +end 109.470 +%%EndProlog 109.471 +%%Page: 1 1 109.472 +gnudict begin 109.473 +gsave 109.474 +doclip 109.475 +50 50 translate 109.476 +0.100 0.100 scale 109.477 +90 rotate 109.478 +0 -5040 translate 109.479 +0 setgray 109.480 +newpath 109.481 +(Helvetica) findfont 140 scalefont setfont 109.482 +1.000 UL 109.483 +LTb 109.484 +602 448 M 109.485 +63 0 V 109.486 +stroke 109.487 +518 448 M 109.488 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1)] 109.489 +] -46.7 MRshow 109.490 +1.000 UL 109.491 +LTb 109.492 +602 715 M 109.493 +63 0 V 109.494 +stroke 109.495 +518 715 M 109.496 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] 109.497 +] -46.7 MRshow 109.498 +1.000 UL 109.499 +LTb 109.500 +602 983 M 109.501 +63 0 V 109.502 +stroke 109.503 +518 983 M 109.504 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] 109.505 +] -46.7 MRshow 109.506 +1.000 UL 109.507 +LTb 109.508 +602 1250 M 109.509 +63 0 V 109.510 +stroke 109.511 +518 1250 M 109.512 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] 109.513 +] -46.7 MRshow 109.514 +1.000 UL 109.515 +LTb 109.516 +602 1518 M 109.517 +63 0 V 109.518 +stroke 109.519 +518 1518 M 109.520 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 109.521 +] -46.7 MRshow 109.522 +1.000 UL 109.523 +LTb 109.524 +602 1785 M 109.525 +63 0 V 109.526 +stroke 109.527 +518 1785 M 109.528 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] 109.529 +] -46.7 MRshow 109.530 +1.000 UL 109.531 +LTb 109.532 +602 2053 M 109.533 +63 0 V 109.534 +stroke 109.535 +518 2053 M 109.536 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7)] 109.537 +] -46.7 MRshow 109.538 +1.000 UL 109.539 +LTb 109.540 +602 2320 M 109.541 +63 0 V 109.542 +stroke 109.543 +518 2320 M 109.544 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] 109.545 +] -46.7 MRshow 109.546 +1.000 UL 109.547 +LTb 109.548 +602 2588 M 109.549 +63 0 V 109.550 +stroke 109.551 +518 2588 M 109.552 +[ [(Helvetica) 140.0 0.0 true true 0 ( 9)] 109.553 +] -46.7 MRshow 109.554 +1.000 UL 109.555 +LTb 109.556 +602 2855 M 109.557 +63 0 V 109.558 +stroke 109.559 +518 2855 M 109.560 +[ [(Helvetica) 140.0 0.0 true true 0 ( 10)] 109.561 +] -46.7 MRshow 109.562 +1.000 UL 109.563 +LTb 109.564 +602 448 M 109.565 +0 63 V 109.566 +stroke 109.567 +602 308 M 109.568 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 109.569 +] -46.7 MCshow 109.570 +1.000 UL 109.571 +LTb 109.572 +1035 448 M 109.573 +0 63 V 109.574 +stroke 109.575 +1035 308 M 109.576 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 109.577 +] -46.7 MCshow 109.578 +1.000 UL 109.579 +LTb 109.580 +1468 448 M 109.581 +0 63 V 109.582 +stroke 109.583 +1468 308 M 109.584 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 109.585 +] -46.7 MCshow 109.586 +1.000 UL 109.587 +LTb 109.588 +1901 448 M 109.589 +0 63 V 109.590 +stroke 109.591 +1901 308 M 109.592 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 109.593 +] -46.7 MCshow 109.594 +1.000 UL 109.595 +LTb 109.596 +2335 448 M 109.597 +0 63 V 109.598 +stroke 109.599 +2335 308 M 109.600 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 109.601 +] -46.7 MCshow 109.602 +1.000 UL 109.603 +LTb 109.604 +2768 448 M 109.605 +0 63 V 109.606 +stroke 109.607 +2768 308 M 109.608 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 109.609 +] -46.7 MCshow 109.610 +1.000 UL 109.611 +LTb 109.612 +3201 448 M 109.613 +0 63 V 109.614 +stroke 109.615 +3201 308 M 109.616 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 109.617 +] -46.7 MCshow 109.618 +1.000 UL 109.619 +LTb 109.620 +3634 448 M 109.621 +0 63 V 109.622 +stroke 109.623 +3634 308 M 109.624 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 109.625 +] -46.7 MCshow 109.626 +1.000 UL 109.627 +LTb 109.628 +4067 448 M 109.629 +0 63 V 109.630 +stroke 109.631 +4067 308 M 109.632 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 109.633 +] -46.7 MCshow 109.634 +1.000 UL 109.635 +LTb 109.636 +1.000 UL 109.637 +LTb 109.638 +602 2855 M 109.639 +602 448 L 109.640 +3465 0 V 109.641 +0 2407 R 109.642 +-3465 0 R 109.643 +stroke 109.644 +LCb setrgbcolor 109.645 +112 1651 M 109.646 +currentpoint gsave translate -270 rotate 0 0 moveto 109.647 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 109.648 +] -46.7 MCshow 109.649 +grestore 109.650 +LTb 109.651 +LCb setrgbcolor 109.652 +2334 98 M 109.653 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 109.654 +] -46.7 MCshow 109.655 +LTb 109.656 +1.000 UP 109.657 +1.000 UL 109.658 +LTb 109.659 +LCb setrgbcolor 109.660 +3538 2919 M 109.661 +[ [(Helvetica) 140.0 0.0 true true 0 (pthreads)] 109.662 +] -46.7 MCshow 109.663 +LTb 109.664 +1.000 UL 109.665 +LTb 109.666 +2793 2289 N 109.667 +0 700 V 109.668 +1491 0 V 109.669 +0 -700 V 109.670 +-1491 0 V 109.671 +Z stroke 109.672 +2793 2849 M 109.673 +1491 0 V 109.674 +% Begin plot #1 109.675 +stroke 109.676 +4.000 UL 109.677 +LT5 109.678 +LC7 setrgbcolor 109.679 +LCb setrgbcolor 109.680 +3717 2779 M 109.681 +[ [(Helvetica) 140.0 0.0 true true 0 (8 Threads)] 109.682 +] -46.7 MRshow 109.683 +LT5 109.684 +LC7 setrgbcolor 109.685 +3801 2779 M 109.686 +399 0 V 109.687 +775 2855 M 109.688 +28 -401 V 109.689 +924 1709 L 109.690 +249 -553 V 109.691 +1658 827 L 109.692 +2629 643 L 109.693 +4067 572 L 109.694 +% End plot #1 109.695 +% Begin plot #2 109.696 +stroke 109.697 +LT6 109.698 +LCb setrgbcolor 109.699 +3717 2639 M 109.700 +[ [(Helvetica) 140.0 0.0 true true 0 (32 Threads)] 109.701 +] -46.7 MRshow 109.702 +LT6 109.703 +3801 2639 M 109.704 +399 0 V 109.705 +1064 2855 M 109.706 +111 -618 V 109.707 +488 -826 V 109.708 +2631 949 L 109.709 +4067 767 L 109.710 +% End plot #2 109.711 +% Begin plot #3 109.712 +stroke 109.713 +LT7 109.714 +LC1 setrgbcolor 109.715 +LCb setrgbcolor 109.716 +3717 2499 M 109.717 +[ [(Helvetica) 140.0 0.0 true true 0 (128 Threads)] 109.718 +] -46.7 MRshow 109.719 +LT7 109.720 +LC1 setrgbcolor 109.721 +3801 2499 M 109.722 +399 0 V 109.723 +2210 2855 M 109.724 +429 -685 V 109.725 +4067 1557 L 109.726 +% End plot #3 109.727 +% Begin plot #4 109.728 +stroke 109.729 +LT8 109.730 +LCb setrgbcolor 109.731 +3717 2359 M 109.732 +[ [(Helvetica) 140.0 0.0 true true 0 (512 Threads)] 109.733 +] -46.7 MRshow 109.734 +LT8 109.735 +3801 2359 M 109.736 +399 0 V 109.737 +% End plot #4 109.738 +stroke 109.739 +1.000 UL 109.740 +LTb 109.741 +602 2855 M 109.742 +602 448 L 109.743 +3465 0 V 109.744 +0 2407 R 109.745 +-3465 0 R 109.746 +1.000 UP 109.747 +602 448 M 109.748 +63 0 V 109.749 +stroke 109.750 +518 448 M 109.751 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1)] 109.752 +] -46.7 MRshow 109.753 +1.000 UL 109.754 +LTb 109.755 +602 715 M 109.756 +63 0 V 109.757 +stroke 109.758 +518 715 M 109.759 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] 109.760 +] -46.7 MRshow 109.761 +1.000 UL 109.762 +LTb 109.763 +602 983 M 109.764 +63 0 V 109.765 +stroke 109.766 +518 983 M 109.767 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] 109.768 +] -46.7 MRshow 109.769 +1.000 UL 109.770 +LTb 109.771 +602 1250 M 109.772 +63 0 V 109.773 +stroke 109.774 +518 1250 M 109.775 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] 109.776 +] -46.7 MRshow 109.777 +1.000 UL 109.778 +LTb 109.779 +602 1518 M 109.780 +63 0 V 109.781 +stroke 109.782 +518 1518 M 109.783 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 109.784 +] -46.7 MRshow 109.785 +1.000 UL 109.786 +LTb 109.787 +602 1785 M 109.788 +63 0 V 109.789 +stroke 109.790 +518 1785 M 109.791 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] 109.792 +] -46.7 MRshow 109.793 +1.000 UL 109.794 +LTb 109.795 +602 2053 M 109.796 +63 0 V 109.797 +stroke 109.798 +518 2053 M 109.799 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7)] 109.800 +] -46.7 MRshow 109.801 +1.000 UL 109.802 +LTb 109.803 +602 2320 M 109.804 +63 0 V 109.805 +stroke 109.806 +518 2320 M 109.807 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] 109.808 +] -46.7 MRshow 109.809 +1.000 UL 109.810 +LTb 109.811 +602 2588 M 109.812 +63 0 V 109.813 +stroke 109.814 +518 2588 M 109.815 +[ [(Helvetica) 140.0 0.0 true true 0 ( 9)] 109.816 +] -46.7 MRshow 109.817 +1.000 UL 109.818 +LTb 109.819 +602 2855 M 109.820 +63 0 V 109.821 +stroke 109.822 +518 2855 M 109.823 +[ [(Helvetica) 140.0 0.0 true true 0 ( 10)] 109.824 +] -46.7 MRshow 109.825 +1.000 UL 109.826 +LTb 109.827 +602 448 M 109.828 +0 63 V 109.829 +stroke 109.830 +602 308 M 109.831 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 109.832 +] -46.7 MCshow 109.833 +1.000 UL 109.834 +LTb 109.835 +1035 448 M 109.836 +0 63 V 109.837 +stroke 109.838 +1035 308 M 109.839 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 109.840 +] -46.7 MCshow 109.841 +1.000 UL 109.842 +LTb 109.843 +1468 448 M 109.844 +0 63 V 109.845 +stroke 109.846 +1468 308 M 109.847 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 109.848 +] -46.7 MCshow 109.849 +1.000 UL 109.850 +LTb 109.851 +1901 448 M 109.852 +0 63 V 109.853 +stroke 109.854 +1901 308 M 109.855 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 109.856 +] -46.7 MCshow 109.857 +1.000 UL 109.858 +LTb 109.859 +2335 448 M 109.860 +0 63 V 109.861 +stroke 109.862 +2335 308 M 109.863 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 109.864 +] -46.7 MCshow 109.865 +1.000 UL 109.866 +LTb 109.867 +2768 448 M 109.868 +0 63 V 109.869 +stroke 109.870 +2768 308 M 109.871 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 109.872 +] -46.7 MCshow 109.873 +1.000 UL 109.874 +LTb 109.875 +3201 448 M 109.876 +0 63 V 109.877 +stroke 109.878 +3201 308 M 109.879 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 109.880 +] -46.7 MCshow 109.881 +1.000 UL 109.882 +LTb 109.883 +3634 448 M 109.884 +0 63 V 109.885 +stroke 109.886 +3634 308 M 109.887 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 109.888 +] -46.7 MCshow 109.889 +1.000 UL 109.890 +LTb 109.891 +4067 448 M 109.892 +0 63 V 109.893 +stroke 109.894 +4067 308 M 109.895 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 109.896 +] -46.7 MCshow 109.897 +1.000 UL 109.898 +LTb 109.899 +1.000 UL 109.900 +LTb 109.901 +602 2855 M 109.902 +602 448 L 109.903 +3465 0 V 109.904 +0 2407 R 109.905 +-3465 0 R 109.906 +stroke 109.907 +LCb setrgbcolor 109.908 +112 1651 M 109.909 +currentpoint gsave translate -270 rotate 0 0 moveto 109.910 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 109.911 +] -46.7 MCshow 109.912 +grestore 109.913 +LTb 109.914 +LCb setrgbcolor 109.915 +2334 98 M 109.916 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 109.917 +] -46.7 MCshow 109.918 +LTb 109.919 +1.000 UP 109.920 +1.000 UL 109.921 +LTb 109.922 +LCb setrgbcolor 109.923 +2022 2919 M 109.924 +[ [(Helvetica) 140.0 0.0 true true 0 (Vthread)] 109.925 +] -46.7 MCshow 109.926 +LTb 109.927 +1.000 UL 109.928 +LTb 109.929 +1277 2289 N 109.930 +0 700 V 109.931 +1491 0 V 109.932 +0 -700 V 109.933 +-1491 0 V 109.934 +Z stroke 109.935 +1277 2849 M 109.936 +1491 0 V 109.937 +% Begin plot #1 109.938 +stroke 109.939 +4.000 UL 109.940 +LT1 109.941 +LCa setrgbcolor 109.942 +602 715 M 109.943 +35 0 V 109.944 +35 0 V 109.945 +35 0 V 109.946 +35 0 V 109.947 +35 0 V 109.948 +35 0 V 109.949 +35 0 V 109.950 +35 0 V 109.951 +35 0 V 109.952 +35 0 V 109.953 +35 0 V 109.954 +35 0 V 109.955 +35 0 V 109.956 +35 0 V 109.957 +35 0 V 109.958 +35 0 V 109.959 +35 0 V 109.960 +35 0 V 109.961 +35 0 V 109.962 +35 0 V 109.963 +35 0 V 109.964 +35 0 V 109.965 +35 0 V 109.966 +35 0 V 109.967 +35 0 V 109.968 +35 0 V 109.969 +35 0 V 109.970 +35 0 V 109.971 +35 0 V 109.972 +35 0 V 109.973 +35 0 V 109.974 +35 0 V 109.975 +35 0 V 109.976 +35 0 V 109.977 +35 0 V 109.978 +35 0 V 109.979 +35 0 V 109.980 +35 0 V 109.981 +35 0 V 109.982 +35 0 V 109.983 +35 0 V 109.984 +35 0 V 109.985 +35 0 V 109.986 +35 0 V 109.987 +35 0 V 109.988 +35 0 V 109.989 +35 0 V 109.990 +35 0 V 109.991 +35 0 V 109.992 +35 0 V 109.993 +35 0 V 109.994 +35 0 V 109.995 +35 0 V 109.996 +35 0 V 109.997 +35 0 V 109.998 +35 0 V 109.999 +35 0 V 109.1000 +35 0 V 109.1001 +35 0 V 109.1002 +35 0 V 109.1003 +35 0 V 109.1004 +35 0 V 109.1005 +35 0 V 109.1006 +35 0 V 109.1007 +35 0 V 109.1008 +35 0 V 109.1009 +35 0 V 109.1010 +35 0 V 109.1011 +35 0 V 109.1012 +35 0 V 109.1013 +35 0 V 109.1014 +35 0 V 109.1015 +35 0 V 109.1016 +35 0 V 109.1017 +35 0 V 109.1018 +35 0 V 109.1019 +35 0 V 109.1020 +35 0 V 109.1021 +35 0 V 109.1022 +35 0 V 109.1023 +35 0 V 109.1024 +35 0 V 109.1025 +35 0 V 109.1026 +35 0 V 109.1027 +35 0 V 109.1028 +35 0 V 109.1029 +35 0 V 109.1030 +35 0 V 109.1031 +35 0 V 109.1032 +35 0 V 109.1033 +35 0 V 109.1034 +35 0 V 109.1035 +35 0 V 109.1036 +35 0 V 109.1037 +35 0 V 109.1038 +35 0 V 109.1039 +35 0 V 109.1040 +35 0 V 109.1041 +35 0 V 109.1042 +% End plot #1 109.1043 +% Begin plot #2 109.1044 +stroke 109.1045 +LT0 109.1046 +LCb setrgbcolor 109.1047 +2201 2779 M 109.1048 +[ [(Helvetica) 140.0 0.0 true true 0 (8 Threads)] 109.1049 +] -46.7 MRshow 109.1050 +LT0 109.1051 +2285 2779 M 109.1052 +399 0 V 109.1053 +692 1306 M 109.1054 +18 -111 V 109.1055 +31 -149 V 109.1056 +801 842 L 109.1057 +922 697 L 109.1058 +1172 589 L 109.1059 +486 -65 V 109.1060 +970 -37 V 109.1061 +4067 473 L 109.1062 +% End plot #2 109.1063 +% Begin plot #3 109.1064 +stroke 109.1065 +LT2 109.1066 +LCb setrgbcolor 109.1067 +2201 2639 M 109.1068 +[ [(Helvetica) 140.0 0.0 true true 0 (32 Threads)] 109.1069 +] -46.7 MRshow 109.1070 +LT2 109.1071 +2285 2639 M 109.1072 +399 0 V 109.1073 +692 1319 M 109.1074 +18 -134 V 109.1075 +30 -176 V 109.1076 +801 845 L 109.1077 +922 690 L 109.1078 +1173 582 L 109.1079 +485 -60 V 109.1080 +970 -36 V 109.1081 +4067 472 L 109.1082 +% End plot #3 109.1083 +% Begin plot #4 109.1084 +stroke 109.1085 +LT3 109.1086 +LCb setrgbcolor 109.1087 +2201 2499 M 109.1088 +[ [(Helvetica) 140.0 0.0 true true 0 (128 Threads)] 109.1089 +] -46.7 MRshow 109.1090 +LT3 109.1091 +2285 2499 M 109.1092 +399 0 V 109.1093 +693 1386 M 109.1094 +18 -167 V 109.1095 +30 -161 V 109.1096 +801 865 L 109.1097 +923 711 L 109.1098 +1173 595 L 109.1099 +485 -67 V 109.1100 +970 -39 V 109.1101 +4067 474 L 109.1102 +% End plot #4 109.1103 +% Begin plot #5 109.1104 +stroke 109.1105 +LT4 109.1106 +LCb setrgbcolor 109.1107 +2201 2359 M 109.1108 +[ [(Helvetica) 140.0 0.0 true true 0 (512 Threads)] 109.1109 +] -46.7 MRshow 109.1110 +LT4 109.1111 +2285 2359 M 109.1112 +399 0 V 109.1113 +692 1425 M 109.1114 +19 -158 V 109.1115 +30 -179 V 109.1116 +802 892 L 109.1117 +923 725 L 109.1118 +1173 602 L 109.1119 +485 -70 V 109.1120 +970 -40 V 109.1121 +4067 476 L 109.1122 +% End plot #5 109.1123 +stroke 109.1124 +1.000 UL 109.1125 +LTb 109.1126 +602 2855 M 109.1127 +602 448 L 109.1128 +3465 0 V 109.1129 +0 2407 R 109.1130 +-3465 0 R 109.1131 +1.000 UP 109.1132 +stroke 109.1133 +grestore 109.1134 +end 109.1135 +showpage 109.1136 +%%Trailer 109.1137 +%%DocumentFonts: Helvetica 109.1138 +%%Pages: 1
110.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 110.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/plots_exec_vs_task_size/not_used/cray1_pthreads_8_32_128_512thds__o30000__perfCtrs.result.eps Fri Sep 13 11:02:18 2013 -0700 110.3 @@ -0,0 +1,818 @@ 110.4 +%!PS-Adobe-2.0 110.5 +%%Title: cray1_pthreads_8_32_128_512thds__o30000__perfCtrs.result.eps 110.6 +%%Creator: gnuplot 4.4 patchlevel 2 110.7 +%%CreationDate: Thu Jan 26 18:08:51 2012 110.8 +%%DocumentFonts: (atend) 110.9 +%%BoundingBox: 251 50 554 482 110.10 +%%Orientation: Landscape 110.11 +%%Pages: (atend) 110.12 +%%EndComments 110.13 +%%BeginProlog 110.14 +/gnudict 256 dict def 110.15 +gnudict begin 110.16 +% 110.17 +% The following true/false flags may be edited by hand if desired. 110.18 +% The unit line width and grayscale image gamma correction may also be changed. 110.19 +% 110.20 +/Color true def 110.21 +/Blacktext false def 110.22 +/Solid false def 110.23 +/Dashlength 1 def 110.24 +/Landscape true def 110.25 +/Level1 false def 110.26 +/Rounded false def 110.27 +/ClipToBoundingBox false def 110.28 +/TransparentPatterns false def 110.29 +/gnulinewidth 5.000 def 110.30 +/userlinewidth gnulinewidth def 110.31 +/Gamma 1.0 def 110.32 +% 110.33 +/vshift -46 def 110.34 +/dl1 { 110.35 + 10.0 Dashlength mul mul 110.36 + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 110.37 +} def 110.38 +/dl2 { 110.39 + 10.0 Dashlength mul mul 110.40 + Rounded { currentlinewidth 0.75 mul add } if 110.41 +} def 110.42 +/hpt_ 31.5 def 110.43 +/vpt_ 31.5 def 110.44 +/hpt hpt_ def 110.45 +/vpt vpt_ def 110.46 +Level1 {} { 110.47 +/SDict 10 dict def 110.48 +systemdict /pdfmark known not { 110.49 + userdict /pdfmark systemdict /cleartomark get put 110.50 +} if 110.51 +SDict begin [ 110.52 + /Title (cray1_pthreads_8_32_128_512thds__o30000__perfCtrs.result.eps) 110.53 + /Subject (gnuplot plot) 110.54 + /Creator (gnuplot 4.4 patchlevel 2) 110.55 + /Author (msach) 110.56 +% /Producer (gnuplot) 110.57 +% /Keywords () 110.58 + /CreationDate (Thu Jan 26 18:08:51 2012) 110.59 + /DOCINFO pdfmark 110.60 +end 110.61 +} ifelse 110.62 +/doclip { 110.63 + ClipToBoundingBox { 110.64 + newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 110.65 + clip 110.66 + } if 110.67 +} def 110.68 +% 110.69 +% Gnuplot Prolog Version 4.4 (August 2010) 110.70 +% 110.71 +%/SuppressPDFMark true def 110.72 +% 110.73 +/M {moveto} bind def 110.74 +/L {lineto} bind def 110.75 +/R {rmoveto} bind def 110.76 +/V {rlineto} bind def 110.77 +/N {newpath moveto} bind def 110.78 +/Z {closepath} bind def 110.79 +/C {setrgbcolor} bind def 110.80 +/f {rlineto fill} bind def 110.81 +/g {setgray} bind def 110.82 +/Gshow {show} def % May be redefined later in the file to support UTF-8 110.83 +/vpt2 vpt 2 mul def 110.84 +/hpt2 hpt 2 mul def 110.85 +/Lshow {currentpoint stroke M 0 vshift R 110.86 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 110.87 +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 110.88 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 110.89 +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 110.90 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 110.91 +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 110.92 + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 110.93 +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 110.94 + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 110.95 +/BL {stroke userlinewidth 2 mul setlinewidth 110.96 + Rounded {1 setlinejoin 1 setlinecap} if} def 110.97 +/AL {stroke userlinewidth 2 div setlinewidth 110.98 + Rounded {1 setlinejoin 1 setlinecap} if} def 110.99 +/UL {dup gnulinewidth mul /userlinewidth exch def 110.100 + dup 1 lt {pop 1} if 10 mul /udl exch def} def 110.101 +/PL {stroke userlinewidth setlinewidth 110.102 + Rounded {1 setlinejoin 1 setlinecap} if} def 110.103 +3.8 setmiterlimit 110.104 +% Default Line colors 110.105 +/LCw {1 1 1} def 110.106 +/LCb {0 0 0} def 110.107 +/LCa {0 0 0} def 110.108 +/LC0 {1 0 0} def 110.109 +/LC1 {0 1 0} def 110.110 +/LC2 {0 0 1} def 110.111 +/LC3 {1 0 1} def 110.112 +/LC4 {0 1 1} def 110.113 +/LC5 {1 1 0} def 110.114 +/LC6 {0 0 0} def 110.115 +/LC7 {1 0.3 0} def 110.116 +/LC8 {0.5 0.5 0.5} def 110.117 +% Default Line Types 110.118 +/LTw {PL [] 1 setgray} def 110.119 +/LTb {BL [] LCb DL} def 110.120 +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 110.121 +/LT0 {PL [] LC0 DL} def 110.122 +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 110.123 +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 110.124 +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 110.125 +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 110.126 +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 110.127 +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 110.128 +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 110.129 +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 110.130 +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 110.131 +/Dia {stroke [] 0 setdash 2 copy vpt add M 110.132 + hpt neg vpt neg V hpt vpt neg V 110.133 + hpt vpt V hpt neg vpt V closepath stroke 110.134 + Pnt} def 110.135 +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 110.136 + currentpoint stroke M 110.137 + hpt neg vpt neg R hpt2 0 V stroke 110.138 + } def 110.139 +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 110.140 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 110.141 + hpt2 neg 0 V closepath stroke 110.142 + Pnt} def 110.143 +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 110.144 + hpt2 vpt2 neg V currentpoint stroke M 110.145 + hpt2 neg 0 R hpt2 vpt2 V stroke} def 110.146 +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 110.147 + hpt neg vpt -1.62 mul V 110.148 + hpt 2 mul 0 V 110.149 + hpt neg vpt 1.62 mul V closepath stroke 110.150 + Pnt} def 110.151 +/Star {2 copy Pls Crs} def 110.152 +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 110.153 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 110.154 + hpt2 neg 0 V closepath fill} def 110.155 +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 110.156 + hpt neg vpt -1.62 mul V 110.157 + hpt 2 mul 0 V 110.158 + hpt neg vpt 1.62 mul V closepath fill} def 110.159 +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 110.160 + hpt neg vpt 1.62 mul V 110.161 + hpt 2 mul 0 V 110.162 + hpt neg vpt -1.62 mul V closepath stroke 110.163 + Pnt} def 110.164 +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 110.165 + hpt neg vpt 1.62 mul V 110.166 + hpt 2 mul 0 V 110.167 + hpt neg vpt -1.62 mul V closepath fill} def 110.168 +/DiaF {stroke [] 0 setdash vpt add M 110.169 + hpt neg vpt neg V hpt vpt neg V 110.170 + hpt vpt V hpt neg vpt V closepath fill} def 110.171 +/Pent {stroke [] 0 setdash 2 copy gsave 110.172 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 110.173 + closepath stroke grestore Pnt} def 110.174 +/PentF {stroke [] 0 setdash gsave 110.175 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 110.176 + closepath fill grestore} def 110.177 +/Circle {stroke [] 0 setdash 2 copy 110.178 + hpt 0 360 arc stroke Pnt} def 110.179 +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 110.180 +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 110.181 +/C1 {BL [] 0 setdash 2 copy moveto 110.182 + 2 copy vpt 0 90 arc closepath fill 110.183 + vpt 0 360 arc closepath} bind def 110.184 +/C2 {BL [] 0 setdash 2 copy moveto 110.185 + 2 copy vpt 90 180 arc closepath fill 110.186 + vpt 0 360 arc closepath} bind def 110.187 +/C3 {BL [] 0 setdash 2 copy moveto 110.188 + 2 copy vpt 0 180 arc closepath fill 110.189 + vpt 0 360 arc closepath} bind def 110.190 +/C4 {BL [] 0 setdash 2 copy moveto 110.191 + 2 copy vpt 180 270 arc closepath fill 110.192 + vpt 0 360 arc closepath} bind def 110.193 +/C5 {BL [] 0 setdash 2 copy moveto 110.194 + 2 copy vpt 0 90 arc 110.195 + 2 copy moveto 110.196 + 2 copy vpt 180 270 arc closepath fill 110.197 + vpt 0 360 arc} bind def 110.198 +/C6 {BL [] 0 setdash 2 copy moveto 110.199 + 2 copy vpt 90 270 arc closepath fill 110.200 + vpt 0 360 arc closepath} bind def 110.201 +/C7 {BL [] 0 setdash 2 copy moveto 110.202 + 2 copy vpt 0 270 arc closepath fill 110.203 + vpt 0 360 arc closepath} bind def 110.204 +/C8 {BL [] 0 setdash 2 copy moveto 110.205 + 2 copy vpt 270 360 arc closepath fill 110.206 + vpt 0 360 arc closepath} bind def 110.207 +/C9 {BL [] 0 setdash 2 copy moveto 110.208 + 2 copy vpt 270 450 arc closepath fill 110.209 + vpt 0 360 arc closepath} bind def 110.210 +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 110.211 + 2 copy moveto 110.212 + 2 copy vpt 90 180 arc closepath fill 110.213 + vpt 0 360 arc closepath} bind def 110.214 +/C11 {BL [] 0 setdash 2 copy moveto 110.215 + 2 copy vpt 0 180 arc closepath fill 110.216 + 2 copy moveto 110.217 + 2 copy vpt 270 360 arc closepath fill 110.218 + vpt 0 360 arc closepath} bind def 110.219 +/C12 {BL [] 0 setdash 2 copy moveto 110.220 + 2 copy vpt 180 360 arc closepath fill 110.221 + vpt 0 360 arc closepath} bind def 110.222 +/C13 {BL [] 0 setdash 2 copy moveto 110.223 + 2 copy vpt 0 90 arc closepath fill 110.224 + 2 copy moveto 110.225 + 2 copy vpt 180 360 arc closepath fill 110.226 + vpt 0 360 arc closepath} bind def 110.227 +/C14 {BL [] 0 setdash 2 copy moveto 110.228 + 2 copy vpt 90 360 arc closepath fill 110.229 + vpt 0 360 arc} bind def 110.230 +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 110.231 + vpt 0 360 arc closepath} bind def 110.232 +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 110.233 + neg 0 rlineto closepath} bind def 110.234 +/Square {dup Rec} bind def 110.235 +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 110.236 +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 110.237 +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 110.238 +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 110.239 +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 110.240 +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 110.241 +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 110.242 + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 110.243 +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 110.244 +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 110.245 + 2 copy vpt Square fill Bsquare} bind def 110.246 +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 110.247 +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 110.248 +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 110.249 + Bsquare} bind def 110.250 +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 110.251 + Bsquare} bind def 110.252 +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 110.253 +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 110.254 + 2 copy vpt Square fill Bsquare} bind def 110.255 +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 110.256 + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 110.257 +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 110.258 +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 110.259 +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 110.260 +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 110.261 +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 110.262 +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 110.263 +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 110.264 +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 110.265 +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 110.266 +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 110.267 +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 110.268 +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 110.269 +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 110.270 +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 110.271 +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 110.272 +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 110.273 +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 110.274 +/DiaE {stroke [] 0 setdash vpt add M 110.275 + hpt neg vpt neg V hpt vpt neg V 110.276 + hpt vpt V hpt neg vpt V closepath stroke} def 110.277 +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 110.278 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 110.279 + hpt2 neg 0 V closepath stroke} def 110.280 +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 110.281 + hpt neg vpt -1.62 mul V 110.282 + hpt 2 mul 0 V 110.283 + hpt neg vpt 1.62 mul V closepath stroke} def 110.284 +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 110.285 + hpt neg vpt 1.62 mul V 110.286 + hpt 2 mul 0 V 110.287 + hpt neg vpt -1.62 mul V closepath stroke} def 110.288 +/PentE {stroke [] 0 setdash gsave 110.289 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 110.290 + closepath stroke grestore} def 110.291 +/CircE {stroke [] 0 setdash 110.292 + hpt 0 360 arc stroke} def 110.293 +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 110.294 +/DiaW {stroke [] 0 setdash vpt add M 110.295 + hpt neg vpt neg V hpt vpt neg V 110.296 + hpt vpt V hpt neg vpt V Opaque stroke} def 110.297 +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 110.298 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 110.299 + hpt2 neg 0 V Opaque stroke} def 110.300 +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 110.301 + hpt neg vpt -1.62 mul V 110.302 + hpt 2 mul 0 V 110.303 + hpt neg vpt 1.62 mul V Opaque stroke} def 110.304 +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 110.305 + hpt neg vpt 1.62 mul V 110.306 + hpt 2 mul 0 V 110.307 + hpt neg vpt -1.62 mul V Opaque stroke} def 110.308 +/PentW {stroke [] 0 setdash gsave 110.309 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 110.310 + Opaque stroke grestore} def 110.311 +/CircW {stroke [] 0 setdash 110.312 + hpt 0 360 arc Opaque stroke} def 110.313 +/BoxFill {gsave Rec 1 setgray fill grestore} def 110.314 +/Density { 110.315 + /Fillden exch def 110.316 + currentrgbcolor 110.317 + /ColB exch def /ColG exch def /ColR exch def 110.318 + /ColR ColR Fillden mul Fillden sub 1 add def 110.319 + /ColG ColG Fillden mul Fillden sub 1 add def 110.320 + /ColB ColB Fillden mul Fillden sub 1 add def 110.321 + ColR ColG ColB setrgbcolor} def 110.322 +/BoxColFill {gsave Rec PolyFill} def 110.323 +/PolyFill {gsave Density fill grestore grestore} def 110.324 +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 110.325 +% 110.326 +% PostScript Level 1 Pattern Fill routine for rectangles 110.327 +% Usage: x y w h s a XX PatternFill 110.328 +% x,y = lower left corner of box to be filled 110.329 +% w,h = width and height of box 110.330 +% a = angle in degrees between lines and x-axis 110.331 +% XX = 0/1 for no/yes cross-hatch 110.332 +% 110.333 +/PatternFill {gsave /PFa [ 9 2 roll ] def 110.334 + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 110.335 + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 110.336 + gsave 1 setgray fill grestore clip 110.337 + currentlinewidth 0.5 mul setlinewidth 110.338 + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 110.339 + 0 0 M PFa 5 get rotate PFs -2 div dup translate 110.340 + 0 1 PFs PFa 4 get div 1 add floor cvi 110.341 + {PFa 4 get mul 0 M 0 PFs V} for 110.342 + 0 PFa 6 get ne { 110.343 + 0 1 PFs PFa 4 get div 1 add floor cvi 110.344 + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 110.345 + } if 110.346 + stroke grestore} def 110.347 +% 110.348 +/languagelevel where 110.349 + {pop languagelevel} {1} ifelse 110.350 + 2 lt 110.351 + {/InterpretLevel1 true def} 110.352 + {/InterpretLevel1 Level1 def} 110.353 + ifelse 110.354 +% 110.355 +% PostScript level 2 pattern fill definitions 110.356 +% 110.357 +/Level2PatternFill { 110.358 +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 110.359 + bind def 110.360 +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 110.361 +<< Tile8x8 110.362 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 110.363 +>> matrix makepattern 110.364 +/Pat1 exch def 110.365 +<< Tile8x8 110.366 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 110.367 + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 110.368 +>> matrix makepattern 110.369 +/Pat2 exch def 110.370 +<< Tile8x8 110.371 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 110.372 + 8 8 L 8 0 L 0 0 L fill} 110.373 +>> matrix makepattern 110.374 +/Pat3 exch def 110.375 +<< Tile8x8 110.376 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 110.377 + 0 12 M 12 0 L stroke} 110.378 +>> matrix makepattern 110.379 +/Pat4 exch def 110.380 +<< Tile8x8 110.381 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 110.382 + 0 -4 M 12 8 L stroke} 110.383 +>> matrix makepattern 110.384 +/Pat5 exch def 110.385 +<< Tile8x8 110.386 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 110.387 + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 110.388 +>> matrix makepattern 110.389 +/Pat6 exch def 110.390 +<< Tile8x8 110.391 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 110.392 + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 110.393 +>> matrix makepattern 110.394 +/Pat7 exch def 110.395 +<< Tile8x8 110.396 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 110.397 + 12 0 M -4 8 L 12 4 M 0 10 L stroke} 110.398 +>> matrix makepattern 110.399 +/Pat8 exch def 110.400 +<< Tile8x8 110.401 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 110.402 + -4 0 M 12 8 L -4 4 M 8 10 L stroke} 110.403 +>> matrix makepattern 110.404 +/Pat9 exch def 110.405 +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 110.406 +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 110.407 +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 110.408 +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 110.409 +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 110.410 +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 110.411 +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 110.412 +} def 110.413 +% 110.414 +% 110.415 +%End of PostScript Level 2 code 110.416 +% 110.417 +/PatternBgnd { 110.418 + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 110.419 +} def 110.420 +% 110.421 +% Substitute for Level 2 pattern fill codes with 110.422 +% grayscale if Level 2 support is not selected. 110.423 +% 110.424 +/Level1PatternFill { 110.425 +/Pattern1 {0.250 Density} bind def 110.426 +/Pattern2 {0.500 Density} bind def 110.427 +/Pattern3 {0.750 Density} bind def 110.428 +/Pattern4 {0.125 Density} bind def 110.429 +/Pattern5 {0.375 Density} bind def 110.430 +/Pattern6 {0.625 Density} bind def 110.431 +/Pattern7 {0.875 Density} bind def 110.432 +} def 110.433 +% 110.434 +% Now test for support of Level 2 code 110.435 +% 110.436 +Level1 {Level1PatternFill} {Level2PatternFill} ifelse 110.437 +% 110.438 +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 110.439 +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 110.440 +currentdict end definefont pop 110.441 +/MFshow { 110.442 + { dup 5 get 3 ge 110.443 + { 5 get 3 eq {gsave} {grestore} ifelse } 110.444 + {dup dup 0 get findfont exch 1 get scalefont setfont 110.445 + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 110.446 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 110.447 + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 110.448 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 110.449 + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 110.450 + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 110.451 + pop aload pop M} ifelse }ifelse }ifelse } 110.452 + ifelse } 110.453 + forall} def 110.454 +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 110.455 +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 110.456 + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 110.457 + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 110.458 +/MLshow { currentpoint stroke M 110.459 + 0 exch R 110.460 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 110.461 +/MRshow { currentpoint stroke M 110.462 + exch dup MFwidth neg 3 -1 roll R 110.463 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 110.464 +/MCshow { currentpoint stroke M 110.465 + exch dup MFwidth -2 div 3 -1 roll R 110.466 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 110.467 +/XYsave { [( ) 1 2 true false 3 ()] } bind def 110.468 +/XYrestore { [( ) 1 2 true false 4 ()] } bind def 110.469 +end 110.470 +%%EndProlog 110.471 +%%Page: 1 1 110.472 +gnudict begin 110.473 +gsave 110.474 +doclip 110.475 +50 50 translate 110.476 +0.100 0.100 scale 110.477 +90 rotate 110.478 +0 -5040 translate 110.479 +0 setgray 110.480 +newpath 110.481 +(Helvetica) findfont 140 scalefont setfont 110.482 +1.000 UL 110.483 +LTb 110.484 +518 448 M 110.485 +63 0 V 110.486 +stroke 110.487 +434 448 M 110.488 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1)] 110.489 +] -46.7 MRshow 110.490 +1.000 UL 110.491 +LTb 110.492 +518 792 M 110.493 +63 0 V 110.494 +stroke 110.495 +434 792 M 110.496 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] 110.497 +] -46.7 MRshow 110.498 +1.000 UL 110.499 +LTb 110.500 +518 1136 M 110.501 +63 0 V 110.502 +stroke 110.503 +434 1136 M 110.504 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] 110.505 +] -46.7 MRshow 110.506 +1.000 UL 110.507 +LTb 110.508 +518 1480 M 110.509 +63 0 V 110.510 +stroke 110.511 +434 1480 M 110.512 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] 110.513 +] -46.7 MRshow 110.514 +1.000 UL 110.515 +LTb 110.516 +518 1823 M 110.517 +63 0 V 110.518 +stroke 110.519 +434 1823 M 110.520 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 110.521 +] -46.7 MRshow 110.522 +1.000 UL 110.523 +LTb 110.524 +518 2167 M 110.525 +63 0 V 110.526 +stroke 110.527 +434 2167 M 110.528 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] 110.529 +] -46.7 MRshow 110.530 +1.000 UL 110.531 +LTb 110.532 +518 2511 M 110.533 +63 0 V 110.534 +stroke 110.535 +434 2511 M 110.536 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7)] 110.537 +] -46.7 MRshow 110.538 +1.000 UL 110.539 +LTb 110.540 +518 2855 M 110.541 +63 0 V 110.542 +stroke 110.543 +434 2855 M 110.544 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] 110.545 +] -46.7 MRshow 110.546 +1.000 UL 110.547 +LTb 110.548 +518 448 M 110.549 +0 63 V 110.550 +stroke 110.551 +518 308 M 110.552 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 110.553 +] -46.7 MCshow 110.554 +1.000 UL 110.555 +LTb 110.556 +962 448 M 110.557 +0 63 V 110.558 +stroke 110.559 +962 308 M 110.560 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 110.561 +] -46.7 MCshow 110.562 +1.000 UL 110.563 +LTb 110.564 +1405 448 M 110.565 +0 63 V 110.566 +stroke 110.567 +1405 308 M 110.568 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 110.569 +] -46.7 MCshow 110.570 +1.000 UL 110.571 +LTb 110.572 +1849 448 M 110.573 +0 63 V 110.574 +stroke 110.575 +1849 308 M 110.576 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 110.577 +] -46.7 MCshow 110.578 +1.000 UL 110.579 +LTb 110.580 +2293 448 M 110.581 +0 63 V 110.582 +stroke 110.583 +2293 308 M 110.584 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 110.585 +] -46.7 MCshow 110.586 +1.000 UL 110.587 +LTb 110.588 +2736 448 M 110.589 +0 63 V 110.590 +stroke 110.591 +2736 308 M 110.592 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 110.593 +] -46.7 MCshow 110.594 +1.000 UL 110.595 +LTb 110.596 +3180 448 M 110.597 +0 63 V 110.598 +stroke 110.599 +3180 308 M 110.600 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 110.601 +] -46.7 MCshow 110.602 +1.000 UL 110.603 +LTb 110.604 +3623 448 M 110.605 +0 63 V 110.606 +stroke 110.607 +3623 308 M 110.608 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 110.609 +] -46.7 MCshow 110.610 +1.000 UL 110.611 +LTb 110.612 +4067 448 M 110.613 +0 63 V 110.614 +stroke 110.615 +4067 308 M 110.616 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 110.617 +] -46.7 MCshow 110.618 +1.000 UL 110.619 +LTb 110.620 +1.000 UL 110.621 +LTb 110.622 +518 2855 M 110.623 +518 448 L 110.624 +3549 0 V 110.625 +0 2407 R 110.626 +-3549 0 R 110.627 +stroke 110.628 +LCb setrgbcolor 110.629 +112 1651 M 110.630 +currentpoint gsave translate -270 rotate 0 0 moveto 110.631 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 110.632 +] -46.7 MCshow 110.633 +grestore 110.634 +LTb 110.635 +LCb setrgbcolor 110.636 +2292 98 M 110.637 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 110.638 +] -46.7 MCshow 110.639 +LTb 110.640 +1.000 UP 110.641 +1.000 UL 110.642 +LTb 110.643 +1.000 UL 110.644 +LTb 110.645 +2798 2538 N 110.646 +0 420 V 110.647 +1491 0 V 110.648 +0 -420 V 110.649 +-1491 0 V 110.650 +Z stroke 110.651 +2798 2958 M 110.652 +1491 0 V 110.653 +% Begin plot #1 110.654 +stroke 110.655 +4.000 UL 110.656 +LT1 110.657 +LCa setrgbcolor 110.658 +518 792 M 110.659 +36 0 V 110.660 +36 0 V 110.661 +36 0 V 110.662 +35 0 V 110.663 +36 0 V 110.664 +36 0 V 110.665 +36 0 V 110.666 +36 0 V 110.667 +36 0 V 110.668 +35 0 V 110.669 +36 0 V 110.670 +36 0 V 110.671 +36 0 V 110.672 +36 0 V 110.673 +36 0 V 110.674 +36 0 V 110.675 +35 0 V 110.676 +36 0 V 110.677 +36 0 V 110.678 +36 0 V 110.679 +36 0 V 110.680 +36 0 V 110.681 +36 0 V 110.682 +35 0 V 110.683 +36 0 V 110.684 +36 0 V 110.685 +36 0 V 110.686 +36 0 V 110.687 +36 0 V 110.688 +35 0 V 110.689 +36 0 V 110.690 +36 0 V 110.691 +36 0 V 110.692 +36 0 V 110.693 +36 0 V 110.694 +36 0 V 110.695 +35 0 V 110.696 +36 0 V 110.697 +36 0 V 110.698 +36 0 V 110.699 +36 0 V 110.700 +36 0 V 110.701 +35 0 V 110.702 +36 0 V 110.703 +36 0 V 110.704 +36 0 V 110.705 +36 0 V 110.706 +36 0 V 110.707 +36 0 V 110.708 +35 0 V 110.709 +36 0 V 110.710 +36 0 V 110.711 +36 0 V 110.712 +36 0 V 110.713 +36 0 V 110.714 +36 0 V 110.715 +35 0 V 110.716 +36 0 V 110.717 +36 0 V 110.718 +36 0 V 110.719 +36 0 V 110.720 +36 0 V 110.721 +35 0 V 110.722 +36 0 V 110.723 +36 0 V 110.724 +36 0 V 110.725 +36 0 V 110.726 +36 0 V 110.727 +36 0 V 110.728 +35 0 V 110.729 +36 0 V 110.730 +36 0 V 110.731 +36 0 V 110.732 +36 0 V 110.733 +36 0 V 110.734 +35 0 V 110.735 +36 0 V 110.736 +36 0 V 110.737 +36 0 V 110.738 +36 0 V 110.739 +36 0 V 110.740 +36 0 V 110.741 +35 0 V 110.742 +36 0 V 110.743 +36 0 V 110.744 +36 0 V 110.745 +36 0 V 110.746 +36 0 V 110.747 +36 0 V 110.748 +35 0 V 110.749 +36 0 V 110.750 +36 0 V 110.751 +36 0 V 110.752 +36 0 V 110.753 +36 0 V 110.754 +35 0 V 110.755 +36 0 V 110.756 +36 0 V 110.757 +36 0 V 110.758 +% End plot #1 110.759 +% Begin plot #2 110.760 +stroke 110.761 +LT1 110.762 +LCb setrgbcolor 110.763 +3722 2888 M 110.764 +[ [(Helvetica) 140.0 0.0 true true 0 (8 Threads)] 110.765 +] -46.7 MRshow 110.766 +LT1 110.767 +3806 2888 M 110.768 +399 0 V 110.769 +746 2855 M 110.770 +848 2069 L 110.771 +255 -711 V 110.772 +1600 935 L 110.773 +2594 699 L 110.774 +4067 607 L 110.775 +% End plot #2 110.776 +% Begin plot #3 110.777 +stroke 110.778 +LT2 110.779 +LCb setrgbcolor 110.780 +3722 2748 M 110.781 +[ [(Helvetica) 140.0 0.0 true true 0 (32 Threads)] 110.782 +] -46.7 MRshow 110.783 +LT2 110.784 +3806 2748 M 110.785 +399 0 V 110.786 +1089 2855 M 110.787 +15 -106 V 110.788 +1605 1686 L 110.789 +991 -594 V 110.790 +4067 858 L 110.791 +% End plot #3 110.792 +% Begin plot #4 110.793 +stroke 110.794 +LT3 110.795 +LCb setrgbcolor 110.796 +3722 2608 M 110.797 +[ [(Helvetica) 140.0 0.0 true true 0 (128 Threads)] 110.798 +] -46.7 MRshow 110.799 +LT3 110.800 +3806 2608 M 110.801 +399 0 V 110.802 +2508 2855 M 110.803 +97 -193 V 110.804 +4067 1874 L 110.805 +% End plot #4 110.806 +stroke 110.807 +1.000 UL 110.808 +LTb 110.809 +518 2855 M 110.810 +518 448 L 110.811 +3549 0 V 110.812 +0 2407 R 110.813 +-3549 0 R 110.814 +1.000 UP 110.815 +stroke 110.816 +grestore 110.817 +end 110.818 +showpage 110.819 +%%Trailer 110.820 +%%DocumentFonts: Helvetica 110.821 +%%Pages: 1
111.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 111.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/plots_exec_vs_task_size/not_used/cray1_vthread_8_32_128_512thds__o30000__perfCtrs.result.eps Fri Sep 13 11:02:18 2013 -0700 111.3 @@ -0,0 +1,851 @@ 111.4 +%!PS-Adobe-2.0 111.5 +%%Title: cray1_vthread_8_32_128_512thds__o30000__perfCtrs.result.eps 111.6 +%%Creator: gnuplot 4.4 patchlevel 2 111.7 +%%CreationDate: Thu Jan 26 18:09:54 2012 111.8 +%%DocumentFonts: (atend) 111.9 +%%BoundingBox: 251 50 554 482 111.10 +%%Orientation: Landscape 111.11 +%%Pages: (atend) 111.12 +%%EndComments 111.13 +%%BeginProlog 111.14 +/gnudict 256 dict def 111.15 +gnudict begin 111.16 +% 111.17 +% The following true/false flags may be edited by hand if desired. 111.18 +% The unit line width and grayscale image gamma correction may also be changed. 111.19 +% 111.20 +/Color true def 111.21 +/Blacktext false def 111.22 +/Solid false def 111.23 +/Dashlength 1 def 111.24 +/Landscape true def 111.25 +/Level1 false def 111.26 +/Rounded false def 111.27 +/ClipToBoundingBox false def 111.28 +/TransparentPatterns false def 111.29 +/gnulinewidth 5.000 def 111.30 +/userlinewidth gnulinewidth def 111.31 +/Gamma 1.0 def 111.32 +% 111.33 +/vshift -46 def 111.34 +/dl1 { 111.35 + 10.0 Dashlength mul mul 111.36 + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 111.37 +} def 111.38 +/dl2 { 111.39 + 10.0 Dashlength mul mul 111.40 + Rounded { currentlinewidth 0.75 mul add } if 111.41 +} def 111.42 +/hpt_ 31.5 def 111.43 +/vpt_ 31.5 def 111.44 +/hpt hpt_ def 111.45 +/vpt vpt_ def 111.46 +Level1 {} { 111.47 +/SDict 10 dict def 111.48 +systemdict /pdfmark known not { 111.49 + userdict /pdfmark systemdict /cleartomark get put 111.50 +} if 111.51 +SDict begin [ 111.52 + /Title (cray1_vthread_8_32_128_512thds__o30000__perfCtrs.result.eps) 111.53 + /Subject (gnuplot plot) 111.54 + /Creator (gnuplot 4.4 patchlevel 2) 111.55 + /Author (msach) 111.56 +% /Producer (gnuplot) 111.57 +% /Keywords () 111.58 + /CreationDate (Thu Jan 26 18:09:54 2012) 111.59 + /DOCINFO pdfmark 111.60 +end 111.61 +} ifelse 111.62 +/doclip { 111.63 + ClipToBoundingBox { 111.64 + newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 111.65 + clip 111.66 + } if 111.67 +} def 111.68 +% 111.69 +% Gnuplot Prolog Version 4.4 (August 2010) 111.70 +% 111.71 +%/SuppressPDFMark true def 111.72 +% 111.73 +/M {moveto} bind def 111.74 +/L {lineto} bind def 111.75 +/R {rmoveto} bind def 111.76 +/V {rlineto} bind def 111.77 +/N {newpath moveto} bind def 111.78 +/Z {closepath} bind def 111.79 +/C {setrgbcolor} bind def 111.80 +/f {rlineto fill} bind def 111.81 +/g {setgray} bind def 111.82 +/Gshow {show} def % May be redefined later in the file to support UTF-8 111.83 +/vpt2 vpt 2 mul def 111.84 +/hpt2 hpt 2 mul def 111.85 +/Lshow {currentpoint stroke M 0 vshift R 111.86 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 111.87 +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 111.88 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 111.89 +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 111.90 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 111.91 +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 111.92 + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 111.93 +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 111.94 + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 111.95 +/BL {stroke userlinewidth 2 mul setlinewidth 111.96 + Rounded {1 setlinejoin 1 setlinecap} if} def 111.97 +/AL {stroke userlinewidth 2 div setlinewidth 111.98 + Rounded {1 setlinejoin 1 setlinecap} if} def 111.99 +/UL {dup gnulinewidth mul /userlinewidth exch def 111.100 + dup 1 lt {pop 1} if 10 mul /udl exch def} def 111.101 +/PL {stroke userlinewidth setlinewidth 111.102 + Rounded {1 setlinejoin 1 setlinecap} if} def 111.103 +3.8 setmiterlimit 111.104 +% Default Line colors 111.105 +/LCw {1 1 1} def 111.106 +/LCb {0 0 0} def 111.107 +/LCa {0 0 0} def 111.108 +/LC0 {1 0 0} def 111.109 +/LC1 {0 1 0} def 111.110 +/LC2 {0 0 1} def 111.111 +/LC3 {1 0 1} def 111.112 +/LC4 {0 1 1} def 111.113 +/LC5 {1 1 0} def 111.114 +/LC6 {0 0 0} def 111.115 +/LC7 {1 0.3 0} def 111.116 +/LC8 {0.5 0.5 0.5} def 111.117 +% Default Line Types 111.118 +/LTw {PL [] 1 setgray} def 111.119 +/LTb {BL [] LCb DL} def 111.120 +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 111.121 +/LT0 {PL [] LC0 DL} def 111.122 +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 111.123 +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 111.124 +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 111.125 +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 111.126 +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 111.127 +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 111.128 +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 111.129 +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 111.130 +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 111.131 +/Dia {stroke [] 0 setdash 2 copy vpt add M 111.132 + hpt neg vpt neg V hpt vpt neg V 111.133 + hpt vpt V hpt neg vpt V closepath stroke 111.134 + Pnt} def 111.135 +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 111.136 + currentpoint stroke M 111.137 + hpt neg vpt neg R hpt2 0 V stroke 111.138 + } def 111.139 +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 111.140 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 111.141 + hpt2 neg 0 V closepath stroke 111.142 + Pnt} def 111.143 +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 111.144 + hpt2 vpt2 neg V currentpoint stroke M 111.145 + hpt2 neg 0 R hpt2 vpt2 V stroke} def 111.146 +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 111.147 + hpt neg vpt -1.62 mul V 111.148 + hpt 2 mul 0 V 111.149 + hpt neg vpt 1.62 mul V closepath stroke 111.150 + Pnt} def 111.151 +/Star {2 copy Pls Crs} def 111.152 +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 111.153 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 111.154 + hpt2 neg 0 V closepath fill} def 111.155 +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 111.156 + hpt neg vpt -1.62 mul V 111.157 + hpt 2 mul 0 V 111.158 + hpt neg vpt 1.62 mul V closepath fill} def 111.159 +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 111.160 + hpt neg vpt 1.62 mul V 111.161 + hpt 2 mul 0 V 111.162 + hpt neg vpt -1.62 mul V closepath stroke 111.163 + Pnt} def 111.164 +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 111.165 + hpt neg vpt 1.62 mul V 111.166 + hpt 2 mul 0 V 111.167 + hpt neg vpt -1.62 mul V closepath fill} def 111.168 +/DiaF {stroke [] 0 setdash vpt add M 111.169 + hpt neg vpt neg V hpt vpt neg V 111.170 + hpt vpt V hpt neg vpt V closepath fill} def 111.171 +/Pent {stroke [] 0 setdash 2 copy gsave 111.172 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 111.173 + closepath stroke grestore Pnt} def 111.174 +/PentF {stroke [] 0 setdash gsave 111.175 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 111.176 + closepath fill grestore} def 111.177 +/Circle {stroke [] 0 setdash 2 copy 111.178 + hpt 0 360 arc stroke Pnt} def 111.179 +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 111.180 +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 111.181 +/C1 {BL [] 0 setdash 2 copy moveto 111.182 + 2 copy vpt 0 90 arc closepath fill 111.183 + vpt 0 360 arc closepath} bind def 111.184 +/C2 {BL [] 0 setdash 2 copy moveto 111.185 + 2 copy vpt 90 180 arc closepath fill 111.186 + vpt 0 360 arc closepath} bind def 111.187 +/C3 {BL [] 0 setdash 2 copy moveto 111.188 + 2 copy vpt 0 180 arc closepath fill 111.189 + vpt 0 360 arc closepath} bind def 111.190 +/C4 {BL [] 0 setdash 2 copy moveto 111.191 + 2 copy vpt 180 270 arc closepath fill 111.192 + vpt 0 360 arc closepath} bind def 111.193 +/C5 {BL [] 0 setdash 2 copy moveto 111.194 + 2 copy vpt 0 90 arc 111.195 + 2 copy moveto 111.196 + 2 copy vpt 180 270 arc closepath fill 111.197 + vpt 0 360 arc} bind def 111.198 +/C6 {BL [] 0 setdash 2 copy moveto 111.199 + 2 copy vpt 90 270 arc closepath fill 111.200 + vpt 0 360 arc closepath} bind def 111.201 +/C7 {BL [] 0 setdash 2 copy moveto 111.202 + 2 copy vpt 0 270 arc closepath fill 111.203 + vpt 0 360 arc closepath} bind def 111.204 +/C8 {BL [] 0 setdash 2 copy moveto 111.205 + 2 copy vpt 270 360 arc closepath fill 111.206 + vpt 0 360 arc closepath} bind def 111.207 +/C9 {BL [] 0 setdash 2 copy moveto 111.208 + 2 copy vpt 270 450 arc closepath fill 111.209 + vpt 0 360 arc closepath} bind def 111.210 +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 111.211 + 2 copy moveto 111.212 + 2 copy vpt 90 180 arc closepath fill 111.213 + vpt 0 360 arc closepath} bind def 111.214 +/C11 {BL [] 0 setdash 2 copy moveto 111.215 + 2 copy vpt 0 180 arc closepath fill 111.216 + 2 copy moveto 111.217 + 2 copy vpt 270 360 arc closepath fill 111.218 + vpt 0 360 arc closepath} bind def 111.219 +/C12 {BL [] 0 setdash 2 copy moveto 111.220 + 2 copy vpt 180 360 arc closepath fill 111.221 + vpt 0 360 arc closepath} bind def 111.222 +/C13 {BL [] 0 setdash 2 copy moveto 111.223 + 2 copy vpt 0 90 arc closepath fill 111.224 + 2 copy moveto 111.225 + 2 copy vpt 180 360 arc closepath fill 111.226 + vpt 0 360 arc closepath} bind def 111.227 +/C14 {BL [] 0 setdash 2 copy moveto 111.228 + 2 copy vpt 90 360 arc closepath fill 111.229 + vpt 0 360 arc} bind def 111.230 +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 111.231 + vpt 0 360 arc closepath} bind def 111.232 +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 111.233 + neg 0 rlineto closepath} bind def 111.234 +/Square {dup Rec} bind def 111.235 +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 111.236 +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 111.237 +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 111.238 +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 111.239 +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 111.240 +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 111.241 +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 111.242 + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 111.243 +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 111.244 +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 111.245 + 2 copy vpt Square fill Bsquare} bind def 111.246 +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 111.247 +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 111.248 +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 111.249 + Bsquare} bind def 111.250 +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 111.251 + Bsquare} bind def 111.252 +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 111.253 +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 111.254 + 2 copy vpt Square fill Bsquare} bind def 111.255 +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 111.256 + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 111.257 +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 111.258 +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 111.259 +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 111.260 +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 111.261 +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 111.262 +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 111.263 +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 111.264 +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 111.265 +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 111.266 +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 111.267 +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 111.268 +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 111.269 +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 111.270 +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 111.271 +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 111.272 +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 111.273 +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 111.274 +/DiaE {stroke [] 0 setdash vpt add M 111.275 + hpt neg vpt neg V hpt vpt neg V 111.276 + hpt vpt V hpt neg vpt V closepath stroke} def 111.277 +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 111.278 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 111.279 + hpt2 neg 0 V closepath stroke} def 111.280 +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 111.281 + hpt neg vpt -1.62 mul V 111.282 + hpt 2 mul 0 V 111.283 + hpt neg vpt 1.62 mul V closepath stroke} def 111.284 +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 111.285 + hpt neg vpt 1.62 mul V 111.286 + hpt 2 mul 0 V 111.287 + hpt neg vpt -1.62 mul V closepath stroke} def 111.288 +/PentE {stroke [] 0 setdash gsave 111.289 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 111.290 + closepath stroke grestore} def 111.291 +/CircE {stroke [] 0 setdash 111.292 + hpt 0 360 arc stroke} def 111.293 +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 111.294 +/DiaW {stroke [] 0 setdash vpt add M 111.295 + hpt neg vpt neg V hpt vpt neg V 111.296 + hpt vpt V hpt neg vpt V Opaque stroke} def 111.297 +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 111.298 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 111.299 + hpt2 neg 0 V Opaque stroke} def 111.300 +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 111.301 + hpt neg vpt -1.62 mul V 111.302 + hpt 2 mul 0 V 111.303 + hpt neg vpt 1.62 mul V Opaque stroke} def 111.304 +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 111.305 + hpt neg vpt 1.62 mul V 111.306 + hpt 2 mul 0 V 111.307 + hpt neg vpt -1.62 mul V Opaque stroke} def 111.308 +/PentW {stroke [] 0 setdash gsave 111.309 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 111.310 + Opaque stroke grestore} def 111.311 +/CircW {stroke [] 0 setdash 111.312 + hpt 0 360 arc Opaque stroke} def 111.313 +/BoxFill {gsave Rec 1 setgray fill grestore} def 111.314 +/Density { 111.315 + /Fillden exch def 111.316 + currentrgbcolor 111.317 + /ColB exch def /ColG exch def /ColR exch def 111.318 + /ColR ColR Fillden mul Fillden sub 1 add def 111.319 + /ColG ColG Fillden mul Fillden sub 1 add def 111.320 + /ColB ColB Fillden mul Fillden sub 1 add def 111.321 + ColR ColG ColB setrgbcolor} def 111.322 +/BoxColFill {gsave Rec PolyFill} def 111.323 +/PolyFill {gsave Density fill grestore grestore} def 111.324 +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 111.325 +% 111.326 +% PostScript Level 1 Pattern Fill routine for rectangles 111.327 +% Usage: x y w h s a XX PatternFill 111.328 +% x,y = lower left corner of box to be filled 111.329 +% w,h = width and height of box 111.330 +% a = angle in degrees between lines and x-axis 111.331 +% XX = 0/1 for no/yes cross-hatch 111.332 +% 111.333 +/PatternFill {gsave /PFa [ 9 2 roll ] def 111.334 + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 111.335 + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 111.336 + gsave 1 setgray fill grestore clip 111.337 + currentlinewidth 0.5 mul setlinewidth 111.338 + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 111.339 + 0 0 M PFa 5 get rotate PFs -2 div dup translate 111.340 + 0 1 PFs PFa 4 get div 1 add floor cvi 111.341 + {PFa 4 get mul 0 M 0 PFs V} for 111.342 + 0 PFa 6 get ne { 111.343 + 0 1 PFs PFa 4 get div 1 add floor cvi 111.344 + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 111.345 + } if 111.346 + stroke grestore} def 111.347 +% 111.348 +/languagelevel where 111.349 + {pop languagelevel} {1} ifelse 111.350 + 2 lt 111.351 + {/InterpretLevel1 true def} 111.352 + {/InterpretLevel1 Level1 def} 111.353 + ifelse 111.354 +% 111.355 +% PostScript level 2 pattern fill definitions 111.356 +% 111.357 +/Level2PatternFill { 111.358 +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 111.359 + bind def 111.360 +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 111.361 +<< Tile8x8 111.362 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 111.363 +>> matrix makepattern 111.364 +/Pat1 exch def 111.365 +<< Tile8x8 111.366 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 111.367 + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 111.368 +>> matrix makepattern 111.369 +/Pat2 exch def 111.370 +<< Tile8x8 111.371 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 111.372 + 8 8 L 8 0 L 0 0 L fill} 111.373 +>> matrix makepattern 111.374 +/Pat3 exch def 111.375 +<< Tile8x8 111.376 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 111.377 + 0 12 M 12 0 L stroke} 111.378 +>> matrix makepattern 111.379 +/Pat4 exch def 111.380 +<< Tile8x8 111.381 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 111.382 + 0 -4 M 12 8 L stroke} 111.383 +>> matrix makepattern 111.384 +/Pat5 exch def 111.385 +<< Tile8x8 111.386 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 111.387 + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 111.388 +>> matrix makepattern 111.389 +/Pat6 exch def 111.390 +<< Tile8x8 111.391 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 111.392 + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 111.393 +>> matrix makepattern 111.394 +/Pat7 exch def 111.395 +<< Tile8x8 111.396 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 111.397 + 12 0 M -4 8 L 12 4 M 0 10 L stroke} 111.398 +>> matrix makepattern 111.399 +/Pat8 exch def 111.400 +<< Tile8x8 111.401 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 111.402 + -4 0 M 12 8 L -4 4 M 8 10 L stroke} 111.403 +>> matrix makepattern 111.404 +/Pat9 exch def 111.405 +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 111.406 +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 111.407 +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 111.408 +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 111.409 +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 111.410 +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 111.411 +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 111.412 +} def 111.413 +% 111.414 +% 111.415 +%End of PostScript Level 2 code 111.416 +% 111.417 +/PatternBgnd { 111.418 + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 111.419 +} def 111.420 +% 111.421 +% Substitute for Level 2 pattern fill codes with 111.422 +% grayscale if Level 2 support is not selected. 111.423 +% 111.424 +/Level1PatternFill { 111.425 +/Pattern1 {0.250 Density} bind def 111.426 +/Pattern2 {0.500 Density} bind def 111.427 +/Pattern3 {0.750 Density} bind def 111.428 +/Pattern4 {0.125 Density} bind def 111.429 +/Pattern5 {0.375 Density} bind def 111.430 +/Pattern6 {0.625 Density} bind def 111.431 +/Pattern7 {0.875 Density} bind def 111.432 +} def 111.433 +% 111.434 +% Now test for support of Level 2 code 111.435 +% 111.436 +Level1 {Level1PatternFill} {Level2PatternFill} ifelse 111.437 +% 111.438 +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 111.439 +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 111.440 +currentdict end definefont pop 111.441 +/MFshow { 111.442 + { dup 5 get 3 ge 111.443 + { 5 get 3 eq {gsave} {grestore} ifelse } 111.444 + {dup dup 0 get findfont exch 1 get scalefont setfont 111.445 + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 111.446 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 111.447 + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 111.448 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 111.449 + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 111.450 + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 111.451 + pop aload pop M} ifelse }ifelse }ifelse } 111.452 + ifelse } 111.453 + forall} def 111.454 +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 111.455 +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 111.456 + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 111.457 + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 111.458 +/MLshow { currentpoint stroke M 111.459 + 0 exch R 111.460 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 111.461 +/MRshow { currentpoint stroke M 111.462 + exch dup MFwidth neg 3 -1 roll R 111.463 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 111.464 +/MCshow { currentpoint stroke M 111.465 + exch dup MFwidth -2 div 3 -1 roll R 111.466 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 111.467 +/XYsave { [( ) 1 2 true false 3 ()] } bind def 111.468 +/XYrestore { [( ) 1 2 true false 4 ()] } bind def 111.469 +end 111.470 +%%EndProlog 111.471 +%%Page: 1 1 111.472 +gnudict begin 111.473 +gsave 111.474 +doclip 111.475 +50 50 translate 111.476 +0.100 0.100 scale 111.477 +90 rotate 111.478 +0 -5040 translate 111.479 +0 setgray 111.480 +newpath 111.481 +(Helvetica) findfont 140 scalefont setfont 111.482 +1.000 UL 111.483 +LTb 111.484 +518 448 M 111.485 +63 0 V 111.486 +stroke 111.487 +434 448 M 111.488 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1)] 111.489 +] -46.7 MRshow 111.490 +1.000 UL 111.491 +LTb 111.492 +518 792 M 111.493 +63 0 V 111.494 +stroke 111.495 +434 792 M 111.496 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] 111.497 +] -46.7 MRshow 111.498 +1.000 UL 111.499 +LTb 111.500 +518 1136 M 111.501 +63 0 V 111.502 +stroke 111.503 +434 1136 M 111.504 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] 111.505 +] -46.7 MRshow 111.506 +1.000 UL 111.507 +LTb 111.508 +518 1480 M 111.509 +63 0 V 111.510 +stroke 111.511 +434 1480 M 111.512 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] 111.513 +] -46.7 MRshow 111.514 +1.000 UL 111.515 +LTb 111.516 +518 1823 M 111.517 +63 0 V 111.518 +stroke 111.519 +434 1823 M 111.520 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 111.521 +] -46.7 MRshow 111.522 +1.000 UL 111.523 +LTb 111.524 +518 2167 M 111.525 +63 0 V 111.526 +stroke 111.527 +434 2167 M 111.528 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] 111.529 +] -46.7 MRshow 111.530 +1.000 UL 111.531 +LTb 111.532 +518 2511 M 111.533 +63 0 V 111.534 +stroke 111.535 +434 2511 M 111.536 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7)] 111.537 +] -46.7 MRshow 111.538 +1.000 UL 111.539 +LTb 111.540 +518 2855 M 111.541 +63 0 V 111.542 +stroke 111.543 +434 2855 M 111.544 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] 111.545 +] -46.7 MRshow 111.546 +1.000 UL 111.547 +LTb 111.548 +518 448 M 111.549 +0 63 V 111.550 +stroke 111.551 +518 308 M 111.552 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 111.553 +] -46.7 MCshow 111.554 +1.000 UL 111.555 +LTb 111.556 +962 448 M 111.557 +0 63 V 111.558 +stroke 111.559 +962 308 M 111.560 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 111.561 +] -46.7 MCshow 111.562 +1.000 UL 111.563 +LTb 111.564 +1405 448 M 111.565 +0 63 V 111.566 +stroke 111.567 +1405 308 M 111.568 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 111.569 +] -46.7 MCshow 111.570 +1.000 UL 111.571 +LTb 111.572 +1849 448 M 111.573 +0 63 V 111.574 +stroke 111.575 +1849 308 M 111.576 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 111.577 +] -46.7 MCshow 111.578 +1.000 UL 111.579 +LTb 111.580 +2293 448 M 111.581 +0 63 V 111.582 +stroke 111.583 +2293 308 M 111.584 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 111.585 +] -46.7 MCshow 111.586 +1.000 UL 111.587 +LTb 111.588 +2736 448 M 111.589 +0 63 V 111.590 +stroke 111.591 +2736 308 M 111.592 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 111.593 +] -46.7 MCshow 111.594 +1.000 UL 111.595 +LTb 111.596 +3180 448 M 111.597 +0 63 V 111.598 +stroke 111.599 +3180 308 M 111.600 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 111.601 +] -46.7 MCshow 111.602 +1.000 UL 111.603 +LTb 111.604 +3623 448 M 111.605 +0 63 V 111.606 +stroke 111.607 +3623 308 M 111.608 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 111.609 +] -46.7 MCshow 111.610 +1.000 UL 111.611 +LTb 111.612 +4067 448 M 111.613 +0 63 V 111.614 +stroke 111.615 +4067 308 M 111.616 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 111.617 +] -46.7 MCshow 111.618 +1.000 UL 111.619 +LTb 111.620 +1.000 UL 111.621 +LTb 111.622 +518 2855 M 111.623 +518 448 L 111.624 +3549 0 V 111.625 +0 2407 R 111.626 +-3549 0 R 111.627 +stroke 111.628 +LCb setrgbcolor 111.629 +112 1651 M 111.630 +currentpoint gsave translate -270 rotate 0 0 moveto 111.631 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 111.632 +] -46.7 MCshow 111.633 +grestore 111.634 +LTb 111.635 +LCb setrgbcolor 111.636 +2292 98 M 111.637 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 111.638 +] -46.7 MCshow 111.639 +LTb 111.640 +1.000 UP 111.641 +1.000 UL 111.642 +LTb 111.643 +1.000 UL 111.644 +LTb 111.645 +2492 2232 N 111.646 +0 560 V 111.647 +1491 0 V 111.648 +0 -560 V 111.649 +-1491 0 V 111.650 +Z stroke 111.651 +2492 2792 M 111.652 +1491 0 V 111.653 +% Begin plot #1 111.654 +stroke 111.655 +4.000 UL 111.656 +LT1 111.657 +LCa setrgbcolor 111.658 +518 792 M 111.659 +36 0 V 111.660 +36 0 V 111.661 +36 0 V 111.662 +35 0 V 111.663 +36 0 V 111.664 +36 0 V 111.665 +36 0 V 111.666 +36 0 V 111.667 +36 0 V 111.668 +35 0 V 111.669 +36 0 V 111.670 +36 0 V 111.671 +36 0 V 111.672 +36 0 V 111.673 +36 0 V 111.674 +36 0 V 111.675 +35 0 V 111.676 +36 0 V 111.677 +36 0 V 111.678 +36 0 V 111.679 +36 0 V 111.680 +36 0 V 111.681 +36 0 V 111.682 +35 0 V 111.683 +36 0 V 111.684 +36 0 V 111.685 +36 0 V 111.686 +36 0 V 111.687 +36 0 V 111.688 +35 0 V 111.689 +36 0 V 111.690 +36 0 V 111.691 +36 0 V 111.692 +36 0 V 111.693 +36 0 V 111.694 +36 0 V 111.695 +35 0 V 111.696 +36 0 V 111.697 +36 0 V 111.698 +36 0 V 111.699 +36 0 V 111.700 +36 0 V 111.701 +35 0 V 111.702 +36 0 V 111.703 +36 0 V 111.704 +36 0 V 111.705 +36 0 V 111.706 +36 0 V 111.707 +36 0 V 111.708 +35 0 V 111.709 +36 0 V 111.710 +36 0 V 111.711 +36 0 V 111.712 +36 0 V 111.713 +36 0 V 111.714 +36 0 V 111.715 +35 0 V 111.716 +36 0 V 111.717 +36 0 V 111.718 +36 0 V 111.719 +36 0 V 111.720 +36 0 V 111.721 +35 0 V 111.722 +36 0 V 111.723 +36 0 V 111.724 +36 0 V 111.725 +36 0 V 111.726 +36 0 V 111.727 +36 0 V 111.728 +35 0 V 111.729 +36 0 V 111.730 +36 0 V 111.731 +36 0 V 111.732 +36 0 V 111.733 +36 0 V 111.734 +35 0 V 111.735 +36 0 V 111.736 +36 0 V 111.737 +36 0 V 111.738 +36 0 V 111.739 +36 0 V 111.740 +36 0 V 111.741 +35 0 V 111.742 +36 0 V 111.743 +36 0 V 111.744 +36 0 V 111.745 +36 0 V 111.746 +36 0 V 111.747 +36 0 V 111.748 +35 0 V 111.749 +36 0 V 111.750 +36 0 V 111.751 +36 0 V 111.752 +36 0 V 111.753 +36 0 V 111.754 +35 0 V 111.755 +36 0 V 111.756 +36 0 V 111.757 +36 0 V 111.758 +% End plot #1 111.759 +% Begin plot #2 111.760 +stroke 111.761 +LT1 111.762 +LCb setrgbcolor 111.763 +3416 2722 M 111.764 +[ [(Helvetica) 140.0 0.0 true true 0 (8 Threads)] 111.765 +] -46.7 MRshow 111.766 +LT1 111.767 +3500 2722 M 111.768 +399 0 V 111.769 +610 1551 M 111.770 +19 -143 V 111.771 +31 -191 V 111.772 +722 955 L 111.773 +846 769 L 111.774 +1102 629 L 111.775 +497 -83 V 111.776 +994 -48 V 111.777 +4067 480 L 111.778 +% End plot #2 111.779 +% Begin plot #3 111.780 +stroke 111.781 +LT2 111.782 +LCb setrgbcolor 111.783 +3416 2582 M 111.784 +[ [(Helvetica) 140.0 0.0 true true 0 (32 Threads)] 111.785 +] -46.7 MRshow 111.786 +LT2 111.787 +3500 2582 M 111.788 +399 0 V 111.789 +610 1568 M 111.790 +19 -173 V 111.791 +31 -226 V 111.792 +722 958 L 111.793 +846 759 L 111.794 +1102 621 L 111.795 +497 -78 V 111.796 +994 -46 V 111.797 +4067 479 L 111.798 +% End plot #3 111.799 +% Begin plot #4 111.800 +stroke 111.801 +LT3 111.802 +LCb setrgbcolor 111.803 +3416 2442 M 111.804 +[ [(Helvetica) 140.0 0.0 true true 0 (128 Threads)] 111.805 +] -46.7 MRshow 111.806 +LT3 111.807 +3500 2442 M 111.808 +399 0 V 111.809 +611 1654 M 111.810 +18 -214 V 111.811 +31 -208 V 111.812 +722 984 L 111.813 +847 786 L 111.814 +1103 636 L 111.815 +496 -85 V 111.816 +994 -50 V 111.817 +4067 482 L 111.818 +% End plot #4 111.819 +% Begin plot #5 111.820 +stroke 111.821 +LT4 111.822 +LCb setrgbcolor 111.823 +3416 2302 M 111.824 +[ [(Helvetica) 140.0 0.0 true true 0 (512 Threads)] 111.825 +] -46.7 MRshow 111.826 +LT4 111.827 +3500 2302 M 111.828 +399 0 V 111.829 +611 1704 M 111.830 +18 -203 V 111.831 +31 -230 V 111.832 +63 -252 V 111.833 +846 804 L 111.834 +1103 645 L 111.835 +497 -89 V 111.836 +993 -52 V 111.837 +4067 484 L 111.838 +% End plot #5 111.839 +stroke 111.840 +1.000 UL 111.841 +LTb 111.842 +518 2855 M 111.843 +518 448 L 111.844 +3549 0 V 111.845 +0 2407 R 111.846 +-3549 0 R 111.847 +1.000 UP 111.848 +stroke 111.849 +grestore 111.850 +end 111.851 +showpage 111.852 +%%Trailer 111.853 +%%DocumentFonts: Helvetica 111.854 +%%Pages: 1
112.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 112.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/plots_exec_vs_task_size/not_used/vms_pthreads_8_32_128thds__o30000__perfCtrs.result.eps Fri Sep 13 11:02:18 2013 -0700 112.3 @@ -0,0 +1,819 @@ 112.4 +%!PS-Adobe-2.0 112.5 +%%Title: vms_pthreads_8_32_128thds__o30000__perfCtrs.result.eps 112.6 +%%Creator: gnuplot 4.4 patchlevel 2 112.7 +%%CreationDate: Thu Jan 26 18:11:43 2012 112.8 +%%DocumentFonts: (atend) 112.9 +%%BoundingBox: 251 50 554 482 112.10 +%%Orientation: Landscape 112.11 +%%Pages: (atend) 112.12 +%%EndComments 112.13 +%%BeginProlog 112.14 +/gnudict 256 dict def 112.15 +gnudict begin 112.16 +% 112.17 +% The following true/false flags may be edited by hand if desired. 112.18 +% The unit line width and grayscale image gamma correction may also be changed. 112.19 +% 112.20 +/Color true def 112.21 +/Blacktext false def 112.22 +/Solid false def 112.23 +/Dashlength 1 def 112.24 +/Landscape true def 112.25 +/Level1 false def 112.26 +/Rounded false def 112.27 +/ClipToBoundingBox false def 112.28 +/TransparentPatterns false def 112.29 +/gnulinewidth 5.000 def 112.30 +/userlinewidth gnulinewidth def 112.31 +/Gamma 1.0 def 112.32 +% 112.33 +/vshift -46 def 112.34 +/dl1 { 112.35 + 10.0 Dashlength mul mul 112.36 + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 112.37 +} def 112.38 +/dl2 { 112.39 + 10.0 Dashlength mul mul 112.40 + Rounded { currentlinewidth 0.75 mul add } if 112.41 +} def 112.42 +/hpt_ 31.5 def 112.43 +/vpt_ 31.5 def 112.44 +/hpt hpt_ def 112.45 +/vpt vpt_ def 112.46 +Level1 {} { 112.47 +/SDict 10 dict def 112.48 +systemdict /pdfmark known not { 112.49 + userdict /pdfmark systemdict /cleartomark get put 112.50 +} if 112.51 +SDict begin [ 112.52 + /Title (vms_pthreads_8_32_128thds__o30000__perfCtrs.result.eps) 112.53 + /Subject (gnuplot plot) 112.54 + /Creator (gnuplot 4.4 patchlevel 2) 112.55 + /Author (msach) 112.56 +% /Producer (gnuplot) 112.57 +% /Keywords () 112.58 + /CreationDate (Thu Jan 26 18:11:43 2012) 112.59 + /DOCINFO pdfmark 112.60 +end 112.61 +} ifelse 112.62 +/doclip { 112.63 + ClipToBoundingBox { 112.64 + newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 112.65 + clip 112.66 + } if 112.67 +} def 112.68 +% 112.69 +% Gnuplot Prolog Version 4.4 (August 2010) 112.70 +% 112.71 +%/SuppressPDFMark true def 112.72 +% 112.73 +/M {moveto} bind def 112.74 +/L {lineto} bind def 112.75 +/R {rmoveto} bind def 112.76 +/V {rlineto} bind def 112.77 +/N {newpath moveto} bind def 112.78 +/Z {closepath} bind def 112.79 +/C {setrgbcolor} bind def 112.80 +/f {rlineto fill} bind def 112.81 +/g {setgray} bind def 112.82 +/Gshow {show} def % May be redefined later in the file to support UTF-8 112.83 +/vpt2 vpt 2 mul def 112.84 +/hpt2 hpt 2 mul def 112.85 +/Lshow {currentpoint stroke M 0 vshift R 112.86 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 112.87 +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 112.88 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 112.89 +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 112.90 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 112.91 +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 112.92 + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 112.93 +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 112.94 + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 112.95 +/BL {stroke userlinewidth 2 mul setlinewidth 112.96 + Rounded {1 setlinejoin 1 setlinecap} if} def 112.97 +/AL {stroke userlinewidth 2 div setlinewidth 112.98 + Rounded {1 setlinejoin 1 setlinecap} if} def 112.99 +/UL {dup gnulinewidth mul /userlinewidth exch def 112.100 + dup 1 lt {pop 1} if 10 mul /udl exch def} def 112.101 +/PL {stroke userlinewidth setlinewidth 112.102 + Rounded {1 setlinejoin 1 setlinecap} if} def 112.103 +3.8 setmiterlimit 112.104 +% Default Line colors 112.105 +/LCw {1 1 1} def 112.106 +/LCb {0 0 0} def 112.107 +/LCa {0 0 0} def 112.108 +/LC0 {1 0 0} def 112.109 +/LC1 {0 1 0} def 112.110 +/LC2 {0 0 1} def 112.111 +/LC3 {1 0 1} def 112.112 +/LC4 {0 1 1} def 112.113 +/LC5 {1 1 0} def 112.114 +/LC6 {0 0 0} def 112.115 +/LC7 {1 0.3 0} def 112.116 +/LC8 {0.5 0.5 0.5} def 112.117 +% Default Line Types 112.118 +/LTw {PL [] 1 setgray} def 112.119 +/LTb {BL [] LCb DL} def 112.120 +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 112.121 +/LT0 {PL [] LC0 DL} def 112.122 +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 112.123 +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 112.124 +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 112.125 +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 112.126 +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 112.127 +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 112.128 +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 112.129 +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 112.130 +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 112.131 +/Dia {stroke [] 0 setdash 2 copy vpt add M 112.132 + hpt neg vpt neg V hpt vpt neg V 112.133 + hpt vpt V hpt neg vpt V closepath stroke 112.134 + Pnt} def 112.135 +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 112.136 + currentpoint stroke M 112.137 + hpt neg vpt neg R hpt2 0 V stroke 112.138 + } def 112.139 +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 112.140 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 112.141 + hpt2 neg 0 V closepath stroke 112.142 + Pnt} def 112.143 +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 112.144 + hpt2 vpt2 neg V currentpoint stroke M 112.145 + hpt2 neg 0 R hpt2 vpt2 V stroke} def 112.146 +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 112.147 + hpt neg vpt -1.62 mul V 112.148 + hpt 2 mul 0 V 112.149 + hpt neg vpt 1.62 mul V closepath stroke 112.150 + Pnt} def 112.151 +/Star {2 copy Pls Crs} def 112.152 +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 112.153 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 112.154 + hpt2 neg 0 V closepath fill} def 112.155 +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 112.156 + hpt neg vpt -1.62 mul V 112.157 + hpt 2 mul 0 V 112.158 + hpt neg vpt 1.62 mul V closepath fill} def 112.159 +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 112.160 + hpt neg vpt 1.62 mul V 112.161 + hpt 2 mul 0 V 112.162 + hpt neg vpt -1.62 mul V closepath stroke 112.163 + Pnt} def 112.164 +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 112.165 + hpt neg vpt 1.62 mul V 112.166 + hpt 2 mul 0 V 112.167 + hpt neg vpt -1.62 mul V closepath fill} def 112.168 +/DiaF {stroke [] 0 setdash vpt add M 112.169 + hpt neg vpt neg V hpt vpt neg V 112.170 + hpt vpt V hpt neg vpt V closepath fill} def 112.171 +/Pent {stroke [] 0 setdash 2 copy gsave 112.172 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 112.173 + closepath stroke grestore Pnt} def 112.174 +/PentF {stroke [] 0 setdash gsave 112.175 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 112.176 + closepath fill grestore} def 112.177 +/Circle {stroke [] 0 setdash 2 copy 112.178 + hpt 0 360 arc stroke Pnt} def 112.179 +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 112.180 +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 112.181 +/C1 {BL [] 0 setdash 2 copy moveto 112.182 + 2 copy vpt 0 90 arc closepath fill 112.183 + vpt 0 360 arc closepath} bind def 112.184 +/C2 {BL [] 0 setdash 2 copy moveto 112.185 + 2 copy vpt 90 180 arc closepath fill 112.186 + vpt 0 360 arc closepath} bind def 112.187 +/C3 {BL [] 0 setdash 2 copy moveto 112.188 + 2 copy vpt 0 180 arc closepath fill 112.189 + vpt 0 360 arc closepath} bind def 112.190 +/C4 {BL [] 0 setdash 2 copy moveto 112.191 + 2 copy vpt 180 270 arc closepath fill 112.192 + vpt 0 360 arc closepath} bind def 112.193 +/C5 {BL [] 0 setdash 2 copy moveto 112.194 + 2 copy vpt 0 90 arc 112.195 + 2 copy moveto 112.196 + 2 copy vpt 180 270 arc closepath fill 112.197 + vpt 0 360 arc} bind def 112.198 +/C6 {BL [] 0 setdash 2 copy moveto 112.199 + 2 copy vpt 90 270 arc closepath fill 112.200 + vpt 0 360 arc closepath} bind def 112.201 +/C7 {BL [] 0 setdash 2 copy moveto 112.202 + 2 copy vpt 0 270 arc closepath fill 112.203 + vpt 0 360 arc closepath} bind def 112.204 +/C8 {BL [] 0 setdash 2 copy moveto 112.205 + 2 copy vpt 270 360 arc closepath fill 112.206 + vpt 0 360 arc closepath} bind def 112.207 +/C9 {BL [] 0 setdash 2 copy moveto 112.208 + 2 copy vpt 270 450 arc closepath fill 112.209 + vpt 0 360 arc closepath} bind def 112.210 +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 112.211 + 2 copy moveto 112.212 + 2 copy vpt 90 180 arc closepath fill 112.213 + vpt 0 360 arc closepath} bind def 112.214 +/C11 {BL [] 0 setdash 2 copy moveto 112.215 + 2 copy vpt 0 180 arc closepath fill 112.216 + 2 copy moveto 112.217 + 2 copy vpt 270 360 arc closepath fill 112.218 + vpt 0 360 arc closepath} bind def 112.219 +/C12 {BL [] 0 setdash 2 copy moveto 112.220 + 2 copy vpt 180 360 arc closepath fill 112.221 + vpt 0 360 arc closepath} bind def 112.222 +/C13 {BL [] 0 setdash 2 copy moveto 112.223 + 2 copy vpt 0 90 arc closepath fill 112.224 + 2 copy moveto 112.225 + 2 copy vpt 180 360 arc closepath fill 112.226 + vpt 0 360 arc closepath} bind def 112.227 +/C14 {BL [] 0 setdash 2 copy moveto 112.228 + 2 copy vpt 90 360 arc closepath fill 112.229 + vpt 0 360 arc} bind def 112.230 +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 112.231 + vpt 0 360 arc closepath} bind def 112.232 +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 112.233 + neg 0 rlineto closepath} bind def 112.234 +/Square {dup Rec} bind def 112.235 +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 112.236 +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 112.237 +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 112.238 +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 112.239 +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 112.240 +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 112.241 +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 112.242 + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 112.243 +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 112.244 +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 112.245 + 2 copy vpt Square fill Bsquare} bind def 112.246 +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 112.247 +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 112.248 +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 112.249 + Bsquare} bind def 112.250 +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 112.251 + Bsquare} bind def 112.252 +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 112.253 +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 112.254 + 2 copy vpt Square fill Bsquare} bind def 112.255 +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 112.256 + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 112.257 +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 112.258 +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 112.259 +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 112.260 +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 112.261 +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 112.262 +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 112.263 +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 112.264 +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 112.265 +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 112.266 +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 112.267 +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 112.268 +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 112.269 +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 112.270 +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 112.271 +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 112.272 +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 112.273 +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 112.274 +/DiaE {stroke [] 0 setdash vpt add M 112.275 + hpt neg vpt neg V hpt vpt neg V 112.276 + hpt vpt V hpt neg vpt V closepath stroke} def 112.277 +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 112.278 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 112.279 + hpt2 neg 0 V closepath stroke} def 112.280 +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 112.281 + hpt neg vpt -1.62 mul V 112.282 + hpt 2 mul 0 V 112.283 + hpt neg vpt 1.62 mul V closepath stroke} def 112.284 +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 112.285 + hpt neg vpt 1.62 mul V 112.286 + hpt 2 mul 0 V 112.287 + hpt neg vpt -1.62 mul V closepath stroke} def 112.288 +/PentE {stroke [] 0 setdash gsave 112.289 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 112.290 + closepath stroke grestore} def 112.291 +/CircE {stroke [] 0 setdash 112.292 + hpt 0 360 arc stroke} def 112.293 +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 112.294 +/DiaW {stroke [] 0 setdash vpt add M 112.295 + hpt neg vpt neg V hpt vpt neg V 112.296 + hpt vpt V hpt neg vpt V Opaque stroke} def 112.297 +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 112.298 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 112.299 + hpt2 neg 0 V Opaque stroke} def 112.300 +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 112.301 + hpt neg vpt -1.62 mul V 112.302 + hpt 2 mul 0 V 112.303 + hpt neg vpt 1.62 mul V Opaque stroke} def 112.304 +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 112.305 + hpt neg vpt 1.62 mul V 112.306 + hpt 2 mul 0 V 112.307 + hpt neg vpt -1.62 mul V Opaque stroke} def 112.308 +/PentW {stroke [] 0 setdash gsave 112.309 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 112.310 + Opaque stroke grestore} def 112.311 +/CircW {stroke [] 0 setdash 112.312 + hpt 0 360 arc Opaque stroke} def 112.313 +/BoxFill {gsave Rec 1 setgray fill grestore} def 112.314 +/Density { 112.315 + /Fillden exch def 112.316 + currentrgbcolor 112.317 + /ColB exch def /ColG exch def /ColR exch def 112.318 + /ColR ColR Fillden mul Fillden sub 1 add def 112.319 + /ColG ColG Fillden mul Fillden sub 1 add def 112.320 + /ColB ColB Fillden mul Fillden sub 1 add def 112.321 + ColR ColG ColB setrgbcolor} def 112.322 +/BoxColFill {gsave Rec PolyFill} def 112.323 +/PolyFill {gsave Density fill grestore grestore} def 112.324 +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 112.325 +% 112.326 +% PostScript Level 1 Pattern Fill routine for rectangles 112.327 +% Usage: x y w h s a XX PatternFill 112.328 +% x,y = lower left corner of box to be filled 112.329 +% w,h = width and height of box 112.330 +% a = angle in degrees between lines and x-axis 112.331 +% XX = 0/1 for no/yes cross-hatch 112.332 +% 112.333 +/PatternFill {gsave /PFa [ 9 2 roll ] def 112.334 + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 112.335 + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 112.336 + gsave 1 setgray fill grestore clip 112.337 + currentlinewidth 0.5 mul setlinewidth 112.338 + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 112.339 + 0 0 M PFa 5 get rotate PFs -2 div dup translate 112.340 + 0 1 PFs PFa 4 get div 1 add floor cvi 112.341 + {PFa 4 get mul 0 M 0 PFs V} for 112.342 + 0 PFa 6 get ne { 112.343 + 0 1 PFs PFa 4 get div 1 add floor cvi 112.344 + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 112.345 + } if 112.346 + stroke grestore} def 112.347 +% 112.348 +/languagelevel where 112.349 + {pop languagelevel} {1} ifelse 112.350 + 2 lt 112.351 + {/InterpretLevel1 true def} 112.352 + {/InterpretLevel1 Level1 def} 112.353 + ifelse 112.354 +% 112.355 +% PostScript level 2 pattern fill definitions 112.356 +% 112.357 +/Level2PatternFill { 112.358 +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 112.359 + bind def 112.360 +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 112.361 +<< Tile8x8 112.362 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 112.363 +>> matrix makepattern 112.364 +/Pat1 exch def 112.365 +<< Tile8x8 112.366 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 112.367 + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 112.368 +>> matrix makepattern 112.369 +/Pat2 exch def 112.370 +<< Tile8x8 112.371 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 112.372 + 8 8 L 8 0 L 0 0 L fill} 112.373 +>> matrix makepattern 112.374 +/Pat3 exch def 112.375 +<< Tile8x8 112.376 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 112.377 + 0 12 M 12 0 L stroke} 112.378 +>> matrix makepattern 112.379 +/Pat4 exch def 112.380 +<< Tile8x8 112.381 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 112.382 + 0 -4 M 12 8 L stroke} 112.383 +>> matrix makepattern 112.384 +/Pat5 exch def 112.385 +<< Tile8x8 112.386 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 112.387 + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 112.388 +>> matrix makepattern 112.389 +/Pat6 exch def 112.390 +<< Tile8x8 112.391 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 112.392 + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 112.393 +>> matrix makepattern 112.394 +/Pat7 exch def 112.395 +<< Tile8x8 112.396 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 112.397 + 12 0 M -4 8 L 12 4 M 0 10 L stroke} 112.398 +>> matrix makepattern 112.399 +/Pat8 exch def 112.400 +<< Tile8x8 112.401 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 112.402 + -4 0 M 12 8 L -4 4 M 8 10 L stroke} 112.403 +>> matrix makepattern 112.404 +/Pat9 exch def 112.405 +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 112.406 +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 112.407 +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 112.408 +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 112.409 +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 112.410 +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 112.411 +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 112.412 +} def 112.413 +% 112.414 +% 112.415 +%End of PostScript Level 2 code 112.416 +% 112.417 +/PatternBgnd { 112.418 + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 112.419 +} def 112.420 +% 112.421 +% Substitute for Level 2 pattern fill codes with 112.422 +% grayscale if Level 2 support is not selected. 112.423 +% 112.424 +/Level1PatternFill { 112.425 +/Pattern1 {0.250 Density} bind def 112.426 +/Pattern2 {0.500 Density} bind def 112.427 +/Pattern3 {0.750 Density} bind def 112.428 +/Pattern4 {0.125 Density} bind def 112.429 +/Pattern5 {0.375 Density} bind def 112.430 +/Pattern6 {0.625 Density} bind def 112.431 +/Pattern7 {0.875 Density} bind def 112.432 +} def 112.433 +% 112.434 +% Now test for support of Level 2 code 112.435 +% 112.436 +Level1 {Level1PatternFill} {Level2PatternFill} ifelse 112.437 +% 112.438 +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 112.439 +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 112.440 +currentdict end definefont pop 112.441 +/MFshow { 112.442 + { dup 5 get 3 ge 112.443 + { 5 get 3 eq {gsave} {grestore} ifelse } 112.444 + {dup dup 0 get findfont exch 1 get scalefont setfont 112.445 + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 112.446 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 112.447 + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 112.448 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 112.449 + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 112.450 + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 112.451 + pop aload pop M} ifelse }ifelse }ifelse } 112.452 + ifelse } 112.453 + forall} def 112.454 +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 112.455 +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 112.456 + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 112.457 + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 112.458 +/MLshow { currentpoint stroke M 112.459 + 0 exch R 112.460 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 112.461 +/MRshow { currentpoint stroke M 112.462 + exch dup MFwidth neg 3 -1 roll R 112.463 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 112.464 +/MCshow { currentpoint stroke M 112.465 + exch dup MFwidth -2 div 3 -1 roll R 112.466 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 112.467 +/XYsave { [( ) 1 2 true false 3 ()] } bind def 112.468 +/XYrestore { [( ) 1 2 true false 4 ()] } bind def 112.469 +end 112.470 +%%EndProlog 112.471 +%%Page: 1 1 112.472 +gnudict begin 112.473 +gsave 112.474 +doclip 112.475 +50 50 translate 112.476 +0.100 0.100 scale 112.477 +90 rotate 112.478 +0 -5040 translate 112.479 +0 setgray 112.480 +newpath 112.481 +(Helvetica) findfont 140 scalefont setfont 112.482 +1.000 UL 112.483 +LTb 112.484 +518 448 M 112.485 +63 0 V 112.486 +stroke 112.487 +434 448 M 112.488 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1)] 112.489 +] -46.7 MRshow 112.490 +1.000 UL 112.491 +LTb 112.492 +518 792 M 112.493 +63 0 V 112.494 +stroke 112.495 +434 792 M 112.496 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] 112.497 +] -46.7 MRshow 112.498 +1.000 UL 112.499 +LTb 112.500 +518 1136 M 112.501 +63 0 V 112.502 +stroke 112.503 +434 1136 M 112.504 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] 112.505 +] -46.7 MRshow 112.506 +1.000 UL 112.507 +LTb 112.508 +518 1480 M 112.509 +63 0 V 112.510 +stroke 112.511 +434 1480 M 112.512 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] 112.513 +] -46.7 MRshow 112.514 +1.000 UL 112.515 +LTb 112.516 +518 1823 M 112.517 +63 0 V 112.518 +stroke 112.519 +434 1823 M 112.520 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 112.521 +] -46.7 MRshow 112.522 +1.000 UL 112.523 +LTb 112.524 +518 2167 M 112.525 +63 0 V 112.526 +stroke 112.527 +434 2167 M 112.528 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] 112.529 +] -46.7 MRshow 112.530 +1.000 UL 112.531 +LTb 112.532 +518 2511 M 112.533 +63 0 V 112.534 +stroke 112.535 +434 2511 M 112.536 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7)] 112.537 +] -46.7 MRshow 112.538 +1.000 UL 112.539 +LTb 112.540 +518 2855 M 112.541 +63 0 V 112.542 +stroke 112.543 +434 2855 M 112.544 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] 112.545 +] -46.7 MRshow 112.546 +1.000 UL 112.547 +LTb 112.548 +518 448 M 112.549 +0 63 V 112.550 +stroke 112.551 +518 308 M 112.552 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 112.553 +] -46.7 MCshow 112.554 +1.000 UL 112.555 +LTb 112.556 +962 448 M 112.557 +0 63 V 112.558 +stroke 112.559 +962 308 M 112.560 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 112.561 +] -46.7 MCshow 112.562 +1.000 UL 112.563 +LTb 112.564 +1405 448 M 112.565 +0 63 V 112.566 +stroke 112.567 +1405 308 M 112.568 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 112.569 +] -46.7 MCshow 112.570 +1.000 UL 112.571 +LTb 112.572 +1849 448 M 112.573 +0 63 V 112.574 +stroke 112.575 +1849 308 M 112.576 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 112.577 +] -46.7 MCshow 112.578 +1.000 UL 112.579 +LTb 112.580 +2293 448 M 112.581 +0 63 V 112.582 +stroke 112.583 +2293 308 M 112.584 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 112.585 +] -46.7 MCshow 112.586 +1.000 UL 112.587 +LTb 112.588 +2736 448 M 112.589 +0 63 V 112.590 +stroke 112.591 +2736 308 M 112.592 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 112.593 +] -46.7 MCshow 112.594 +1.000 UL 112.595 +LTb 112.596 +3180 448 M 112.597 +0 63 V 112.598 +stroke 112.599 +3180 308 M 112.600 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 112.601 +] -46.7 MCshow 112.602 +1.000 UL 112.603 +LTb 112.604 +3623 448 M 112.605 +0 63 V 112.606 +stroke 112.607 +3623 308 M 112.608 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 112.609 +] -46.7 MCshow 112.610 +1.000 UL 112.611 +LTb 112.612 +4067 448 M 112.613 +0 63 V 112.614 +stroke 112.615 +4067 308 M 112.616 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 112.617 +] -46.7 MCshow 112.618 +1.000 UL 112.619 +LTb 112.620 +1.000 UL 112.621 +LTb 112.622 +518 2855 M 112.623 +518 448 L 112.624 +3549 0 V 112.625 +0 2407 R 112.626 +-3549 0 R 112.627 +stroke 112.628 +LCb setrgbcolor 112.629 +112 1651 M 112.630 +currentpoint gsave translate -270 rotate 0 0 moveto 112.631 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 112.632 +] -46.7 MCshow 112.633 +grestore 112.634 +LTb 112.635 +LCb setrgbcolor 112.636 +2292 98 M 112.637 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 112.638 +] -46.7 MCshow 112.639 +LTb 112.640 +1.000 UP 112.641 +1.000 UL 112.642 +LTb 112.643 +1.000 UL 112.644 +LTb 112.645 +2492 2372 N 112.646 +0 420 V 112.647 +1491 0 V 112.648 +0 -420 V 112.649 +-1491 0 V 112.650 +Z stroke 112.651 +2492 2792 M 112.652 +1491 0 V 112.653 +% Begin plot #1 112.654 +stroke 112.655 +3.000 UL 112.656 +LT1 112.657 +LCa setrgbcolor 112.658 +518 792 M 112.659 +36 0 V 112.660 +36 0 V 112.661 +36 0 V 112.662 +35 0 V 112.663 +36 0 V 112.664 +36 0 V 112.665 +36 0 V 112.666 +36 0 V 112.667 +36 0 V 112.668 +35 0 V 112.669 +36 0 V 112.670 +36 0 V 112.671 +36 0 V 112.672 +36 0 V 112.673 +36 0 V 112.674 +36 0 V 112.675 +35 0 V 112.676 +36 0 V 112.677 +36 0 V 112.678 +36 0 V 112.679 +36 0 V 112.680 +36 0 V 112.681 +36 0 V 112.682 +35 0 V 112.683 +36 0 V 112.684 +36 0 V 112.685 +36 0 V 112.686 +36 0 V 112.687 +36 0 V 112.688 +35 0 V 112.689 +36 0 V 112.690 +36 0 V 112.691 +36 0 V 112.692 +36 0 V 112.693 +36 0 V 112.694 +36 0 V 112.695 +35 0 V 112.696 +36 0 V 112.697 +36 0 V 112.698 +36 0 V 112.699 +36 0 V 112.700 +36 0 V 112.701 +35 0 V 112.702 +36 0 V 112.703 +36 0 V 112.704 +36 0 V 112.705 +36 0 V 112.706 +36 0 V 112.707 +36 0 V 112.708 +35 0 V 112.709 +36 0 V 112.710 +36 0 V 112.711 +36 0 V 112.712 +36 0 V 112.713 +36 0 V 112.714 +36 0 V 112.715 +35 0 V 112.716 +36 0 V 112.717 +36 0 V 112.718 +36 0 V 112.719 +36 0 V 112.720 +36 0 V 112.721 +35 0 V 112.722 +36 0 V 112.723 +36 0 V 112.724 +36 0 V 112.725 +36 0 V 112.726 +36 0 V 112.727 +36 0 V 112.728 +35 0 V 112.729 +36 0 V 112.730 +36 0 V 112.731 +36 0 V 112.732 +36 0 V 112.733 +36 0 V 112.734 +35 0 V 112.735 +36 0 V 112.736 +36 0 V 112.737 +36 0 V 112.738 +36 0 V 112.739 +36 0 V 112.740 +36 0 V 112.741 +35 0 V 112.742 +36 0 V 112.743 +36 0 V 112.744 +36 0 V 112.745 +36 0 V 112.746 +36 0 V 112.747 +36 0 V 112.748 +35 0 V 112.749 +36 0 V 112.750 +36 0 V 112.751 +36 0 V 112.752 +36 0 V 112.753 +36 0 V 112.754 +35 0 V 112.755 +36 0 V 112.756 +36 0 V 112.757 +36 0 V 112.758 +% End plot #1 112.759 +% Begin plot #2 112.760 +stroke 112.761 +4.000 UL 112.762 +LT1 112.763 +LCb setrgbcolor 112.764 +3416 2722 M 112.765 +[ [(Helvetica) 140.0 0.0 true true 0 (8 Threads)] 112.766 +] -46.7 MRshow 112.767 +LT1 112.768 +3500 2722 M 112.769 +399 0 V 112.770 +715 2855 M 112.771 +58 -684 V 112.772 +984 1411 L 112.773 +1411 947 L 112.774 +2263 700 L 112.775 +3965 573 L 112.776 +% End plot #2 112.777 +% Begin plot #3 112.778 +stroke 112.779 +LT2 112.780 +LCb setrgbcolor 112.781 +3416 2582 M 112.782 +[ [(Helvetica) 140.0 0.0 true true 0 (32 Threads)] 112.783 +] -46.7 MRshow 112.784 +LT2 112.785 +3500 2582 M 112.786 +399 0 V 112.787 +947 2855 M 112.788 +38 -338 V 112.789 +427 -979 V 112.790 +849 -507 V 112.791 +3969 747 L 112.792 +% End plot #3 112.793 +% Begin plot #4 112.794 +stroke 112.795 +LT3 112.796 +LCb setrgbcolor 112.797 +3416 2442 M 112.798 +[ [(Helvetica) 140.0 0.0 true true 0 (128 Threads)] 112.799 +] -46.7 MRshow 112.800 +LT3 112.801 +3500 2442 M 112.802 +399 0 V 112.803 +2070 2855 M 112.804 +197 -434 V 112.805 +3969 1446 L 112.806 +% End plot #4 112.807 +stroke 112.808 +1.000 UL 112.809 +LTb 112.810 +518 2855 M 112.811 +518 448 L 112.812 +3549 0 V 112.813 +0 2407 R 112.814 +-3549 0 R 112.815 +1.000 UP 112.816 +stroke 112.817 +grestore 112.818 +end 112.819 +showpage 112.820 +%%Trailer 112.821 +%%DocumentFonts: Helvetica 112.822 +%%Pages: 1
113.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 113.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/plots_exec_vs_task_size/not_used/vms_vthread_8_32_128_512thds__o30000__perfCtrs.result.eps Fri Sep 13 11:02:18 2013 -0700 113.3 @@ -0,0 +1,852 @@ 113.4 +%!PS-Adobe-2.0 113.5 +%%Title: vms_vthread_8_32_128_512thds__o30000__perfCtrs.result.eps 113.6 +%%Creator: gnuplot 4.4 patchlevel 2 113.7 +%%CreationDate: Thu Jan 26 18:12:20 2012 113.8 +%%DocumentFonts: (atend) 113.9 +%%BoundingBox: 251 50 554 482 113.10 +%%Orientation: Landscape 113.11 +%%Pages: (atend) 113.12 +%%EndComments 113.13 +%%BeginProlog 113.14 +/gnudict 256 dict def 113.15 +gnudict begin 113.16 +% 113.17 +% The following true/false flags may be edited by hand if desired. 113.18 +% The unit line width and grayscale image gamma correction may also be changed. 113.19 +% 113.20 +/Color true def 113.21 +/Blacktext false def 113.22 +/Solid false def 113.23 +/Dashlength 1 def 113.24 +/Landscape true def 113.25 +/Level1 false def 113.26 +/Rounded false def 113.27 +/ClipToBoundingBox false def 113.28 +/TransparentPatterns false def 113.29 +/gnulinewidth 5.000 def 113.30 +/userlinewidth gnulinewidth def 113.31 +/Gamma 1.0 def 113.32 +% 113.33 +/vshift -46 def 113.34 +/dl1 { 113.35 + 10.0 Dashlength mul mul 113.36 + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 113.37 +} def 113.38 +/dl2 { 113.39 + 10.0 Dashlength mul mul 113.40 + Rounded { currentlinewidth 0.75 mul add } if 113.41 +} def 113.42 +/hpt_ 31.5 def 113.43 +/vpt_ 31.5 def 113.44 +/hpt hpt_ def 113.45 +/vpt vpt_ def 113.46 +Level1 {} { 113.47 +/SDict 10 dict def 113.48 +systemdict /pdfmark known not { 113.49 + userdict /pdfmark systemdict /cleartomark get put 113.50 +} if 113.51 +SDict begin [ 113.52 + /Title (vms_vthread_8_32_128_512thds__o30000__perfCtrs.result.eps) 113.53 + /Subject (gnuplot plot) 113.54 + /Creator (gnuplot 4.4 patchlevel 2) 113.55 + /Author (msach) 113.56 +% /Producer (gnuplot) 113.57 +% /Keywords () 113.58 + /CreationDate (Thu Jan 26 18:12:20 2012) 113.59 + /DOCINFO pdfmark 113.60 +end 113.61 +} ifelse 113.62 +/doclip { 113.63 + ClipToBoundingBox { 113.64 + newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 113.65 + clip 113.66 + } if 113.67 +} def 113.68 +% 113.69 +% Gnuplot Prolog Version 4.4 (August 2010) 113.70 +% 113.71 +%/SuppressPDFMark true def 113.72 +% 113.73 +/M {moveto} bind def 113.74 +/L {lineto} bind def 113.75 +/R {rmoveto} bind def 113.76 +/V {rlineto} bind def 113.77 +/N {newpath moveto} bind def 113.78 +/Z {closepath} bind def 113.79 +/C {setrgbcolor} bind def 113.80 +/f {rlineto fill} bind def 113.81 +/g {setgray} bind def 113.82 +/Gshow {show} def % May be redefined later in the file to support UTF-8 113.83 +/vpt2 vpt 2 mul def 113.84 +/hpt2 hpt 2 mul def 113.85 +/Lshow {currentpoint stroke M 0 vshift R 113.86 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 113.87 +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 113.88 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 113.89 +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 113.90 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 113.91 +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 113.92 + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 113.93 +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 113.94 + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 113.95 +/BL {stroke userlinewidth 2 mul setlinewidth 113.96 + Rounded {1 setlinejoin 1 setlinecap} if} def 113.97 +/AL {stroke userlinewidth 2 div setlinewidth 113.98 + Rounded {1 setlinejoin 1 setlinecap} if} def 113.99 +/UL {dup gnulinewidth mul /userlinewidth exch def 113.100 + dup 1 lt {pop 1} if 10 mul /udl exch def} def 113.101 +/PL {stroke userlinewidth setlinewidth 113.102 + Rounded {1 setlinejoin 1 setlinecap} if} def 113.103 +3.8 setmiterlimit 113.104 +% Default Line colors 113.105 +/LCw {1 1 1} def 113.106 +/LCb {0 0 0} def 113.107 +/LCa {0 0 0} def 113.108 +/LC0 {1 0 0} def 113.109 +/LC1 {0 1 0} def 113.110 +/LC2 {0 0 1} def 113.111 +/LC3 {1 0 1} def 113.112 +/LC4 {0 1 1} def 113.113 +/LC5 {1 1 0} def 113.114 +/LC6 {0 0 0} def 113.115 +/LC7 {1 0.3 0} def 113.116 +/LC8 {0.5 0.5 0.5} def 113.117 +% Default Line Types 113.118 +/LTw {PL [] 1 setgray} def 113.119 +/LTb {BL [] LCb DL} def 113.120 +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 113.121 +/LT0 {PL [] LC0 DL} def 113.122 +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 113.123 +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 113.124 +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 113.125 +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 113.126 +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 113.127 +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 113.128 +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 113.129 +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 113.130 +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 113.131 +/Dia {stroke [] 0 setdash 2 copy vpt add M 113.132 + hpt neg vpt neg V hpt vpt neg V 113.133 + hpt vpt V hpt neg vpt V closepath stroke 113.134 + Pnt} def 113.135 +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 113.136 + currentpoint stroke M 113.137 + hpt neg vpt neg R hpt2 0 V stroke 113.138 + } def 113.139 +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 113.140 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 113.141 + hpt2 neg 0 V closepath stroke 113.142 + Pnt} def 113.143 +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 113.144 + hpt2 vpt2 neg V currentpoint stroke M 113.145 + hpt2 neg 0 R hpt2 vpt2 V stroke} def 113.146 +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 113.147 + hpt neg vpt -1.62 mul V 113.148 + hpt 2 mul 0 V 113.149 + hpt neg vpt 1.62 mul V closepath stroke 113.150 + Pnt} def 113.151 +/Star {2 copy Pls Crs} def 113.152 +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 113.153 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 113.154 + hpt2 neg 0 V closepath fill} def 113.155 +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 113.156 + hpt neg vpt -1.62 mul V 113.157 + hpt 2 mul 0 V 113.158 + hpt neg vpt 1.62 mul V closepath fill} def 113.159 +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 113.160 + hpt neg vpt 1.62 mul V 113.161 + hpt 2 mul 0 V 113.162 + hpt neg vpt -1.62 mul V closepath stroke 113.163 + Pnt} def 113.164 +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 113.165 + hpt neg vpt 1.62 mul V 113.166 + hpt 2 mul 0 V 113.167 + hpt neg vpt -1.62 mul V closepath fill} def 113.168 +/DiaF {stroke [] 0 setdash vpt add M 113.169 + hpt neg vpt neg V hpt vpt neg V 113.170 + hpt vpt V hpt neg vpt V closepath fill} def 113.171 +/Pent {stroke [] 0 setdash 2 copy gsave 113.172 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 113.173 + closepath stroke grestore Pnt} def 113.174 +/PentF {stroke [] 0 setdash gsave 113.175 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 113.176 + closepath fill grestore} def 113.177 +/Circle {stroke [] 0 setdash 2 copy 113.178 + hpt 0 360 arc stroke Pnt} def 113.179 +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 113.180 +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 113.181 +/C1 {BL [] 0 setdash 2 copy moveto 113.182 + 2 copy vpt 0 90 arc closepath fill 113.183 + vpt 0 360 arc closepath} bind def 113.184 +/C2 {BL [] 0 setdash 2 copy moveto 113.185 + 2 copy vpt 90 180 arc closepath fill 113.186 + vpt 0 360 arc closepath} bind def 113.187 +/C3 {BL [] 0 setdash 2 copy moveto 113.188 + 2 copy vpt 0 180 arc closepath fill 113.189 + vpt 0 360 arc closepath} bind def 113.190 +/C4 {BL [] 0 setdash 2 copy moveto 113.191 + 2 copy vpt 180 270 arc closepath fill 113.192 + vpt 0 360 arc closepath} bind def 113.193 +/C5 {BL [] 0 setdash 2 copy moveto 113.194 + 2 copy vpt 0 90 arc 113.195 + 2 copy moveto 113.196 + 2 copy vpt 180 270 arc closepath fill 113.197 + vpt 0 360 arc} bind def 113.198 +/C6 {BL [] 0 setdash 2 copy moveto 113.199 + 2 copy vpt 90 270 arc closepath fill 113.200 + vpt 0 360 arc closepath} bind def 113.201 +/C7 {BL [] 0 setdash 2 copy moveto 113.202 + 2 copy vpt 0 270 arc closepath fill 113.203 + vpt 0 360 arc closepath} bind def 113.204 +/C8 {BL [] 0 setdash 2 copy moveto 113.205 + 2 copy vpt 270 360 arc closepath fill 113.206 + vpt 0 360 arc closepath} bind def 113.207 +/C9 {BL [] 0 setdash 2 copy moveto 113.208 + 2 copy vpt 270 450 arc closepath fill 113.209 + vpt 0 360 arc closepath} bind def 113.210 +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 113.211 + 2 copy moveto 113.212 + 2 copy vpt 90 180 arc closepath fill 113.213 + vpt 0 360 arc closepath} bind def 113.214 +/C11 {BL [] 0 setdash 2 copy moveto 113.215 + 2 copy vpt 0 180 arc closepath fill 113.216 + 2 copy moveto 113.217 + 2 copy vpt 270 360 arc closepath fill 113.218 + vpt 0 360 arc closepath} bind def 113.219 +/C12 {BL [] 0 setdash 2 copy moveto 113.220 + 2 copy vpt 180 360 arc closepath fill 113.221 + vpt 0 360 arc closepath} bind def 113.222 +/C13 {BL [] 0 setdash 2 copy moveto 113.223 + 2 copy vpt 0 90 arc closepath fill 113.224 + 2 copy moveto 113.225 + 2 copy vpt 180 360 arc closepath fill 113.226 + vpt 0 360 arc closepath} bind def 113.227 +/C14 {BL [] 0 setdash 2 copy moveto 113.228 + 2 copy vpt 90 360 arc closepath fill 113.229 + vpt 0 360 arc} bind def 113.230 +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 113.231 + vpt 0 360 arc closepath} bind def 113.232 +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 113.233 + neg 0 rlineto closepath} bind def 113.234 +/Square {dup Rec} bind def 113.235 +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 113.236 +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 113.237 +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 113.238 +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 113.239 +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 113.240 +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 113.241 +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 113.242 + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 113.243 +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 113.244 +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 113.245 + 2 copy vpt Square fill Bsquare} bind def 113.246 +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 113.247 +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 113.248 +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 113.249 + Bsquare} bind def 113.250 +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 113.251 + Bsquare} bind def 113.252 +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 113.253 +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 113.254 + 2 copy vpt Square fill Bsquare} bind def 113.255 +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 113.256 + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 113.257 +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 113.258 +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 113.259 +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 113.260 +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 113.261 +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 113.262 +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 113.263 +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 113.264 +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 113.265 +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 113.266 +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 113.267 +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 113.268 +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 113.269 +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 113.270 +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 113.271 +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 113.272 +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 113.273 +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 113.274 +/DiaE {stroke [] 0 setdash vpt add M 113.275 + hpt neg vpt neg V hpt vpt neg V 113.276 + hpt vpt V hpt neg vpt V closepath stroke} def 113.277 +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 113.278 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 113.279 + hpt2 neg 0 V closepath stroke} def 113.280 +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 113.281 + hpt neg vpt -1.62 mul V 113.282 + hpt 2 mul 0 V 113.283 + hpt neg vpt 1.62 mul V closepath stroke} def 113.284 +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 113.285 + hpt neg vpt 1.62 mul V 113.286 + hpt 2 mul 0 V 113.287 + hpt neg vpt -1.62 mul V closepath stroke} def 113.288 +/PentE {stroke [] 0 setdash gsave 113.289 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 113.290 + closepath stroke grestore} def 113.291 +/CircE {stroke [] 0 setdash 113.292 + hpt 0 360 arc stroke} def 113.293 +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 113.294 +/DiaW {stroke [] 0 setdash vpt add M 113.295 + hpt neg vpt neg V hpt vpt neg V 113.296 + hpt vpt V hpt neg vpt V Opaque stroke} def 113.297 +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 113.298 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 113.299 + hpt2 neg 0 V Opaque stroke} def 113.300 +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 113.301 + hpt neg vpt -1.62 mul V 113.302 + hpt 2 mul 0 V 113.303 + hpt neg vpt 1.62 mul V Opaque stroke} def 113.304 +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 113.305 + hpt neg vpt 1.62 mul V 113.306 + hpt 2 mul 0 V 113.307 + hpt neg vpt -1.62 mul V Opaque stroke} def 113.308 +/PentW {stroke [] 0 setdash gsave 113.309 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 113.310 + Opaque stroke grestore} def 113.311 +/CircW {stroke [] 0 setdash 113.312 + hpt 0 360 arc Opaque stroke} def 113.313 +/BoxFill {gsave Rec 1 setgray fill grestore} def 113.314 +/Density { 113.315 + /Fillden exch def 113.316 + currentrgbcolor 113.317 + /ColB exch def /ColG exch def /ColR exch def 113.318 + /ColR ColR Fillden mul Fillden sub 1 add def 113.319 + /ColG ColG Fillden mul Fillden sub 1 add def 113.320 + /ColB ColB Fillden mul Fillden sub 1 add def 113.321 + ColR ColG ColB setrgbcolor} def 113.322 +/BoxColFill {gsave Rec PolyFill} def 113.323 +/PolyFill {gsave Density fill grestore grestore} def 113.324 +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 113.325 +% 113.326 +% PostScript Level 1 Pattern Fill routine for rectangles 113.327 +% Usage: x y w h s a XX PatternFill 113.328 +% x,y = lower left corner of box to be filled 113.329 +% w,h = width and height of box 113.330 +% a = angle in degrees between lines and x-axis 113.331 +% XX = 0/1 for no/yes cross-hatch 113.332 +% 113.333 +/PatternFill {gsave /PFa [ 9 2 roll ] def 113.334 + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 113.335 + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 113.336 + gsave 1 setgray fill grestore clip 113.337 + currentlinewidth 0.5 mul setlinewidth 113.338 + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 113.339 + 0 0 M PFa 5 get rotate PFs -2 div dup translate 113.340 + 0 1 PFs PFa 4 get div 1 add floor cvi 113.341 + {PFa 4 get mul 0 M 0 PFs V} for 113.342 + 0 PFa 6 get ne { 113.343 + 0 1 PFs PFa 4 get div 1 add floor cvi 113.344 + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 113.345 + } if 113.346 + stroke grestore} def 113.347 +% 113.348 +/languagelevel where 113.349 + {pop languagelevel} {1} ifelse 113.350 + 2 lt 113.351 + {/InterpretLevel1 true def} 113.352 + {/InterpretLevel1 Level1 def} 113.353 + ifelse 113.354 +% 113.355 +% PostScript level 2 pattern fill definitions 113.356 +% 113.357 +/Level2PatternFill { 113.358 +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 113.359 + bind def 113.360 +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 113.361 +<< Tile8x8 113.362 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 113.363 +>> matrix makepattern 113.364 +/Pat1 exch def 113.365 +<< Tile8x8 113.366 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 113.367 + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 113.368 +>> matrix makepattern 113.369 +/Pat2 exch def 113.370 +<< Tile8x8 113.371 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 113.372 + 8 8 L 8 0 L 0 0 L fill} 113.373 +>> matrix makepattern 113.374 +/Pat3 exch def 113.375 +<< Tile8x8 113.376 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 113.377 + 0 12 M 12 0 L stroke} 113.378 +>> matrix makepattern 113.379 +/Pat4 exch def 113.380 +<< Tile8x8 113.381 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 113.382 + 0 -4 M 12 8 L stroke} 113.383 +>> matrix makepattern 113.384 +/Pat5 exch def 113.385 +<< Tile8x8 113.386 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 113.387 + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 113.388 +>> matrix makepattern 113.389 +/Pat6 exch def 113.390 +<< Tile8x8 113.391 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 113.392 + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 113.393 +>> matrix makepattern 113.394 +/Pat7 exch def 113.395 +<< Tile8x8 113.396 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 113.397 + 12 0 M -4 8 L 12 4 M 0 10 L stroke} 113.398 +>> matrix makepattern 113.399 +/Pat8 exch def 113.400 +<< Tile8x8 113.401 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 113.402 + -4 0 M 12 8 L -4 4 M 8 10 L stroke} 113.403 +>> matrix makepattern 113.404 +/Pat9 exch def 113.405 +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 113.406 +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 113.407 +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 113.408 +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 113.409 +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 113.410 +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 113.411 +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 113.412 +} def 113.413 +% 113.414 +% 113.415 +%End of PostScript Level 2 code 113.416 +% 113.417 +/PatternBgnd { 113.418 + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 113.419 +} def 113.420 +% 113.421 +% Substitute for Level 2 pattern fill codes with 113.422 +% grayscale if Level 2 support is not selected. 113.423 +% 113.424 +/Level1PatternFill { 113.425 +/Pattern1 {0.250 Density} bind def 113.426 +/Pattern2 {0.500 Density} bind def 113.427 +/Pattern3 {0.750 Density} bind def 113.428 +/Pattern4 {0.125 Density} bind def 113.429 +/Pattern5 {0.375 Density} bind def 113.430 +/Pattern6 {0.625 Density} bind def 113.431 +/Pattern7 {0.875 Density} bind def 113.432 +} def 113.433 +% 113.434 +% Now test for support of Level 2 code 113.435 +% 113.436 +Level1 {Level1PatternFill} {Level2PatternFill} ifelse 113.437 +% 113.438 +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 113.439 +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 113.440 +currentdict end definefont pop 113.441 +/MFshow { 113.442 + { dup 5 get 3 ge 113.443 + { 5 get 3 eq {gsave} {grestore} ifelse } 113.444 + {dup dup 0 get findfont exch 1 get scalefont setfont 113.445 + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 113.446 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 113.447 + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 113.448 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 113.449 + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 113.450 + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 113.451 + pop aload pop M} ifelse }ifelse }ifelse } 113.452 + ifelse } 113.453 + forall} def 113.454 +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 113.455 +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 113.456 + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 113.457 + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 113.458 +/MLshow { currentpoint stroke M 113.459 + 0 exch R 113.460 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 113.461 +/MRshow { currentpoint stroke M 113.462 + exch dup MFwidth neg 3 -1 roll R 113.463 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 113.464 +/MCshow { currentpoint stroke M 113.465 + exch dup MFwidth -2 div 3 -1 roll R 113.466 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 113.467 +/XYsave { [( ) 1 2 true false 3 ()] } bind def 113.468 +/XYrestore { [( ) 1 2 true false 4 ()] } bind def 113.469 +end 113.470 +%%EndProlog 113.471 +%%Page: 1 1 113.472 +gnudict begin 113.473 +gsave 113.474 +doclip 113.475 +50 50 translate 113.476 +0.100 0.100 scale 113.477 +90 rotate 113.478 +0 -5040 translate 113.479 +0 setgray 113.480 +newpath 113.481 +(Helvetica) findfont 140 scalefont setfont 113.482 +1.000 UL 113.483 +LTb 113.484 +518 448 M 113.485 +63 0 V 113.486 +stroke 113.487 +434 448 M 113.488 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1)] 113.489 +] -46.7 MRshow 113.490 +1.000 UL 113.491 +LTb 113.492 +518 792 M 113.493 +63 0 V 113.494 +stroke 113.495 +434 792 M 113.496 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] 113.497 +] -46.7 MRshow 113.498 +1.000 UL 113.499 +LTb 113.500 +518 1136 M 113.501 +63 0 V 113.502 +stroke 113.503 +434 1136 M 113.504 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] 113.505 +] -46.7 MRshow 113.506 +1.000 UL 113.507 +LTb 113.508 +518 1480 M 113.509 +63 0 V 113.510 +stroke 113.511 +434 1480 M 113.512 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] 113.513 +] -46.7 MRshow 113.514 +1.000 UL 113.515 +LTb 113.516 +518 1823 M 113.517 +63 0 V 113.518 +stroke 113.519 +434 1823 M 113.520 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 113.521 +] -46.7 MRshow 113.522 +1.000 UL 113.523 +LTb 113.524 +518 2167 M 113.525 +63 0 V 113.526 +stroke 113.527 +434 2167 M 113.528 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] 113.529 +] -46.7 MRshow 113.530 +1.000 UL 113.531 +LTb 113.532 +518 2511 M 113.533 +63 0 V 113.534 +stroke 113.535 +434 2511 M 113.536 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7)] 113.537 +] -46.7 MRshow 113.538 +1.000 UL 113.539 +LTb 113.540 +518 2855 M 113.541 +63 0 V 113.542 +stroke 113.543 +434 2855 M 113.544 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] 113.545 +] -46.7 MRshow 113.546 +1.000 UL 113.547 +LTb 113.548 +518 448 M 113.549 +0 63 V 113.550 +stroke 113.551 +518 308 M 113.552 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 113.553 +] -46.7 MCshow 113.554 +1.000 UL 113.555 +LTb 113.556 +962 448 M 113.557 +0 63 V 113.558 +stroke 113.559 +962 308 M 113.560 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 113.561 +] -46.7 MCshow 113.562 +1.000 UL 113.563 +LTb 113.564 +1405 448 M 113.565 +0 63 V 113.566 +stroke 113.567 +1405 308 M 113.568 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 113.569 +] -46.7 MCshow 113.570 +1.000 UL 113.571 +LTb 113.572 +1849 448 M 113.573 +0 63 V 113.574 +stroke 113.575 +1849 308 M 113.576 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 113.577 +] -46.7 MCshow 113.578 +1.000 UL 113.579 +LTb 113.580 +2293 448 M 113.581 +0 63 V 113.582 +stroke 113.583 +2293 308 M 113.584 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 113.585 +] -46.7 MCshow 113.586 +1.000 UL 113.587 +LTb 113.588 +2736 448 M 113.589 +0 63 V 113.590 +stroke 113.591 +2736 308 M 113.592 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 113.593 +] -46.7 MCshow 113.594 +1.000 UL 113.595 +LTb 113.596 +3180 448 M 113.597 +0 63 V 113.598 +stroke 113.599 +3180 308 M 113.600 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 113.601 +] -46.7 MCshow 113.602 +1.000 UL 113.603 +LTb 113.604 +3623 448 M 113.605 +0 63 V 113.606 +stroke 113.607 +3623 308 M 113.608 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 113.609 +] -46.7 MCshow 113.610 +1.000 UL 113.611 +LTb 113.612 +4067 448 M 113.613 +0 63 V 113.614 +stroke 113.615 +4067 308 M 113.616 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 113.617 +] -46.7 MCshow 113.618 +1.000 UL 113.619 +LTb 113.620 +1.000 UL 113.621 +LTb 113.622 +518 2855 M 113.623 +518 448 L 113.624 +3549 0 V 113.625 +0 2407 R 113.626 +-3549 0 R 113.627 +stroke 113.628 +LCb setrgbcolor 113.629 +112 1651 M 113.630 +currentpoint gsave translate -270 rotate 0 0 moveto 113.631 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 113.632 +] -46.7 MCshow 113.633 +grestore 113.634 +LTb 113.635 +LCb setrgbcolor 113.636 +2292 98 M 113.637 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 113.638 +] -46.7 MCshow 113.639 +LTb 113.640 +1.000 UP 113.641 +1.000 UL 113.642 +LTb 113.643 +1.000 UL 113.644 +LTb 113.645 +2492 2232 N 113.646 +0 560 V 113.647 +1491 0 V 113.648 +0 -560 V 113.649 +-1491 0 V 113.650 +Z stroke 113.651 +2492 2792 M 113.652 +1491 0 V 113.653 +% Begin plot #1 113.654 +stroke 113.655 +3.000 UL 113.656 +LT1 113.657 +LCa setrgbcolor 113.658 +518 792 M 113.659 +36 0 V 113.660 +36 0 V 113.661 +36 0 V 113.662 +35 0 V 113.663 +36 0 V 113.664 +36 0 V 113.665 +36 0 V 113.666 +36 0 V 113.667 +36 0 V 113.668 +35 0 V 113.669 +36 0 V 113.670 +36 0 V 113.671 +36 0 V 113.672 +36 0 V 113.673 +36 0 V 113.674 +36 0 V 113.675 +35 0 V 113.676 +36 0 V 113.677 +36 0 V 113.678 +36 0 V 113.679 +36 0 V 113.680 +36 0 V 113.681 +36 0 V 113.682 +35 0 V 113.683 +36 0 V 113.684 +36 0 V 113.685 +36 0 V 113.686 +36 0 V 113.687 +36 0 V 113.688 +35 0 V 113.689 +36 0 V 113.690 +36 0 V 113.691 +36 0 V 113.692 +36 0 V 113.693 +36 0 V 113.694 +36 0 V 113.695 +35 0 V 113.696 +36 0 V 113.697 +36 0 V 113.698 +36 0 V 113.699 +36 0 V 113.700 +36 0 V 113.701 +35 0 V 113.702 +36 0 V 113.703 +36 0 V 113.704 +36 0 V 113.705 +36 0 V 113.706 +36 0 V 113.707 +36 0 V 113.708 +35 0 V 113.709 +36 0 V 113.710 +36 0 V 113.711 +36 0 V 113.712 +36 0 V 113.713 +36 0 V 113.714 +36 0 V 113.715 +35 0 V 113.716 +36 0 V 113.717 +36 0 V 113.718 +36 0 V 113.719 +36 0 V 113.720 +36 0 V 113.721 +35 0 V 113.722 +36 0 V 113.723 +36 0 V 113.724 +36 0 V 113.725 +36 0 V 113.726 +36 0 V 113.727 +36 0 V 113.728 +35 0 V 113.729 +36 0 V 113.730 +36 0 V 113.731 +36 0 V 113.732 +36 0 V 113.733 +36 0 V 113.734 +35 0 V 113.735 +36 0 V 113.736 +36 0 V 113.737 +36 0 V 113.738 +36 0 V 113.739 +36 0 V 113.740 +36 0 V 113.741 +35 0 V 113.742 +36 0 V 113.743 +36 0 V 113.744 +36 0 V 113.745 +36 0 V 113.746 +36 0 V 113.747 +36 0 V 113.748 +35 0 V 113.749 +36 0 V 113.750 +36 0 V 113.751 +36 0 V 113.752 +36 0 V 113.753 +36 0 V 113.754 +35 0 V 113.755 +36 0 V 113.756 +36 0 V 113.757 +36 0 V 113.758 +% End plot #1 113.759 +% Begin plot #2 113.760 +stroke 113.761 +4.000 UL 113.762 +LT1 113.763 +LCb setrgbcolor 113.764 +3416 2722 M 113.765 +[ [(Helvetica) 140.0 0.0 true true 0 (8 Threads)] 113.766 +] -46.7 MRshow 113.767 +LT1 113.768 +3500 2722 M 113.769 +399 0 V 113.770 +572 2677 M 113.771 +16 -429 V 113.772 +24 -559 V 113.773 +55 -454 V 113.774 +774 920 L 113.775 +987 706 L 113.776 +1411 563 L 113.777 +852 -54 V 113.778 +3966 478 L 113.779 +% End plot #2 113.780 +% Begin plot #3 113.781 +stroke 113.782 +LT2 113.783 +LCb setrgbcolor 113.784 +3416 2582 M 113.785 +[ [(Helvetica) 140.0 0.0 true true 0 (32 Threads)] 113.786 +] -46.7 MRshow 113.787 +LT2 113.788 +3500 2582 M 113.789 +399 0 V 113.790 +571 2168 M 113.791 +17 -436 V 113.792 +24 -217 V 113.793 +55 -464 V 113.794 +774 801 L 113.795 +986 651 L 113.796 +1412 549 L 113.797 +852 -55 V 113.798 +3966 472 L 113.799 +% End plot #3 113.800 +% Begin plot #4 113.801 +stroke 113.802 +LT3 113.803 +LCb setrgbcolor 113.804 +3416 2442 M 113.805 +[ [(Helvetica) 140.0 0.0 true true 0 (128 Threads)] 113.806 +] -46.7 MRshow 113.807 +LT3 113.808 +3500 2442 M 113.809 +399 0 V 113.810 +572 2234 M 113.811 +16 -381 V 113.812 +26 -417 V 113.813 +53 -317 V 113.814 +773 823 L 113.815 +987 656 L 113.816 +1412 553 L 113.817 +852 -51 V 113.818 +3968 472 L 113.819 +% End plot #4 113.820 +% Begin plot #5 113.821 +stroke 113.822 +LT4 113.823 +LCb setrgbcolor 113.824 +3416 2302 M 113.825 +[ [(Helvetica) 140.0 0.0 true true 0 (512 Threads)] 113.826 +] -46.7 MRshow 113.827 +LT4 113.828 +3500 2302 M 113.829 +399 0 V 113.830 +572 2389 M 113.831 +14 -445 V 113.832 +27 -449 V 113.833 +54 -383 V 113.834 +772 837 L 113.835 +985 659 L 113.836 +1411 552 L 113.837 +853 -52 V 113.838 +3968 473 L 113.839 +% End plot #5 113.840 +stroke 113.841 +1.000 UL 113.842 +LTb 113.843 +518 2855 M 113.844 +518 448 L 113.845 +3549 0 V 113.846 +0 2407 R 113.847 +-3549 0 R 113.848 +1.000 UP 113.849 +stroke 113.850 +grestore 113.851 +end 113.852 +showpage 113.853 +%%Trailer 113.854 +%%DocumentFonts: Helvetica 113.855 +%%Pages: 1
114.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 114.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/plots_exec_vs_task_size/not_used/xoanon_pthreads_40cores_80_160_320_640thds__o30000__perfCtrs.result.eps Fri Sep 13 11:02:18 2013 -0700 114.3 @@ -0,0 +1,699 @@ 114.4 +%!PS-Adobe-2.0 114.5 +%%Title: xoanon_pthreads_40cores_80_160_320_640thds__o30000__perfCtrs.result.eps 114.6 +%%Creator: gnuplot 4.4 patchlevel 2 114.7 +%%CreationDate: Thu Jan 26 18:22:29 2012 114.8 +%%DocumentFonts: (atend) 114.9 +%%BoundingBox: 251 50 554 482 114.10 +%%Orientation: Landscape 114.11 +%%Pages: (atend) 114.12 +%%EndComments 114.13 +%%BeginProlog 114.14 +/gnudict 256 dict def 114.15 +gnudict begin 114.16 +% 114.17 +% The following true/false flags may be edited by hand if desired. 114.18 +% The unit line width and grayscale image gamma correction may also be changed. 114.19 +% 114.20 +/Color true def 114.21 +/Blacktext false def 114.22 +/Solid false def 114.23 +/Dashlength 1 def 114.24 +/Landscape true def 114.25 +/Level1 false def 114.26 +/Rounded false def 114.27 +/ClipToBoundingBox false def 114.28 +/TransparentPatterns false def 114.29 +/gnulinewidth 5.000 def 114.30 +/userlinewidth gnulinewidth def 114.31 +/Gamma 1.0 def 114.32 +% 114.33 +/vshift -46 def 114.34 +/dl1 { 114.35 + 10.0 Dashlength mul mul 114.36 + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 114.37 +} def 114.38 +/dl2 { 114.39 + 10.0 Dashlength mul mul 114.40 + Rounded { currentlinewidth 0.75 mul add } if 114.41 +} def 114.42 +/hpt_ 31.5 def 114.43 +/vpt_ 31.5 def 114.44 +/hpt hpt_ def 114.45 +/vpt vpt_ def 114.46 +Level1 {} { 114.47 +/SDict 10 dict def 114.48 +systemdict /pdfmark known not { 114.49 + userdict /pdfmark systemdict /cleartomark get put 114.50 +} if 114.51 +SDict begin [ 114.52 + /Title (xoanon_pthreads_40cores_80_160_320_640thds__o30000__perfCtrs.result.eps) 114.53 + /Subject (gnuplot plot) 114.54 + /Creator (gnuplot 4.4 patchlevel 2) 114.55 + /Author (msach) 114.56 +% /Producer (gnuplot) 114.57 +% /Keywords () 114.58 + /CreationDate (Thu Jan 26 18:22:29 2012) 114.59 + /DOCINFO pdfmark 114.60 +end 114.61 +} ifelse 114.62 +/doclip { 114.63 + ClipToBoundingBox { 114.64 + newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 114.65 + clip 114.66 + } if 114.67 +} def 114.68 +% 114.69 +% Gnuplot Prolog Version 4.4 (August 2010) 114.70 +% 114.71 +%/SuppressPDFMark true def 114.72 +% 114.73 +/M {moveto} bind def 114.74 +/L {lineto} bind def 114.75 +/R {rmoveto} bind def 114.76 +/V {rlineto} bind def 114.77 +/N {newpath moveto} bind def 114.78 +/Z {closepath} bind def 114.79 +/C {setrgbcolor} bind def 114.80 +/f {rlineto fill} bind def 114.81 +/g {setgray} bind def 114.82 +/Gshow {show} def % May be redefined later in the file to support UTF-8 114.83 +/vpt2 vpt 2 mul def 114.84 +/hpt2 hpt 2 mul def 114.85 +/Lshow {currentpoint stroke M 0 vshift R 114.86 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 114.87 +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 114.88 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 114.89 +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 114.90 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 114.91 +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 114.92 + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 114.93 +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 114.94 + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 114.95 +/BL {stroke userlinewidth 2 mul setlinewidth 114.96 + Rounded {1 setlinejoin 1 setlinecap} if} def 114.97 +/AL {stroke userlinewidth 2 div setlinewidth 114.98 + Rounded {1 setlinejoin 1 setlinecap} if} def 114.99 +/UL {dup gnulinewidth mul /userlinewidth exch def 114.100 + dup 1 lt {pop 1} if 10 mul /udl exch def} def 114.101 +/PL {stroke userlinewidth setlinewidth 114.102 + Rounded {1 setlinejoin 1 setlinecap} if} def 114.103 +3.8 setmiterlimit 114.104 +% Default Line colors 114.105 +/LCw {1 1 1} def 114.106 +/LCb {0 0 0} def 114.107 +/LCa {0 0 0} def 114.108 +/LC0 {1 0 0} def 114.109 +/LC1 {0 1 0} def 114.110 +/LC2 {0 0 1} def 114.111 +/LC3 {1 0 1} def 114.112 +/LC4 {0 1 1} def 114.113 +/LC5 {1 1 0} def 114.114 +/LC6 {0 0 0} def 114.115 +/LC7 {1 0.3 0} def 114.116 +/LC8 {0.5 0.5 0.5} def 114.117 +% Default Line Types 114.118 +/LTw {PL [] 1 setgray} def 114.119 +/LTb {BL [] LCb DL} def 114.120 +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 114.121 +/LT0 {PL [] LC0 DL} def 114.122 +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 114.123 +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 114.124 +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 114.125 +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 114.126 +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 114.127 +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 114.128 +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 114.129 +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 114.130 +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 114.131 +/Dia {stroke [] 0 setdash 2 copy vpt add M 114.132 + hpt neg vpt neg V hpt vpt neg V 114.133 + hpt vpt V hpt neg vpt V closepath stroke 114.134 + Pnt} def 114.135 +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 114.136 + currentpoint stroke M 114.137 + hpt neg vpt neg R hpt2 0 V stroke 114.138 + } def 114.139 +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 114.140 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 114.141 + hpt2 neg 0 V closepath stroke 114.142 + Pnt} def 114.143 +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 114.144 + hpt2 vpt2 neg V currentpoint stroke M 114.145 + hpt2 neg 0 R hpt2 vpt2 V stroke} def 114.146 +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 114.147 + hpt neg vpt -1.62 mul V 114.148 + hpt 2 mul 0 V 114.149 + hpt neg vpt 1.62 mul V closepath stroke 114.150 + Pnt} def 114.151 +/Star {2 copy Pls Crs} def 114.152 +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 114.153 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 114.154 + hpt2 neg 0 V closepath fill} def 114.155 +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 114.156 + hpt neg vpt -1.62 mul V 114.157 + hpt 2 mul 0 V 114.158 + hpt neg vpt 1.62 mul V closepath fill} def 114.159 +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 114.160 + hpt neg vpt 1.62 mul V 114.161 + hpt 2 mul 0 V 114.162 + hpt neg vpt -1.62 mul V closepath stroke 114.163 + Pnt} def 114.164 +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 114.165 + hpt neg vpt 1.62 mul V 114.166 + hpt 2 mul 0 V 114.167 + hpt neg vpt -1.62 mul V closepath fill} def 114.168 +/DiaF {stroke [] 0 setdash vpt add M 114.169 + hpt neg vpt neg V hpt vpt neg V 114.170 + hpt vpt V hpt neg vpt V closepath fill} def 114.171 +/Pent {stroke [] 0 setdash 2 copy gsave 114.172 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 114.173 + closepath stroke grestore Pnt} def 114.174 +/PentF {stroke [] 0 setdash gsave 114.175 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 114.176 + closepath fill grestore} def 114.177 +/Circle {stroke [] 0 setdash 2 copy 114.178 + hpt 0 360 arc stroke Pnt} def 114.179 +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 114.180 +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 114.181 +/C1 {BL [] 0 setdash 2 copy moveto 114.182 + 2 copy vpt 0 90 arc closepath fill 114.183 + vpt 0 360 arc closepath} bind def 114.184 +/C2 {BL [] 0 setdash 2 copy moveto 114.185 + 2 copy vpt 90 180 arc closepath fill 114.186 + vpt 0 360 arc closepath} bind def 114.187 +/C3 {BL [] 0 setdash 2 copy moveto 114.188 + 2 copy vpt 0 180 arc closepath fill 114.189 + vpt 0 360 arc closepath} bind def 114.190 +/C4 {BL [] 0 setdash 2 copy moveto 114.191 + 2 copy vpt 180 270 arc closepath fill 114.192 + vpt 0 360 arc closepath} bind def 114.193 +/C5 {BL [] 0 setdash 2 copy moveto 114.194 + 2 copy vpt 0 90 arc 114.195 + 2 copy moveto 114.196 + 2 copy vpt 180 270 arc closepath fill 114.197 + vpt 0 360 arc} bind def 114.198 +/C6 {BL [] 0 setdash 2 copy moveto 114.199 + 2 copy vpt 90 270 arc closepath fill 114.200 + vpt 0 360 arc closepath} bind def 114.201 +/C7 {BL [] 0 setdash 2 copy moveto 114.202 + 2 copy vpt 0 270 arc closepath fill 114.203 + vpt 0 360 arc closepath} bind def 114.204 +/C8 {BL [] 0 setdash 2 copy moveto 114.205 + 2 copy vpt 270 360 arc closepath fill 114.206 + vpt 0 360 arc closepath} bind def 114.207 +/C9 {BL [] 0 setdash 2 copy moveto 114.208 + 2 copy vpt 270 450 arc closepath fill 114.209 + vpt 0 360 arc closepath} bind def 114.210 +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 114.211 + 2 copy moveto 114.212 + 2 copy vpt 90 180 arc closepath fill 114.213 + vpt 0 360 arc closepath} bind def 114.214 +/C11 {BL [] 0 setdash 2 copy moveto 114.215 + 2 copy vpt 0 180 arc closepath fill 114.216 + 2 copy moveto 114.217 + 2 copy vpt 270 360 arc closepath fill 114.218 + vpt 0 360 arc closepath} bind def 114.219 +/C12 {BL [] 0 setdash 2 copy moveto 114.220 + 2 copy vpt 180 360 arc closepath fill 114.221 + vpt 0 360 arc closepath} bind def 114.222 +/C13 {BL [] 0 setdash 2 copy moveto 114.223 + 2 copy vpt 0 90 arc closepath fill 114.224 + 2 copy moveto 114.225 + 2 copy vpt 180 360 arc closepath fill 114.226 + vpt 0 360 arc closepath} bind def 114.227 +/C14 {BL [] 0 setdash 2 copy moveto 114.228 + 2 copy vpt 90 360 arc closepath fill 114.229 + vpt 0 360 arc} bind def 114.230 +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 114.231 + vpt 0 360 arc closepath} bind def 114.232 +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 114.233 + neg 0 rlineto closepath} bind def 114.234 +/Square {dup Rec} bind def 114.235 +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 114.236 +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 114.237 +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 114.238 +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 114.239 +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 114.240 +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 114.241 +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 114.242 + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 114.243 +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 114.244 +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 114.245 + 2 copy vpt Square fill Bsquare} bind def 114.246 +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 114.247 +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 114.248 +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 114.249 + Bsquare} bind def 114.250 +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 114.251 + Bsquare} bind def 114.252 +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 114.253 +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 114.254 + 2 copy vpt Square fill Bsquare} bind def 114.255 +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 114.256 + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 114.257 +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 114.258 +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 114.259 +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 114.260 +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 114.261 +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 114.262 +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 114.263 +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 114.264 +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 114.265 +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 114.266 +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 114.267 +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 114.268 +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 114.269 +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 114.270 +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 114.271 +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 114.272 +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 114.273 +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 114.274 +/DiaE {stroke [] 0 setdash vpt add M 114.275 + hpt neg vpt neg V hpt vpt neg V 114.276 + hpt vpt V hpt neg vpt V closepath stroke} def 114.277 +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 114.278 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 114.279 + hpt2 neg 0 V closepath stroke} def 114.280 +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 114.281 + hpt neg vpt -1.62 mul V 114.282 + hpt 2 mul 0 V 114.283 + hpt neg vpt 1.62 mul V closepath stroke} def 114.284 +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 114.285 + hpt neg vpt 1.62 mul V 114.286 + hpt 2 mul 0 V 114.287 + hpt neg vpt -1.62 mul V closepath stroke} def 114.288 +/PentE {stroke [] 0 setdash gsave 114.289 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 114.290 + closepath stroke grestore} def 114.291 +/CircE {stroke [] 0 setdash 114.292 + hpt 0 360 arc stroke} def 114.293 +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 114.294 +/DiaW {stroke [] 0 setdash vpt add M 114.295 + hpt neg vpt neg V hpt vpt neg V 114.296 + hpt vpt V hpt neg vpt V Opaque stroke} def 114.297 +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 114.298 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 114.299 + hpt2 neg 0 V Opaque stroke} def 114.300 +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 114.301 + hpt neg vpt -1.62 mul V 114.302 + hpt 2 mul 0 V 114.303 + hpt neg vpt 1.62 mul V Opaque stroke} def 114.304 +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 114.305 + hpt neg vpt 1.62 mul V 114.306 + hpt 2 mul 0 V 114.307 + hpt neg vpt -1.62 mul V Opaque stroke} def 114.308 +/PentW {stroke [] 0 setdash gsave 114.309 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 114.310 + Opaque stroke grestore} def 114.311 +/CircW {stroke [] 0 setdash 114.312 + hpt 0 360 arc Opaque stroke} def 114.313 +/BoxFill {gsave Rec 1 setgray fill grestore} def 114.314 +/Density { 114.315 + /Fillden exch def 114.316 + currentrgbcolor 114.317 + /ColB exch def /ColG exch def /ColR exch def 114.318 + /ColR ColR Fillden mul Fillden sub 1 add def 114.319 + /ColG ColG Fillden mul Fillden sub 1 add def 114.320 + /ColB ColB Fillden mul Fillden sub 1 add def 114.321 + ColR ColG ColB setrgbcolor} def 114.322 +/BoxColFill {gsave Rec PolyFill} def 114.323 +/PolyFill {gsave Density fill grestore grestore} def 114.324 +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 114.325 +% 114.326 +% PostScript Level 1 Pattern Fill routine for rectangles 114.327 +% Usage: x y w h s a XX PatternFill 114.328 +% x,y = lower left corner of box to be filled 114.329 +% w,h = width and height of box 114.330 +% a = angle in degrees between lines and x-axis 114.331 +% XX = 0/1 for no/yes cross-hatch 114.332 +% 114.333 +/PatternFill {gsave /PFa [ 9 2 roll ] def 114.334 + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 114.335 + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 114.336 + gsave 1 setgray fill grestore clip 114.337 + currentlinewidth 0.5 mul setlinewidth 114.338 + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 114.339 + 0 0 M PFa 5 get rotate PFs -2 div dup translate 114.340 + 0 1 PFs PFa 4 get div 1 add floor cvi 114.341 + {PFa 4 get mul 0 M 0 PFs V} for 114.342 + 0 PFa 6 get ne { 114.343 + 0 1 PFs PFa 4 get div 1 add floor cvi 114.344 + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 114.345 + } if 114.346 + stroke grestore} def 114.347 +% 114.348 +/languagelevel where 114.349 + {pop languagelevel} {1} ifelse 114.350 + 2 lt 114.351 + {/InterpretLevel1 true def} 114.352 + {/InterpretLevel1 Level1 def} 114.353 + ifelse 114.354 +% 114.355 +% PostScript level 2 pattern fill definitions 114.356 +% 114.357 +/Level2PatternFill { 114.358 +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 114.359 + bind def 114.360 +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 114.361 +<< Tile8x8 114.362 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 114.363 +>> matrix makepattern 114.364 +/Pat1 exch def 114.365 +<< Tile8x8 114.366 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 114.367 + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 114.368 +>> matrix makepattern 114.369 +/Pat2 exch def 114.370 +<< Tile8x8 114.371 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 114.372 + 8 8 L 8 0 L 0 0 L fill} 114.373 +>> matrix makepattern 114.374 +/Pat3 exch def 114.375 +<< Tile8x8 114.376 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 114.377 + 0 12 M 12 0 L stroke} 114.378 +>> matrix makepattern 114.379 +/Pat4 exch def 114.380 +<< Tile8x8 114.381 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 114.382 + 0 -4 M 12 8 L stroke} 114.383 +>> matrix makepattern 114.384 +/Pat5 exch def 114.385 +<< Tile8x8 114.386 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 114.387 + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 114.388 +>> matrix makepattern 114.389 +/Pat6 exch def 114.390 +<< Tile8x8 114.391 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 114.392 + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 114.393 +>> matrix makepattern 114.394 +/Pat7 exch def 114.395 +<< Tile8x8 114.396 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 114.397 + 12 0 M -4 8 L 12 4 M 0 10 L stroke} 114.398 +>> matrix makepattern 114.399 +/Pat8 exch def 114.400 +<< Tile8x8 114.401 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 114.402 + -4 0 M 12 8 L -4 4 M 8 10 L stroke} 114.403 +>> matrix makepattern 114.404 +/Pat9 exch def 114.405 +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 114.406 +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 114.407 +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 114.408 +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 114.409 +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 114.410 +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 114.411 +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 114.412 +} def 114.413 +% 114.414 +% 114.415 +%End of PostScript Level 2 code 114.416 +% 114.417 +/PatternBgnd { 114.418 + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 114.419 +} def 114.420 +% 114.421 +% Substitute for Level 2 pattern fill codes with 114.422 +% grayscale if Level 2 support is not selected. 114.423 +% 114.424 +/Level1PatternFill { 114.425 +/Pattern1 {0.250 Density} bind def 114.426 +/Pattern2 {0.500 Density} bind def 114.427 +/Pattern3 {0.750 Density} bind def 114.428 +/Pattern4 {0.125 Density} bind def 114.429 +/Pattern5 {0.375 Density} bind def 114.430 +/Pattern6 {0.625 Density} bind def 114.431 +/Pattern7 {0.875 Density} bind def 114.432 +} def 114.433 +% 114.434 +% Now test for support of Level 2 code 114.435 +% 114.436 +Level1 {Level1PatternFill} {Level2PatternFill} ifelse 114.437 +% 114.438 +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 114.439 +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 114.440 +currentdict end definefont pop 114.441 +/MFshow { 114.442 + { dup 5 get 3 ge 114.443 + { 5 get 3 eq {gsave} {grestore} ifelse } 114.444 + {dup dup 0 get findfont exch 1 get scalefont setfont 114.445 + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 114.446 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 114.447 + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 114.448 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 114.449 + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 114.450 + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 114.451 + pop aload pop M} ifelse }ifelse }ifelse } 114.452 + ifelse } 114.453 + forall} def 114.454 +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 114.455 +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 114.456 + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 114.457 + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 114.458 +/MLshow { currentpoint stroke M 114.459 + 0 exch R 114.460 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 114.461 +/MRshow { currentpoint stroke M 114.462 + exch dup MFwidth neg 3 -1 roll R 114.463 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 114.464 +/MCshow { currentpoint stroke M 114.465 + exch dup MFwidth -2 div 3 -1 roll R 114.466 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 114.467 +/XYsave { [( ) 1 2 true false 3 ()] } bind def 114.468 +/XYrestore { [( ) 1 2 true false 4 ()] } bind def 114.469 +end 114.470 +%%EndProlog 114.471 +%%Page: 1 1 114.472 +gnudict begin 114.473 +gsave 114.474 +doclip 114.475 +50 50 translate 114.476 +0.100 0.100 scale 114.477 +90 rotate 114.478 +0 -5040 translate 114.479 +0 setgray 114.480 +newpath 114.481 +(Helvetica) findfont 140 scalefont setfont 114.482 +1.000 UL 114.483 +LTb 114.484 +686 922 M 114.485 +63 0 V 114.486 +stroke 114.487 +602 922 M 114.488 +[ [(Helvetica) 140.0 0.0 true true 0 ( 50)] 114.489 +] -46.7 MRshow 114.490 +1.000 UL 114.491 +LTb 114.492 +686 1405 M 114.493 +63 0 V 114.494 +stroke 114.495 +602 1405 M 114.496 +[ [(Helvetica) 140.0 0.0 true true 0 ( 100)] 114.497 +] -46.7 MRshow 114.498 +1.000 UL 114.499 +LTb 114.500 +686 1888 M 114.501 +63 0 V 114.502 +stroke 114.503 +602 1888 M 114.504 +[ [(Helvetica) 140.0 0.0 true true 0 ( 150)] 114.505 +] -46.7 MRshow 114.506 +1.000 UL 114.507 +LTb 114.508 +686 2372 M 114.509 +63 0 V 114.510 +stroke 114.511 +602 2372 M 114.512 +[ [(Helvetica) 140.0 0.0 true true 0 ( 200)] 114.513 +] -46.7 MRshow 114.514 +1.000 UL 114.515 +LTb 114.516 +686 2855 M 114.517 +63 0 V 114.518 +stroke 114.519 +602 2855 M 114.520 +[ [(Helvetica) 140.0 0.0 true true 0 ( 250)] 114.521 +] -46.7 MRshow 114.522 +1.000 UL 114.523 +LTb 114.524 +686 448 M 114.525 +0 63 V 114.526 +stroke 114.527 +686 308 M 114.528 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 114.529 +] -46.7 MCshow 114.530 +1.000 UL 114.531 +LTb 114.532 +1109 448 M 114.533 +0 63 V 114.534 +stroke 114.535 +1109 308 M 114.536 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 114.537 +] -46.7 MCshow 114.538 +1.000 UL 114.539 +LTb 114.540 +1531 448 M 114.541 +0 63 V 114.542 +stroke 114.543 +1531 308 M 114.544 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 114.545 +] -46.7 MCshow 114.546 +1.000 UL 114.547 +LTb 114.548 +1954 448 M 114.549 +0 63 V 114.550 +stroke 114.551 +1954 308 M 114.552 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 114.553 +] -46.7 MCshow 114.554 +1.000 UL 114.555 +LTb 114.556 +2377 448 M 114.557 +0 63 V 114.558 +stroke 114.559 +2377 308 M 114.560 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 114.561 +] -46.7 MCshow 114.562 +1.000 UL 114.563 +LTb 114.564 +2799 448 M 114.565 +0 63 V 114.566 +stroke 114.567 +2799 308 M 114.568 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 114.569 +] -46.7 MCshow 114.570 +1.000 UL 114.571 +LTb 114.572 +3222 448 M 114.573 +0 63 V 114.574 +stroke 114.575 +3222 308 M 114.576 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 114.577 +] -46.7 MCshow 114.578 +1.000 UL 114.579 +LTb 114.580 +3644 448 M 114.581 +0 63 V 114.582 +stroke 114.583 +3644 308 M 114.584 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 114.585 +] -46.7 MCshow 114.586 +1.000 UL 114.587 +LTb 114.588 +4067 448 M 114.589 +0 63 V 114.590 +stroke 114.591 +4067 308 M 114.592 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 114.593 +] -46.7 MCshow 114.594 +1.000 UL 114.595 +LTb 114.596 +1.000 UL 114.597 +LTb 114.598 +686 2855 M 114.599 +686 448 L 114.600 +3381 0 V 114.601 +0 2407 R 114.602 +-3381 0 R 114.603 +stroke 114.604 +LCb setrgbcolor 114.605 +112 1651 M 114.606 +currentpoint gsave translate -270 rotate 0 0 moveto 114.607 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 114.608 +] -46.7 MCshow 114.609 +grestore 114.610 +LTb 114.611 +LCb setrgbcolor 114.612 +2376 98 M 114.613 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 114.614 +] -46.7 MCshow 114.615 +LTb 114.616 +1.000 UP 114.617 +1.000 UL 114.618 +LTb 114.619 +1.000 UL 114.620 +LTb 114.621 +770 511 N 114.622 +0 560 V 114.623 +1491 0 V 114.624 +0 -560 V 114.625 +770 511 L 114.626 +Z stroke 114.627 +770 1071 M 114.628 +1491 0 V 114.629 +% Begin plot #1 114.630 +stroke 114.631 +4.000 UL 114.632 +LT0 114.633 +LCb setrgbcolor 114.634 +1694 1001 M 114.635 +[ [(Helvetica) 140.0 0.0 true true 0 (80 Threads)] 114.636 +] -46.7 MRshow 114.637 +LT0 114.638 +1778 1001 M 114.639 +399 0 V 114.640 +1735 2855 M 114.641 +662 -919 V 114.642 +4067 1238 L 114.643 +% End plot #1 114.644 +% Begin plot #2 114.645 +stroke 114.646 +LT1 114.647 +LCb setrgbcolor 114.648 +1694 861 M 114.649 +[ [(Helvetica) 140.0 0.0 true true 0 (160 Threads)] 114.650 +] -46.7 MRshow 114.651 +LT1 114.652 +1778 861 M 114.653 +399 0 V 114.654 +1748 2855 M 114.655 +2555 1723 L 114.656 +4067 1065 L 114.657 +% End plot #2 114.658 +% Begin plot #3 114.659 +stroke 114.660 +LT2 114.661 +LCb setrgbcolor 114.662 +1694 721 M 114.663 +[ [(Helvetica) 140.0 0.0 true true 0 (320 Threads)] 114.664 +] -46.7 MRshow 114.665 +LT2 114.666 +1778 721 M 114.667 +399 0 V 114.668 +1420 2855 M 114.669 +170 -542 V 114.670 +784 -867 V 114.671 +3986 870 L 114.672 +% End plot #3 114.673 +% Begin plot #4 114.674 +stroke 114.675 +LT3 114.676 +LCb setrgbcolor 114.677 +1694 581 M 114.678 +[ [(Helvetica) 140.0 0.0 true true 0 (640 Threads)] 114.679 +] -46.7 MRshow 114.680 +LT3 114.681 +1778 581 M 114.682 +399 0 V 114.683 +1802 2855 M 114.684 +572 -574 V 114.685 +4007 1207 L 114.686 +% End plot #4 114.687 +stroke 114.688 +1.000 UL 114.689 +LTb 114.690 +686 2855 M 114.691 +686 448 L 114.692 +3381 0 V 114.693 +0 2407 R 114.694 +-3381 0 R 114.695 +1.000 UP 114.696 +stroke 114.697 +grestore 114.698 +end 114.699 +showpage 114.700 +%%Trailer 114.701 +%%DocumentFonts: Helvetica 114.702 +%%Pages: 1
115.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 115.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/plots_exec_vs_task_size/not_used/xoanon_pthreads_80cores_80_160_320_640thds__o30000__perfCtrs.result.eps Fri Sep 13 11:02:18 2013 -0700 115.3 @@ -0,0 +1,695 @@ 115.4 +%!PS-Adobe-2.0 115.5 +%%Title: xoanon_pthreads_80cores_80_160_320_640thds__o30000__perfCtrs.result.eps 115.6 +%%Creator: gnuplot 4.4 patchlevel 2 115.7 +%%CreationDate: Thu Jan 26 18:23:26 2012 115.8 +%%DocumentFonts: (atend) 115.9 +%%BoundingBox: 251 50 554 482 115.10 +%%Orientation: Landscape 115.11 +%%Pages: (atend) 115.12 +%%EndComments 115.13 +%%BeginProlog 115.14 +/gnudict 256 dict def 115.15 +gnudict begin 115.16 +% 115.17 +% The following true/false flags may be edited by hand if desired. 115.18 +% The unit line width and grayscale image gamma correction may also be changed. 115.19 +% 115.20 +/Color true def 115.21 +/Blacktext false def 115.22 +/Solid false def 115.23 +/Dashlength 1 def 115.24 +/Landscape true def 115.25 +/Level1 false def 115.26 +/Rounded false def 115.27 +/ClipToBoundingBox false def 115.28 +/TransparentPatterns false def 115.29 +/gnulinewidth 5.000 def 115.30 +/userlinewidth gnulinewidth def 115.31 +/Gamma 1.0 def 115.32 +% 115.33 +/vshift -46 def 115.34 +/dl1 { 115.35 + 10.0 Dashlength mul mul 115.36 + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 115.37 +} def 115.38 +/dl2 { 115.39 + 10.0 Dashlength mul mul 115.40 + Rounded { currentlinewidth 0.75 mul add } if 115.41 +} def 115.42 +/hpt_ 31.5 def 115.43 +/vpt_ 31.5 def 115.44 +/hpt hpt_ def 115.45 +/vpt vpt_ def 115.46 +Level1 {} { 115.47 +/SDict 10 dict def 115.48 +systemdict /pdfmark known not { 115.49 + userdict /pdfmark systemdict /cleartomark get put 115.50 +} if 115.51 +SDict begin [ 115.52 + /Title (xoanon_pthreads_80cores_80_160_320_640thds__o30000__perfCtrs.result.eps) 115.53 + /Subject (gnuplot plot) 115.54 + /Creator (gnuplot 4.4 patchlevel 2) 115.55 + /Author (msach) 115.56 +% /Producer (gnuplot) 115.57 +% /Keywords () 115.58 + /CreationDate (Thu Jan 26 18:23:26 2012) 115.59 + /DOCINFO pdfmark 115.60 +end 115.61 +} ifelse 115.62 +/doclip { 115.63 + ClipToBoundingBox { 115.64 + newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 115.65 + clip 115.66 + } if 115.67 +} def 115.68 +% 115.69 +% Gnuplot Prolog Version 4.4 (August 2010) 115.70 +% 115.71 +%/SuppressPDFMark true def 115.72 +% 115.73 +/M {moveto} bind def 115.74 +/L {lineto} bind def 115.75 +/R {rmoveto} bind def 115.76 +/V {rlineto} bind def 115.77 +/N {newpath moveto} bind def 115.78 +/Z {closepath} bind def 115.79 +/C {setrgbcolor} bind def 115.80 +/f {rlineto fill} bind def 115.81 +/g {setgray} bind def 115.82 +/Gshow {show} def % May be redefined later in the file to support UTF-8 115.83 +/vpt2 vpt 2 mul def 115.84 +/hpt2 hpt 2 mul def 115.85 +/Lshow {currentpoint stroke M 0 vshift R 115.86 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 115.87 +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 115.88 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 115.89 +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 115.90 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 115.91 +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 115.92 + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 115.93 +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 115.94 + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 115.95 +/BL {stroke userlinewidth 2 mul setlinewidth 115.96 + Rounded {1 setlinejoin 1 setlinecap} if} def 115.97 +/AL {stroke userlinewidth 2 div setlinewidth 115.98 + Rounded {1 setlinejoin 1 setlinecap} if} def 115.99 +/UL {dup gnulinewidth mul /userlinewidth exch def 115.100 + dup 1 lt {pop 1} if 10 mul /udl exch def} def 115.101 +/PL {stroke userlinewidth setlinewidth 115.102 + Rounded {1 setlinejoin 1 setlinecap} if} def 115.103 +3.8 setmiterlimit 115.104 +% Default Line colors 115.105 +/LCw {1 1 1} def 115.106 +/LCb {0 0 0} def 115.107 +/LCa {0 0 0} def 115.108 +/LC0 {1 0 0} def 115.109 +/LC1 {0 1 0} def 115.110 +/LC2 {0 0 1} def 115.111 +/LC3 {1 0 1} def 115.112 +/LC4 {0 1 1} def 115.113 +/LC5 {1 1 0} def 115.114 +/LC6 {0 0 0} def 115.115 +/LC7 {1 0.3 0} def 115.116 +/LC8 {0.5 0.5 0.5} def 115.117 +% Default Line Types 115.118 +/LTw {PL [] 1 setgray} def 115.119 +/LTb {BL [] LCb DL} def 115.120 +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 115.121 +/LT0 {PL [] LC0 DL} def 115.122 +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 115.123 +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 115.124 +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 115.125 +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 115.126 +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 115.127 +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 115.128 +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 115.129 +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 115.130 +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 115.131 +/Dia {stroke [] 0 setdash 2 copy vpt add M 115.132 + hpt neg vpt neg V hpt vpt neg V 115.133 + hpt vpt V hpt neg vpt V closepath stroke 115.134 + Pnt} def 115.135 +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 115.136 + currentpoint stroke M 115.137 + hpt neg vpt neg R hpt2 0 V stroke 115.138 + } def 115.139 +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 115.140 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 115.141 + hpt2 neg 0 V closepath stroke 115.142 + Pnt} def 115.143 +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 115.144 + hpt2 vpt2 neg V currentpoint stroke M 115.145 + hpt2 neg 0 R hpt2 vpt2 V stroke} def 115.146 +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 115.147 + hpt neg vpt -1.62 mul V 115.148 + hpt 2 mul 0 V 115.149 + hpt neg vpt 1.62 mul V closepath stroke 115.150 + Pnt} def 115.151 +/Star {2 copy Pls Crs} def 115.152 +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 115.153 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 115.154 + hpt2 neg 0 V closepath fill} def 115.155 +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 115.156 + hpt neg vpt -1.62 mul V 115.157 + hpt 2 mul 0 V 115.158 + hpt neg vpt 1.62 mul V closepath fill} def 115.159 +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 115.160 + hpt neg vpt 1.62 mul V 115.161 + hpt 2 mul 0 V 115.162 + hpt neg vpt -1.62 mul V closepath stroke 115.163 + Pnt} def 115.164 +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 115.165 + hpt neg vpt 1.62 mul V 115.166 + hpt 2 mul 0 V 115.167 + hpt neg vpt -1.62 mul V closepath fill} def 115.168 +/DiaF {stroke [] 0 setdash vpt add M 115.169 + hpt neg vpt neg V hpt vpt neg V 115.170 + hpt vpt V hpt neg vpt V closepath fill} def 115.171 +/Pent {stroke [] 0 setdash 2 copy gsave 115.172 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 115.173 + closepath stroke grestore Pnt} def 115.174 +/PentF {stroke [] 0 setdash gsave 115.175 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 115.176 + closepath fill grestore} def 115.177 +/Circle {stroke [] 0 setdash 2 copy 115.178 + hpt 0 360 arc stroke Pnt} def 115.179 +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 115.180 +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 115.181 +/C1 {BL [] 0 setdash 2 copy moveto 115.182 + 2 copy vpt 0 90 arc closepath fill 115.183 + vpt 0 360 arc closepath} bind def 115.184 +/C2 {BL [] 0 setdash 2 copy moveto 115.185 + 2 copy vpt 90 180 arc closepath fill 115.186 + vpt 0 360 arc closepath} bind def 115.187 +/C3 {BL [] 0 setdash 2 copy moveto 115.188 + 2 copy vpt 0 180 arc closepath fill 115.189 + vpt 0 360 arc closepath} bind def 115.190 +/C4 {BL [] 0 setdash 2 copy moveto 115.191 + 2 copy vpt 180 270 arc closepath fill 115.192 + vpt 0 360 arc closepath} bind def 115.193 +/C5 {BL [] 0 setdash 2 copy moveto 115.194 + 2 copy vpt 0 90 arc 115.195 + 2 copy moveto 115.196 + 2 copy vpt 180 270 arc closepath fill 115.197 + vpt 0 360 arc} bind def 115.198 +/C6 {BL [] 0 setdash 2 copy moveto 115.199 + 2 copy vpt 90 270 arc closepath fill 115.200 + vpt 0 360 arc closepath} bind def 115.201 +/C7 {BL [] 0 setdash 2 copy moveto 115.202 + 2 copy vpt 0 270 arc closepath fill 115.203 + vpt 0 360 arc closepath} bind def 115.204 +/C8 {BL [] 0 setdash 2 copy moveto 115.205 + 2 copy vpt 270 360 arc closepath fill 115.206 + vpt 0 360 arc closepath} bind def 115.207 +/C9 {BL [] 0 setdash 2 copy moveto 115.208 + 2 copy vpt 270 450 arc closepath fill 115.209 + vpt 0 360 arc closepath} bind def 115.210 +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 115.211 + 2 copy moveto 115.212 + 2 copy vpt 90 180 arc closepath fill 115.213 + vpt 0 360 arc closepath} bind def 115.214 +/C11 {BL [] 0 setdash 2 copy moveto 115.215 + 2 copy vpt 0 180 arc closepath fill 115.216 + 2 copy moveto 115.217 + 2 copy vpt 270 360 arc closepath fill 115.218 + vpt 0 360 arc closepath} bind def 115.219 +/C12 {BL [] 0 setdash 2 copy moveto 115.220 + 2 copy vpt 180 360 arc closepath fill 115.221 + vpt 0 360 arc closepath} bind def 115.222 +/C13 {BL [] 0 setdash 2 copy moveto 115.223 + 2 copy vpt 0 90 arc closepath fill 115.224 + 2 copy moveto 115.225 + 2 copy vpt 180 360 arc closepath fill 115.226 + vpt 0 360 arc closepath} bind def 115.227 +/C14 {BL [] 0 setdash 2 copy moveto 115.228 + 2 copy vpt 90 360 arc closepath fill 115.229 + vpt 0 360 arc} bind def 115.230 +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 115.231 + vpt 0 360 arc closepath} bind def 115.232 +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 115.233 + neg 0 rlineto closepath} bind def 115.234 +/Square {dup Rec} bind def 115.235 +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 115.236 +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 115.237 +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 115.238 +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 115.239 +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 115.240 +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 115.241 +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 115.242 + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 115.243 +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 115.244 +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 115.245 + 2 copy vpt Square fill Bsquare} bind def 115.246 +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 115.247 +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 115.248 +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 115.249 + Bsquare} bind def 115.250 +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 115.251 + Bsquare} bind def 115.252 +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 115.253 +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 115.254 + 2 copy vpt Square fill Bsquare} bind def 115.255 +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 115.256 + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 115.257 +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 115.258 +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 115.259 +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 115.260 +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 115.261 +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 115.262 +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 115.263 +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 115.264 +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 115.265 +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 115.266 +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 115.267 +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 115.268 +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 115.269 +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 115.270 +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 115.271 +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 115.272 +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 115.273 +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 115.274 +/DiaE {stroke [] 0 setdash vpt add M 115.275 + hpt neg vpt neg V hpt vpt neg V 115.276 + hpt vpt V hpt neg vpt V closepath stroke} def 115.277 +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 115.278 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 115.279 + hpt2 neg 0 V closepath stroke} def 115.280 +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 115.281 + hpt neg vpt -1.62 mul V 115.282 + hpt 2 mul 0 V 115.283 + hpt neg vpt 1.62 mul V closepath stroke} def 115.284 +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 115.285 + hpt neg vpt 1.62 mul V 115.286 + hpt 2 mul 0 V 115.287 + hpt neg vpt -1.62 mul V closepath stroke} def 115.288 +/PentE {stroke [] 0 setdash gsave 115.289 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 115.290 + closepath stroke grestore} def 115.291 +/CircE {stroke [] 0 setdash 115.292 + hpt 0 360 arc stroke} def 115.293 +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 115.294 +/DiaW {stroke [] 0 setdash vpt add M 115.295 + hpt neg vpt neg V hpt vpt neg V 115.296 + hpt vpt V hpt neg vpt V Opaque stroke} def 115.297 +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 115.298 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 115.299 + hpt2 neg 0 V Opaque stroke} def 115.300 +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 115.301 + hpt neg vpt -1.62 mul V 115.302 + hpt 2 mul 0 V 115.303 + hpt neg vpt 1.62 mul V Opaque stroke} def 115.304 +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 115.305 + hpt neg vpt 1.62 mul V 115.306 + hpt 2 mul 0 V 115.307 + hpt neg vpt -1.62 mul V Opaque stroke} def 115.308 +/PentW {stroke [] 0 setdash gsave 115.309 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 115.310 + Opaque stroke grestore} def 115.311 +/CircW {stroke [] 0 setdash 115.312 + hpt 0 360 arc Opaque stroke} def 115.313 +/BoxFill {gsave Rec 1 setgray fill grestore} def 115.314 +/Density { 115.315 + /Fillden exch def 115.316 + currentrgbcolor 115.317 + /ColB exch def /ColG exch def /ColR exch def 115.318 + /ColR ColR Fillden mul Fillden sub 1 add def 115.319 + /ColG ColG Fillden mul Fillden sub 1 add def 115.320 + /ColB ColB Fillden mul Fillden sub 1 add def 115.321 + ColR ColG ColB setrgbcolor} def 115.322 +/BoxColFill {gsave Rec PolyFill} def 115.323 +/PolyFill {gsave Density fill grestore grestore} def 115.324 +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 115.325 +% 115.326 +% PostScript Level 1 Pattern Fill routine for rectangles 115.327 +% Usage: x y w h s a XX PatternFill 115.328 +% x,y = lower left corner of box to be filled 115.329 +% w,h = width and height of box 115.330 +% a = angle in degrees between lines and x-axis 115.331 +% XX = 0/1 for no/yes cross-hatch 115.332 +% 115.333 +/PatternFill {gsave /PFa [ 9 2 roll ] def 115.334 + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 115.335 + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 115.336 + gsave 1 setgray fill grestore clip 115.337 + currentlinewidth 0.5 mul setlinewidth 115.338 + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 115.339 + 0 0 M PFa 5 get rotate PFs -2 div dup translate 115.340 + 0 1 PFs PFa 4 get div 1 add floor cvi 115.341 + {PFa 4 get mul 0 M 0 PFs V} for 115.342 + 0 PFa 6 get ne { 115.343 + 0 1 PFs PFa 4 get div 1 add floor cvi 115.344 + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 115.345 + } if 115.346 + stroke grestore} def 115.347 +% 115.348 +/languagelevel where 115.349 + {pop languagelevel} {1} ifelse 115.350 + 2 lt 115.351 + {/InterpretLevel1 true def} 115.352 + {/InterpretLevel1 Level1 def} 115.353 + ifelse 115.354 +% 115.355 +% PostScript level 2 pattern fill definitions 115.356 +% 115.357 +/Level2PatternFill { 115.358 +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 115.359 + bind def 115.360 +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 115.361 +<< Tile8x8 115.362 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 115.363 +>> matrix makepattern 115.364 +/Pat1 exch def 115.365 +<< Tile8x8 115.366 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 115.367 + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 115.368 +>> matrix makepattern 115.369 +/Pat2 exch def 115.370 +<< Tile8x8 115.371 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 115.372 + 8 8 L 8 0 L 0 0 L fill} 115.373 +>> matrix makepattern 115.374 +/Pat3 exch def 115.375 +<< Tile8x8 115.376 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 115.377 + 0 12 M 12 0 L stroke} 115.378 +>> matrix makepattern 115.379 +/Pat4 exch def 115.380 +<< Tile8x8 115.381 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 115.382 + 0 -4 M 12 8 L stroke} 115.383 +>> matrix makepattern 115.384 +/Pat5 exch def 115.385 +<< Tile8x8 115.386 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 115.387 + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 115.388 +>> matrix makepattern 115.389 +/Pat6 exch def 115.390 +<< Tile8x8 115.391 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 115.392 + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 115.393 +>> matrix makepattern 115.394 +/Pat7 exch def 115.395 +<< Tile8x8 115.396 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 115.397 + 12 0 M -4 8 L 12 4 M 0 10 L stroke} 115.398 +>> matrix makepattern 115.399 +/Pat8 exch def 115.400 +<< Tile8x8 115.401 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 115.402 + -4 0 M 12 8 L -4 4 M 8 10 L stroke} 115.403 +>> matrix makepattern 115.404 +/Pat9 exch def 115.405 +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 115.406 +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 115.407 +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 115.408 +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 115.409 +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 115.410 +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 115.411 +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 115.412 +} def 115.413 +% 115.414 +% 115.415 +%End of PostScript Level 2 code 115.416 +% 115.417 +/PatternBgnd { 115.418 + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 115.419 +} def 115.420 +% 115.421 +% Substitute for Level 2 pattern fill codes with 115.422 +% grayscale if Level 2 support is not selected. 115.423 +% 115.424 +/Level1PatternFill { 115.425 +/Pattern1 {0.250 Density} bind def 115.426 +/Pattern2 {0.500 Density} bind def 115.427 +/Pattern3 {0.750 Density} bind def 115.428 +/Pattern4 {0.125 Density} bind def 115.429 +/Pattern5 {0.375 Density} bind def 115.430 +/Pattern6 {0.625 Density} bind def 115.431 +/Pattern7 {0.875 Density} bind def 115.432 +} def 115.433 +% 115.434 +% Now test for support of Level 2 code 115.435 +% 115.436 +Level1 {Level1PatternFill} {Level2PatternFill} ifelse 115.437 +% 115.438 +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 115.439 +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 115.440 +currentdict end definefont pop 115.441 +/MFshow { 115.442 + { dup 5 get 3 ge 115.443 + { 5 get 3 eq {gsave} {grestore} ifelse } 115.444 + {dup dup 0 get findfont exch 1 get scalefont setfont 115.445 + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 115.446 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 115.447 + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 115.448 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 115.449 + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 115.450 + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 115.451 + pop aload pop M} ifelse }ifelse }ifelse } 115.452 + ifelse } 115.453 + forall} def 115.454 +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 115.455 +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 115.456 + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 115.457 + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 115.458 +/MLshow { currentpoint stroke M 115.459 + 0 exch R 115.460 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 115.461 +/MRshow { currentpoint stroke M 115.462 + exch dup MFwidth neg 3 -1 roll R 115.463 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 115.464 +/MCshow { currentpoint stroke M 115.465 + exch dup MFwidth -2 div 3 -1 roll R 115.466 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 115.467 +/XYsave { [( ) 1 2 true false 3 ()] } bind def 115.468 +/XYrestore { [( ) 1 2 true false 4 ()] } bind def 115.469 +end 115.470 +%%EndProlog 115.471 +%%Page: 1 1 115.472 +gnudict begin 115.473 +gsave 115.474 +doclip 115.475 +50 50 translate 115.476 +0.100 0.100 scale 115.477 +90 rotate 115.478 +0 -5040 translate 115.479 +0 setgray 115.480 +newpath 115.481 +(Helvetica) findfont 140 scalefont setfont 115.482 +1.000 UL 115.483 +LTb 115.484 +686 922 M 115.485 +63 0 V 115.486 +stroke 115.487 +602 922 M 115.488 +[ [(Helvetica) 140.0 0.0 true true 0 ( 50)] 115.489 +] -46.7 MRshow 115.490 +1.000 UL 115.491 +LTb 115.492 +686 1405 M 115.493 +63 0 V 115.494 +stroke 115.495 +602 1405 M 115.496 +[ [(Helvetica) 140.0 0.0 true true 0 ( 100)] 115.497 +] -46.7 MRshow 115.498 +1.000 UL 115.499 +LTb 115.500 +686 1888 M 115.501 +63 0 V 115.502 +stroke 115.503 +602 1888 M 115.504 +[ [(Helvetica) 140.0 0.0 true true 0 ( 150)] 115.505 +] -46.7 MRshow 115.506 +1.000 UL 115.507 +LTb 115.508 +686 2372 M 115.509 +63 0 V 115.510 +stroke 115.511 +602 2372 M 115.512 +[ [(Helvetica) 140.0 0.0 true true 0 ( 200)] 115.513 +] -46.7 MRshow 115.514 +1.000 UL 115.515 +LTb 115.516 +686 2855 M 115.517 +63 0 V 115.518 +stroke 115.519 +602 2855 M 115.520 +[ [(Helvetica) 140.0 0.0 true true 0 ( 250)] 115.521 +] -46.7 MRshow 115.522 +1.000 UL 115.523 +LTb 115.524 +686 448 M 115.525 +0 63 V 115.526 +stroke 115.527 +686 308 M 115.528 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 115.529 +] -46.7 MCshow 115.530 +1.000 UL 115.531 +LTb 115.532 +1109 448 M 115.533 +0 63 V 115.534 +stroke 115.535 +1109 308 M 115.536 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 115.537 +] -46.7 MCshow 115.538 +1.000 UL 115.539 +LTb 115.540 +1531 448 M 115.541 +0 63 V 115.542 +stroke 115.543 +1531 308 M 115.544 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 115.545 +] -46.7 MCshow 115.546 +1.000 UL 115.547 +LTb 115.548 +1954 448 M 115.549 +0 63 V 115.550 +stroke 115.551 +1954 308 M 115.552 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 115.553 +] -46.7 MCshow 115.554 +1.000 UL 115.555 +LTb 115.556 +2377 448 M 115.557 +0 63 V 115.558 +stroke 115.559 +2377 308 M 115.560 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 115.561 +] -46.7 MCshow 115.562 +1.000 UL 115.563 +LTb 115.564 +2799 448 M 115.565 +0 63 V 115.566 +stroke 115.567 +2799 308 M 115.568 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 115.569 +] -46.7 MCshow 115.570 +1.000 UL 115.571 +LTb 115.572 +3222 448 M 115.573 +0 63 V 115.574 +stroke 115.575 +3222 308 M 115.576 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 115.577 +] -46.7 MCshow 115.578 +1.000 UL 115.579 +LTb 115.580 +3644 448 M 115.581 +0 63 V 115.582 +stroke 115.583 +3644 308 M 115.584 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 115.585 +] -46.7 MCshow 115.586 +1.000 UL 115.587 +LTb 115.588 +4067 448 M 115.589 +0 63 V 115.590 +stroke 115.591 +4067 308 M 115.592 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 115.593 +] -46.7 MCshow 115.594 +1.000 UL 115.595 +LTb 115.596 +1.000 UL 115.597 +LTb 115.598 +686 2855 M 115.599 +686 448 L 115.600 +3381 0 V 115.601 +0 2407 R 115.602 +-3381 0 R 115.603 +stroke 115.604 +LCb setrgbcolor 115.605 +112 1651 M 115.606 +currentpoint gsave translate -270 rotate 0 0 moveto 115.607 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 115.608 +] -46.7 MCshow 115.609 +grestore 115.610 +LTb 115.611 +LCb setrgbcolor 115.612 +2376 98 M 115.613 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 115.614 +] -46.7 MCshow 115.615 +LTb 115.616 +1.000 UP 115.617 +1.000 UL 115.618 +LTb 115.619 +1.000 UL 115.620 +LTb 115.621 +770 511 N 115.622 +0 560 V 115.623 +1491 0 V 115.624 +0 -560 V 115.625 +770 511 L 115.626 +Z stroke 115.627 +770 1071 M 115.628 +1491 0 V 115.629 +% Begin plot #1 115.630 +stroke 115.631 +4.000 UL 115.632 +LT0 115.633 +LCb setrgbcolor 115.634 +1694 1001 M 115.635 +[ [(Helvetica) 140.0 0.0 true true 0 (80 Threads)] 115.636 +] -46.7 MRshow 115.637 +LT0 115.638 +1778 1001 M 115.639 +399 0 V 115.640 +154 1854 R 115.641 +25 -124 V 115.642 +3985 1744 L 115.643 +% End plot #1 115.644 +% Begin plot #2 115.645 +stroke 115.646 +LT1 115.647 +LCb setrgbcolor 115.648 +1694 861 M 115.649 +[ [(Helvetica) 140.0 0.0 true true 0 (160 Threads)] 115.650 +] -46.7 MRshow 115.651 +LT1 115.652 +1778 861 M 115.653 +399 0 V 115.654 +% End plot #2 115.655 +% Begin plot #3 115.656 +stroke 115.657 +LT2 115.658 +LCb setrgbcolor 115.659 +1694 721 M 115.660 +[ [(Helvetica) 140.0 0.0 true true 0 (320 Threads)] 115.661 +] -46.7 MRshow 115.662 +LT2 115.663 +1778 721 M 115.664 +399 0 V 115.665 +618 2134 R 115.666 +476 -856 V 115.667 +796 -271 V 115.668 +% End plot #3 115.669 +% Begin plot #4 115.670 +stroke 115.671 +LT3 115.672 +LCb setrgbcolor 115.673 +1694 581 M 115.674 +[ [(Helvetica) 140.0 0.0 true true 0 (640 Threads)] 115.675 +] -46.7 MRshow 115.676 +LT3 115.677 +1778 581 M 115.678 +399 0 V 115.679 +166 2274 R 115.680 +586 -716 V 115.681 +4067 1495 L 115.682 +% End plot #4 115.683 +stroke 115.684 +1.000 UL 115.685 +LTb 115.686 +686 2855 M 115.687 +686 448 L 115.688 +3381 0 V 115.689 +0 2407 R 115.690 +-3381 0 R 115.691 +1.000 UP 115.692 +stroke 115.693 +grestore 115.694 +end 115.695 +showpage 115.696 +%%Trailer 115.697 +%%DocumentFonts: Helvetica 115.698 +%%Pages: 1
116.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 116.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/plots_exec_vs_task_size/not_used/xoanon_pthreads_vthread_40core_80_160_320_640thds__o30000__perfCtrs.meas.key-out.eps Fri Sep 13 11:02:18 2013 -0700 116.3 @@ -0,0 +1,884 @@ 116.4 +%!PS-Adobe-2.0 116.5 +%%Title: xoanon_pthreads_vthread_40core_80_160_320_640thds__o30000__perfCtrs.meas.key-out.eps 116.6 +%%Creator: gnuplot 4.4 patchlevel 2 116.7 +%%CreationDate: Thu Jan 26 18:45:12 2012 116.8 +%%DocumentFonts: (atend) 116.9 +%%BoundingBox: 251 50 554 482 116.10 +%%Orientation: Landscape 116.11 +%%Pages: (atend) 116.12 +%%EndComments 116.13 +%%BeginProlog 116.14 +/gnudict 256 dict def 116.15 +gnudict begin 116.16 +% 116.17 +% The following true/false flags may be edited by hand if desired. 116.18 +% The unit line width and grayscale image gamma correction may also be changed. 116.19 +% 116.20 +/Color true def 116.21 +/Blacktext false def 116.22 +/Solid false def 116.23 +/Dashlength 1 def 116.24 +/Landscape true def 116.25 +/Level1 false def 116.26 +/Rounded false def 116.27 +/ClipToBoundingBox false def 116.28 +/TransparentPatterns false def 116.29 +/gnulinewidth 5.000 def 116.30 +/userlinewidth gnulinewidth def 116.31 +/Gamma 1.0 def 116.32 +% 116.33 +/vshift -46 def 116.34 +/dl1 { 116.35 + 10.0 Dashlength mul mul 116.36 + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 116.37 +} def 116.38 +/dl2 { 116.39 + 10.0 Dashlength mul mul 116.40 + Rounded { currentlinewidth 0.75 mul add } if 116.41 +} def 116.42 +/hpt_ 31.5 def 116.43 +/vpt_ 31.5 def 116.44 +/hpt hpt_ def 116.45 +/vpt vpt_ def 116.46 +Level1 {} { 116.47 +/SDict 10 dict def 116.48 +systemdict /pdfmark known not { 116.49 + userdict /pdfmark systemdict /cleartomark get put 116.50 +} if 116.51 +SDict begin [ 116.52 + /Title (xoanon_pthreads_vthread_40core_80_160_320_640thds__o30000__perfCtrs.meas.key-out.eps) 116.53 + /Subject (gnuplot plot) 116.54 + /Creator (gnuplot 4.4 patchlevel 2) 116.55 + /Author (msach) 116.56 +% /Producer (gnuplot) 116.57 +% /Keywords () 116.58 + /CreationDate (Thu Jan 26 18:45:12 2012) 116.59 + /DOCINFO pdfmark 116.60 +end 116.61 +} ifelse 116.62 +/doclip { 116.63 + ClipToBoundingBox { 116.64 + newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 116.65 + clip 116.66 + } if 116.67 +} def 116.68 +% 116.69 +% Gnuplot Prolog Version 4.4 (August 2010) 116.70 +% 116.71 +%/SuppressPDFMark true def 116.72 +% 116.73 +/M {moveto} bind def 116.74 +/L {lineto} bind def 116.75 +/R {rmoveto} bind def 116.76 +/V {rlineto} bind def 116.77 +/N {newpath moveto} bind def 116.78 +/Z {closepath} bind def 116.79 +/C {setrgbcolor} bind def 116.80 +/f {rlineto fill} bind def 116.81 +/g {setgray} bind def 116.82 +/Gshow {show} def % May be redefined later in the file to support UTF-8 116.83 +/vpt2 vpt 2 mul def 116.84 +/hpt2 hpt 2 mul def 116.85 +/Lshow {currentpoint stroke M 0 vshift R 116.86 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 116.87 +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 116.88 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 116.89 +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 116.90 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 116.91 +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 116.92 + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 116.93 +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 116.94 + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 116.95 +/BL {stroke userlinewidth 2 mul setlinewidth 116.96 + Rounded {1 setlinejoin 1 setlinecap} if} def 116.97 +/AL {stroke userlinewidth 2 div setlinewidth 116.98 + Rounded {1 setlinejoin 1 setlinecap} if} def 116.99 +/UL {dup gnulinewidth mul /userlinewidth exch def 116.100 + dup 1 lt {pop 1} if 10 mul /udl exch def} def 116.101 +/PL {stroke userlinewidth setlinewidth 116.102 + Rounded {1 setlinejoin 1 setlinecap} if} def 116.103 +3.8 setmiterlimit 116.104 +% Default Line colors 116.105 +/LCw {1 1 1} def 116.106 +/LCb {0 0 0} def 116.107 +/LCa {0 0 0} def 116.108 +/LC0 {1 0 0} def 116.109 +/LC1 {0 1 0} def 116.110 +/LC2 {0 0 1} def 116.111 +/LC3 {1 0 1} def 116.112 +/LC4 {0 1 1} def 116.113 +/LC5 {1 1 0} def 116.114 +/LC6 {0 0 0} def 116.115 +/LC7 {1 0.3 0} def 116.116 +/LC8 {0.5 0.5 0.5} def 116.117 +% Default Line Types 116.118 +/LTw {PL [] 1 setgray} def 116.119 +/LTb {BL [] LCb DL} def 116.120 +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 116.121 +/LT0 {PL [] LC0 DL} def 116.122 +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 116.123 +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 116.124 +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 116.125 +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 116.126 +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 116.127 +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 116.128 +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 116.129 +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 116.130 +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 116.131 +/Dia {stroke [] 0 setdash 2 copy vpt add M 116.132 + hpt neg vpt neg V hpt vpt neg V 116.133 + hpt vpt V hpt neg vpt V closepath stroke 116.134 + Pnt} def 116.135 +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 116.136 + currentpoint stroke M 116.137 + hpt neg vpt neg R hpt2 0 V stroke 116.138 + } def 116.139 +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 116.140 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 116.141 + hpt2 neg 0 V closepath stroke 116.142 + Pnt} def 116.143 +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 116.144 + hpt2 vpt2 neg V currentpoint stroke M 116.145 + hpt2 neg 0 R hpt2 vpt2 V stroke} def 116.146 +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 116.147 + hpt neg vpt -1.62 mul V 116.148 + hpt 2 mul 0 V 116.149 + hpt neg vpt 1.62 mul V closepath stroke 116.150 + Pnt} def 116.151 +/Star {2 copy Pls Crs} def 116.152 +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 116.153 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 116.154 + hpt2 neg 0 V closepath fill} def 116.155 +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 116.156 + hpt neg vpt -1.62 mul V 116.157 + hpt 2 mul 0 V 116.158 + hpt neg vpt 1.62 mul V closepath fill} def 116.159 +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 116.160 + hpt neg vpt 1.62 mul V 116.161 + hpt 2 mul 0 V 116.162 + hpt neg vpt -1.62 mul V closepath stroke 116.163 + Pnt} def 116.164 +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 116.165 + hpt neg vpt 1.62 mul V 116.166 + hpt 2 mul 0 V 116.167 + hpt neg vpt -1.62 mul V closepath fill} def 116.168 +/DiaF {stroke [] 0 setdash vpt add M 116.169 + hpt neg vpt neg V hpt vpt neg V 116.170 + hpt vpt V hpt neg vpt V closepath fill} def 116.171 +/Pent {stroke [] 0 setdash 2 copy gsave 116.172 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 116.173 + closepath stroke grestore Pnt} def 116.174 +/PentF {stroke [] 0 setdash gsave 116.175 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 116.176 + closepath fill grestore} def 116.177 +/Circle {stroke [] 0 setdash 2 copy 116.178 + hpt 0 360 arc stroke Pnt} def 116.179 +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 116.180 +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 116.181 +/C1 {BL [] 0 setdash 2 copy moveto 116.182 + 2 copy vpt 0 90 arc closepath fill 116.183 + vpt 0 360 arc closepath} bind def 116.184 +/C2 {BL [] 0 setdash 2 copy moveto 116.185 + 2 copy vpt 90 180 arc closepath fill 116.186 + vpt 0 360 arc closepath} bind def 116.187 +/C3 {BL [] 0 setdash 2 copy moveto 116.188 + 2 copy vpt 0 180 arc closepath fill 116.189 + vpt 0 360 arc closepath} bind def 116.190 +/C4 {BL [] 0 setdash 2 copy moveto 116.191 + 2 copy vpt 180 270 arc closepath fill 116.192 + vpt 0 360 arc closepath} bind def 116.193 +/C5 {BL [] 0 setdash 2 copy moveto 116.194 + 2 copy vpt 0 90 arc 116.195 + 2 copy moveto 116.196 + 2 copy vpt 180 270 arc closepath fill 116.197 + vpt 0 360 arc} bind def 116.198 +/C6 {BL [] 0 setdash 2 copy moveto 116.199 + 2 copy vpt 90 270 arc closepath fill 116.200 + vpt 0 360 arc closepath} bind def 116.201 +/C7 {BL [] 0 setdash 2 copy moveto 116.202 + 2 copy vpt 0 270 arc closepath fill 116.203 + vpt 0 360 arc closepath} bind def 116.204 +/C8 {BL [] 0 setdash 2 copy moveto 116.205 + 2 copy vpt 270 360 arc closepath fill 116.206 + vpt 0 360 arc closepath} bind def 116.207 +/C9 {BL [] 0 setdash 2 copy moveto 116.208 + 2 copy vpt 270 450 arc closepath fill 116.209 + vpt 0 360 arc closepath} bind def 116.210 +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 116.211 + 2 copy moveto 116.212 + 2 copy vpt 90 180 arc closepath fill 116.213 + vpt 0 360 arc closepath} bind def 116.214 +/C11 {BL [] 0 setdash 2 copy moveto 116.215 + 2 copy vpt 0 180 arc closepath fill 116.216 + 2 copy moveto 116.217 + 2 copy vpt 270 360 arc closepath fill 116.218 + vpt 0 360 arc closepath} bind def 116.219 +/C12 {BL [] 0 setdash 2 copy moveto 116.220 + 2 copy vpt 180 360 arc closepath fill 116.221 + vpt 0 360 arc closepath} bind def 116.222 +/C13 {BL [] 0 setdash 2 copy moveto 116.223 + 2 copy vpt 0 90 arc closepath fill 116.224 + 2 copy moveto 116.225 + 2 copy vpt 180 360 arc closepath fill 116.226 + vpt 0 360 arc closepath} bind def 116.227 +/C14 {BL [] 0 setdash 2 copy moveto 116.228 + 2 copy vpt 90 360 arc closepath fill 116.229 + vpt 0 360 arc} bind def 116.230 +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 116.231 + vpt 0 360 arc closepath} bind def 116.232 +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 116.233 + neg 0 rlineto closepath} bind def 116.234 +/Square {dup Rec} bind def 116.235 +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 116.236 +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 116.237 +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 116.238 +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 116.239 +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 116.240 +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 116.241 +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 116.242 + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 116.243 +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 116.244 +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 116.245 + 2 copy vpt Square fill Bsquare} bind def 116.246 +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 116.247 +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 116.248 +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 116.249 + Bsquare} bind def 116.250 +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 116.251 + Bsquare} bind def 116.252 +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 116.253 +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 116.254 + 2 copy vpt Square fill Bsquare} bind def 116.255 +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 116.256 + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 116.257 +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 116.258 +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 116.259 +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 116.260 +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 116.261 +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 116.262 +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 116.263 +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 116.264 +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 116.265 +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 116.266 +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 116.267 +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 116.268 +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 116.269 +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 116.270 +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 116.271 +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 116.272 +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 116.273 +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 116.274 +/DiaE {stroke [] 0 setdash vpt add M 116.275 + hpt neg vpt neg V hpt vpt neg V 116.276 + hpt vpt V hpt neg vpt V closepath stroke} def 116.277 +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 116.278 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 116.279 + hpt2 neg 0 V closepath stroke} def 116.280 +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 116.281 + hpt neg vpt -1.62 mul V 116.282 + hpt 2 mul 0 V 116.283 + hpt neg vpt 1.62 mul V closepath stroke} def 116.284 +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 116.285 + hpt neg vpt 1.62 mul V 116.286 + hpt 2 mul 0 V 116.287 + hpt neg vpt -1.62 mul V closepath stroke} def 116.288 +/PentE {stroke [] 0 setdash gsave 116.289 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 116.290 + closepath stroke grestore} def 116.291 +/CircE {stroke [] 0 setdash 116.292 + hpt 0 360 arc stroke} def 116.293 +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 116.294 +/DiaW {stroke [] 0 setdash vpt add M 116.295 + hpt neg vpt neg V hpt vpt neg V 116.296 + hpt vpt V hpt neg vpt V Opaque stroke} def 116.297 +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 116.298 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 116.299 + hpt2 neg 0 V Opaque stroke} def 116.300 +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 116.301 + hpt neg vpt -1.62 mul V 116.302 + hpt 2 mul 0 V 116.303 + hpt neg vpt 1.62 mul V Opaque stroke} def 116.304 +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 116.305 + hpt neg vpt 1.62 mul V 116.306 + hpt 2 mul 0 V 116.307 + hpt neg vpt -1.62 mul V Opaque stroke} def 116.308 +/PentW {stroke [] 0 setdash gsave 116.309 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 116.310 + Opaque stroke grestore} def 116.311 +/CircW {stroke [] 0 setdash 116.312 + hpt 0 360 arc Opaque stroke} def 116.313 +/BoxFill {gsave Rec 1 setgray fill grestore} def 116.314 +/Density { 116.315 + /Fillden exch def 116.316 + currentrgbcolor 116.317 + /ColB exch def /ColG exch def /ColR exch def 116.318 + /ColR ColR Fillden mul Fillden sub 1 add def 116.319 + /ColG ColG Fillden mul Fillden sub 1 add def 116.320 + /ColB ColB Fillden mul Fillden sub 1 add def 116.321 + ColR ColG ColB setrgbcolor} def 116.322 +/BoxColFill {gsave Rec PolyFill} def 116.323 +/PolyFill {gsave Density fill grestore grestore} def 116.324 +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 116.325 +% 116.326 +% PostScript Level 1 Pattern Fill routine for rectangles 116.327 +% Usage: x y w h s a XX PatternFill 116.328 +% x,y = lower left corner of box to be filled 116.329 +% w,h = width and height of box 116.330 +% a = angle in degrees between lines and x-axis 116.331 +% XX = 0/1 for no/yes cross-hatch 116.332 +% 116.333 +/PatternFill {gsave /PFa [ 9 2 roll ] def 116.334 + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 116.335 + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 116.336 + gsave 1 setgray fill grestore clip 116.337 + currentlinewidth 0.5 mul setlinewidth 116.338 + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 116.339 + 0 0 M PFa 5 get rotate PFs -2 div dup translate 116.340 + 0 1 PFs PFa 4 get div 1 add floor cvi 116.341 + {PFa 4 get mul 0 M 0 PFs V} for 116.342 + 0 PFa 6 get ne { 116.343 + 0 1 PFs PFa 4 get div 1 add floor cvi 116.344 + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 116.345 + } if 116.346 + stroke grestore} def 116.347 +% 116.348 +/languagelevel where 116.349 + {pop languagelevel} {1} ifelse 116.350 + 2 lt 116.351 + {/InterpretLevel1 true def} 116.352 + {/InterpretLevel1 Level1 def} 116.353 + ifelse 116.354 +% 116.355 +% PostScript level 2 pattern fill definitions 116.356 +% 116.357 +/Level2PatternFill { 116.358 +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 116.359 + bind def 116.360 +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 116.361 +<< Tile8x8 116.362 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 116.363 +>> matrix makepattern 116.364 +/Pat1 exch def 116.365 +<< Tile8x8 116.366 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 116.367 + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 116.368 +>> matrix makepattern 116.369 +/Pat2 exch def 116.370 +<< Tile8x8 116.371 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 116.372 + 8 8 L 8 0 L 0 0 L fill} 116.373 +>> matrix makepattern 116.374 +/Pat3 exch def 116.375 +<< Tile8x8 116.376 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 116.377 + 0 12 M 12 0 L stroke} 116.378 +>> matrix makepattern 116.379 +/Pat4 exch def 116.380 +<< Tile8x8 116.381 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 116.382 + 0 -4 M 12 8 L stroke} 116.383 +>> matrix makepattern 116.384 +/Pat5 exch def 116.385 +<< Tile8x8 116.386 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 116.387 + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 116.388 +>> matrix makepattern 116.389 +/Pat6 exch def 116.390 +<< Tile8x8 116.391 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 116.392 + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 116.393 +>> matrix makepattern 116.394 +/Pat7 exch def 116.395 +<< Tile8x8 116.396 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 116.397 + 12 0 M -4 8 L 12 4 M 0 10 L stroke} 116.398 +>> matrix makepattern 116.399 +/Pat8 exch def 116.400 +<< Tile8x8 116.401 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 116.402 + -4 0 M 12 8 L -4 4 M 8 10 L stroke} 116.403 +>> matrix makepattern 116.404 +/Pat9 exch def 116.405 +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 116.406 +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 116.407 +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 116.408 +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 116.409 +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 116.410 +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 116.411 +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 116.412 +} def 116.413 +% 116.414 +% 116.415 +%End of PostScript Level 2 code 116.416 +% 116.417 +/PatternBgnd { 116.418 + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 116.419 +} def 116.420 +% 116.421 +% Substitute for Level 2 pattern fill codes with 116.422 +% grayscale if Level 2 support is not selected. 116.423 +% 116.424 +/Level1PatternFill { 116.425 +/Pattern1 {0.250 Density} bind def 116.426 +/Pattern2 {0.500 Density} bind def 116.427 +/Pattern3 {0.750 Density} bind def 116.428 +/Pattern4 {0.125 Density} bind def 116.429 +/Pattern5 {0.375 Density} bind def 116.430 +/Pattern6 {0.625 Density} bind def 116.431 +/Pattern7 {0.875 Density} bind def 116.432 +} def 116.433 +% 116.434 +% Now test for support of Level 2 code 116.435 +% 116.436 +Level1 {Level1PatternFill} {Level2PatternFill} ifelse 116.437 +% 116.438 +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 116.439 +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 116.440 +currentdict end definefont pop 116.441 +/MFshow { 116.442 + { dup 5 get 3 ge 116.443 + { 5 get 3 eq {gsave} {grestore} ifelse } 116.444 + {dup dup 0 get findfont exch 1 get scalefont setfont 116.445 + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 116.446 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 116.447 + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 116.448 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 116.449 + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 116.450 + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 116.451 + pop aload pop M} ifelse }ifelse }ifelse } 116.452 + ifelse } 116.453 + forall} def 116.454 +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 116.455 +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 116.456 + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 116.457 + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 116.458 +/MLshow { currentpoint stroke M 116.459 + 0 exch R 116.460 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 116.461 +/MRshow { currentpoint stroke M 116.462 + exch dup MFwidth neg 3 -1 roll R 116.463 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 116.464 +/MCshow { currentpoint stroke M 116.465 + exch dup MFwidth -2 div 3 -1 roll R 116.466 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 116.467 +/XYsave { [( ) 1 2 true false 3 ()] } bind def 116.468 +/XYrestore { [( ) 1 2 true false 4 ()] } bind def 116.469 +end 116.470 +%%EndProlog 116.471 +%%Page: 1 1 116.472 +gnudict begin 116.473 +gsave 116.474 +doclip 116.475 +50 50 translate 116.476 +0.100 0.100 scale 116.477 +90 rotate 116.478 +0 -5040 translate 116.479 +0 setgray 116.480 +newpath 116.481 +(Helvetica) findfont 140 scalefont setfont 116.482 +1.000 UL 116.483 +LTb 116.484 +686 922 M 116.485 +63 0 V 116.486 +stroke 116.487 +602 922 M 116.488 +[ [(Helvetica) 140.0 0.0 true true 0 ( 50)] 116.489 +] -46.7 MRshow 116.490 +1.000 UL 116.491 +LTb 116.492 +686 1405 M 116.493 +63 0 V 116.494 +stroke 116.495 +602 1405 M 116.496 +[ [(Helvetica) 140.0 0.0 true true 0 ( 100)] 116.497 +] -46.7 MRshow 116.498 +1.000 UL 116.499 +LTb 116.500 +686 1888 M 116.501 +63 0 V 116.502 +stroke 116.503 +602 1888 M 116.504 +[ [(Helvetica) 140.0 0.0 true true 0 ( 150)] 116.505 +] -46.7 MRshow 116.506 +1.000 UL 116.507 +LTb 116.508 +686 2372 M 116.509 +63 0 V 116.510 +stroke 116.511 +602 2372 M 116.512 +[ [(Helvetica) 140.0 0.0 true true 0 ( 200)] 116.513 +] -46.7 MRshow 116.514 +1.000 UL 116.515 +LTb 116.516 +686 2855 M 116.517 +63 0 V 116.518 +stroke 116.519 +602 2855 M 116.520 +[ [(Helvetica) 140.0 0.0 true true 0 ( 250)] 116.521 +] -46.7 MRshow 116.522 +1.000 UL 116.523 +LTb 116.524 +686 448 M 116.525 +0 63 V 116.526 +stroke 116.527 +686 308 M 116.528 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 116.529 +] -46.7 MCshow 116.530 +1.000 UL 116.531 +LTb 116.532 +1159 448 M 116.533 +0 63 V 116.534 +stroke 116.535 +1159 308 M 116.536 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 116.537 +] -46.7 MCshow 116.538 +1.000 UL 116.539 +LTb 116.540 +1631 448 M 116.541 +0 63 V 116.542 +stroke 116.543 +1631 308 M 116.544 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 116.545 +] -46.7 MCshow 116.546 +1.000 UL 116.547 +LTb 116.548 +2104 448 M 116.549 +0 63 V 116.550 +stroke 116.551 +2104 308 M 116.552 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 116.553 +] -46.7 MCshow 116.554 +1.000 UL 116.555 +LTb 116.556 +2576 448 M 116.557 +0 63 V 116.558 +stroke 116.559 +2576 308 M 116.560 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 116.561 +] -46.7 MCshow 116.562 +1.000 UL 116.563 +LTb 116.564 +1.000 UL 116.565 +LTb 116.566 +686 2855 M 116.567 +686 448 L 116.568 +1890 0 V 116.569 +0 2407 R 116.570 +-1890 0 R 116.571 +stroke 116.572 +LCb setrgbcolor 116.573 +112 1651 M 116.574 +currentpoint gsave translate -270 rotate 0 0 moveto 116.575 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 116.576 +] -46.7 MCshow 116.577 +grestore 116.578 +LTb 116.579 +LCb setrgbcolor 116.580 +1631 98 M 116.581 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 116.582 +] -46.7 MCshow 116.583 +LTb 116.584 +1.000 UP 116.585 +1.000 UL 116.586 +LTb 116.587 +LCb setrgbcolor 116.588 +3489 2785 M 116.589 +[ [(Helvetica) 140.0 0.0 true true 0 (pthreads)] 116.590 +] -46.7 MCshow 116.591 +LTb 116.592 +1.000 UL 116.593 +LTb 116.594 +2744 2155 N 116.595 +0 700 V 116.596 +1491 0 V 116.597 +0 -700 V 116.598 +-1491 0 V 116.599 +Z stroke 116.600 +2744 2715 M 116.601 +1491 0 V 116.602 +% Begin plot #1 116.603 +stroke 116.604 +4.000 UL 116.605 +LT5 116.606 +LC7 setrgbcolor 116.607 +LCb setrgbcolor 116.608 +3668 2645 M 116.609 +[ [(Helvetica) 140.0 0.0 true true 0 (80 Threads)] 116.610 +] -46.7 MRshow 116.611 +LT5 116.612 +LC7 setrgbcolor 116.613 +3752 2645 M 116.614 +399 0 V 116.615 +1272 2855 M 116.616 +371 -919 V 116.617 +933 -698 V 116.618 +% End plot #1 116.619 +% Begin plot #2 116.620 +stroke 116.621 +LT6 116.622 +LCb setrgbcolor 116.623 +3668 2505 M 116.624 +[ [(Helvetica) 140.0 0.0 true true 0 (160 Threads)] 116.625 +] -46.7 MRshow 116.626 +LT6 116.627 +3752 2505 M 116.628 +399 0 V 116.629 +1280 2855 M 116.630 +1731 1723 L 116.631 +845 -658 V 116.632 +% End plot #2 116.633 +% Begin plot #3 116.634 +stroke 116.635 +LT7 116.636 +LC1 setrgbcolor 116.637 +LCb setrgbcolor 116.638 +3668 2365 M 116.639 +[ [(Helvetica) 140.0 0.0 true true 0 (320 Threads)] 116.640 +] -46.7 MRshow 116.641 +LT7 116.642 +LC1 setrgbcolor 116.643 +3752 2365 M 116.644 +399 0 V 116.645 +1096 2855 M 116.646 +95 -542 V 116.647 +439 -867 V 116.648 +2531 870 L 116.649 +% End plot #3 116.650 +% Begin plot #4 116.651 +stroke 116.652 +LT8 116.653 +LCb setrgbcolor 116.654 +3668 2225 M 116.655 +[ [(Helvetica) 140.0 0.0 true true 0 (640 Threads)] 116.656 +] -46.7 MRshow 116.657 +LT8 116.658 +3752 2225 M 116.659 +399 0 V 116.660 +1310 2855 M 116.661 +320 -574 V 116.662 +2543 1207 L 116.663 +% End plot #4 116.664 +stroke 116.665 +1.000 UL 116.666 +LTb 116.667 +686 2855 M 116.668 +686 448 L 116.669 +1890 0 V 116.670 +0 2407 R 116.671 +-1890 0 R 116.672 +1.000 UP 116.673 +686 922 M 116.674 +63 0 V 116.675 +stroke 116.676 +602 922 M 116.677 +[ [(Helvetica) 140.0 0.0 true true 0 ( 50)] 116.678 +] -46.7 MRshow 116.679 +1.000 UL 116.680 +LTb 116.681 +686 1405 M 116.682 +63 0 V 116.683 +stroke 116.684 +602 1405 M 116.685 +[ [(Helvetica) 140.0 0.0 true true 0 ( 100)] 116.686 +] -46.7 MRshow 116.687 +1.000 UL 116.688 +LTb 116.689 +686 1888 M 116.690 +63 0 V 116.691 +stroke 116.692 +602 1888 M 116.693 +[ [(Helvetica) 140.0 0.0 true true 0 ( 150)] 116.694 +] -46.7 MRshow 116.695 +1.000 UL 116.696 +LTb 116.697 +686 2372 M 116.698 +63 0 V 116.699 +stroke 116.700 +602 2372 M 116.701 +[ [(Helvetica) 140.0 0.0 true true 0 ( 200)] 116.702 +] -46.7 MRshow 116.703 +1.000 UL 116.704 +LTb 116.705 +686 2855 M 116.706 +63 0 V 116.707 +stroke 116.708 +602 2855 M 116.709 +[ [(Helvetica) 140.0 0.0 true true 0 ( 250)] 116.710 +] -46.7 MRshow 116.711 +1.000 UL 116.712 +LTb 116.713 +686 448 M 116.714 +0 63 V 116.715 +stroke 116.716 +686 308 M 116.717 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 116.718 +] -46.7 MCshow 116.719 +1.000 UL 116.720 +LTb 116.721 +1159 448 M 116.722 +0 63 V 116.723 +stroke 116.724 +1159 308 M 116.725 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 116.726 +] -46.7 MCshow 116.727 +1.000 UL 116.728 +LTb 116.729 +1631 448 M 116.730 +0 63 V 116.731 +stroke 116.732 +1631 308 M 116.733 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 116.734 +] -46.7 MCshow 116.735 +1.000 UL 116.736 +LTb 116.737 +2104 448 M 116.738 +0 63 V 116.739 +stroke 116.740 +2104 308 M 116.741 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 116.742 +] -46.7 MCshow 116.743 +1.000 UL 116.744 +LTb 116.745 +2576 448 M 116.746 +0 63 V 116.747 +stroke 116.748 +2576 308 M 116.749 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 116.750 +] -46.7 MCshow 116.751 +1.000 UL 116.752 +LTb 116.753 +1.000 UL 116.754 +LTb 116.755 +686 2855 M 116.756 +686 448 L 116.757 +1890 0 V 116.758 +0 2407 R 116.759 +-1890 0 R 116.760 +stroke 116.761 +LCb setrgbcolor 116.762 +112 1651 M 116.763 +currentpoint gsave translate -270 rotate 0 0 moveto 116.764 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 116.765 +] -46.7 MCshow 116.766 +grestore 116.767 +LTb 116.768 +LCb setrgbcolor 116.769 +1631 98 M 116.770 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 116.771 +] -46.7 MCshow 116.772 +LTb 116.773 +1.000 UP 116.774 +1.000 UL 116.775 +LTb 116.776 +LCb setrgbcolor 116.777 +3489 1931 M 116.778 +[ [(Helvetica) 140.0 0.0 true true 0 (Vthread)] 116.779 +] -46.7 MCshow 116.780 +LTb 116.781 +1.000 UL 116.782 +LTb 116.783 +2744 1301 N 116.784 +0 700 V 116.785 +1491 0 V 116.786 +0 -700 V 116.787 +-1491 0 V 116.788 +Z stroke 116.789 +2744 1861 M 116.790 +1491 0 V 116.791 +% Begin plot #1 116.792 +stroke 116.793 +4.000 UL 116.794 +LT0 116.795 +LCb setrgbcolor 116.796 +3668 1791 M 116.797 +[ [(Helvetica) 140.0 0.0 true true 0 (80 Threads)] 116.798 +] -46.7 MRshow 116.799 +LT0 116.800 +3752 1791 M 116.801 +399 0 V 116.802 +718 626 M 116.803 +12 -61 V 116.804 +22 -36 V 116.805 +42 -37 V 116.806 +86 -17 V 116.807 +169 -13 V 116.808 +341 -7 V 116.809 +681 -2 V 116.810 +505 -1 V 116.811 +% End plot #1 116.812 +% Begin plot #2 116.813 +stroke 116.814 +LT2 116.815 +LCb setrgbcolor 116.816 +3668 1651 M 116.817 +[ [(Helvetica) 140.0 0.0 true true 0 (160 Threads)] 116.818 +] -46.7 MRshow 116.819 +LT2 116.820 +3752 1651 M 116.821 +399 0 V 116.822 +718 575 M 116.823 +13 4 V 116.824 +20 -82 V 116.825 +43 -20 V 116.826 +85 -6 V 116.827 +170 -12 V 116.828 +340 -4 V 116.829 +681 -4 V 116.830 +506 -1 V 116.831 +% End plot #2 116.832 +% Begin plot #3 116.833 +stroke 116.834 +LT3 116.835 +LCb setrgbcolor 116.836 +3668 1511 M 116.837 +[ [(Helvetica) 140.0 0.0 true true 0 (320 Threads)] 116.838 +] -46.7 MRshow 116.839 +LT3 116.840 +3752 1511 M 116.841 +399 0 V 116.842 +717 581 M 116.843 +13 -38 V 116.844 +23 -9 V 116.845 +42 -41 V 116.846 +85 -19 V 116.847 +169 -11 V 116.848 +341 -7 V 116.849 +680 -5 V 116.850 +506 -1 V 116.851 +% End plot #3 116.852 +% Begin plot #4 116.853 +stroke 116.854 +LT4 116.855 +LCb setrgbcolor 116.856 +3668 1371 M 116.857 +[ [(Helvetica) 140.0 0.0 true true 0 (640 Threads)] 116.858 +] -46.7 MRshow 116.859 +LT4 116.860 +3752 1371 M 116.861 +399 0 V 116.862 +718 589 M 116.863 +13 -41 V 116.864 +21 -29 V 116.865 +43 -20 V 116.866 +85 -28 V 116.867 +169 -12 V 116.868 +341 -4 V 116.869 +680 -4 V 116.870 +506 0 V 116.871 +% End plot #4 116.872 +stroke 116.873 +1.000 UL 116.874 +LTb 116.875 +686 2855 M 116.876 +686 448 L 116.877 +1890 0 V 116.878 +0 2407 R 116.879 +-1890 0 R 116.880 +1.000 UP 116.881 +stroke 116.882 +grestore 116.883 +end 116.884 +showpage 116.885 +%%Trailer 116.886 +%%DocumentFonts: Helvetica 116.887 +%%Pages: 1
117.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 117.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/plots_exec_vs_task_size/not_used/xoanon_pthreads_vthread_40core_80_160_320_640thds__o30000__perfCtrs.meas.key-right.eps Fri Sep 13 11:02:18 2013 -0700 117.3 @@ -0,0 +1,948 @@ 117.4 +%!PS-Adobe-2.0 117.5 +%%Title: xoanon_pthreads_vthread_40core_80_160_320_640thds__o30000__perfCtrs.meas.key-right.eps 117.6 +%%Creator: gnuplot 4.4 patchlevel 2 117.7 +%%CreationDate: Thu Jan 26 18:32:06 2012 117.8 +%%DocumentFonts: (atend) 117.9 +%%BoundingBox: 251 50 554 482 117.10 +%%Orientation: Landscape 117.11 +%%Pages: (atend) 117.12 +%%EndComments 117.13 +%%BeginProlog 117.14 +/gnudict 256 dict def 117.15 +gnudict begin 117.16 +% 117.17 +% The following true/false flags may be edited by hand if desired. 117.18 +% The unit line width and grayscale image gamma correction may also be changed. 117.19 +% 117.20 +/Color true def 117.21 +/Blacktext false def 117.22 +/Solid false def 117.23 +/Dashlength 1 def 117.24 +/Landscape true def 117.25 +/Level1 false def 117.26 +/Rounded false def 117.27 +/ClipToBoundingBox false def 117.28 +/TransparentPatterns false def 117.29 +/gnulinewidth 5.000 def 117.30 +/userlinewidth gnulinewidth def 117.31 +/Gamma 1.0 def 117.32 +% 117.33 +/vshift -46 def 117.34 +/dl1 { 117.35 + 10.0 Dashlength mul mul 117.36 + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 117.37 +} def 117.38 +/dl2 { 117.39 + 10.0 Dashlength mul mul 117.40 + Rounded { currentlinewidth 0.75 mul add } if 117.41 +} def 117.42 +/hpt_ 31.5 def 117.43 +/vpt_ 31.5 def 117.44 +/hpt hpt_ def 117.45 +/vpt vpt_ def 117.46 +Level1 {} { 117.47 +/SDict 10 dict def 117.48 +systemdict /pdfmark known not { 117.49 + userdict /pdfmark systemdict /cleartomark get put 117.50 +} if 117.51 +SDict begin [ 117.52 + /Title (xoanon_pthreads_vthread_40core_80_160_320_640thds__o30000__perfCtrs.meas.key-right.eps) 117.53 + /Subject (gnuplot plot) 117.54 + /Creator (gnuplot 4.4 patchlevel 2) 117.55 + /Author (msach) 117.56 +% /Producer (gnuplot) 117.57 +% /Keywords () 117.58 + /CreationDate (Thu Jan 26 18:32:06 2012) 117.59 + /DOCINFO pdfmark 117.60 +end 117.61 +} ifelse 117.62 +/doclip { 117.63 + ClipToBoundingBox { 117.64 + newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 117.65 + clip 117.66 + } if 117.67 +} def 117.68 +% 117.69 +% Gnuplot Prolog Version 4.4 (August 2010) 117.70 +% 117.71 +%/SuppressPDFMark true def 117.72 +% 117.73 +/M {moveto} bind def 117.74 +/L {lineto} bind def 117.75 +/R {rmoveto} bind def 117.76 +/V {rlineto} bind def 117.77 +/N {newpath moveto} bind def 117.78 +/Z {closepath} bind def 117.79 +/C {setrgbcolor} bind def 117.80 +/f {rlineto fill} bind def 117.81 +/g {setgray} bind def 117.82 +/Gshow {show} def % May be redefined later in the file to support UTF-8 117.83 +/vpt2 vpt 2 mul def 117.84 +/hpt2 hpt 2 mul def 117.85 +/Lshow {currentpoint stroke M 0 vshift R 117.86 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 117.87 +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 117.88 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 117.89 +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 117.90 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 117.91 +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 117.92 + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 117.93 +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 117.94 + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 117.95 +/BL {stroke userlinewidth 2 mul setlinewidth 117.96 + Rounded {1 setlinejoin 1 setlinecap} if} def 117.97 +/AL {stroke userlinewidth 2 div setlinewidth 117.98 + Rounded {1 setlinejoin 1 setlinecap} if} def 117.99 +/UL {dup gnulinewidth mul /userlinewidth exch def 117.100 + dup 1 lt {pop 1} if 10 mul /udl exch def} def 117.101 +/PL {stroke userlinewidth setlinewidth 117.102 + Rounded {1 setlinejoin 1 setlinecap} if} def 117.103 +3.8 setmiterlimit 117.104 +% Default Line colors 117.105 +/LCw {1 1 1} def 117.106 +/LCb {0 0 0} def 117.107 +/LCa {0 0 0} def 117.108 +/LC0 {1 0 0} def 117.109 +/LC1 {0 1 0} def 117.110 +/LC2 {0 0 1} def 117.111 +/LC3 {1 0 1} def 117.112 +/LC4 {0 1 1} def 117.113 +/LC5 {1 1 0} def 117.114 +/LC6 {0 0 0} def 117.115 +/LC7 {1 0.3 0} def 117.116 +/LC8 {0.5 0.5 0.5} def 117.117 +% Default Line Types 117.118 +/LTw {PL [] 1 setgray} def 117.119 +/LTb {BL [] LCb DL} def 117.120 +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 117.121 +/LT0 {PL [] LC0 DL} def 117.122 +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 117.123 +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 117.124 +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 117.125 +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 117.126 +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 117.127 +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 117.128 +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 117.129 +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 117.130 +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 117.131 +/Dia {stroke [] 0 setdash 2 copy vpt add M 117.132 + hpt neg vpt neg V hpt vpt neg V 117.133 + hpt vpt V hpt neg vpt V closepath stroke 117.134 + Pnt} def 117.135 +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 117.136 + currentpoint stroke M 117.137 + hpt neg vpt neg R hpt2 0 V stroke 117.138 + } def 117.139 +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 117.140 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 117.141 + hpt2 neg 0 V closepath stroke 117.142 + Pnt} def 117.143 +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 117.144 + hpt2 vpt2 neg V currentpoint stroke M 117.145 + hpt2 neg 0 R hpt2 vpt2 V stroke} def 117.146 +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 117.147 + hpt neg vpt -1.62 mul V 117.148 + hpt 2 mul 0 V 117.149 + hpt neg vpt 1.62 mul V closepath stroke 117.150 + Pnt} def 117.151 +/Star {2 copy Pls Crs} def 117.152 +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 117.153 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 117.154 + hpt2 neg 0 V closepath fill} def 117.155 +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 117.156 + hpt neg vpt -1.62 mul V 117.157 + hpt 2 mul 0 V 117.158 + hpt neg vpt 1.62 mul V closepath fill} def 117.159 +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 117.160 + hpt neg vpt 1.62 mul V 117.161 + hpt 2 mul 0 V 117.162 + hpt neg vpt -1.62 mul V closepath stroke 117.163 + Pnt} def 117.164 +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 117.165 + hpt neg vpt 1.62 mul V 117.166 + hpt 2 mul 0 V 117.167 + hpt neg vpt -1.62 mul V closepath fill} def 117.168 +/DiaF {stroke [] 0 setdash vpt add M 117.169 + hpt neg vpt neg V hpt vpt neg V 117.170 + hpt vpt V hpt neg vpt V closepath fill} def 117.171 +/Pent {stroke [] 0 setdash 2 copy gsave 117.172 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 117.173 + closepath stroke grestore Pnt} def 117.174 +/PentF {stroke [] 0 setdash gsave 117.175 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 117.176 + closepath fill grestore} def 117.177 +/Circle {stroke [] 0 setdash 2 copy 117.178 + hpt 0 360 arc stroke Pnt} def 117.179 +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 117.180 +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 117.181 +/C1 {BL [] 0 setdash 2 copy moveto 117.182 + 2 copy vpt 0 90 arc closepath fill 117.183 + vpt 0 360 arc closepath} bind def 117.184 +/C2 {BL [] 0 setdash 2 copy moveto 117.185 + 2 copy vpt 90 180 arc closepath fill 117.186 + vpt 0 360 arc closepath} bind def 117.187 +/C3 {BL [] 0 setdash 2 copy moveto 117.188 + 2 copy vpt 0 180 arc closepath fill 117.189 + vpt 0 360 arc closepath} bind def 117.190 +/C4 {BL [] 0 setdash 2 copy moveto 117.191 + 2 copy vpt 180 270 arc closepath fill 117.192 + vpt 0 360 arc closepath} bind def 117.193 +/C5 {BL [] 0 setdash 2 copy moveto 117.194 + 2 copy vpt 0 90 arc 117.195 + 2 copy moveto 117.196 + 2 copy vpt 180 270 arc closepath fill 117.197 + vpt 0 360 arc} bind def 117.198 +/C6 {BL [] 0 setdash 2 copy moveto 117.199 + 2 copy vpt 90 270 arc closepath fill 117.200 + vpt 0 360 arc closepath} bind def 117.201 +/C7 {BL [] 0 setdash 2 copy moveto 117.202 + 2 copy vpt 0 270 arc closepath fill 117.203 + vpt 0 360 arc closepath} bind def 117.204 +/C8 {BL [] 0 setdash 2 copy moveto 117.205 + 2 copy vpt 270 360 arc closepath fill 117.206 + vpt 0 360 arc closepath} bind def 117.207 +/C9 {BL [] 0 setdash 2 copy moveto 117.208 + 2 copy vpt 270 450 arc closepath fill 117.209 + vpt 0 360 arc closepath} bind def 117.210 +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 117.211 + 2 copy moveto 117.212 + 2 copy vpt 90 180 arc closepath fill 117.213 + vpt 0 360 arc closepath} bind def 117.214 +/C11 {BL [] 0 setdash 2 copy moveto 117.215 + 2 copy vpt 0 180 arc closepath fill 117.216 + 2 copy moveto 117.217 + 2 copy vpt 270 360 arc closepath fill 117.218 + vpt 0 360 arc closepath} bind def 117.219 +/C12 {BL [] 0 setdash 2 copy moveto 117.220 + 2 copy vpt 180 360 arc closepath fill 117.221 + vpt 0 360 arc closepath} bind def 117.222 +/C13 {BL [] 0 setdash 2 copy moveto 117.223 + 2 copy vpt 0 90 arc closepath fill 117.224 + 2 copy moveto 117.225 + 2 copy vpt 180 360 arc closepath fill 117.226 + vpt 0 360 arc closepath} bind def 117.227 +/C14 {BL [] 0 setdash 2 copy moveto 117.228 + 2 copy vpt 90 360 arc closepath fill 117.229 + vpt 0 360 arc} bind def 117.230 +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 117.231 + vpt 0 360 arc closepath} bind def 117.232 +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 117.233 + neg 0 rlineto closepath} bind def 117.234 +/Square {dup Rec} bind def 117.235 +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 117.236 +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 117.237 +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 117.238 +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 117.239 +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 117.240 +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 117.241 +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 117.242 + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 117.243 +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 117.244 +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 117.245 + 2 copy vpt Square fill Bsquare} bind def 117.246 +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 117.247 +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 117.248 +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 117.249 + Bsquare} bind def 117.250 +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 117.251 + Bsquare} bind def 117.252 +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 117.253 +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 117.254 + 2 copy vpt Square fill Bsquare} bind def 117.255 +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 117.256 + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 117.257 +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 117.258 +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 117.259 +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 117.260 +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 117.261 +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 117.262 +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 117.263 +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 117.264 +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 117.265 +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 117.266 +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 117.267 +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 117.268 +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 117.269 +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 117.270 +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 117.271 +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 117.272 +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 117.273 +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 117.274 +/DiaE {stroke [] 0 setdash vpt add M 117.275 + hpt neg vpt neg V hpt vpt neg V 117.276 + hpt vpt V hpt neg vpt V closepath stroke} def 117.277 +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 117.278 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 117.279 + hpt2 neg 0 V closepath stroke} def 117.280 +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 117.281 + hpt neg vpt -1.62 mul V 117.282 + hpt 2 mul 0 V 117.283 + hpt neg vpt 1.62 mul V closepath stroke} def 117.284 +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 117.285 + hpt neg vpt 1.62 mul V 117.286 + hpt 2 mul 0 V 117.287 + hpt neg vpt -1.62 mul V closepath stroke} def 117.288 +/PentE {stroke [] 0 setdash gsave 117.289 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 117.290 + closepath stroke grestore} def 117.291 +/CircE {stroke [] 0 setdash 117.292 + hpt 0 360 arc stroke} def 117.293 +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 117.294 +/DiaW {stroke [] 0 setdash vpt add M 117.295 + hpt neg vpt neg V hpt vpt neg V 117.296 + hpt vpt V hpt neg vpt V Opaque stroke} def 117.297 +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 117.298 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 117.299 + hpt2 neg 0 V Opaque stroke} def 117.300 +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 117.301 + hpt neg vpt -1.62 mul V 117.302 + hpt 2 mul 0 V 117.303 + hpt neg vpt 1.62 mul V Opaque stroke} def 117.304 +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 117.305 + hpt neg vpt 1.62 mul V 117.306 + hpt 2 mul 0 V 117.307 + hpt neg vpt -1.62 mul V Opaque stroke} def 117.308 +/PentW {stroke [] 0 setdash gsave 117.309 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 117.310 + Opaque stroke grestore} def 117.311 +/CircW {stroke [] 0 setdash 117.312 + hpt 0 360 arc Opaque stroke} def 117.313 +/BoxFill {gsave Rec 1 setgray fill grestore} def 117.314 +/Density { 117.315 + /Fillden exch def 117.316 + currentrgbcolor 117.317 + /ColB exch def /ColG exch def /ColR exch def 117.318 + /ColR ColR Fillden mul Fillden sub 1 add def 117.319 + /ColG ColG Fillden mul Fillden sub 1 add def 117.320 + /ColB ColB Fillden mul Fillden sub 1 add def 117.321 + ColR ColG ColB setrgbcolor} def 117.322 +/BoxColFill {gsave Rec PolyFill} def 117.323 +/PolyFill {gsave Density fill grestore grestore} def 117.324 +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 117.325 +% 117.326 +% PostScript Level 1 Pattern Fill routine for rectangles 117.327 +% Usage: x y w h s a XX PatternFill 117.328 +% x,y = lower left corner of box to be filled 117.329 +% w,h = width and height of box 117.330 +% a = angle in degrees between lines and x-axis 117.331 +% XX = 0/1 for no/yes cross-hatch 117.332 +% 117.333 +/PatternFill {gsave /PFa [ 9 2 roll ] def 117.334 + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 117.335 + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 117.336 + gsave 1 setgray fill grestore clip 117.337 + currentlinewidth 0.5 mul setlinewidth 117.338 + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 117.339 + 0 0 M PFa 5 get rotate PFs -2 div dup translate 117.340 + 0 1 PFs PFa 4 get div 1 add floor cvi 117.341 + {PFa 4 get mul 0 M 0 PFs V} for 117.342 + 0 PFa 6 get ne { 117.343 + 0 1 PFs PFa 4 get div 1 add floor cvi 117.344 + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 117.345 + } if 117.346 + stroke grestore} def 117.347 +% 117.348 +/languagelevel where 117.349 + {pop languagelevel} {1} ifelse 117.350 + 2 lt 117.351 + {/InterpretLevel1 true def} 117.352 + {/InterpretLevel1 Level1 def} 117.353 + ifelse 117.354 +% 117.355 +% PostScript level 2 pattern fill definitions 117.356 +% 117.357 +/Level2PatternFill { 117.358 +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 117.359 + bind def 117.360 +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 117.361 +<< Tile8x8 117.362 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 117.363 +>> matrix makepattern 117.364 +/Pat1 exch def 117.365 +<< Tile8x8 117.366 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 117.367 + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 117.368 +>> matrix makepattern 117.369 +/Pat2 exch def 117.370 +<< Tile8x8 117.371 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 117.372 + 8 8 L 8 0 L 0 0 L fill} 117.373 +>> matrix makepattern 117.374 +/Pat3 exch def 117.375 +<< Tile8x8 117.376 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 117.377 + 0 12 M 12 0 L stroke} 117.378 +>> matrix makepattern 117.379 +/Pat4 exch def 117.380 +<< Tile8x8 117.381 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 117.382 + 0 -4 M 12 8 L stroke} 117.383 +>> matrix makepattern 117.384 +/Pat5 exch def 117.385 +<< Tile8x8 117.386 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 117.387 + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 117.388 +>> matrix makepattern 117.389 +/Pat6 exch def 117.390 +<< Tile8x8 117.391 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 117.392 + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 117.393 +>> matrix makepattern 117.394 +/Pat7 exch def 117.395 +<< Tile8x8 117.396 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 117.397 + 12 0 M -4 8 L 12 4 M 0 10 L stroke} 117.398 +>> matrix makepattern 117.399 +/Pat8 exch def 117.400 +<< Tile8x8 117.401 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 117.402 + -4 0 M 12 8 L -4 4 M 8 10 L stroke} 117.403 +>> matrix makepattern 117.404 +/Pat9 exch def 117.405 +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 117.406 +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 117.407 +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 117.408 +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 117.409 +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 117.410 +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 117.411 +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 117.412 +} def 117.413 +% 117.414 +% 117.415 +%End of PostScript Level 2 code 117.416 +% 117.417 +/PatternBgnd { 117.418 + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 117.419 +} def 117.420 +% 117.421 +% Substitute for Level 2 pattern fill codes with 117.422 +% grayscale if Level 2 support is not selected. 117.423 +% 117.424 +/Level1PatternFill { 117.425 +/Pattern1 {0.250 Density} bind def 117.426 +/Pattern2 {0.500 Density} bind def 117.427 +/Pattern3 {0.750 Density} bind def 117.428 +/Pattern4 {0.125 Density} bind def 117.429 +/Pattern5 {0.375 Density} bind def 117.430 +/Pattern6 {0.625 Density} bind def 117.431 +/Pattern7 {0.875 Density} bind def 117.432 +} def 117.433 +% 117.434 +% Now test for support of Level 2 code 117.435 +% 117.436 +Level1 {Level1PatternFill} {Level2PatternFill} ifelse 117.437 +% 117.438 +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 117.439 +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 117.440 +currentdict end definefont pop 117.441 +/MFshow { 117.442 + { dup 5 get 3 ge 117.443 + { 5 get 3 eq {gsave} {grestore} ifelse } 117.444 + {dup dup 0 get findfont exch 1 get scalefont setfont 117.445 + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 117.446 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 117.447 + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 117.448 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 117.449 + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 117.450 + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 117.451 + pop aload pop M} ifelse }ifelse }ifelse } 117.452 + ifelse } 117.453 + forall} def 117.454 +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 117.455 +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 117.456 + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 117.457 + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 117.458 +/MLshow { currentpoint stroke M 117.459 + 0 exch R 117.460 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 117.461 +/MRshow { currentpoint stroke M 117.462 + exch dup MFwidth neg 3 -1 roll R 117.463 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 117.464 +/MCshow { currentpoint stroke M 117.465 + exch dup MFwidth -2 div 3 -1 roll R 117.466 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 117.467 +/XYsave { [( ) 1 2 true false 3 ()] } bind def 117.468 +/XYrestore { [( ) 1 2 true false 4 ()] } bind def 117.469 +end 117.470 +%%EndProlog 117.471 +%%Page: 1 1 117.472 +gnudict begin 117.473 +gsave 117.474 +doclip 117.475 +50 50 translate 117.476 +0.100 0.100 scale 117.477 +90 rotate 117.478 +0 -5040 translate 117.479 +0 setgray 117.480 +newpath 117.481 +(Helvetica) findfont 140 scalefont setfont 117.482 +1.000 UL 117.483 +LTb 117.484 +686 922 M 117.485 +63 0 V 117.486 +stroke 117.487 +602 922 M 117.488 +[ [(Helvetica) 140.0 0.0 true true 0 ( 50)] 117.489 +] -46.7 MRshow 117.490 +1.000 UL 117.491 +LTb 117.492 +686 1405 M 117.493 +63 0 V 117.494 +stroke 117.495 +602 1405 M 117.496 +[ [(Helvetica) 140.0 0.0 true true 0 ( 100)] 117.497 +] -46.7 MRshow 117.498 +1.000 UL 117.499 +LTb 117.500 +686 1888 M 117.501 +63 0 V 117.502 +stroke 117.503 +602 1888 M 117.504 +[ [(Helvetica) 140.0 0.0 true true 0 ( 150)] 117.505 +] -46.7 MRshow 117.506 +1.000 UL 117.507 +LTb 117.508 +686 2372 M 117.509 +63 0 V 117.510 +stroke 117.511 +602 2372 M 117.512 +[ [(Helvetica) 140.0 0.0 true true 0 ( 200)] 117.513 +] -46.7 MRshow 117.514 +1.000 UL 117.515 +LTb 117.516 +686 2855 M 117.517 +63 0 V 117.518 +stroke 117.519 +602 2855 M 117.520 +[ [(Helvetica) 140.0 0.0 true true 0 ( 250)] 117.521 +] -46.7 MRshow 117.522 +1.000 UL 117.523 +LTb 117.524 +686 448 M 117.525 +0 63 V 117.526 +stroke 117.527 +686 308 M 117.528 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 117.529 +] -46.7 MCshow 117.530 +1.000 UL 117.531 +LTb 117.532 +1109 448 M 117.533 +0 63 V 117.534 +stroke 117.535 +1109 308 M 117.536 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 117.537 +] -46.7 MCshow 117.538 +1.000 UL 117.539 +LTb 117.540 +1531 448 M 117.541 +0 63 V 117.542 +stroke 117.543 +1531 308 M 117.544 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 117.545 +] -46.7 MCshow 117.546 +1.000 UL 117.547 +LTb 117.548 +1954 448 M 117.549 +0 63 V 117.550 +stroke 117.551 +1954 308 M 117.552 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 117.553 +] -46.7 MCshow 117.554 +1.000 UL 117.555 +LTb 117.556 +2377 448 M 117.557 +0 63 V 117.558 +stroke 117.559 +2377 308 M 117.560 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 117.561 +] -46.7 MCshow 117.562 +1.000 UL 117.563 +LTb 117.564 +2799 448 M 117.565 +0 63 V 117.566 +stroke 117.567 +2799 308 M 117.568 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 117.569 +] -46.7 MCshow 117.570 +1.000 UL 117.571 +LTb 117.572 +3222 448 M 117.573 +0 63 V 117.574 +stroke 117.575 +3222 308 M 117.576 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 117.577 +] -46.7 MCshow 117.578 +1.000 UL 117.579 +LTb 117.580 +3644 448 M 117.581 +0 63 V 117.582 +stroke 117.583 +3644 308 M 117.584 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 117.585 +] -46.7 MCshow 117.586 +1.000 UL 117.587 +LTb 117.588 +4067 448 M 117.589 +0 63 V 117.590 +stroke 117.591 +4067 308 M 117.592 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 117.593 +] -46.7 MCshow 117.594 +1.000 UL 117.595 +LTb 117.596 +1.000 UL 117.597 +LTb 117.598 +686 2855 M 117.599 +686 448 L 117.600 +3381 0 V 117.601 +0 2407 R 117.602 +-3381 0 R 117.603 +stroke 117.604 +LCb setrgbcolor 117.605 +112 1651 M 117.606 +currentpoint gsave translate -270 rotate 0 0 moveto 117.607 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 117.608 +] -46.7 MCshow 117.609 +grestore 117.610 +LTb 117.611 +LCb setrgbcolor 117.612 +2376 98 M 117.613 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 117.614 +] -46.7 MCshow 117.615 +LTb 117.616 +1.000 UP 117.617 +1.000 UL 117.618 +LTb 117.619 +LCb setrgbcolor 117.620 +3532 2882 M 117.621 +[ [(Helvetica) 140.0 0.0 true true 0 (pthreads)] 117.622 +] -46.7 MCshow 117.623 +LTb 117.624 +1.000 UL 117.625 +LTb 117.626 +2787 2252 N 117.627 +0 700 V 117.628 +1491 0 V 117.629 +0 -700 V 117.630 +-1491 0 V 117.631 +Z stroke 117.632 +2787 2812 M 117.633 +1491 0 V 117.634 +% Begin plot #1 117.635 +stroke 117.636 +4.000 UL 117.637 +LT5 117.638 +LC7 setrgbcolor 117.639 +LCb setrgbcolor 117.640 +3711 2742 M 117.641 +[ [(Helvetica) 140.0 0.0 true true 0 (80 Threads)] 117.642 +] -46.7 MRshow 117.643 +LT5 117.644 +LC7 setrgbcolor 117.645 +3795 2742 M 117.646 +399 0 V 117.647 +1735 2855 M 117.648 +662 -919 V 117.649 +4067 1238 L 117.650 +% End plot #1 117.651 +% Begin plot #2 117.652 +stroke 117.653 +LT6 117.654 +LCb setrgbcolor 117.655 +3711 2602 M 117.656 +[ [(Helvetica) 140.0 0.0 true true 0 (160 Threads)] 117.657 +] -46.7 MRshow 117.658 +LT6 117.659 +3795 2602 M 117.660 +399 0 V 117.661 +1748 2855 M 117.662 +2555 1723 L 117.663 +4067 1065 L 117.664 +% End plot #2 117.665 +% Begin plot #3 117.666 +stroke 117.667 +LT7 117.668 +LC1 setrgbcolor 117.669 +LCb setrgbcolor 117.670 +3711 2462 M 117.671 +[ [(Helvetica) 140.0 0.0 true true 0 (320 Threads)] 117.672 +] -46.7 MRshow 117.673 +LT7 117.674 +LC1 setrgbcolor 117.675 +3795 2462 M 117.676 +399 0 V 117.677 +1420 2855 M 117.678 +170 -542 V 117.679 +784 -867 V 117.680 +3986 870 L 117.681 +% End plot #3 117.682 +% Begin plot #4 117.683 +stroke 117.684 +LT8 117.685 +LCb setrgbcolor 117.686 +3711 2322 M 117.687 +[ [(Helvetica) 140.0 0.0 true true 0 (640 Threads)] 117.688 +] -46.7 MRshow 117.689 +LT8 117.690 +3795 2322 M 117.691 +399 0 V 117.692 +1802 2855 M 117.693 +572 -574 V 117.694 +4007 1207 L 117.695 +% End plot #4 117.696 +stroke 117.697 +1.000 UL 117.698 +LTb 117.699 +686 2855 M 117.700 +686 448 L 117.701 +3381 0 V 117.702 +0 2407 R 117.703 +-3381 0 R 117.704 +1.000 UP 117.705 +686 922 M 117.706 +63 0 V 117.707 +stroke 117.708 +602 922 M 117.709 +[ [(Helvetica) 140.0 0.0 true true 0 ( 50)] 117.710 +] -46.7 MRshow 117.711 +1.000 UL 117.712 +LTb 117.713 +686 1405 M 117.714 +63 0 V 117.715 +stroke 117.716 +602 1405 M 117.717 +[ [(Helvetica) 140.0 0.0 true true 0 ( 100)] 117.718 +] -46.7 MRshow 117.719 +1.000 UL 117.720 +LTb 117.721 +686 1888 M 117.722 +63 0 V 117.723 +stroke 117.724 +602 1888 M 117.725 +[ [(Helvetica) 140.0 0.0 true true 0 ( 150)] 117.726 +] -46.7 MRshow 117.727 +1.000 UL 117.728 +LTb 117.729 +686 2372 M 117.730 +63 0 V 117.731 +stroke 117.732 +602 2372 M 117.733 +[ [(Helvetica) 140.0 0.0 true true 0 ( 200)] 117.734 +] -46.7 MRshow 117.735 +1.000 UL 117.736 +LTb 117.737 +686 2855 M 117.738 +63 0 V 117.739 +stroke 117.740 +602 2855 M 117.741 +[ [(Helvetica) 140.0 0.0 true true 0 ( 250)] 117.742 +] -46.7 MRshow 117.743 +1.000 UL 117.744 +LTb 117.745 +686 448 M 117.746 +0 63 V 117.747 +stroke 117.748 +686 308 M 117.749 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 117.750 +] -46.7 MCshow 117.751 +1.000 UL 117.752 +LTb 117.753 +1109 448 M 117.754 +0 63 V 117.755 +stroke 117.756 +1109 308 M 117.757 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 117.758 +] -46.7 MCshow 117.759 +1.000 UL 117.760 +LTb 117.761 +1531 448 M 117.762 +0 63 V 117.763 +stroke 117.764 +1531 308 M 117.765 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 117.766 +] -46.7 MCshow 117.767 +1.000 UL 117.768 +LTb 117.769 +1954 448 M 117.770 +0 63 V 117.771 +stroke 117.772 +1954 308 M 117.773 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 117.774 +] -46.7 MCshow 117.775 +1.000 UL 117.776 +LTb 117.777 +2377 448 M 117.778 +0 63 V 117.779 +stroke 117.780 +2377 308 M 117.781 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 117.782 +] -46.7 MCshow 117.783 +1.000 UL 117.784 +LTb 117.785 +2799 448 M 117.786 +0 63 V 117.787 +stroke 117.788 +2799 308 M 117.789 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 117.790 +] -46.7 MCshow 117.791 +1.000 UL 117.792 +LTb 117.793 +3222 448 M 117.794 +0 63 V 117.795 +stroke 117.796 +3222 308 M 117.797 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 117.798 +] -46.7 MCshow 117.799 +1.000 UL 117.800 +LTb 117.801 +3644 448 M 117.802 +0 63 V 117.803 +stroke 117.804 +3644 308 M 117.805 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 117.806 +] -46.7 MCshow 117.807 +1.000 UL 117.808 +LTb 117.809 +4067 448 M 117.810 +0 63 V 117.811 +stroke 117.812 +4067 308 M 117.813 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 117.814 +] -46.7 MCshow 117.815 +1.000 UL 117.816 +LTb 117.817 +1.000 UL 117.818 +LTb 117.819 +686 2855 M 117.820 +686 448 L 117.821 +3381 0 V 117.822 +0 2407 R 117.823 +-3381 0 R 117.824 +stroke 117.825 +LCb setrgbcolor 117.826 +112 1651 M 117.827 +currentpoint gsave translate -270 rotate 0 0 moveto 117.828 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 117.829 +] -46.7 MCshow 117.830 +grestore 117.831 +LTb 117.832 +LCb setrgbcolor 117.833 +2376 98 M 117.834 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 117.835 +] -46.7 MCshow 117.836 +LTb 117.837 +1.000 UP 117.838 +1.000 UL 117.839 +LTb 117.840 +LCb setrgbcolor 117.841 +3532 2108 M 117.842 +[ [(Helvetica) 140.0 0.0 true true 0 (Vthread)] 117.843 +] -46.7 MCshow 117.844 +LTb 117.845 +1.000 UL 117.846 +LTb 117.847 +2787 1478 N 117.848 +0 700 V 117.849 +1491 0 V 117.850 +0 -700 V 117.851 +-1491 0 V 117.852 +Z stroke 117.853 +2787 2038 M 117.854 +1491 0 V 117.855 +% Begin plot #1 117.856 +stroke 117.857 +4.000 UL 117.858 +LT0 117.859 +LCb setrgbcolor 117.860 +3711 1968 M 117.861 +[ [(Helvetica) 140.0 0.0 true true 0 (80 Threads)] 117.862 +] -46.7 MRshow 117.863 +LT0 117.864 +3795 1968 M 117.865 +399 0 V 117.866 +743 626 M 117.867 +22 -61 V 117.868 +39 -36 V 117.869 +75 -37 V 117.870 +154 -17 V 117.871 +303 -13 V 117.872 +609 -7 V 117.873 +1218 -2 V 117.874 +904 -1 V 117.875 +% End plot #1 117.876 +% Begin plot #2 117.877 +stroke 117.878 +LT2 117.879 +LCb setrgbcolor 117.880 +3711 1828 M 117.881 +[ [(Helvetica) 140.0 0.0 true true 0 (160 Threads)] 117.882 +] -46.7 MRshow 117.883 +LT2 117.884 +3795 1828 M 117.885 +399 0 V 117.886 +743 575 M 117.887 +24 4 V 117.888 +36 -82 V 117.889 +76 -20 V 117.890 +153 -6 V 117.891 +303 -12 V 117.892 +609 -4 V 117.893 +1217 -4 V 117.894 +906 -1 V 117.895 +% End plot #2 117.896 +% Begin plot #3 117.897 +stroke 117.898 +LT3 117.899 +LCb setrgbcolor 117.900 +3711 1688 M 117.901 +[ [(Helvetica) 140.0 0.0 true true 0 (320 Threads)] 117.902 +] -46.7 MRshow 117.903 +LT3 117.904 +3795 1688 M 117.905 +399 0 V 117.906 +742 581 M 117.907 +24 -38 V 117.908 +39 -9 V 117.909 +76 -41 V 117.910 +151 -19 V 117.911 +304 -11 V 117.912 +610 -7 V 117.913 +1216 -5 V 117.914 +905 -1 V 117.915 +% End plot #3 117.916 +% Begin plot #4 117.917 +stroke 117.918 +LT4 117.919 +LCb setrgbcolor 117.920 +3711 1548 M 117.921 +[ [(Helvetica) 140.0 0.0 true true 0 (640 Threads)] 117.922 +] -46.7 MRshow 117.923 +LT4 117.924 +3795 1548 M 117.925 +399 0 V 117.926 +743 589 M 117.927 +23 -41 V 117.928 +38 -29 V 117.929 +77 -20 V 117.930 +151 -28 V 117.931 +303 -12 V 117.932 +610 -4 V 117.933 +1217 -4 V 117.934 +905 0 V 117.935 +% End plot #4 117.936 +stroke 117.937 +1.000 UL 117.938 +LTb 117.939 +686 2855 M 117.940 +686 448 L 117.941 +3381 0 V 117.942 +0 2407 R 117.943 +-3381 0 R 117.944 +1.000 UP 117.945 +stroke 117.946 +grestore 117.947 +end 117.948 +showpage 117.949 +%%Trailer 117.950 +%%DocumentFonts: Helvetica 117.951 +%%Pages: 1
118.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 118.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/plots_exec_vs_task_size/not_used/xoanon_vthread_40cores_80_160_320_640thds__o30000__perfCtrs.result.eps Fri Sep 13 11:02:18 2013 -0700 118.3 @@ -0,0 +1,844 @@ 118.4 +%!PS-Adobe-2.0 118.5 +%%Title: xoanon_vthread_40cores_80_160_320_640thds__o30000__perfCtrs.result.eps 118.6 +%%Creator: gnuplot 4.4 patchlevel 2 118.7 +%%CreationDate: Thu Jan 26 18:23:52 2012 118.8 +%%DocumentFonts: (atend) 118.9 +%%BoundingBox: 251 50 554 482 118.10 +%%Orientation: Landscape 118.11 +%%Pages: (atend) 118.12 +%%EndComments 118.13 +%%BeginProlog 118.14 +/gnudict 256 dict def 118.15 +gnudict begin 118.16 +% 118.17 +% The following true/false flags may be edited by hand if desired. 118.18 +% The unit line width and grayscale image gamma correction may also be changed. 118.19 +% 118.20 +/Color true def 118.21 +/Blacktext false def 118.22 +/Solid false def 118.23 +/Dashlength 1 def 118.24 +/Landscape true def 118.25 +/Level1 false def 118.26 +/Rounded false def 118.27 +/ClipToBoundingBox false def 118.28 +/TransparentPatterns false def 118.29 +/gnulinewidth 5.000 def 118.30 +/userlinewidth gnulinewidth def 118.31 +/Gamma 1.0 def 118.32 +% 118.33 +/vshift -46 def 118.34 +/dl1 { 118.35 + 10.0 Dashlength mul mul 118.36 + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 118.37 +} def 118.38 +/dl2 { 118.39 + 10.0 Dashlength mul mul 118.40 + Rounded { currentlinewidth 0.75 mul add } if 118.41 +} def 118.42 +/hpt_ 31.5 def 118.43 +/vpt_ 31.5 def 118.44 +/hpt hpt_ def 118.45 +/vpt vpt_ def 118.46 +Level1 {} { 118.47 +/SDict 10 dict def 118.48 +systemdict /pdfmark known not { 118.49 + userdict /pdfmark systemdict /cleartomark get put 118.50 +} if 118.51 +SDict begin [ 118.52 + /Title (xoanon_vthread_40cores_80_160_320_640thds__o30000__perfCtrs.result.eps) 118.53 + /Subject (gnuplot plot) 118.54 + /Creator (gnuplot 4.4 patchlevel 2) 118.55 + /Author (msach) 118.56 +% /Producer (gnuplot) 118.57 +% /Keywords () 118.58 + /CreationDate (Thu Jan 26 18:23:52 2012) 118.59 + /DOCINFO pdfmark 118.60 +end 118.61 +} ifelse 118.62 +/doclip { 118.63 + ClipToBoundingBox { 118.64 + newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 118.65 + clip 118.66 + } if 118.67 +} def 118.68 +% 118.69 +% Gnuplot Prolog Version 4.4 (August 2010) 118.70 +% 118.71 +%/SuppressPDFMark true def 118.72 +% 118.73 +/M {moveto} bind def 118.74 +/L {lineto} bind def 118.75 +/R {rmoveto} bind def 118.76 +/V {rlineto} bind def 118.77 +/N {newpath moveto} bind def 118.78 +/Z {closepath} bind def 118.79 +/C {setrgbcolor} bind def 118.80 +/f {rlineto fill} bind def 118.81 +/g {setgray} bind def 118.82 +/Gshow {show} def % May be redefined later in the file to support UTF-8 118.83 +/vpt2 vpt 2 mul def 118.84 +/hpt2 hpt 2 mul def 118.85 +/Lshow {currentpoint stroke M 0 vshift R 118.86 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 118.87 +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 118.88 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 118.89 +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 118.90 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 118.91 +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 118.92 + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 118.93 +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 118.94 + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 118.95 +/BL {stroke userlinewidth 2 mul setlinewidth 118.96 + Rounded {1 setlinejoin 1 setlinecap} if} def 118.97 +/AL {stroke userlinewidth 2 div setlinewidth 118.98 + Rounded {1 setlinejoin 1 setlinecap} if} def 118.99 +/UL {dup gnulinewidth mul /userlinewidth exch def 118.100 + dup 1 lt {pop 1} if 10 mul /udl exch def} def 118.101 +/PL {stroke userlinewidth setlinewidth 118.102 + Rounded {1 setlinejoin 1 setlinecap} if} def 118.103 +3.8 setmiterlimit 118.104 +% Default Line colors 118.105 +/LCw {1 1 1} def 118.106 +/LCb {0 0 0} def 118.107 +/LCa {0 0 0} def 118.108 +/LC0 {1 0 0} def 118.109 +/LC1 {0 1 0} def 118.110 +/LC2 {0 0 1} def 118.111 +/LC3 {1 0 1} def 118.112 +/LC4 {0 1 1} def 118.113 +/LC5 {1 1 0} def 118.114 +/LC6 {0 0 0} def 118.115 +/LC7 {1 0.3 0} def 118.116 +/LC8 {0.5 0.5 0.5} def 118.117 +% Default Line Types 118.118 +/LTw {PL [] 1 setgray} def 118.119 +/LTb {BL [] LCb DL} def 118.120 +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 118.121 +/LT0 {PL [] LC0 DL} def 118.122 +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 118.123 +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 118.124 +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 118.125 +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 118.126 +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 118.127 +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 118.128 +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 118.129 +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 118.130 +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 118.131 +/Dia {stroke [] 0 setdash 2 copy vpt add M 118.132 + hpt neg vpt neg V hpt vpt neg V 118.133 + hpt vpt V hpt neg vpt V closepath stroke 118.134 + Pnt} def 118.135 +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 118.136 + currentpoint stroke M 118.137 + hpt neg vpt neg R hpt2 0 V stroke 118.138 + } def 118.139 +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 118.140 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 118.141 + hpt2 neg 0 V closepath stroke 118.142 + Pnt} def 118.143 +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 118.144 + hpt2 vpt2 neg V currentpoint stroke M 118.145 + hpt2 neg 0 R hpt2 vpt2 V stroke} def 118.146 +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 118.147 + hpt neg vpt -1.62 mul V 118.148 + hpt 2 mul 0 V 118.149 + hpt neg vpt 1.62 mul V closepath stroke 118.150 + Pnt} def 118.151 +/Star {2 copy Pls Crs} def 118.152 +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 118.153 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 118.154 + hpt2 neg 0 V closepath fill} def 118.155 +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 118.156 + hpt neg vpt -1.62 mul V 118.157 + hpt 2 mul 0 V 118.158 + hpt neg vpt 1.62 mul V closepath fill} def 118.159 +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 118.160 + hpt neg vpt 1.62 mul V 118.161 + hpt 2 mul 0 V 118.162 + hpt neg vpt -1.62 mul V closepath stroke 118.163 + Pnt} def 118.164 +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 118.165 + hpt neg vpt 1.62 mul V 118.166 + hpt 2 mul 0 V 118.167 + hpt neg vpt -1.62 mul V closepath fill} def 118.168 +/DiaF {stroke [] 0 setdash vpt add M 118.169 + hpt neg vpt neg V hpt vpt neg V 118.170 + hpt vpt V hpt neg vpt V closepath fill} def 118.171 +/Pent {stroke [] 0 setdash 2 copy gsave 118.172 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 118.173 + closepath stroke grestore Pnt} def 118.174 +/PentF {stroke [] 0 setdash gsave 118.175 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 118.176 + closepath fill grestore} def 118.177 +/Circle {stroke [] 0 setdash 2 copy 118.178 + hpt 0 360 arc stroke Pnt} def 118.179 +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 118.180 +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 118.181 +/C1 {BL [] 0 setdash 2 copy moveto 118.182 + 2 copy vpt 0 90 arc closepath fill 118.183 + vpt 0 360 arc closepath} bind def 118.184 +/C2 {BL [] 0 setdash 2 copy moveto 118.185 + 2 copy vpt 90 180 arc closepath fill 118.186 + vpt 0 360 arc closepath} bind def 118.187 +/C3 {BL [] 0 setdash 2 copy moveto 118.188 + 2 copy vpt 0 180 arc closepath fill 118.189 + vpt 0 360 arc closepath} bind def 118.190 +/C4 {BL [] 0 setdash 2 copy moveto 118.191 + 2 copy vpt 180 270 arc closepath fill 118.192 + vpt 0 360 arc closepath} bind def 118.193 +/C5 {BL [] 0 setdash 2 copy moveto 118.194 + 2 copy vpt 0 90 arc 118.195 + 2 copy moveto 118.196 + 2 copy vpt 180 270 arc closepath fill 118.197 + vpt 0 360 arc} bind def 118.198 +/C6 {BL [] 0 setdash 2 copy moveto 118.199 + 2 copy vpt 90 270 arc closepath fill 118.200 + vpt 0 360 arc closepath} bind def 118.201 +/C7 {BL [] 0 setdash 2 copy moveto 118.202 + 2 copy vpt 0 270 arc closepath fill 118.203 + vpt 0 360 arc closepath} bind def 118.204 +/C8 {BL [] 0 setdash 2 copy moveto 118.205 + 2 copy vpt 270 360 arc closepath fill 118.206 + vpt 0 360 arc closepath} bind def 118.207 +/C9 {BL [] 0 setdash 2 copy moveto 118.208 + 2 copy vpt 270 450 arc closepath fill 118.209 + vpt 0 360 arc closepath} bind def 118.210 +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 118.211 + 2 copy moveto 118.212 + 2 copy vpt 90 180 arc closepath fill 118.213 + vpt 0 360 arc closepath} bind def 118.214 +/C11 {BL [] 0 setdash 2 copy moveto 118.215 + 2 copy vpt 0 180 arc closepath fill 118.216 + 2 copy moveto 118.217 + 2 copy vpt 270 360 arc closepath fill 118.218 + vpt 0 360 arc closepath} bind def 118.219 +/C12 {BL [] 0 setdash 2 copy moveto 118.220 + 2 copy vpt 180 360 arc closepath fill 118.221 + vpt 0 360 arc closepath} bind def 118.222 +/C13 {BL [] 0 setdash 2 copy moveto 118.223 + 2 copy vpt 0 90 arc closepath fill 118.224 + 2 copy moveto 118.225 + 2 copy vpt 180 360 arc closepath fill 118.226 + vpt 0 360 arc closepath} bind def 118.227 +/C14 {BL [] 0 setdash 2 copy moveto 118.228 + 2 copy vpt 90 360 arc closepath fill 118.229 + vpt 0 360 arc} bind def 118.230 +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 118.231 + vpt 0 360 arc closepath} bind def 118.232 +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 118.233 + neg 0 rlineto closepath} bind def 118.234 +/Square {dup Rec} bind def 118.235 +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 118.236 +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 118.237 +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 118.238 +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 118.239 +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 118.240 +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 118.241 +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 118.242 + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 118.243 +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 118.244 +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 118.245 + 2 copy vpt Square fill Bsquare} bind def 118.246 +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 118.247 +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 118.248 +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 118.249 + Bsquare} bind def 118.250 +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 118.251 + Bsquare} bind def 118.252 +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 118.253 +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 118.254 + 2 copy vpt Square fill Bsquare} bind def 118.255 +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 118.256 + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 118.257 +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 118.258 +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 118.259 +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 118.260 +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 118.261 +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 118.262 +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 118.263 +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 118.264 +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 118.265 +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 118.266 +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 118.267 +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 118.268 +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 118.269 +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 118.270 +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 118.271 +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 118.272 +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 118.273 +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 118.274 +/DiaE {stroke [] 0 setdash vpt add M 118.275 + hpt neg vpt neg V hpt vpt neg V 118.276 + hpt vpt V hpt neg vpt V closepath stroke} def 118.277 +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 118.278 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 118.279 + hpt2 neg 0 V closepath stroke} def 118.280 +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 118.281 + hpt neg vpt -1.62 mul V 118.282 + hpt 2 mul 0 V 118.283 + hpt neg vpt 1.62 mul V closepath stroke} def 118.284 +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 118.285 + hpt neg vpt 1.62 mul V 118.286 + hpt 2 mul 0 V 118.287 + hpt neg vpt -1.62 mul V closepath stroke} def 118.288 +/PentE {stroke [] 0 setdash gsave 118.289 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 118.290 + closepath stroke grestore} def 118.291 +/CircE {stroke [] 0 setdash 118.292 + hpt 0 360 arc stroke} def 118.293 +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 118.294 +/DiaW {stroke [] 0 setdash vpt add M 118.295 + hpt neg vpt neg V hpt vpt neg V 118.296 + hpt vpt V hpt neg vpt V Opaque stroke} def 118.297 +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 118.298 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 118.299 + hpt2 neg 0 V Opaque stroke} def 118.300 +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 118.301 + hpt neg vpt -1.62 mul V 118.302 + hpt 2 mul 0 V 118.303 + hpt neg vpt 1.62 mul V Opaque stroke} def 118.304 +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 118.305 + hpt neg vpt 1.62 mul V 118.306 + hpt 2 mul 0 V 118.307 + hpt neg vpt -1.62 mul V Opaque stroke} def 118.308 +/PentW {stroke [] 0 setdash gsave 118.309 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 118.310 + Opaque stroke grestore} def 118.311 +/CircW {stroke [] 0 setdash 118.312 + hpt 0 360 arc Opaque stroke} def 118.313 +/BoxFill {gsave Rec 1 setgray fill grestore} def 118.314 +/Density { 118.315 + /Fillden exch def 118.316 + currentrgbcolor 118.317 + /ColB exch def /ColG exch def /ColR exch def 118.318 + /ColR ColR Fillden mul Fillden sub 1 add def 118.319 + /ColG ColG Fillden mul Fillden sub 1 add def 118.320 + /ColB ColB Fillden mul Fillden sub 1 add def 118.321 + ColR ColG ColB setrgbcolor} def 118.322 +/BoxColFill {gsave Rec PolyFill} def 118.323 +/PolyFill {gsave Density fill grestore grestore} def 118.324 +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 118.325 +% 118.326 +% PostScript Level 1 Pattern Fill routine for rectangles 118.327 +% Usage: x y w h s a XX PatternFill 118.328 +% x,y = lower left corner of box to be filled 118.329 +% w,h = width and height of box 118.330 +% a = angle in degrees between lines and x-axis 118.331 +% XX = 0/1 for no/yes cross-hatch 118.332 +% 118.333 +/PatternFill {gsave /PFa [ 9 2 roll ] def 118.334 + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 118.335 + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 118.336 + gsave 1 setgray fill grestore clip 118.337 + currentlinewidth 0.5 mul setlinewidth 118.338 + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 118.339 + 0 0 M PFa 5 get rotate PFs -2 div dup translate 118.340 + 0 1 PFs PFa 4 get div 1 add floor cvi 118.341 + {PFa 4 get mul 0 M 0 PFs V} for 118.342 + 0 PFa 6 get ne { 118.343 + 0 1 PFs PFa 4 get div 1 add floor cvi 118.344 + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 118.345 + } if 118.346 + stroke grestore} def 118.347 +% 118.348 +/languagelevel where 118.349 + {pop languagelevel} {1} ifelse 118.350 + 2 lt 118.351 + {/InterpretLevel1 true def} 118.352 + {/InterpretLevel1 Level1 def} 118.353 + ifelse 118.354 +% 118.355 +% PostScript level 2 pattern fill definitions 118.356 +% 118.357 +/Level2PatternFill { 118.358 +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 118.359 + bind def 118.360 +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 118.361 +<< Tile8x8 118.362 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 118.363 +>> matrix makepattern 118.364 +/Pat1 exch def 118.365 +<< Tile8x8 118.366 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 118.367 + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 118.368 +>> matrix makepattern 118.369 +/Pat2 exch def 118.370 +<< Tile8x8 118.371 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 118.372 + 8 8 L 8 0 L 0 0 L fill} 118.373 +>> matrix makepattern 118.374 +/Pat3 exch def 118.375 +<< Tile8x8 118.376 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 118.377 + 0 12 M 12 0 L stroke} 118.378 +>> matrix makepattern 118.379 +/Pat4 exch def 118.380 +<< Tile8x8 118.381 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 118.382 + 0 -4 M 12 8 L stroke} 118.383 +>> matrix makepattern 118.384 +/Pat5 exch def 118.385 +<< Tile8x8 118.386 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 118.387 + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 118.388 +>> matrix makepattern 118.389 +/Pat6 exch def 118.390 +<< Tile8x8 118.391 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 118.392 + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 118.393 +>> matrix makepattern 118.394 +/Pat7 exch def 118.395 +<< Tile8x8 118.396 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 118.397 + 12 0 M -4 8 L 12 4 M 0 10 L stroke} 118.398 +>> matrix makepattern 118.399 +/Pat8 exch def 118.400 +<< Tile8x8 118.401 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 118.402 + -4 0 M 12 8 L -4 4 M 8 10 L stroke} 118.403 +>> matrix makepattern 118.404 +/Pat9 exch def 118.405 +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 118.406 +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 118.407 +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 118.408 +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 118.409 +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 118.410 +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 118.411 +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 118.412 +} def 118.413 +% 118.414 +% 118.415 +%End of PostScript Level 2 code 118.416 +% 118.417 +/PatternBgnd { 118.418 + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 118.419 +} def 118.420 +% 118.421 +% Substitute for Level 2 pattern fill codes with 118.422 +% grayscale if Level 2 support is not selected. 118.423 +% 118.424 +/Level1PatternFill { 118.425 +/Pattern1 {0.250 Density} bind def 118.426 +/Pattern2 {0.500 Density} bind def 118.427 +/Pattern3 {0.750 Density} bind def 118.428 +/Pattern4 {0.125 Density} bind def 118.429 +/Pattern5 {0.375 Density} bind def 118.430 +/Pattern6 {0.625 Density} bind def 118.431 +/Pattern7 {0.875 Density} bind def 118.432 +} def 118.433 +% 118.434 +% Now test for support of Level 2 code 118.435 +% 118.436 +Level1 {Level1PatternFill} {Level2PatternFill} ifelse 118.437 +% 118.438 +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 118.439 +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 118.440 +currentdict end definefont pop 118.441 +/MFshow { 118.442 + { dup 5 get 3 ge 118.443 + { 5 get 3 eq {gsave} {grestore} ifelse } 118.444 + {dup dup 0 get findfont exch 1 get scalefont setfont 118.445 + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 118.446 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 118.447 + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 118.448 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 118.449 + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 118.450 + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 118.451 + pop aload pop M} ifelse }ifelse }ifelse } 118.452 + ifelse } 118.453 + forall} def 118.454 +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 118.455 +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 118.456 + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 118.457 + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 118.458 +/MLshow { currentpoint stroke M 118.459 + 0 exch R 118.460 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 118.461 +/MRshow { currentpoint stroke M 118.462 + exch dup MFwidth neg 3 -1 roll R 118.463 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 118.464 +/MCshow { currentpoint stroke M 118.465 + exch dup MFwidth -2 div 3 -1 roll R 118.466 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 118.467 +/XYsave { [( ) 1 2 true false 3 ()] } bind def 118.468 +/XYrestore { [( ) 1 2 true false 4 ()] } bind def 118.469 +end 118.470 +%%EndProlog 118.471 +%%Page: 1 1 118.472 +gnudict begin 118.473 +gsave 118.474 +doclip 118.475 +50 50 translate 118.476 +0.100 0.100 scale 118.477 +90 rotate 118.478 +0 -5040 translate 118.479 +0 setgray 118.480 +newpath 118.481 +(Helvetica) findfont 140 scalefont setfont 118.482 +1.000 UL 118.483 +LTb 118.484 +518 448 M 118.485 +63 0 V 118.486 +stroke 118.487 +434 448 M 118.488 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1)] 118.489 +] -46.7 MRshow 118.490 +1.000 UL 118.491 +LTb 118.492 +518 792 M 118.493 +63 0 V 118.494 +stroke 118.495 +434 792 M 118.496 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] 118.497 +] -46.7 MRshow 118.498 +1.000 UL 118.499 +LTb 118.500 +518 1136 M 118.501 +63 0 V 118.502 +stroke 118.503 +434 1136 M 118.504 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] 118.505 +] -46.7 MRshow 118.506 +1.000 UL 118.507 +LTb 118.508 +518 1480 M 118.509 +63 0 V 118.510 +stroke 118.511 +434 1480 M 118.512 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] 118.513 +] -46.7 MRshow 118.514 +1.000 UL 118.515 +LTb 118.516 +518 1823 M 118.517 +63 0 V 118.518 +stroke 118.519 +434 1823 M 118.520 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 118.521 +] -46.7 MRshow 118.522 +1.000 UL 118.523 +LTb 118.524 +518 2167 M 118.525 +63 0 V 118.526 +stroke 118.527 +434 2167 M 118.528 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] 118.529 +] -46.7 MRshow 118.530 +1.000 UL 118.531 +LTb 118.532 +518 2511 M 118.533 +63 0 V 118.534 +stroke 118.535 +434 2511 M 118.536 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7)] 118.537 +] -46.7 MRshow 118.538 +1.000 UL 118.539 +LTb 118.540 +518 2855 M 118.541 +63 0 V 118.542 +stroke 118.543 +434 2855 M 118.544 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] 118.545 +] -46.7 MRshow 118.546 +1.000 UL 118.547 +LTb 118.548 +518 448 M 118.549 +0 63 V 118.550 +stroke 118.551 +518 308 M 118.552 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 118.553 +] -46.7 MCshow 118.554 +1.000 UL 118.555 +LTb 118.556 +962 448 M 118.557 +0 63 V 118.558 +stroke 118.559 +962 308 M 118.560 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 118.561 +] -46.7 MCshow 118.562 +1.000 UL 118.563 +LTb 118.564 +1405 448 M 118.565 +0 63 V 118.566 +stroke 118.567 +1405 308 M 118.568 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 118.569 +] -46.7 MCshow 118.570 +1.000 UL 118.571 +LTb 118.572 +1849 448 M 118.573 +0 63 V 118.574 +stroke 118.575 +1849 308 M 118.576 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 118.577 +] -46.7 MCshow 118.578 +1.000 UL 118.579 +LTb 118.580 +2293 448 M 118.581 +0 63 V 118.582 +stroke 118.583 +2293 308 M 118.584 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 118.585 +] -46.7 MCshow 118.586 +1.000 UL 118.587 +LTb 118.588 +2736 448 M 118.589 +0 63 V 118.590 +stroke 118.591 +2736 308 M 118.592 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 118.593 +] -46.7 MCshow 118.594 +1.000 UL 118.595 +LTb 118.596 +3180 448 M 118.597 +0 63 V 118.598 +stroke 118.599 +3180 308 M 118.600 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 118.601 +] -46.7 MCshow 118.602 +1.000 UL 118.603 +LTb 118.604 +3623 448 M 118.605 +0 63 V 118.606 +stroke 118.607 +3623 308 M 118.608 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 118.609 +] -46.7 MCshow 118.610 +1.000 UL 118.611 +LTb 118.612 +4067 448 M 118.613 +0 63 V 118.614 +stroke 118.615 +4067 308 M 118.616 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 118.617 +] -46.7 MCshow 118.618 +1.000 UL 118.619 +LTb 118.620 +1.000 UL 118.621 +LTb 118.622 +518 2855 M 118.623 +518 448 L 118.624 +3549 0 V 118.625 +0 2407 R 118.626 +-3549 0 R 118.627 +stroke 118.628 +LCb setrgbcolor 118.629 +112 1651 M 118.630 +currentpoint gsave translate -270 rotate 0 0 moveto 118.631 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 118.632 +] -46.7 MCshow 118.633 +grestore 118.634 +LTb 118.635 +LCb setrgbcolor 118.636 +2292 98 M 118.637 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 118.638 +] -46.7 MCshow 118.639 +LTb 118.640 +1.000 UP 118.641 +1.000 UL 118.642 +LTb 118.643 +1.000 UL 118.644 +LTb 118.645 +2492 2232 N 118.646 +0 560 V 118.647 +1491 0 V 118.648 +0 -560 V 118.649 +-1491 0 V 118.650 +Z stroke 118.651 +2492 2792 M 118.652 +1491 0 V 118.653 +% Begin plot #1 118.654 +stroke 118.655 +4.000 UL 118.656 +LT1 118.657 +LCa setrgbcolor 118.658 +518 792 M 118.659 +36 0 V 118.660 +36 0 V 118.661 +36 0 V 118.662 +35 0 V 118.663 +36 0 V 118.664 +36 0 V 118.665 +36 0 V 118.666 +36 0 V 118.667 +36 0 V 118.668 +35 0 V 118.669 +36 0 V 118.670 +36 0 V 118.671 +36 0 V 118.672 +36 0 V 118.673 +36 0 V 118.674 +36 0 V 118.675 +35 0 V 118.676 +36 0 V 118.677 +36 0 V 118.678 +36 0 V 118.679 +36 0 V 118.680 +36 0 V 118.681 +36 0 V 118.682 +35 0 V 118.683 +36 0 V 118.684 +36 0 V 118.685 +36 0 V 118.686 +36 0 V 118.687 +36 0 V 118.688 +35 0 V 118.689 +36 0 V 118.690 +36 0 V 118.691 +36 0 V 118.692 +36 0 V 118.693 +36 0 V 118.694 +36 0 V 118.695 +35 0 V 118.696 +36 0 V 118.697 +36 0 V 118.698 +36 0 V 118.699 +36 0 V 118.700 +36 0 V 118.701 +35 0 V 118.702 +36 0 V 118.703 +36 0 V 118.704 +36 0 V 118.705 +36 0 V 118.706 +36 0 V 118.707 +36 0 V 118.708 +35 0 V 118.709 +36 0 V 118.710 +36 0 V 118.711 +36 0 V 118.712 +36 0 V 118.713 +36 0 V 118.714 +36 0 V 118.715 +35 0 V 118.716 +36 0 V 118.717 +36 0 V 118.718 +36 0 V 118.719 +36 0 V 118.720 +36 0 V 118.721 +35 0 V 118.722 +36 0 V 118.723 +36 0 V 118.724 +36 0 V 118.725 +36 0 V 118.726 +36 0 V 118.727 +36 0 V 118.728 +35 0 V 118.729 +36 0 V 118.730 +36 0 V 118.731 +36 0 V 118.732 +36 0 V 118.733 +36 0 V 118.734 +35 0 V 118.735 +36 0 V 118.736 +36 0 V 118.737 +36 0 V 118.738 +36 0 V 118.739 +36 0 V 118.740 +36 0 V 118.741 +35 0 V 118.742 +36 0 V 118.743 +36 0 V 118.744 +36 0 V 118.745 +36 0 V 118.746 +36 0 V 118.747 +36 0 V 118.748 +35 0 V 118.749 +36 0 V 118.750 +36 0 V 118.751 +36 0 V 118.752 +36 0 V 118.753 +36 0 V 118.754 +35 0 V 118.755 +36 0 V 118.756 +36 0 V 118.757 +36 0 V 118.758 +% End plot #1 118.759 +% Begin plot #2 118.760 +stroke 118.761 +LT1 118.762 +LCb setrgbcolor 118.763 +3416 2722 M 118.764 +[ [(Helvetica) 140.0 0.0 true true 0 (80 Threads)] 118.765 +] -46.7 MRshow 118.766 +LT1 118.767 +3500 2722 M 118.768 +399 0 V 118.769 +670 2855 M 118.770 +51 -852 V 118.771 +882 1405 L 118.772 +1200 930 L 118.773 +1839 705 L 118.774 +3118 625 L 118.775 +949 -39 V 118.776 +% End plot #2 118.777 +% Begin plot #3 118.778 +stroke 118.779 +LT2 118.780 +LCb setrgbcolor 118.781 +3416 2582 M 118.782 +[ [(Helvetica) 140.0 0.0 true true 0 (160 Threads)] 118.783 +] -46.7 MRshow 118.784 +LT2 118.785 +3500 2582 M 118.786 +399 0 V 118.787 +632 2855 M 118.788 +8 -651 V 118.789 +80 -714 V 118.790 +881 1280 L 118.791 +1200 856 L 118.792 +1839 682 L 118.793 +3116 544 L 118.794 +951 -19 V 118.795 +% End plot #3 118.796 +% Begin plot #4 118.797 +stroke 118.798 +LT3 118.799 +LCb setrgbcolor 118.800 +3416 2442 M 118.801 +[ [(Helvetica) 140.0 0.0 true true 0 (320 Threads)] 118.802 +] -46.7 MRshow 118.803 +LT3 118.804 +3500 2442 M 118.805 +399 0 V 118.806 +678 2855 M 118.807 +45 -823 V 118.808 +882 1374 L 118.809 +1200 997 L 118.810 +1840 716 L 118.811 +3117 544 L 118.812 +950 -16 V 118.813 +% End plot #4 118.814 +% Begin plot #5 118.815 +stroke 118.816 +LT4 118.817 +LCb setrgbcolor 118.818 +3416 2302 M 118.819 +[ [(Helvetica) 140.0 0.0 true true 0 (640 Threads)] 118.820 +] -46.7 MRshow 118.821 +LT4 118.822 +3500 2302 M 118.823 +399 0 V 118.824 +656 2855 M 118.825 +67 -607 V 118.826 +881 1260 L 118.827 +1200 822 L 118.828 +1840 687 L 118.829 +3117 564 L 118.830 +950 -21 V 118.831 +% End plot #5 118.832 +stroke 118.833 +1.000 UL 118.834 +LTb 118.835 +518 2855 M 118.836 +518 448 L 118.837 +3549 0 V 118.838 +0 2407 R 118.839 +-3549 0 R 118.840 +1.000 UP 118.841 +stroke 118.842 +grestore 118.843 +end 118.844 +showpage 118.845 +%%Trailer 118.846 +%%DocumentFonts: Helvetica 118.847 +%%Pages: 1
119.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 119.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/plots_exec_vs_task_size/not_used/xoanon_vthread_80cores_80_160_320_640thds__o30000__perfCtrs.result.eps Fri Sep 13 11:02:18 2013 -0700 119.3 @@ -0,0 +1,821 @@ 119.4 +%!PS-Adobe-2.0 119.5 +%%Title: xoanon_vthread_80cores_80_160_320_640thds__o30000__perfCtrs.result.eps 119.6 +%%Creator: gnuplot 4.4 patchlevel 2 119.7 +%%CreationDate: Thu Jan 26 18:25:10 2012 119.8 +%%DocumentFonts: (atend) 119.9 +%%BoundingBox: 251 50 554 482 119.10 +%%Orientation: Landscape 119.11 +%%Pages: (atend) 119.12 +%%EndComments 119.13 +%%BeginProlog 119.14 +/gnudict 256 dict def 119.15 +gnudict begin 119.16 +% 119.17 +% The following true/false flags may be edited by hand if desired. 119.18 +% The unit line width and grayscale image gamma correction may also be changed. 119.19 +% 119.20 +/Color true def 119.21 +/Blacktext false def 119.22 +/Solid false def 119.23 +/Dashlength 1 def 119.24 +/Landscape true def 119.25 +/Level1 false def 119.26 +/Rounded false def 119.27 +/ClipToBoundingBox false def 119.28 +/TransparentPatterns false def 119.29 +/gnulinewidth 5.000 def 119.30 +/userlinewidth gnulinewidth def 119.31 +/Gamma 1.0 def 119.32 +% 119.33 +/vshift -46 def 119.34 +/dl1 { 119.35 + 10.0 Dashlength mul mul 119.36 + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 119.37 +} def 119.38 +/dl2 { 119.39 + 10.0 Dashlength mul mul 119.40 + Rounded { currentlinewidth 0.75 mul add } if 119.41 +} def 119.42 +/hpt_ 31.5 def 119.43 +/vpt_ 31.5 def 119.44 +/hpt hpt_ def 119.45 +/vpt vpt_ def 119.46 +Level1 {} { 119.47 +/SDict 10 dict def 119.48 +systemdict /pdfmark known not { 119.49 + userdict /pdfmark systemdict /cleartomark get put 119.50 +} if 119.51 +SDict begin [ 119.52 + /Title (xoanon_vthread_80cores_80_160_320_640thds__o30000__perfCtrs.result.eps) 119.53 + /Subject (gnuplot plot) 119.54 + /Creator (gnuplot 4.4 patchlevel 2) 119.55 + /Author (msach) 119.56 +% /Producer (gnuplot) 119.57 +% /Keywords () 119.58 + /CreationDate (Thu Jan 26 18:25:10 2012) 119.59 + /DOCINFO pdfmark 119.60 +end 119.61 +} ifelse 119.62 +/doclip { 119.63 + ClipToBoundingBox { 119.64 + newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 119.65 + clip 119.66 + } if 119.67 +} def 119.68 +% 119.69 +% Gnuplot Prolog Version 4.4 (August 2010) 119.70 +% 119.71 +%/SuppressPDFMark true def 119.72 +% 119.73 +/M {moveto} bind def 119.74 +/L {lineto} bind def 119.75 +/R {rmoveto} bind def 119.76 +/V {rlineto} bind def 119.77 +/N {newpath moveto} bind def 119.78 +/Z {closepath} bind def 119.79 +/C {setrgbcolor} bind def 119.80 +/f {rlineto fill} bind def 119.81 +/g {setgray} bind def 119.82 +/Gshow {show} def % May be redefined later in the file to support UTF-8 119.83 +/vpt2 vpt 2 mul def 119.84 +/hpt2 hpt 2 mul def 119.85 +/Lshow {currentpoint stroke M 0 vshift R 119.86 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 119.87 +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 119.88 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 119.89 +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 119.90 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 119.91 +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 119.92 + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 119.93 +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 119.94 + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 119.95 +/BL {stroke userlinewidth 2 mul setlinewidth 119.96 + Rounded {1 setlinejoin 1 setlinecap} if} def 119.97 +/AL {stroke userlinewidth 2 div setlinewidth 119.98 + Rounded {1 setlinejoin 1 setlinecap} if} def 119.99 +/UL {dup gnulinewidth mul /userlinewidth exch def 119.100 + dup 1 lt {pop 1} if 10 mul /udl exch def} def 119.101 +/PL {stroke userlinewidth setlinewidth 119.102 + Rounded {1 setlinejoin 1 setlinecap} if} def 119.103 +3.8 setmiterlimit 119.104 +% Default Line colors 119.105 +/LCw {1 1 1} def 119.106 +/LCb {0 0 0} def 119.107 +/LCa {0 0 0} def 119.108 +/LC0 {1 0 0} def 119.109 +/LC1 {0 1 0} def 119.110 +/LC2 {0 0 1} def 119.111 +/LC3 {1 0 1} def 119.112 +/LC4 {0 1 1} def 119.113 +/LC5 {1 1 0} def 119.114 +/LC6 {0 0 0} def 119.115 +/LC7 {1 0.3 0} def 119.116 +/LC8 {0.5 0.5 0.5} def 119.117 +% Default Line Types 119.118 +/LTw {PL [] 1 setgray} def 119.119 +/LTb {BL [] LCb DL} def 119.120 +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 119.121 +/LT0 {PL [] LC0 DL} def 119.122 +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 119.123 +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 119.124 +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 119.125 +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 119.126 +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 119.127 +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 119.128 +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 119.129 +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 119.130 +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 119.131 +/Dia {stroke [] 0 setdash 2 copy vpt add M 119.132 + hpt neg vpt neg V hpt vpt neg V 119.133 + hpt vpt V hpt neg vpt V closepath stroke 119.134 + Pnt} def 119.135 +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 119.136 + currentpoint stroke M 119.137 + hpt neg vpt neg R hpt2 0 V stroke 119.138 + } def 119.139 +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 119.140 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 119.141 + hpt2 neg 0 V closepath stroke 119.142 + Pnt} def 119.143 +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 119.144 + hpt2 vpt2 neg V currentpoint stroke M 119.145 + hpt2 neg 0 R hpt2 vpt2 V stroke} def 119.146 +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 119.147 + hpt neg vpt -1.62 mul V 119.148 + hpt 2 mul 0 V 119.149 + hpt neg vpt 1.62 mul V closepath stroke 119.150 + Pnt} def 119.151 +/Star {2 copy Pls Crs} def 119.152 +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 119.153 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 119.154 + hpt2 neg 0 V closepath fill} def 119.155 +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 119.156 + hpt neg vpt -1.62 mul V 119.157 + hpt 2 mul 0 V 119.158 + hpt neg vpt 1.62 mul V closepath fill} def 119.159 +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 119.160 + hpt neg vpt 1.62 mul V 119.161 + hpt 2 mul 0 V 119.162 + hpt neg vpt -1.62 mul V closepath stroke 119.163 + Pnt} def 119.164 +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 119.165 + hpt neg vpt 1.62 mul V 119.166 + hpt 2 mul 0 V 119.167 + hpt neg vpt -1.62 mul V closepath fill} def 119.168 +/DiaF {stroke [] 0 setdash vpt add M 119.169 + hpt neg vpt neg V hpt vpt neg V 119.170 + hpt vpt V hpt neg vpt V closepath fill} def 119.171 +/Pent {stroke [] 0 setdash 2 copy gsave 119.172 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 119.173 + closepath stroke grestore Pnt} def 119.174 +/PentF {stroke [] 0 setdash gsave 119.175 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 119.176 + closepath fill grestore} def 119.177 +/Circle {stroke [] 0 setdash 2 copy 119.178 + hpt 0 360 arc stroke Pnt} def 119.179 +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 119.180 +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 119.181 +/C1 {BL [] 0 setdash 2 copy moveto 119.182 + 2 copy vpt 0 90 arc closepath fill 119.183 + vpt 0 360 arc closepath} bind def 119.184 +/C2 {BL [] 0 setdash 2 copy moveto 119.185 + 2 copy vpt 90 180 arc closepath fill 119.186 + vpt 0 360 arc closepath} bind def 119.187 +/C3 {BL [] 0 setdash 2 copy moveto 119.188 + 2 copy vpt 0 180 arc closepath fill 119.189 + vpt 0 360 arc closepath} bind def 119.190 +/C4 {BL [] 0 setdash 2 copy moveto 119.191 + 2 copy vpt 180 270 arc closepath fill 119.192 + vpt 0 360 arc closepath} bind def 119.193 +/C5 {BL [] 0 setdash 2 copy moveto 119.194 + 2 copy vpt 0 90 arc 119.195 + 2 copy moveto 119.196 + 2 copy vpt 180 270 arc closepath fill 119.197 + vpt 0 360 arc} bind def 119.198 +/C6 {BL [] 0 setdash 2 copy moveto 119.199 + 2 copy vpt 90 270 arc closepath fill 119.200 + vpt 0 360 arc closepath} bind def 119.201 +/C7 {BL [] 0 setdash 2 copy moveto 119.202 + 2 copy vpt 0 270 arc closepath fill 119.203 + vpt 0 360 arc closepath} bind def 119.204 +/C8 {BL [] 0 setdash 2 copy moveto 119.205 + 2 copy vpt 270 360 arc closepath fill 119.206 + vpt 0 360 arc closepath} bind def 119.207 +/C9 {BL [] 0 setdash 2 copy moveto 119.208 + 2 copy vpt 270 450 arc closepath fill 119.209 + vpt 0 360 arc closepath} bind def 119.210 +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 119.211 + 2 copy moveto 119.212 + 2 copy vpt 90 180 arc closepath fill 119.213 + vpt 0 360 arc closepath} bind def 119.214 +/C11 {BL [] 0 setdash 2 copy moveto 119.215 + 2 copy vpt 0 180 arc closepath fill 119.216 + 2 copy moveto 119.217 + 2 copy vpt 270 360 arc closepath fill 119.218 + vpt 0 360 arc closepath} bind def 119.219 +/C12 {BL [] 0 setdash 2 copy moveto 119.220 + 2 copy vpt 180 360 arc closepath fill 119.221 + vpt 0 360 arc closepath} bind def 119.222 +/C13 {BL [] 0 setdash 2 copy moveto 119.223 + 2 copy vpt 0 90 arc closepath fill 119.224 + 2 copy moveto 119.225 + 2 copy vpt 180 360 arc closepath fill 119.226 + vpt 0 360 arc closepath} bind def 119.227 +/C14 {BL [] 0 setdash 2 copy moveto 119.228 + 2 copy vpt 90 360 arc closepath fill 119.229 + vpt 0 360 arc} bind def 119.230 +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 119.231 + vpt 0 360 arc closepath} bind def 119.232 +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 119.233 + neg 0 rlineto closepath} bind def 119.234 +/Square {dup Rec} bind def 119.235 +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 119.236 +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 119.237 +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 119.238 +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 119.239 +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 119.240 +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 119.241 +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 119.242 + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 119.243 +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 119.244 +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 119.245 + 2 copy vpt Square fill Bsquare} bind def 119.246 +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 119.247 +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 119.248 +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 119.249 + Bsquare} bind def 119.250 +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 119.251 + Bsquare} bind def 119.252 +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 119.253 +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 119.254 + 2 copy vpt Square fill Bsquare} bind def 119.255 +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 119.256 + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 119.257 +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 119.258 +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 119.259 +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 119.260 +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 119.261 +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 119.262 +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 119.263 +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 119.264 +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 119.265 +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 119.266 +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 119.267 +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 119.268 +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 119.269 +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 119.270 +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 119.271 +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 119.272 +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 119.273 +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 119.274 +/DiaE {stroke [] 0 setdash vpt add M 119.275 + hpt neg vpt neg V hpt vpt neg V 119.276 + hpt vpt V hpt neg vpt V closepath stroke} def 119.277 +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 119.278 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 119.279 + hpt2 neg 0 V closepath stroke} def 119.280 +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 119.281 + hpt neg vpt -1.62 mul V 119.282 + hpt 2 mul 0 V 119.283 + hpt neg vpt 1.62 mul V closepath stroke} def 119.284 +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 119.285 + hpt neg vpt 1.62 mul V 119.286 + hpt 2 mul 0 V 119.287 + hpt neg vpt -1.62 mul V closepath stroke} def 119.288 +/PentE {stroke [] 0 setdash gsave 119.289 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 119.290 + closepath stroke grestore} def 119.291 +/CircE {stroke [] 0 setdash 119.292 + hpt 0 360 arc stroke} def 119.293 +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 119.294 +/DiaW {stroke [] 0 setdash vpt add M 119.295 + hpt neg vpt neg V hpt vpt neg V 119.296 + hpt vpt V hpt neg vpt V Opaque stroke} def 119.297 +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 119.298 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 119.299 + hpt2 neg 0 V Opaque stroke} def 119.300 +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 119.301 + hpt neg vpt -1.62 mul V 119.302 + hpt 2 mul 0 V 119.303 + hpt neg vpt 1.62 mul V Opaque stroke} def 119.304 +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 119.305 + hpt neg vpt 1.62 mul V 119.306 + hpt 2 mul 0 V 119.307 + hpt neg vpt -1.62 mul V Opaque stroke} def 119.308 +/PentW {stroke [] 0 setdash gsave 119.309 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 119.310 + Opaque stroke grestore} def 119.311 +/CircW {stroke [] 0 setdash 119.312 + hpt 0 360 arc Opaque stroke} def 119.313 +/BoxFill {gsave Rec 1 setgray fill grestore} def 119.314 +/Density { 119.315 + /Fillden exch def 119.316 + currentrgbcolor 119.317 + /ColB exch def /ColG exch def /ColR exch def 119.318 + /ColR ColR Fillden mul Fillden sub 1 add def 119.319 + /ColG ColG Fillden mul Fillden sub 1 add def 119.320 + /ColB ColB Fillden mul Fillden sub 1 add def 119.321 + ColR ColG ColB setrgbcolor} def 119.322 +/BoxColFill {gsave Rec PolyFill} def 119.323 +/PolyFill {gsave Density fill grestore grestore} def 119.324 +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 119.325 +% 119.326 +% PostScript Level 1 Pattern Fill routine for rectangles 119.327 +% Usage: x y w h s a XX PatternFill 119.328 +% x,y = lower left corner of box to be filled 119.329 +% w,h = width and height of box 119.330 +% a = angle in degrees between lines and x-axis 119.331 +% XX = 0/1 for no/yes cross-hatch 119.332 +% 119.333 +/PatternFill {gsave /PFa [ 9 2 roll ] def 119.334 + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 119.335 + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 119.336 + gsave 1 setgray fill grestore clip 119.337 + currentlinewidth 0.5 mul setlinewidth 119.338 + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 119.339 + 0 0 M PFa 5 get rotate PFs -2 div dup translate 119.340 + 0 1 PFs PFa 4 get div 1 add floor cvi 119.341 + {PFa 4 get mul 0 M 0 PFs V} for 119.342 + 0 PFa 6 get ne { 119.343 + 0 1 PFs PFa 4 get div 1 add floor cvi 119.344 + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 119.345 + } if 119.346 + stroke grestore} def 119.347 +% 119.348 +/languagelevel where 119.349 + {pop languagelevel} {1} ifelse 119.350 + 2 lt 119.351 + {/InterpretLevel1 true def} 119.352 + {/InterpretLevel1 Level1 def} 119.353 + ifelse 119.354 +% 119.355 +% PostScript level 2 pattern fill definitions 119.356 +% 119.357 +/Level2PatternFill { 119.358 +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 119.359 + bind def 119.360 +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 119.361 +<< Tile8x8 119.362 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 119.363 +>> matrix makepattern 119.364 +/Pat1 exch def 119.365 +<< Tile8x8 119.366 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 119.367 + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 119.368 +>> matrix makepattern 119.369 +/Pat2 exch def 119.370 +<< Tile8x8 119.371 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 119.372 + 8 8 L 8 0 L 0 0 L fill} 119.373 +>> matrix makepattern 119.374 +/Pat3 exch def 119.375 +<< Tile8x8 119.376 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 119.377 + 0 12 M 12 0 L stroke} 119.378 +>> matrix makepattern 119.379 +/Pat4 exch def 119.380 +<< Tile8x8 119.381 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 119.382 + 0 -4 M 12 8 L stroke} 119.383 +>> matrix makepattern 119.384 +/Pat5 exch def 119.385 +<< Tile8x8 119.386 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 119.387 + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 119.388 +>> matrix makepattern 119.389 +/Pat6 exch def 119.390 +<< Tile8x8 119.391 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 119.392 + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 119.393 +>> matrix makepattern 119.394 +/Pat7 exch def 119.395 +<< Tile8x8 119.396 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 119.397 + 12 0 M -4 8 L 12 4 M 0 10 L stroke} 119.398 +>> matrix makepattern 119.399 +/Pat8 exch def 119.400 +<< Tile8x8 119.401 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 119.402 + -4 0 M 12 8 L -4 4 M 8 10 L stroke} 119.403 +>> matrix makepattern 119.404 +/Pat9 exch def 119.405 +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 119.406 +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 119.407 +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 119.408 +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 119.409 +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 119.410 +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 119.411 +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 119.412 +} def 119.413 +% 119.414 +% 119.415 +%End of PostScript Level 2 code 119.416 +% 119.417 +/PatternBgnd { 119.418 + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 119.419 +} def 119.420 +% 119.421 +% Substitute for Level 2 pattern fill codes with 119.422 +% grayscale if Level 2 support is not selected. 119.423 +% 119.424 +/Level1PatternFill { 119.425 +/Pattern1 {0.250 Density} bind def 119.426 +/Pattern2 {0.500 Density} bind def 119.427 +/Pattern3 {0.750 Density} bind def 119.428 +/Pattern4 {0.125 Density} bind def 119.429 +/Pattern5 {0.375 Density} bind def 119.430 +/Pattern6 {0.625 Density} bind def 119.431 +/Pattern7 {0.875 Density} bind def 119.432 +} def 119.433 +% 119.434 +% Now test for support of Level 2 code 119.435 +% 119.436 +Level1 {Level1PatternFill} {Level2PatternFill} ifelse 119.437 +% 119.438 +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 119.439 +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 119.440 +currentdict end definefont pop 119.441 +/MFshow { 119.442 + { dup 5 get 3 ge 119.443 + { 5 get 3 eq {gsave} {grestore} ifelse } 119.444 + {dup dup 0 get findfont exch 1 get scalefont setfont 119.445 + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 119.446 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 119.447 + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 119.448 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 119.449 + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 119.450 + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 119.451 + pop aload pop M} ifelse }ifelse }ifelse } 119.452 + ifelse } 119.453 + forall} def 119.454 +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 119.455 +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 119.456 + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 119.457 + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 119.458 +/MLshow { currentpoint stroke M 119.459 + 0 exch R 119.460 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 119.461 +/MRshow { currentpoint stroke M 119.462 + exch dup MFwidth neg 3 -1 roll R 119.463 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 119.464 +/MCshow { currentpoint stroke M 119.465 + exch dup MFwidth -2 div 3 -1 roll R 119.466 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 119.467 +/XYsave { [( ) 1 2 true false 3 ()] } bind def 119.468 +/XYrestore { [( ) 1 2 true false 4 ()] } bind def 119.469 +end 119.470 +%%EndProlog 119.471 +%%Page: 1 1 119.472 +gnudict begin 119.473 +gsave 119.474 +doclip 119.475 +50 50 translate 119.476 +0.100 0.100 scale 119.477 +90 rotate 119.478 +0 -5040 translate 119.479 +0 setgray 119.480 +newpath 119.481 +(Helvetica) findfont 140 scalefont setfont 119.482 +1.000 UL 119.483 +LTb 119.484 +518 448 M 119.485 +63 0 V 119.486 +stroke 119.487 +434 448 M 119.488 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1)] 119.489 +] -46.7 MRshow 119.490 +1.000 UL 119.491 +LTb 119.492 +518 792 M 119.493 +63 0 V 119.494 +stroke 119.495 +434 792 M 119.496 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] 119.497 +] -46.7 MRshow 119.498 +1.000 UL 119.499 +LTb 119.500 +518 1136 M 119.501 +63 0 V 119.502 +stroke 119.503 +434 1136 M 119.504 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] 119.505 +] -46.7 MRshow 119.506 +1.000 UL 119.507 +LTb 119.508 +518 1480 M 119.509 +63 0 V 119.510 +stroke 119.511 +434 1480 M 119.512 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] 119.513 +] -46.7 MRshow 119.514 +1.000 UL 119.515 +LTb 119.516 +518 1823 M 119.517 +63 0 V 119.518 +stroke 119.519 +434 1823 M 119.520 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 119.521 +] -46.7 MRshow 119.522 +1.000 UL 119.523 +LTb 119.524 +518 2167 M 119.525 +63 0 V 119.526 +stroke 119.527 +434 2167 M 119.528 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] 119.529 +] -46.7 MRshow 119.530 +1.000 UL 119.531 +LTb 119.532 +518 2511 M 119.533 +63 0 V 119.534 +stroke 119.535 +434 2511 M 119.536 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7)] 119.537 +] -46.7 MRshow 119.538 +1.000 UL 119.539 +LTb 119.540 +518 2855 M 119.541 +63 0 V 119.542 +stroke 119.543 +434 2855 M 119.544 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] 119.545 +] -46.7 MRshow 119.546 +1.000 UL 119.547 +LTb 119.548 +518 448 M 119.549 +0 63 V 119.550 +stroke 119.551 +518 308 M 119.552 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 119.553 +] -46.7 MCshow 119.554 +1.000 UL 119.555 +LTb 119.556 +962 448 M 119.557 +0 63 V 119.558 +stroke 119.559 +962 308 M 119.560 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 119.561 +] -46.7 MCshow 119.562 +1.000 UL 119.563 +LTb 119.564 +1405 448 M 119.565 +0 63 V 119.566 +stroke 119.567 +1405 308 M 119.568 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 119.569 +] -46.7 MCshow 119.570 +1.000 UL 119.571 +LTb 119.572 +1849 448 M 119.573 +0 63 V 119.574 +stroke 119.575 +1849 308 M 119.576 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 119.577 +] -46.7 MCshow 119.578 +1.000 UL 119.579 +LTb 119.580 +2293 448 M 119.581 +0 63 V 119.582 +stroke 119.583 +2293 308 M 119.584 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 119.585 +] -46.7 MCshow 119.586 +1.000 UL 119.587 +LTb 119.588 +2736 448 M 119.589 +0 63 V 119.590 +stroke 119.591 +2736 308 M 119.592 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 119.593 +] -46.7 MCshow 119.594 +1.000 UL 119.595 +LTb 119.596 +3180 448 M 119.597 +0 63 V 119.598 +stroke 119.599 +3180 308 M 119.600 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 119.601 +] -46.7 MCshow 119.602 +1.000 UL 119.603 +LTb 119.604 +3623 448 M 119.605 +0 63 V 119.606 +stroke 119.607 +3623 308 M 119.608 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 119.609 +] -46.7 MCshow 119.610 +1.000 UL 119.611 +LTb 119.612 +4067 448 M 119.613 +0 63 V 119.614 +stroke 119.615 +4067 308 M 119.616 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 119.617 +] -46.7 MCshow 119.618 +1.000 UL 119.619 +LTb 119.620 +1.000 UL 119.621 +LTb 119.622 +518 2855 M 119.623 +518 448 L 119.624 +3549 0 V 119.625 +0 2407 R 119.626 +-3549 0 R 119.627 +stroke 119.628 +LCb setrgbcolor 119.629 +112 1651 M 119.630 +currentpoint gsave translate -270 rotate 0 0 moveto 119.631 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 119.632 +] -46.7 MCshow 119.633 +grestore 119.634 +LTb 119.635 +LCb setrgbcolor 119.636 +2292 98 M 119.637 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 119.638 +] -46.7 MCshow 119.639 +LTb 119.640 +1.000 UP 119.641 +1.000 UL 119.642 +LTb 119.643 +1.000 UL 119.644 +LTb 119.645 +2492 2372 N 119.646 +0 420 V 119.647 +1491 0 V 119.648 +0 -420 V 119.649 +-1491 0 V 119.650 +Z stroke 119.651 +2492 2792 M 119.652 +1491 0 V 119.653 +% Begin plot #1 119.654 +stroke 119.655 +4.000 UL 119.656 +LT1 119.657 +LCa setrgbcolor 119.658 +518 792 M 119.659 +36 0 V 119.660 +36 0 V 119.661 +36 0 V 119.662 +35 0 V 119.663 +36 0 V 119.664 +36 0 V 119.665 +36 0 V 119.666 +36 0 V 119.667 +36 0 V 119.668 +35 0 V 119.669 +36 0 V 119.670 +36 0 V 119.671 +36 0 V 119.672 +36 0 V 119.673 +36 0 V 119.674 +36 0 V 119.675 +35 0 V 119.676 +36 0 V 119.677 +36 0 V 119.678 +36 0 V 119.679 +36 0 V 119.680 +36 0 V 119.681 +36 0 V 119.682 +35 0 V 119.683 +36 0 V 119.684 +36 0 V 119.685 +36 0 V 119.686 +36 0 V 119.687 +36 0 V 119.688 +35 0 V 119.689 +36 0 V 119.690 +36 0 V 119.691 +36 0 V 119.692 +36 0 V 119.693 +36 0 V 119.694 +36 0 V 119.695 +35 0 V 119.696 +36 0 V 119.697 +36 0 V 119.698 +36 0 V 119.699 +36 0 V 119.700 +36 0 V 119.701 +35 0 V 119.702 +36 0 V 119.703 +36 0 V 119.704 +36 0 V 119.705 +36 0 V 119.706 +36 0 V 119.707 +36 0 V 119.708 +35 0 V 119.709 +36 0 V 119.710 +36 0 V 119.711 +36 0 V 119.712 +36 0 V 119.713 +36 0 V 119.714 +36 0 V 119.715 +35 0 V 119.716 +36 0 V 119.717 +36 0 V 119.718 +36 0 V 119.719 +36 0 V 119.720 +36 0 V 119.721 +35 0 V 119.722 +36 0 V 119.723 +36 0 V 119.724 +36 0 V 119.725 +36 0 V 119.726 +36 0 V 119.727 +36 0 V 119.728 +35 0 V 119.729 +36 0 V 119.730 +36 0 V 119.731 +36 0 V 119.732 +36 0 V 119.733 +36 0 V 119.734 +35 0 V 119.735 +36 0 V 119.736 +36 0 V 119.737 +36 0 V 119.738 +36 0 V 119.739 +36 0 V 119.740 +36 0 V 119.741 +35 0 V 119.742 +36 0 V 119.743 +36 0 V 119.744 +36 0 V 119.745 +36 0 V 119.746 +36 0 V 119.747 +36 0 V 119.748 +35 0 V 119.749 +36 0 V 119.750 +36 0 V 119.751 +36 0 V 119.752 +36 0 V 119.753 +36 0 V 119.754 +35 0 V 119.755 +36 0 V 119.756 +36 0 V 119.757 +36 0 V 119.758 +% End plot #1 119.759 +% Begin plot #2 119.760 +stroke 119.761 +LT1 119.762 +LCb setrgbcolor 119.763 +3416 2722 M 119.764 +[ [(Helvetica) 140.0 0.0 true true 0 (160 Threads)] 119.765 +] -46.7 MRshow 119.766 +LT1 119.767 +3500 2722 M 119.768 +399 0 V 119.769 +1143 2855 M 119.770 +119 -356 V 119.771 +1884 1393 L 119.772 +3173 986 L 119.773 +4067 875 L 119.774 +% End plot #2 119.775 +% Begin plot #3 119.776 +stroke 119.777 +LT2 119.778 +LCb setrgbcolor 119.779 +3416 2582 M 119.780 +[ [(Helvetica) 140.0 0.0 true true 0 (320 Threads)] 119.781 +] -46.7 MRshow 119.782 +LT2 119.783 +3500 2582 M 119.784 +399 0 V 119.785 +938 2855 M 119.786 +11 -154 V 119.787 +298 -610 V 119.788 +661 -716 V 119.789 +3205 912 L 119.790 +862 -78 V 119.791 +% End plot #3 119.792 +% Begin plot #4 119.793 +stroke 119.794 +LT3 119.795 +LCb setrgbcolor 119.796 +3416 2442 M 119.797 +[ [(Helvetica) 140.0 0.0 true true 0 (640 Threads)] 119.798 +] -46.7 MRshow 119.799 +LT3 119.800 +3500 2442 M 119.801 +399 0 V 119.802 +933 2855 M 119.803 +7 -106 V 119.804 +316 -533 V 119.805 +639 -908 V 119.806 +3183 912 L 119.807 +884 -75 V 119.808 +% End plot #4 119.809 +stroke 119.810 +1.000 UL 119.811 +LTb 119.812 +518 2855 M 119.813 +518 448 L 119.814 +3549 0 V 119.815 +0 2407 R 119.816 +-3549 0 R 119.817 +1.000 UP 119.818 +stroke 119.819 +grestore 119.820 +end 119.821 +showpage 119.822 +%%Trailer 119.823 +%%DocumentFonts: Helvetica 119.824 +%%Pages: 1
120.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 120.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/plots_exec_vs_task_size/vms_pthread_vthread_8_32_128_512thds__o30000__perfCtrs.eps Fri Sep 13 11:02:18 2013 -0700 120.3 @@ -0,0 +1,1319 @@ 120.4 +%!PS-Adobe-2.0 120.5 +%%Title: vms_pthreads_vthread_8_32_128_512thds__o30000__perfCtrs.meas.eps 120.6 +%%Creator: gnuplot 4.4 patchlevel 2 120.7 +%%CreationDate: Thu Jan 26 18:20:37 2012 120.8 +%%DocumentFonts: (atend) 120.9 +%%BoundingBox: 251 50 554 482 120.10 +%%Orientation: Landscape 120.11 +%%Pages: (atend) 120.12 +%%EndComments 120.13 +%%BeginProlog 120.14 +/gnudict 256 dict def 120.15 +gnudict begin 120.16 +% 120.17 +% The following true/false flags may be edited by hand if desired. 120.18 +% The unit line width and grayscale image gamma correction may also be changed. 120.19 +% 120.20 +/Color true def 120.21 +/Blacktext false def 120.22 +/Solid false def 120.23 +/Dashlength 1 def 120.24 +/Landscape true def 120.25 +/Level1 false def 120.26 +/Rounded false def 120.27 +/ClipToBoundingBox false def 120.28 +/TransparentPatterns false def 120.29 +/gnulinewidth 5.000 def 120.30 +/userlinewidth gnulinewidth def 120.31 +/Gamma 1.0 def 120.32 +% 120.33 +/vshift -46 def 120.34 +/dl1 { 120.35 + 10.0 Dashlength mul mul 120.36 + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 120.37 +} def 120.38 +/dl2 { 120.39 + 10.0 Dashlength mul mul 120.40 + Rounded { currentlinewidth 0.75 mul add } if 120.41 +} def 120.42 +/hpt_ 31.5 def 120.43 +/vpt_ 31.5 def 120.44 +/hpt hpt_ def 120.45 +/vpt vpt_ def 120.46 +Level1 {} { 120.47 +/SDict 10 dict def 120.48 +systemdict /pdfmark known not { 120.49 + userdict /pdfmark systemdict /cleartomark get put 120.50 +} if 120.51 +SDict begin [ 120.52 + /Title (vms_pthreads_vthread_8_32_128_512thds__o30000__perfCtrs.meas.eps) 120.53 + /Subject (gnuplot plot) 120.54 + /Creator (gnuplot 4.4 patchlevel 2) 120.55 + /Author (msach) 120.56 +% /Producer (gnuplot) 120.57 +% /Keywords () 120.58 + /CreationDate (Thu Jan 26 18:20:37 2012) 120.59 + /DOCINFO pdfmark 120.60 +end 120.61 +} ifelse 120.62 +/doclip { 120.63 + ClipToBoundingBox { 120.64 + newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 120.65 + clip 120.66 + } if 120.67 +} def 120.68 +% 120.69 +% Gnuplot Prolog Version 4.4 (August 2010) 120.70 +% 120.71 +%/SuppressPDFMark true def 120.72 +% 120.73 +/M {moveto} bind def 120.74 +/L {lineto} bind def 120.75 +/R {rmoveto} bind def 120.76 +/V {rlineto} bind def 120.77 +/N {newpath moveto} bind def 120.78 +/Z {closepath} bind def 120.79 +/C {setrgbcolor} bind def 120.80 +/f {rlineto fill} bind def 120.81 +/g {setgray} bind def 120.82 +/Gshow {show} def % May be redefined later in the file to support UTF-8 120.83 +/vpt2 vpt 2 mul def 120.84 +/hpt2 hpt 2 mul def 120.85 +/Lshow {currentpoint stroke M 0 vshift R 120.86 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 120.87 +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 120.88 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 120.89 +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 120.90 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 120.91 +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 120.92 + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 120.93 +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 120.94 + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 120.95 +/BL {stroke userlinewidth 2 mul setlinewidth 120.96 + Rounded {1 setlinejoin 1 setlinecap} if} def 120.97 +/AL {stroke userlinewidth 2 div setlinewidth 120.98 + Rounded {1 setlinejoin 1 setlinecap} if} def 120.99 +/UL {dup gnulinewidth mul /userlinewidth exch def 120.100 + dup 1 lt {pop 1} if 10 mul /udl exch def} def 120.101 +/PL {stroke userlinewidth setlinewidth 120.102 + Rounded {1 setlinejoin 1 setlinecap} if} def 120.103 +3.8 setmiterlimit 120.104 +% Default Line colors 120.105 +/LCw {1 1 1} def 120.106 +/LCb {0 0 0} def 120.107 +/LCa {0 0 0} def 120.108 +/LC0 {1 0 0} def 120.109 +/LC1 {0 1 0} def 120.110 +/LC2 {0 0 1} def 120.111 +/LC3 {1 0 1} def 120.112 +/LC4 {0 1 1} def 120.113 +/LC5 {1 1 0} def 120.114 +/LC6 {0 0 0} def 120.115 +/LC7 {1 0.3 0} def 120.116 +/LC8 {0.5 0.5 0.5} def 120.117 +% Default Line Types 120.118 +/LTw {PL [] 1 setgray} def 120.119 +/LTb {BL [] LCb DL} def 120.120 +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 120.121 +/LT0 {PL [] LC0 DL} def 120.122 +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 120.123 +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 120.124 +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 120.125 +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 120.126 +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 120.127 +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 120.128 +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 120.129 +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 120.130 +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 120.131 +/Dia {stroke [] 0 setdash 2 copy vpt add M 120.132 + hpt neg vpt neg V hpt vpt neg V 120.133 + hpt vpt V hpt neg vpt V closepath stroke 120.134 + Pnt} def 120.135 +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 120.136 + currentpoint stroke M 120.137 + hpt neg vpt neg R hpt2 0 V stroke 120.138 + } def 120.139 +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 120.140 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 120.141 + hpt2 neg 0 V closepath stroke 120.142 + Pnt} def 120.143 +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 120.144 + hpt2 vpt2 neg V currentpoint stroke M 120.145 + hpt2 neg 0 R hpt2 vpt2 V stroke} def 120.146 +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 120.147 + hpt neg vpt -1.62 mul V 120.148 + hpt 2 mul 0 V 120.149 + hpt neg vpt 1.62 mul V closepath stroke 120.150 + Pnt} def 120.151 +/Star {2 copy Pls Crs} def 120.152 +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 120.153 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 120.154 + hpt2 neg 0 V closepath fill} def 120.155 +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 120.156 + hpt neg vpt -1.62 mul V 120.157 + hpt 2 mul 0 V 120.158 + hpt neg vpt 1.62 mul V closepath fill} def 120.159 +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 120.160 + hpt neg vpt 1.62 mul V 120.161 + hpt 2 mul 0 V 120.162 + hpt neg vpt -1.62 mul V closepath stroke 120.163 + Pnt} def 120.164 +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 120.165 + hpt neg vpt 1.62 mul V 120.166 + hpt 2 mul 0 V 120.167 + hpt neg vpt -1.62 mul V closepath fill} def 120.168 +/DiaF {stroke [] 0 setdash vpt add M 120.169 + hpt neg vpt neg V hpt vpt neg V 120.170 + hpt vpt V hpt neg vpt V closepath fill} def 120.171 +/Pent {stroke [] 0 setdash 2 copy gsave 120.172 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 120.173 + closepath stroke grestore Pnt} def 120.174 +/PentF {stroke [] 0 setdash gsave 120.175 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 120.176 + closepath fill grestore} def 120.177 +/Circle {stroke [] 0 setdash 2 copy 120.178 + hpt 0 360 arc stroke Pnt} def 120.179 +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 120.180 +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 120.181 +/C1 {BL [] 0 setdash 2 copy moveto 120.182 + 2 copy vpt 0 90 arc closepath fill 120.183 + vpt 0 360 arc closepath} bind def 120.184 +/C2 {BL [] 0 setdash 2 copy moveto 120.185 + 2 copy vpt 90 180 arc closepath fill 120.186 + vpt 0 360 arc closepath} bind def 120.187 +/C3 {BL [] 0 setdash 2 copy moveto 120.188 + 2 copy vpt 0 180 arc closepath fill 120.189 + vpt 0 360 arc closepath} bind def 120.190 +/C4 {BL [] 0 setdash 2 copy moveto 120.191 + 2 copy vpt 180 270 arc closepath fill 120.192 + vpt 0 360 arc closepath} bind def 120.193 +/C5 {BL [] 0 setdash 2 copy moveto 120.194 + 2 copy vpt 0 90 arc 120.195 + 2 copy moveto 120.196 + 2 copy vpt 180 270 arc closepath fill 120.197 + vpt 0 360 arc} bind def 120.198 +/C6 {BL [] 0 setdash 2 copy moveto 120.199 + 2 copy vpt 90 270 arc closepath fill 120.200 + vpt 0 360 arc closepath} bind def 120.201 +/C7 {BL [] 0 setdash 2 copy moveto 120.202 + 2 copy vpt 0 270 arc closepath fill 120.203 + vpt 0 360 arc closepath} bind def 120.204 +/C8 {BL [] 0 setdash 2 copy moveto 120.205 + 2 copy vpt 270 360 arc closepath fill 120.206 + vpt 0 360 arc closepath} bind def 120.207 +/C9 {BL [] 0 setdash 2 copy moveto 120.208 + 2 copy vpt 270 450 arc closepath fill 120.209 + vpt 0 360 arc closepath} bind def 120.210 +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 120.211 + 2 copy moveto 120.212 + 2 copy vpt 90 180 arc closepath fill 120.213 + vpt 0 360 arc closepath} bind def 120.214 +/C11 {BL [] 0 setdash 2 copy moveto 120.215 + 2 copy vpt 0 180 arc closepath fill 120.216 + 2 copy moveto 120.217 + 2 copy vpt 270 360 arc closepath fill 120.218 + vpt 0 360 arc closepath} bind def 120.219 +/C12 {BL [] 0 setdash 2 copy moveto 120.220 + 2 copy vpt 180 360 arc closepath fill 120.221 + vpt 0 360 arc closepath} bind def 120.222 +/C13 {BL [] 0 setdash 2 copy moveto 120.223 + 2 copy vpt 0 90 arc closepath fill 120.224 + 2 copy moveto 120.225 + 2 copy vpt 180 360 arc closepath fill 120.226 + vpt 0 360 arc closepath} bind def 120.227 +/C14 {BL [] 0 setdash 2 copy moveto 120.228 + 2 copy vpt 90 360 arc closepath fill 120.229 + vpt 0 360 arc} bind def 120.230 +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 120.231 + vpt 0 360 arc closepath} bind def 120.232 +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 120.233 + neg 0 rlineto closepath} bind def 120.234 +/Square {dup Rec} bind def 120.235 +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 120.236 +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 120.237 +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 120.238 +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 120.239 +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 120.240 +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 120.241 +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 120.242 + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 120.243 +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 120.244 +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 120.245 + 2 copy vpt Square fill Bsquare} bind def 120.246 +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 120.247 +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 120.248 +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 120.249 + Bsquare} bind def 120.250 +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 120.251 + Bsquare} bind def 120.252 +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 120.253 +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 120.254 + 2 copy vpt Square fill Bsquare} bind def 120.255 +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 120.256 + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 120.257 +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 120.258 +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 120.259 +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 120.260 +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 120.261 +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 120.262 +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 120.263 +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 120.264 +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 120.265 +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 120.266 +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 120.267 +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 120.268 +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 120.269 +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 120.270 +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 120.271 +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 120.272 +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 120.273 +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 120.274 +/DiaE {stroke [] 0 setdash vpt add M 120.275 + hpt neg vpt neg V hpt vpt neg V 120.276 + hpt vpt V hpt neg vpt V closepath stroke} def 120.277 +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 120.278 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 120.279 + hpt2 neg 0 V closepath stroke} def 120.280 +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 120.281 + hpt neg vpt -1.62 mul V 120.282 + hpt 2 mul 0 V 120.283 + hpt neg vpt 1.62 mul V closepath stroke} def 120.284 +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 120.285 + hpt neg vpt 1.62 mul V 120.286 + hpt 2 mul 0 V 120.287 + hpt neg vpt -1.62 mul V closepath stroke} def 120.288 +/PentE {stroke [] 0 setdash gsave 120.289 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 120.290 + closepath stroke grestore} def 120.291 +/CircE {stroke [] 0 setdash 120.292 + hpt 0 360 arc stroke} def 120.293 +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 120.294 +/DiaW {stroke [] 0 setdash vpt add M 120.295 + hpt neg vpt neg V hpt vpt neg V 120.296 + hpt vpt V hpt neg vpt V Opaque stroke} def 120.297 +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 120.298 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 120.299 + hpt2 neg 0 V Opaque stroke} def 120.300 +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 120.301 + hpt neg vpt -1.62 mul V 120.302 + hpt 2 mul 0 V 120.303 + hpt neg vpt 1.62 mul V Opaque stroke} def 120.304 +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 120.305 + hpt neg vpt 1.62 mul V 120.306 + hpt 2 mul 0 V 120.307 + hpt neg vpt -1.62 mul V Opaque stroke} def 120.308 +/PentW {stroke [] 0 setdash gsave 120.309 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 120.310 + Opaque stroke grestore} def 120.311 +/CircW {stroke [] 0 setdash 120.312 + hpt 0 360 arc Opaque stroke} def 120.313 +/BoxFill {gsave Rec 1 setgray fill grestore} def 120.314 +/Density { 120.315 + /Fillden exch def 120.316 + currentrgbcolor 120.317 + /ColB exch def /ColG exch def /ColR exch def 120.318 + /ColR ColR Fillden mul Fillden sub 1 add def 120.319 + /ColG ColG Fillden mul Fillden sub 1 add def 120.320 + /ColB ColB Fillden mul Fillden sub 1 add def 120.321 + ColR ColG ColB setrgbcolor} def 120.322 +/BoxColFill {gsave Rec PolyFill} def 120.323 +/PolyFill {gsave Density fill grestore grestore} def 120.324 +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 120.325 +% 120.326 +% PostScript Level 1 Pattern Fill routine for rectangles 120.327 +% Usage: x y w h s a XX PatternFill 120.328 +% x,y = lower left corner of box to be filled 120.329 +% w,h = width and height of box 120.330 +% a = angle in degrees between lines and x-axis 120.331 +% XX = 0/1 for no/yes cross-hatch 120.332 +% 120.333 +/PatternFill {gsave /PFa [ 9 2 roll ] def 120.334 + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 120.335 + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 120.336 + gsave 1 setgray fill grestore clip 120.337 + currentlinewidth 0.5 mul setlinewidth 120.338 + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 120.339 + 0 0 M PFa 5 get rotate PFs -2 div dup translate 120.340 + 0 1 PFs PFa 4 get div 1 add floor cvi 120.341 + {PFa 4 get mul 0 M 0 PFs V} for 120.342 + 0 PFa 6 get ne { 120.343 + 0 1 PFs PFa 4 get div 1 add floor cvi 120.344 + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 120.345 + } if 120.346 + stroke grestore} def 120.347 +% 120.348 +/languagelevel where 120.349 + {pop languagelevel} {1} ifelse 120.350 + 2 lt 120.351 + {/InterpretLevel1 true def} 120.352 + {/InterpretLevel1 Level1 def} 120.353 + ifelse 120.354 +% 120.355 +% PostScript level 2 pattern fill definitions 120.356 +% 120.357 +/Level2PatternFill { 120.358 +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 120.359 + bind def 120.360 +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 120.361 +<< Tile8x8 120.362 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 120.363 +>> matrix makepattern 120.364 +/Pat1 exch def 120.365 +<< Tile8x8 120.366 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 120.367 + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 120.368 +>> matrix makepattern 120.369 +/Pat2 exch def 120.370 +<< Tile8x8 120.371 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 120.372 + 8 8 L 8 0 L 0 0 L fill} 120.373 +>> matrix makepattern 120.374 +/Pat3 exch def 120.375 +<< Tile8x8 120.376 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 120.377 + 0 12 M 12 0 L stroke} 120.378 +>> matrix makepattern 120.379 +/Pat4 exch def 120.380 +<< Tile8x8 120.381 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 120.382 + 0 -4 M 12 8 L stroke} 120.383 +>> matrix makepattern 120.384 +/Pat5 exch def 120.385 +<< Tile8x8 120.386 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 120.387 + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 120.388 +>> matrix makepattern 120.389 +/Pat6 exch def 120.390 +<< Tile8x8 120.391 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 120.392 + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 120.393 +>> matrix makepattern 120.394 +/Pat7 exch def 120.395 +<< Tile8x8 120.396 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 120.397 + 12 0 M -4 8 L 12 4 M 0 10 L stroke} 120.398 +>> matrix makepattern 120.399 +/Pat8 exch def 120.400 +<< Tile8x8 120.401 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 120.402 + -4 0 M 12 8 L -4 4 M 8 10 L stroke} 120.403 +>> matrix makepattern 120.404 +/Pat9 exch def 120.405 +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 120.406 +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 120.407 +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 120.408 +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 120.409 +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 120.410 +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 120.411 +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 120.412 +} def 120.413 +% 120.414 +% 120.415 +%End of PostScript Level 2 code 120.416 +% 120.417 +/PatternBgnd { 120.418 + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 120.419 +} def 120.420 +% 120.421 +% Substitute for Level 2 pattern fill codes with 120.422 +% grayscale if Level 2 support is not selected. 120.423 +% 120.424 +/Level1PatternFill { 120.425 +/Pattern1 {0.250 Density} bind def 120.426 +/Pattern2 {0.500 Density} bind def 120.427 +/Pattern3 {0.750 Density} bind def 120.428 +/Pattern4 {0.125 Density} bind def 120.429 +/Pattern5 {0.375 Density} bind def 120.430 +/Pattern6 {0.625 Density} bind def 120.431 +/Pattern7 {0.875 Density} bind def 120.432 +} def 120.433 +% 120.434 +% Now test for support of Level 2 code 120.435 +% 120.436 +Level1 {Level1PatternFill} {Level2PatternFill} ifelse 120.437 +% 120.438 +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 120.439 +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 120.440 +currentdict end definefont pop 120.441 +/MFshow { 120.442 + { dup 5 get 3 ge 120.443 + { 5 get 3 eq {gsave} {grestore} ifelse } 120.444 + {dup dup 0 get findfont exch 1 get scalefont setfont 120.445 + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 120.446 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 120.447 + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 120.448 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 120.449 + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 120.450 + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 120.451 + pop aload pop M} ifelse }ifelse }ifelse } 120.452 + ifelse } 120.453 + forall} def 120.454 +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 120.455 +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 120.456 + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 120.457 + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 120.458 +/MLshow { currentpoint stroke M 120.459 + 0 exch R 120.460 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 120.461 +/MRshow { currentpoint stroke M 120.462 + exch dup MFwidth neg 3 -1 roll R 120.463 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 120.464 +/MCshow { currentpoint stroke M 120.465 + exch dup MFwidth -2 div 3 -1 roll R 120.466 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 120.467 +/XYsave { [( ) 1 2 true false 3 ()] } bind def 120.468 +/XYrestore { [( ) 1 2 true false 4 ()] } bind def 120.469 +end 120.470 +%%EndProlog 120.471 +%%Page: 1 1 120.472 +gnudict begin 120.473 +gsave 120.474 +doclip 120.475 +50 50 translate 120.476 +0.100 0.100 scale 120.477 +90 rotate 120.478 +0 -5040 translate 120.479 +0 setgray 120.480 +newpath 120.481 +(Helvetica) findfont 140 scalefont setfont 120.482 +1.000 UL 120.483 +LTb 120.484 +602 448 M 120.485 +63 0 V 120.486 +stroke 120.487 +518 448 M 120.488 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1)] 120.489 +] -46.7 MRshow 120.490 +1.000 UL 120.491 +LTb 120.492 +602 715 M 120.493 +63 0 V 120.494 +stroke 120.495 +518 715 M 120.496 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] 120.497 +] -46.7 MRshow 120.498 +1.000 UL 120.499 +LTb 120.500 +602 983 M 120.501 +63 0 V 120.502 +stroke 120.503 +518 983 M 120.504 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] 120.505 +] -46.7 MRshow 120.506 +1.000 UL 120.507 +LTb 120.508 +602 1250 M 120.509 +63 0 V 120.510 +stroke 120.511 +518 1250 M 120.512 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] 120.513 +] -46.7 MRshow 120.514 +1.000 UL 120.515 +LTb 120.516 +602 1518 M 120.517 +63 0 V 120.518 +stroke 120.519 +518 1518 M 120.520 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 120.521 +] -46.7 MRshow 120.522 +1.000 UL 120.523 +LTb 120.524 +602 1785 M 120.525 +63 0 V 120.526 +stroke 120.527 +518 1785 M 120.528 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] 120.529 +] -46.7 MRshow 120.530 +1.000 UL 120.531 +LTb 120.532 +602 2053 M 120.533 +63 0 V 120.534 +stroke 120.535 +518 2053 M 120.536 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7)] 120.537 +] -46.7 MRshow 120.538 +1.000 UL 120.539 +LTb 120.540 +602 2320 M 120.541 +63 0 V 120.542 +stroke 120.543 +518 2320 M 120.544 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] 120.545 +] -46.7 MRshow 120.546 +1.000 UL 120.547 +LTb 120.548 +602 2588 M 120.549 +63 0 V 120.550 +stroke 120.551 +518 2588 M 120.552 +[ [(Helvetica) 140.0 0.0 true true 0 ( 9)] 120.553 +] -46.7 MRshow 120.554 +1.000 UL 120.555 +LTb 120.556 +602 2855 M 120.557 +63 0 V 120.558 +stroke 120.559 +518 2855 M 120.560 +[ [(Helvetica) 140.0 0.0 true true 0 ( 10)] 120.561 +] -46.7 MRshow 120.562 +1.000 UL 120.563 +LTb 120.564 +602 448 M 120.565 +0 63 V 120.566 +stroke 120.567 +602 308 M 120.568 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 120.569 +] -46.7 MCshow 120.570 +1.000 UL 120.571 +LTb 120.572 +1035 448 M 120.573 +0 63 V 120.574 +stroke 120.575 +1035 308 M 120.576 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 120.577 +] -46.7 MCshow 120.578 +1.000 UL 120.579 +LTb 120.580 +1468 448 M 120.581 +0 63 V 120.582 +stroke 120.583 +1468 308 M 120.584 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 120.585 +] -46.7 MCshow 120.586 +1.000 UL 120.587 +LTb 120.588 +1901 448 M 120.589 +0 63 V 120.590 +stroke 120.591 +1901 308 M 120.592 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 120.593 +] -46.7 MCshow 120.594 +1.000 UL 120.595 +LTb 120.596 +2335 448 M 120.597 +0 63 V 120.598 +stroke 120.599 +2335 308 M 120.600 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 120.601 +] -46.7 MCshow 120.602 +1.000 UL 120.603 +LTb 120.604 +2768 448 M 120.605 +0 63 V 120.606 +stroke 120.607 +2768 308 M 120.608 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 120.609 +] -46.7 MCshow 120.610 +1.000 UL 120.611 +LTb 120.612 +3201 448 M 120.613 +0 63 V 120.614 +stroke 120.615 +3201 308 M 120.616 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 120.617 +] -46.7 MCshow 120.618 +1.000 UL 120.619 +LTb 120.620 +3634 448 M 120.621 +0 63 V 120.622 +stroke 120.623 +3634 308 M 120.624 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 120.625 +] -46.7 MCshow 120.626 +1.000 UL 120.627 +LTb 120.628 +4067 448 M 120.629 +0 63 V 120.630 +stroke 120.631 +4067 308 M 120.632 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 120.633 +] -46.7 MCshow 120.634 +1.000 UL 120.635 +LTb 120.636 +1.000 UL 120.637 +LTb 120.638 +602 2855 M 120.639 +602 448 L 120.640 +3465 0 V 120.641 +0 2407 R 120.642 +-3465 0 R 120.643 +stroke 120.644 +LCb setrgbcolor 120.645 +112 1651 M 120.646 +currentpoint gsave translate -270 rotate 0 0 moveto 120.647 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 120.648 +] -46.7 MCshow 120.649 +grestore 120.650 +LTb 120.651 +LCb setrgbcolor 120.652 +2334 98 M 120.653 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 120.654 +] -46.7 MCshow 120.655 +LTb 120.656 +1.000 UP 120.657 +1.000 UL 120.658 +LTb 120.659 +% Begin plot #1 120.660 +3.000 UL 120.661 +LT1 120.662 +LCa setrgbcolor 120.663 +602 715 M 120.664 +35 0 V 120.665 +35 0 V 120.666 +35 0 V 120.667 +35 0 V 120.668 +35 0 V 120.669 +35 0 V 120.670 +35 0 V 120.671 +35 0 V 120.672 +35 0 V 120.673 +35 0 V 120.674 +35 0 V 120.675 +35 0 V 120.676 +35 0 V 120.677 +35 0 V 120.678 +35 0 V 120.679 +35 0 V 120.680 +35 0 V 120.681 +35 0 V 120.682 +35 0 V 120.683 +35 0 V 120.684 +35 0 V 120.685 +35 0 V 120.686 +35 0 V 120.687 +35 0 V 120.688 +35 0 V 120.689 +35 0 V 120.690 +35 0 V 120.691 +35 0 V 120.692 +35 0 V 120.693 +35 0 V 120.694 +35 0 V 120.695 +35 0 V 120.696 +35 0 V 120.697 +35 0 V 120.698 +35 0 V 120.699 +35 0 V 120.700 +35 0 V 120.701 +35 0 V 120.702 +35 0 V 120.703 +35 0 V 120.704 +35 0 V 120.705 +35 0 V 120.706 +35 0 V 120.707 +35 0 V 120.708 +35 0 V 120.709 +35 0 V 120.710 +35 0 V 120.711 +35 0 V 120.712 +35 0 V 120.713 +35 0 V 120.714 +35 0 V 120.715 +35 0 V 120.716 +35 0 V 120.717 +35 0 V 120.718 +35 0 V 120.719 +35 0 V 120.720 +35 0 V 120.721 +35 0 V 120.722 +35 0 V 120.723 +35 0 V 120.724 +35 0 V 120.725 +35 0 V 120.726 +35 0 V 120.727 +35 0 V 120.728 +35 0 V 120.729 +35 0 V 120.730 +35 0 V 120.731 +35 0 V 120.732 +35 0 V 120.733 +35 0 V 120.734 +35 0 V 120.735 +35 0 V 120.736 +35 0 V 120.737 +35 0 V 120.738 +35 0 V 120.739 +35 0 V 120.740 +35 0 V 120.741 +35 0 V 120.742 +35 0 V 120.743 +35 0 V 120.744 +35 0 V 120.745 +35 0 V 120.746 +35 0 V 120.747 +35 0 V 120.748 +35 0 V 120.749 +35 0 V 120.750 +35 0 V 120.751 +35 0 V 120.752 +35 0 V 120.753 +35 0 V 120.754 +35 0 V 120.755 +35 0 V 120.756 +35 0 V 120.757 +35 0 V 120.758 +35 0 V 120.759 +35 0 V 120.760 +35 0 V 120.761 +35 0 V 120.762 +35 0 V 120.763 +% End plot #1 120.764 +stroke 120.765 +1.000 UL 120.766 +LTb 120.767 +602 2855 M 120.768 +602 448 L 120.769 +3465 0 V 120.770 +0 2407 R 120.771 +-3465 0 R 120.772 +1.000 UP 120.773 +602 448 M 120.774 +63 0 V 120.775 +stroke 120.776 +518 448 M 120.777 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1)] 120.778 +] -46.7 MRshow 120.779 +1.000 UL 120.780 +LTb 120.781 +602 715 M 120.782 +63 0 V 120.783 +stroke 120.784 +518 715 M 120.785 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] 120.786 +] -46.7 MRshow 120.787 +1.000 UL 120.788 +LTb 120.789 +602 983 M 120.790 +63 0 V 120.791 +stroke 120.792 +518 983 M 120.793 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] 120.794 +] -46.7 MRshow 120.795 +1.000 UL 120.796 +LTb 120.797 +602 1250 M 120.798 +63 0 V 120.799 +stroke 120.800 +518 1250 M 120.801 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] 120.802 +] -46.7 MRshow 120.803 +1.000 UL 120.804 +LTb 120.805 +602 1518 M 120.806 +63 0 V 120.807 +stroke 120.808 +518 1518 M 120.809 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 120.810 +] -46.7 MRshow 120.811 +1.000 UL 120.812 +LTb 120.813 +602 1785 M 120.814 +63 0 V 120.815 +stroke 120.816 +518 1785 M 120.817 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] 120.818 +] -46.7 MRshow 120.819 +1.000 UL 120.820 +LTb 120.821 +602 2053 M 120.822 +63 0 V 120.823 +stroke 120.824 +518 2053 M 120.825 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7)] 120.826 +] -46.7 MRshow 120.827 +1.000 UL 120.828 +LTb 120.829 +602 2320 M 120.830 +63 0 V 120.831 +stroke 120.832 +518 2320 M 120.833 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] 120.834 +] -46.7 MRshow 120.835 +1.000 UL 120.836 +LTb 120.837 +602 2588 M 120.838 +63 0 V 120.839 +stroke 120.840 +518 2588 M 120.841 +[ [(Helvetica) 140.0 0.0 true true 0 ( 9)] 120.842 +] -46.7 MRshow 120.843 +1.000 UL 120.844 +LTb 120.845 +602 2855 M 120.846 +63 0 V 120.847 +stroke 120.848 +518 2855 M 120.849 +[ [(Helvetica) 140.0 0.0 true true 0 ( 10)] 120.850 +] -46.7 MRshow 120.851 +1.000 UL 120.852 +LTb 120.853 +602 448 M 120.854 +0 63 V 120.855 +stroke 120.856 +602 308 M 120.857 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 120.858 +] -46.7 MCshow 120.859 +1.000 UL 120.860 +LTb 120.861 +1035 448 M 120.862 +0 63 V 120.863 +stroke 120.864 +1035 308 M 120.865 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 120.866 +] -46.7 MCshow 120.867 +1.000 UL 120.868 +LTb 120.869 +1468 448 M 120.870 +0 63 V 120.871 +stroke 120.872 +1468 308 M 120.873 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 120.874 +] -46.7 MCshow 120.875 +1.000 UL 120.876 +LTb 120.877 +1901 448 M 120.878 +0 63 V 120.879 +stroke 120.880 +1901 308 M 120.881 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 120.882 +] -46.7 MCshow 120.883 +1.000 UL 120.884 +LTb 120.885 +2335 448 M 120.886 +0 63 V 120.887 +stroke 120.888 +2335 308 M 120.889 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 120.890 +] -46.7 MCshow 120.891 +1.000 UL 120.892 +LTb 120.893 +2768 448 M 120.894 +0 63 V 120.895 +stroke 120.896 +2768 308 M 120.897 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 120.898 +] -46.7 MCshow 120.899 +1.000 UL 120.900 +LTb 120.901 +3201 448 M 120.902 +0 63 V 120.903 +stroke 120.904 +3201 308 M 120.905 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 120.906 +] -46.7 MCshow 120.907 +1.000 UL 120.908 +LTb 120.909 +3634 448 M 120.910 +0 63 V 120.911 +stroke 120.912 +3634 308 M 120.913 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 120.914 +] -46.7 MCshow 120.915 +1.000 UL 120.916 +LTb 120.917 +4067 448 M 120.918 +0 63 V 120.919 +stroke 120.920 +4067 308 M 120.921 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 120.922 +] -46.7 MCshow 120.923 +1.000 UL 120.924 +LTb 120.925 +1.000 UL 120.926 +LTb 120.927 +602 2855 M 120.928 +602 448 L 120.929 +3465 0 V 120.930 +0 2407 R 120.931 +-3465 0 R 120.932 +stroke 120.933 +LCb setrgbcolor 120.934 +112 1651 M 120.935 +currentpoint gsave translate -270 rotate 0 0 moveto 120.936 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 120.937 +] -46.7 MCshow 120.938 +grestore 120.939 +LTb 120.940 +LCb setrgbcolor 120.941 +2334 98 M 120.942 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 120.943 +] -46.7 MCshow 120.944 +LTb 120.945 +1.000 UP 120.946 +1.000 UL 120.947 +LTb 120.948 +LCb setrgbcolor 120.949 +3538 2919 M 120.950 +[ [(Helvetica) 140.0 0.0 true true 0 (pthreads)] 120.951 +] -46.7 MCshow 120.952 +LTb 120.953 +1.000 UL 120.954 +LTb 120.955 +2793 2289 N 120.956 +0 700 V 120.957 +1491 0 V 120.958 +0 -700 V 120.959 +-1491 0 V 120.960 +Z stroke 120.961 +2793 2849 M 120.962 +1491 0 V 120.963 +% Begin plot #1 120.964 +stroke 120.965 +4.000 UL 120.966 +LT5 120.967 +LC7 setrgbcolor 120.968 +LCb setrgbcolor 120.969 +3717 2779 M 120.970 +[ [(Helvetica) 140.0 0.0 true true 0 (8 Threads)] 120.971 +] -46.7 MRshow 120.972 +LT5 120.973 +LC7 setrgbcolor 120.974 +3801 2779 M 120.975 +399 0 V 120.976 +742 2855 M 120.977 +2 -67 V 120.978 +851 1788 L 120.979 +206 -591 V 120.980 +1473 836 L 120.981 +2306 644 L 120.982 +3967 545 L 120.983 +% End plot #1 120.984 +% Begin plot #2 120.985 +stroke 120.986 +LT6 120.987 +LCb setrgbcolor 120.988 +3717 2639 M 120.989 +[ [(Helvetica) 140.0 0.0 true true 0 (32 Threads)] 120.990 +] -46.7 MRshow 120.991 +LT6 120.992 +3801 2639 M 120.993 +399 0 V 120.994 +946 2855 M 120.995 +112 -798 V 120.996 +417 -761 V 120.997 +2304 901 L 120.998 +3971 681 L 120.999 +% End plot #2 120.1000 +% Begin plot #3 120.1001 +stroke 120.1002 +LT7 120.1003 +LC1 setrgbcolor 120.1004 +LCb setrgbcolor 120.1005 +3717 2499 M 120.1006 +[ [(Helvetica) 140.0 0.0 true true 0 (128 Threads)] 120.1007 +] -46.7 MRshow 120.1008 +LT7 120.1009 +LC1 setrgbcolor 120.1010 +3801 2499 M 120.1011 +399 0 V 120.1012 +1813 2855 M 120.1013 +496 -872 V 120.1014 +3972 1224 L 120.1015 +% End plot #3 120.1016 +% Begin plot #4 120.1017 +stroke 120.1018 +LT8 120.1019 +LCb setrgbcolor 120.1020 +3717 2359 M 120.1021 +[ [(Helvetica) 140.0 0.0 true true 0 (512 Threads)] 120.1022 +] -46.7 MRshow 120.1023 +LT8 120.1024 +3801 2359 M 120.1025 +399 0 V 120.1026 +% End plot #4 120.1027 +stroke 120.1028 +1.000 UL 120.1029 +LTb 120.1030 +602 2855 M 120.1031 +602 448 L 120.1032 +3465 0 V 120.1033 +0 2407 R 120.1034 +-3465 0 R 120.1035 +1.000 UP 120.1036 +602 448 M 120.1037 +63 0 V 120.1038 +stroke 120.1039 +518 448 M 120.1040 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1)] 120.1041 +] -46.7 MRshow 120.1042 +1.000 UL 120.1043 +LTb 120.1044 +602 715 M 120.1045 +63 0 V 120.1046 +stroke 120.1047 +518 715 M 120.1048 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] 120.1049 +] -46.7 MRshow 120.1050 +1.000 UL 120.1051 +LTb 120.1052 +602 983 M 120.1053 +63 0 V 120.1054 +stroke 120.1055 +518 983 M 120.1056 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] 120.1057 +] -46.7 MRshow 120.1058 +1.000 UL 120.1059 +LTb 120.1060 +602 1250 M 120.1061 +63 0 V 120.1062 +stroke 120.1063 +518 1250 M 120.1064 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] 120.1065 +] -46.7 MRshow 120.1066 +1.000 UL 120.1067 +LTb 120.1068 +602 1518 M 120.1069 +63 0 V 120.1070 +stroke 120.1071 +518 1518 M 120.1072 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 120.1073 +] -46.7 MRshow 120.1074 +1.000 UL 120.1075 +LTb 120.1076 +602 1785 M 120.1077 +63 0 V 120.1078 +stroke 120.1079 +518 1785 M 120.1080 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] 120.1081 +] -46.7 MRshow 120.1082 +1.000 UL 120.1083 +LTb 120.1084 +602 2053 M 120.1085 +63 0 V 120.1086 +stroke 120.1087 +518 2053 M 120.1088 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7)] 120.1089 +] -46.7 MRshow 120.1090 +1.000 UL 120.1091 +LTb 120.1092 +602 2320 M 120.1093 +63 0 V 120.1094 +stroke 120.1095 +518 2320 M 120.1096 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] 120.1097 +] -46.7 MRshow 120.1098 +1.000 UL 120.1099 +LTb 120.1100 +602 2588 M 120.1101 +63 0 V 120.1102 +stroke 120.1103 +518 2588 M 120.1104 +[ [(Helvetica) 140.0 0.0 true true 0 ( 9)] 120.1105 +] -46.7 MRshow 120.1106 +1.000 UL 120.1107 +LTb 120.1108 +602 2855 M 120.1109 +63 0 V 120.1110 +stroke 120.1111 +518 2855 M 120.1112 +[ [(Helvetica) 140.0 0.0 true true 0 ( 10)] 120.1113 +] -46.7 MRshow 120.1114 +1.000 UL 120.1115 +LTb 120.1116 +602 448 M 120.1117 +0 63 V 120.1118 +stroke 120.1119 +602 308 M 120.1120 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 120.1121 +] -46.7 MCshow 120.1122 +1.000 UL 120.1123 +LTb 120.1124 +1035 448 M 120.1125 +0 63 V 120.1126 +stroke 120.1127 +1035 308 M 120.1128 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 120.1129 +] -46.7 MCshow 120.1130 +1.000 UL 120.1131 +LTb 120.1132 +1468 448 M 120.1133 +0 63 V 120.1134 +stroke 120.1135 +1468 308 M 120.1136 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 120.1137 +] -46.7 MCshow 120.1138 +1.000 UL 120.1139 +LTb 120.1140 +1901 448 M 120.1141 +0 63 V 120.1142 +stroke 120.1143 +1901 308 M 120.1144 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 120.1145 +] -46.7 MCshow 120.1146 +1.000 UL 120.1147 +LTb 120.1148 +2335 448 M 120.1149 +0 63 V 120.1150 +stroke 120.1151 +2335 308 M 120.1152 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 120.1153 +] -46.7 MCshow 120.1154 +1.000 UL 120.1155 +LTb 120.1156 +2768 448 M 120.1157 +0 63 V 120.1158 +stroke 120.1159 +2768 308 M 120.1160 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 120.1161 +] -46.7 MCshow 120.1162 +1.000 UL 120.1163 +LTb 120.1164 +3201 448 M 120.1165 +0 63 V 120.1166 +stroke 120.1167 +3201 308 M 120.1168 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 120.1169 +] -46.7 MCshow 120.1170 +1.000 UL 120.1171 +LTb 120.1172 +3634 448 M 120.1173 +0 63 V 120.1174 +stroke 120.1175 +3634 308 M 120.1176 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 120.1177 +] -46.7 MCshow 120.1178 +1.000 UL 120.1179 +LTb 120.1180 +4067 448 M 120.1181 +0 63 V 120.1182 +stroke 120.1183 +4067 308 M 120.1184 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 120.1185 +] -46.7 MCshow 120.1186 +1.000 UL 120.1187 +LTb 120.1188 +1.000 UL 120.1189 +LTb 120.1190 +602 2855 M 120.1191 +602 448 L 120.1192 +3465 0 V 120.1193 +0 2407 R 120.1194 +-3465 0 R 120.1195 +stroke 120.1196 +LCb setrgbcolor 120.1197 +112 1651 M 120.1198 +currentpoint gsave translate -270 rotate 0 0 moveto 120.1199 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 120.1200 +] -46.7 MCshow 120.1201 +grestore 120.1202 +LTb 120.1203 +LCb setrgbcolor 120.1204 +2334 98 M 120.1205 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 120.1206 +] -46.7 MCshow 120.1207 +LTb 120.1208 +1.000 UP 120.1209 +1.000 UL 120.1210 +LTb 120.1211 +LCb setrgbcolor 120.1212 +2022 2919 M 120.1213 +[ [(Helvetica) 140.0 0.0 true true 0 (Vthread)] 120.1214 +] -46.7 MCshow 120.1215 +LTb 120.1216 +1.000 UL 120.1217 +LTb 120.1218 +1277 2289 N 120.1219 +0 700 V 120.1220 +1491 0 V 120.1221 +0 -700 V 120.1222 +-1491 0 V 120.1223 +Z stroke 120.1224 +1277 2849 M 120.1225 +1491 0 V 120.1226 +% Begin plot #1 120.1227 +stroke 120.1228 +4.000 UL 120.1229 +LT0 120.1230 +LCb setrgbcolor 120.1231 +2201 2779 M 120.1232 +[ [(Helvetica) 140.0 0.0 true true 0 (8 Threads)] 120.1233 +] -46.7 MRshow 120.1234 +LT0 120.1235 +2285 2779 M 120.1236 +399 0 V 120.1237 +654 2182 M 120.1238 +16 -334 V 120.1239 +24 -434 V 120.1240 +54 -354 V 120.1241 +852 815 L 120.1242 +1060 648 L 120.1243 +1474 537 L 120.1244 +832 -41 V 120.1245 +3969 471 L 120.1246 +% End plot #1 120.1247 +% Begin plot #2 120.1248 +stroke 120.1249 +LT2 120.1250 +LCb setrgbcolor 120.1251 +2201 2639 M 120.1252 +[ [(Helvetica) 140.0 0.0 true true 0 (32 Threads)] 120.1253 +] -46.7 MRshow 120.1254 +LT2 120.1255 +2285 2639 M 120.1256 +399 0 V 120.1257 +654 1786 M 120.1258 +16 -339 V 120.1259 +24 -169 V 120.1260 +748 917 L 120.1261 +852 723 L 120.1262 +1059 606 L 120.1263 +416 -79 V 120.1264 +832 -43 V 120.1265 +3969 467 L 120.1266 +% End plot #2 120.1267 +% Begin plot #3 120.1268 +stroke 120.1269 +LT3 120.1270 +LCb setrgbcolor 120.1271 +2201 2499 M 120.1272 +[ [(Helvetica) 140.0 0.0 true true 0 (128 Threads)] 120.1273 +] -46.7 MRshow 120.1274 +LT3 120.1275 +2285 2499 M 120.1276 +399 0 V 120.1277 +654 1837 M 120.1278 +16 -296 V 120.1279 +26 -324 V 120.1280 +748 970 L 120.1281 +851 740 L 120.1282 +1059 610 L 120.1283 +416 -81 V 120.1284 +832 -39 V 120.1285 +3970 466 L 120.1286 +% End plot #3 120.1287 +% Begin plot #4 120.1288 +stroke 120.1289 +LT4 120.1290 +LCb setrgbcolor 120.1291 +2201 2359 M 120.1292 +[ [(Helvetica) 140.0 0.0 true true 0 (512 Threads)] 120.1293 +] -46.7 MRshow 120.1294 +LT4 120.1295 +2285 2359 M 120.1296 +399 0 V 120.1297 +654 1958 M 120.1298 +14 -347 V 120.1299 +26 -349 V 120.1300 +748 965 L 120.1301 +850 751 L 120.1302 +1058 612 L 120.1303 +416 -83 V 120.1304 +833 -41 V 120.1305 +3970 467 L 120.1306 +% End plot #4 120.1307 +stroke 120.1308 +1.000 UL 120.1309 +LTb 120.1310 +602 2855 M 120.1311 +602 448 L 120.1312 +3465 0 V 120.1313 +0 2407 R 120.1314 +-3465 0 R 120.1315 +1.000 UP 120.1316 +stroke 120.1317 +grestore 120.1318 +end 120.1319 +showpage 120.1320 +%%Trailer 120.1321 +%%DocumentFonts: Helvetica 120.1322 +%%Pages: 1
121.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 121.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/figures/plots_exec_vs_task_size/xoanon_pthread_vthread_40core_80_160_320_640thds__o30000__perfCtrs.eps Fri Sep 13 11:02:18 2013 -0700 121.3 @@ -0,0 +1,948 @@ 121.4 +%!PS-Adobe-2.0 121.5 +%%Title: xoanon_pthreads_vthread_40core_80_160_320_640thds__o30000__perfCtrs.meas.eps 121.6 +%%Creator: gnuplot 4.4 patchlevel 2 121.7 +%%CreationDate: Thu Jan 26 18:27:40 2012 121.8 +%%DocumentFonts: (atend) 121.9 +%%BoundingBox: 251 50 554 482 121.10 +%%Orientation: Landscape 121.11 +%%Pages: (atend) 121.12 +%%EndComments 121.13 +%%BeginProlog 121.14 +/gnudict 256 dict def 121.15 +gnudict begin 121.16 +% 121.17 +% The following true/false flags may be edited by hand if desired. 121.18 +% The unit line width and grayscale image gamma correction may also be changed. 121.19 +% 121.20 +/Color true def 121.21 +/Blacktext false def 121.22 +/Solid false def 121.23 +/Dashlength 1 def 121.24 +/Landscape true def 121.25 +/Level1 false def 121.26 +/Rounded false def 121.27 +/ClipToBoundingBox false def 121.28 +/TransparentPatterns false def 121.29 +/gnulinewidth 5.000 def 121.30 +/userlinewidth gnulinewidth def 121.31 +/Gamma 1.0 def 121.32 +% 121.33 +/vshift -46 def 121.34 +/dl1 { 121.35 + 10.0 Dashlength mul mul 121.36 + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 121.37 +} def 121.38 +/dl2 { 121.39 + 10.0 Dashlength mul mul 121.40 + Rounded { currentlinewidth 0.75 mul add } if 121.41 +} def 121.42 +/hpt_ 31.5 def 121.43 +/vpt_ 31.5 def 121.44 +/hpt hpt_ def 121.45 +/vpt vpt_ def 121.46 +Level1 {} { 121.47 +/SDict 10 dict def 121.48 +systemdict /pdfmark known not { 121.49 + userdict /pdfmark systemdict /cleartomark get put 121.50 +} if 121.51 +SDict begin [ 121.52 + /Title (xoanon_pthreads_vthread_40core_80_160_320_640thds__o30000__perfCtrs.meas.eps) 121.53 + /Subject (gnuplot plot) 121.54 + /Creator (gnuplot 4.4 patchlevel 2) 121.55 + /Author (msach) 121.56 +% /Producer (gnuplot) 121.57 +% /Keywords () 121.58 + /CreationDate (Thu Jan 26 18:27:40 2012) 121.59 + /DOCINFO pdfmark 121.60 +end 121.61 +} ifelse 121.62 +/doclip { 121.63 + ClipToBoundingBox { 121.64 + newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 121.65 + clip 121.66 + } if 121.67 +} def 121.68 +% 121.69 +% Gnuplot Prolog Version 4.4 (August 2010) 121.70 +% 121.71 +%/SuppressPDFMark true def 121.72 +% 121.73 +/M {moveto} bind def 121.74 +/L {lineto} bind def 121.75 +/R {rmoveto} bind def 121.76 +/V {rlineto} bind def 121.77 +/N {newpath moveto} bind def 121.78 +/Z {closepath} bind def 121.79 +/C {setrgbcolor} bind def 121.80 +/f {rlineto fill} bind def 121.81 +/g {setgray} bind def 121.82 +/Gshow {show} def % May be redefined later in the file to support UTF-8 121.83 +/vpt2 vpt 2 mul def 121.84 +/hpt2 hpt 2 mul def 121.85 +/Lshow {currentpoint stroke M 0 vshift R 121.86 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 121.87 +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 121.88 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 121.89 +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 121.90 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 121.91 +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 121.92 + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 121.93 +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 121.94 + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 121.95 +/BL {stroke userlinewidth 2 mul setlinewidth 121.96 + Rounded {1 setlinejoin 1 setlinecap} if} def 121.97 +/AL {stroke userlinewidth 2 div setlinewidth 121.98 + Rounded {1 setlinejoin 1 setlinecap} if} def 121.99 +/UL {dup gnulinewidth mul /userlinewidth exch def 121.100 + dup 1 lt {pop 1} if 10 mul /udl exch def} def 121.101 +/PL {stroke userlinewidth setlinewidth 121.102 + Rounded {1 setlinejoin 1 setlinecap} if} def 121.103 +3.8 setmiterlimit 121.104 +% Default Line colors 121.105 +/LCw {1 1 1} def 121.106 +/LCb {0 0 0} def 121.107 +/LCa {0 0 0} def 121.108 +/LC0 {1 0 0} def 121.109 +/LC1 {0 1 0} def 121.110 +/LC2 {0 0 1} def 121.111 +/LC3 {1 0 1} def 121.112 +/LC4 {0 1 1} def 121.113 +/LC5 {1 1 0} def 121.114 +/LC6 {0 0 0} def 121.115 +/LC7 {1 0.3 0} def 121.116 +/LC8 {0.5 0.5 0.5} def 121.117 +% Default Line Types 121.118 +/LTw {PL [] 1 setgray} def 121.119 +/LTb {BL [] LCb DL} def 121.120 +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 121.121 +/LT0 {PL [] LC0 DL} def 121.122 +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 121.123 +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 121.124 +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 121.125 +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 121.126 +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 121.127 +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 121.128 +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 121.129 +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 121.130 +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 121.131 +/Dia {stroke [] 0 setdash 2 copy vpt add M 121.132 + hpt neg vpt neg V hpt vpt neg V 121.133 + hpt vpt V hpt neg vpt V closepath stroke 121.134 + Pnt} def 121.135 +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 121.136 + currentpoint stroke M 121.137 + hpt neg vpt neg R hpt2 0 V stroke 121.138 + } def 121.139 +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 121.140 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 121.141 + hpt2 neg 0 V closepath stroke 121.142 + Pnt} def 121.143 +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 121.144 + hpt2 vpt2 neg V currentpoint stroke M 121.145 + hpt2 neg 0 R hpt2 vpt2 V stroke} def 121.146 +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 121.147 + hpt neg vpt -1.62 mul V 121.148 + hpt 2 mul 0 V 121.149 + hpt neg vpt 1.62 mul V closepath stroke 121.150 + Pnt} def 121.151 +/Star {2 copy Pls Crs} def 121.152 +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 121.153 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 121.154 + hpt2 neg 0 V closepath fill} def 121.155 +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 121.156 + hpt neg vpt -1.62 mul V 121.157 + hpt 2 mul 0 V 121.158 + hpt neg vpt 1.62 mul V closepath fill} def 121.159 +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 121.160 + hpt neg vpt 1.62 mul V 121.161 + hpt 2 mul 0 V 121.162 + hpt neg vpt -1.62 mul V closepath stroke 121.163 + Pnt} def 121.164 +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 121.165 + hpt neg vpt 1.62 mul V 121.166 + hpt 2 mul 0 V 121.167 + hpt neg vpt -1.62 mul V closepath fill} def 121.168 +/DiaF {stroke [] 0 setdash vpt add M 121.169 + hpt neg vpt neg V hpt vpt neg V 121.170 + hpt vpt V hpt neg vpt V closepath fill} def 121.171 +/Pent {stroke [] 0 setdash 2 copy gsave 121.172 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 121.173 + closepath stroke grestore Pnt} def 121.174 +/PentF {stroke [] 0 setdash gsave 121.175 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 121.176 + closepath fill grestore} def 121.177 +/Circle {stroke [] 0 setdash 2 copy 121.178 + hpt 0 360 arc stroke Pnt} def 121.179 +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 121.180 +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 121.181 +/C1 {BL [] 0 setdash 2 copy moveto 121.182 + 2 copy vpt 0 90 arc closepath fill 121.183 + vpt 0 360 arc closepath} bind def 121.184 +/C2 {BL [] 0 setdash 2 copy moveto 121.185 + 2 copy vpt 90 180 arc closepath fill 121.186 + vpt 0 360 arc closepath} bind def 121.187 +/C3 {BL [] 0 setdash 2 copy moveto 121.188 + 2 copy vpt 0 180 arc closepath fill 121.189 + vpt 0 360 arc closepath} bind def 121.190 +/C4 {BL [] 0 setdash 2 copy moveto 121.191 + 2 copy vpt 180 270 arc closepath fill 121.192 + vpt 0 360 arc closepath} bind def 121.193 +/C5 {BL [] 0 setdash 2 copy moveto 121.194 + 2 copy vpt 0 90 arc 121.195 + 2 copy moveto 121.196 + 2 copy vpt 180 270 arc closepath fill 121.197 + vpt 0 360 arc} bind def 121.198 +/C6 {BL [] 0 setdash 2 copy moveto 121.199 + 2 copy vpt 90 270 arc closepath fill 121.200 + vpt 0 360 arc closepath} bind def 121.201 +/C7 {BL [] 0 setdash 2 copy moveto 121.202 + 2 copy vpt 0 270 arc closepath fill 121.203 + vpt 0 360 arc closepath} bind def 121.204 +/C8 {BL [] 0 setdash 2 copy moveto 121.205 + 2 copy vpt 270 360 arc closepath fill 121.206 + vpt 0 360 arc closepath} bind def 121.207 +/C9 {BL [] 0 setdash 2 copy moveto 121.208 + 2 copy vpt 270 450 arc closepath fill 121.209 + vpt 0 360 arc closepath} bind def 121.210 +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 121.211 + 2 copy moveto 121.212 + 2 copy vpt 90 180 arc closepath fill 121.213 + vpt 0 360 arc closepath} bind def 121.214 +/C11 {BL [] 0 setdash 2 copy moveto 121.215 + 2 copy vpt 0 180 arc closepath fill 121.216 + 2 copy moveto 121.217 + 2 copy vpt 270 360 arc closepath fill 121.218 + vpt 0 360 arc closepath} bind def 121.219 +/C12 {BL [] 0 setdash 2 copy moveto 121.220 + 2 copy vpt 180 360 arc closepath fill 121.221 + vpt 0 360 arc closepath} bind def 121.222 +/C13 {BL [] 0 setdash 2 copy moveto 121.223 + 2 copy vpt 0 90 arc closepath fill 121.224 + 2 copy moveto 121.225 + 2 copy vpt 180 360 arc closepath fill 121.226 + vpt 0 360 arc closepath} bind def 121.227 +/C14 {BL [] 0 setdash 2 copy moveto 121.228 + 2 copy vpt 90 360 arc closepath fill 121.229 + vpt 0 360 arc} bind def 121.230 +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 121.231 + vpt 0 360 arc closepath} bind def 121.232 +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 121.233 + neg 0 rlineto closepath} bind def 121.234 +/Square {dup Rec} bind def 121.235 +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 121.236 +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 121.237 +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 121.238 +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 121.239 +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 121.240 +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 121.241 +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 121.242 + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 121.243 +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 121.244 +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 121.245 + 2 copy vpt Square fill Bsquare} bind def 121.246 +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 121.247 +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 121.248 +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 121.249 + Bsquare} bind def 121.250 +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 121.251 + Bsquare} bind def 121.252 +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 121.253 +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 121.254 + 2 copy vpt Square fill Bsquare} bind def 121.255 +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 121.256 + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 121.257 +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 121.258 +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 121.259 +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 121.260 +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 121.261 +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 121.262 +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 121.263 +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 121.264 +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 121.265 +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 121.266 +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 121.267 +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 121.268 +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 121.269 +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 121.270 +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 121.271 +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 121.272 +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 121.273 +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 121.274 +/DiaE {stroke [] 0 setdash vpt add M 121.275 + hpt neg vpt neg V hpt vpt neg V 121.276 + hpt vpt V hpt neg vpt V closepath stroke} def 121.277 +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 121.278 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 121.279 + hpt2 neg 0 V closepath stroke} def 121.280 +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 121.281 + hpt neg vpt -1.62 mul V 121.282 + hpt 2 mul 0 V 121.283 + hpt neg vpt 1.62 mul V closepath stroke} def 121.284 +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 121.285 + hpt neg vpt 1.62 mul V 121.286 + hpt 2 mul 0 V 121.287 + hpt neg vpt -1.62 mul V closepath stroke} def 121.288 +/PentE {stroke [] 0 setdash gsave 121.289 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 121.290 + closepath stroke grestore} def 121.291 +/CircE {stroke [] 0 setdash 121.292 + hpt 0 360 arc stroke} def 121.293 +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 121.294 +/DiaW {stroke [] 0 setdash vpt add M 121.295 + hpt neg vpt neg V hpt vpt neg V 121.296 + hpt vpt V hpt neg vpt V Opaque stroke} def 121.297 +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 121.298 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 121.299 + hpt2 neg 0 V Opaque stroke} def 121.300 +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 121.301 + hpt neg vpt -1.62 mul V 121.302 + hpt 2 mul 0 V 121.303 + hpt neg vpt 1.62 mul V Opaque stroke} def 121.304 +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 121.305 + hpt neg vpt 1.62 mul V 121.306 + hpt 2 mul 0 V 121.307 + hpt neg vpt -1.62 mul V Opaque stroke} def 121.308 +/PentW {stroke [] 0 setdash gsave 121.309 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 121.310 + Opaque stroke grestore} def 121.311 +/CircW {stroke [] 0 setdash 121.312 + hpt 0 360 arc Opaque stroke} def 121.313 +/BoxFill {gsave Rec 1 setgray fill grestore} def 121.314 +/Density { 121.315 + /Fillden exch def 121.316 + currentrgbcolor 121.317 + /ColB exch def /ColG exch def /ColR exch def 121.318 + /ColR ColR Fillden mul Fillden sub 1 add def 121.319 + /ColG ColG Fillden mul Fillden sub 1 add def 121.320 + /ColB ColB Fillden mul Fillden sub 1 add def 121.321 + ColR ColG ColB setrgbcolor} def 121.322 +/BoxColFill {gsave Rec PolyFill} def 121.323 +/PolyFill {gsave Density fill grestore grestore} def 121.324 +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 121.325 +% 121.326 +% PostScript Level 1 Pattern Fill routine for rectangles 121.327 +% Usage: x y w h s a XX PatternFill 121.328 +% x,y = lower left corner of box to be filled 121.329 +% w,h = width and height of box 121.330 +% a = angle in degrees between lines and x-axis 121.331 +% XX = 0/1 for no/yes cross-hatch 121.332 +% 121.333 +/PatternFill {gsave /PFa [ 9 2 roll ] def 121.334 + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 121.335 + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 121.336 + gsave 1 setgray fill grestore clip 121.337 + currentlinewidth 0.5 mul setlinewidth 121.338 + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 121.339 + 0 0 M PFa 5 get rotate PFs -2 div dup translate 121.340 + 0 1 PFs PFa 4 get div 1 add floor cvi 121.341 + {PFa 4 get mul 0 M 0 PFs V} for 121.342 + 0 PFa 6 get ne { 121.343 + 0 1 PFs PFa 4 get div 1 add floor cvi 121.344 + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 121.345 + } if 121.346 + stroke grestore} def 121.347 +% 121.348 +/languagelevel where 121.349 + {pop languagelevel} {1} ifelse 121.350 + 2 lt 121.351 + {/InterpretLevel1 true def} 121.352 + {/InterpretLevel1 Level1 def} 121.353 + ifelse 121.354 +% 121.355 +% PostScript level 2 pattern fill definitions 121.356 +% 121.357 +/Level2PatternFill { 121.358 +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 121.359 + bind def 121.360 +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 121.361 +<< Tile8x8 121.362 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 121.363 +>> matrix makepattern 121.364 +/Pat1 exch def 121.365 +<< Tile8x8 121.366 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 121.367 + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 121.368 +>> matrix makepattern 121.369 +/Pat2 exch def 121.370 +<< Tile8x8 121.371 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 121.372 + 8 8 L 8 0 L 0 0 L fill} 121.373 +>> matrix makepattern 121.374 +/Pat3 exch def 121.375 +<< Tile8x8 121.376 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 121.377 + 0 12 M 12 0 L stroke} 121.378 +>> matrix makepattern 121.379 +/Pat4 exch def 121.380 +<< Tile8x8 121.381 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 121.382 + 0 -4 M 12 8 L stroke} 121.383 +>> matrix makepattern 121.384 +/Pat5 exch def 121.385 +<< Tile8x8 121.386 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 121.387 + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 121.388 +>> matrix makepattern 121.389 +/Pat6 exch def 121.390 +<< Tile8x8 121.391 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 121.392 + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 121.393 +>> matrix makepattern 121.394 +/Pat7 exch def 121.395 +<< Tile8x8 121.396 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 121.397 + 12 0 M -4 8 L 12 4 M 0 10 L stroke} 121.398 +>> matrix makepattern 121.399 +/Pat8 exch def 121.400 +<< Tile8x8 121.401 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 121.402 + -4 0 M 12 8 L -4 4 M 8 10 L stroke} 121.403 +>> matrix makepattern 121.404 +/Pat9 exch def 121.405 +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 121.406 +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 121.407 +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 121.408 +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 121.409 +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 121.410 +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 121.411 +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 121.412 +} def 121.413 +% 121.414 +% 121.415 +%End of PostScript Level 2 code 121.416 +% 121.417 +/PatternBgnd { 121.418 + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 121.419 +} def 121.420 +% 121.421 +% Substitute for Level 2 pattern fill codes with 121.422 +% grayscale if Level 2 support is not selected. 121.423 +% 121.424 +/Level1PatternFill { 121.425 +/Pattern1 {0.250 Density} bind def 121.426 +/Pattern2 {0.500 Density} bind def 121.427 +/Pattern3 {0.750 Density} bind def 121.428 +/Pattern4 {0.125 Density} bind def 121.429 +/Pattern5 {0.375 Density} bind def 121.430 +/Pattern6 {0.625 Density} bind def 121.431 +/Pattern7 {0.875 Density} bind def 121.432 +} def 121.433 +% 121.434 +% Now test for support of Level 2 code 121.435 +% 121.436 +Level1 {Level1PatternFill} {Level2PatternFill} ifelse 121.437 +% 121.438 +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 121.439 +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 121.440 +currentdict end definefont pop 121.441 +/MFshow { 121.442 + { dup 5 get 3 ge 121.443 + { 5 get 3 eq {gsave} {grestore} ifelse } 121.444 + {dup dup 0 get findfont exch 1 get scalefont setfont 121.445 + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 121.446 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 121.447 + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 121.448 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 121.449 + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 121.450 + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 121.451 + pop aload pop M} ifelse }ifelse }ifelse } 121.452 + ifelse } 121.453 + forall} def 121.454 +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 121.455 +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 121.456 + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 121.457 + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 121.458 +/MLshow { currentpoint stroke M 121.459 + 0 exch R 121.460 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 121.461 +/MRshow { currentpoint stroke M 121.462 + exch dup MFwidth neg 3 -1 roll R 121.463 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 121.464 +/MCshow { currentpoint stroke M 121.465 + exch dup MFwidth -2 div 3 -1 roll R 121.466 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 121.467 +/XYsave { [( ) 1 2 true false 3 ()] } bind def 121.468 +/XYrestore { [( ) 1 2 true false 4 ()] } bind def 121.469 +end 121.470 +%%EndProlog 121.471 +%%Page: 1 1 121.472 +gnudict begin 121.473 +gsave 121.474 +doclip 121.475 +50 50 translate 121.476 +0.100 0.100 scale 121.477 +90 rotate 121.478 +0 -5040 translate 121.479 +0 setgray 121.480 +newpath 121.481 +(Helvetica) findfont 140 scalefont setfont 121.482 +1.000 UL 121.483 +LTb 121.484 +686 922 M 121.485 +63 0 V 121.486 +stroke 121.487 +602 922 M 121.488 +[ [(Helvetica) 140.0 0.0 true true 0 ( 50)] 121.489 +] -46.7 MRshow 121.490 +1.000 UL 121.491 +LTb 121.492 +686 1405 M 121.493 +63 0 V 121.494 +stroke 121.495 +602 1405 M 121.496 +[ [(Helvetica) 140.0 0.0 true true 0 ( 100)] 121.497 +] -46.7 MRshow 121.498 +1.000 UL 121.499 +LTb 121.500 +686 1888 M 121.501 +63 0 V 121.502 +stroke 121.503 +602 1888 M 121.504 +[ [(Helvetica) 140.0 0.0 true true 0 ( 150)] 121.505 +] -46.7 MRshow 121.506 +1.000 UL 121.507 +LTb 121.508 +686 2372 M 121.509 +63 0 V 121.510 +stroke 121.511 +602 2372 M 121.512 +[ [(Helvetica) 140.0 0.0 true true 0 ( 200)] 121.513 +] -46.7 MRshow 121.514 +1.000 UL 121.515 +LTb 121.516 +686 2855 M 121.517 +63 0 V 121.518 +stroke 121.519 +602 2855 M 121.520 +[ [(Helvetica) 140.0 0.0 true true 0 ( 250)] 121.521 +] -46.7 MRshow 121.522 +1.000 UL 121.523 +LTb 121.524 +686 448 M 121.525 +0 63 V 121.526 +stroke 121.527 +686 308 M 121.528 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 121.529 +] -46.7 MCshow 121.530 +1.000 UL 121.531 +LTb 121.532 +1109 448 M 121.533 +0 63 V 121.534 +stroke 121.535 +1109 308 M 121.536 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 121.537 +] -46.7 MCshow 121.538 +1.000 UL 121.539 +LTb 121.540 +1531 448 M 121.541 +0 63 V 121.542 +stroke 121.543 +1531 308 M 121.544 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 121.545 +] -46.7 MCshow 121.546 +1.000 UL 121.547 +LTb 121.548 +1954 448 M 121.549 +0 63 V 121.550 +stroke 121.551 +1954 308 M 121.552 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 121.553 +] -46.7 MCshow 121.554 +1.000 UL 121.555 +LTb 121.556 +2377 448 M 121.557 +0 63 V 121.558 +stroke 121.559 +2377 308 M 121.560 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 121.561 +] -46.7 MCshow 121.562 +1.000 UL 121.563 +LTb 121.564 +2799 448 M 121.565 +0 63 V 121.566 +stroke 121.567 +2799 308 M 121.568 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 121.569 +] -46.7 MCshow 121.570 +1.000 UL 121.571 +LTb 121.572 +3222 448 M 121.573 +0 63 V 121.574 +stroke 121.575 +3222 308 M 121.576 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 121.577 +] -46.7 MCshow 121.578 +1.000 UL 121.579 +LTb 121.580 +3644 448 M 121.581 +0 63 V 121.582 +stroke 121.583 +3644 308 M 121.584 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 121.585 +] -46.7 MCshow 121.586 +1.000 UL 121.587 +LTb 121.588 +4067 448 M 121.589 +0 63 V 121.590 +stroke 121.591 +4067 308 M 121.592 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 121.593 +] -46.7 MCshow 121.594 +1.000 UL 121.595 +LTb 121.596 +1.000 UL 121.597 +LTb 121.598 +686 2855 M 121.599 +686 448 L 121.600 +3381 0 V 121.601 +0 2407 R 121.602 +-3381 0 R 121.603 +stroke 121.604 +LCb setrgbcolor 121.605 +112 1651 M 121.606 +currentpoint gsave translate -270 rotate 0 0 moveto 121.607 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 121.608 +] -46.7 MCshow 121.609 +grestore 121.610 +LTb 121.611 +LCb setrgbcolor 121.612 +2376 98 M 121.613 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 121.614 +] -46.7 MCshow 121.615 +LTb 121.616 +1.000 UP 121.617 +1.000 UL 121.618 +LTb 121.619 +LCb setrgbcolor 121.620 +3532 2882 M 121.621 +[ [(Helvetica) 140.0 0.0 true true 0 (pthreads)] 121.622 +] -46.7 MCshow 121.623 +LTb 121.624 +1.000 UL 121.625 +LTb 121.626 +2787 2252 N 121.627 +0 700 V 121.628 +1491 0 V 121.629 +0 -700 V 121.630 +-1491 0 V 121.631 +Z stroke 121.632 +2787 2812 M 121.633 +1491 0 V 121.634 +% Begin plot #1 121.635 +stroke 121.636 +4.000 UL 121.637 +LT5 121.638 +LC7 setrgbcolor 121.639 +LCb setrgbcolor 121.640 +3711 2742 M 121.641 +[ [(Helvetica) 140.0 0.0 true true 0 (80 Threads)] 121.642 +] -46.7 MRshow 121.643 +LT5 121.644 +LC7 setrgbcolor 121.645 +3795 2742 M 121.646 +399 0 V 121.647 +1735 2855 M 121.648 +662 -919 V 121.649 +4067 1238 L 121.650 +% End plot #1 121.651 +% Begin plot #2 121.652 +stroke 121.653 +LT6 121.654 +LCb setrgbcolor 121.655 +3711 2602 M 121.656 +[ [(Helvetica) 140.0 0.0 true true 0 (160 Threads)] 121.657 +] -46.7 MRshow 121.658 +LT6 121.659 +3795 2602 M 121.660 +399 0 V 121.661 +1748 2855 M 121.662 +2555 1723 L 121.663 +4067 1065 L 121.664 +% End plot #2 121.665 +% Begin plot #3 121.666 +stroke 121.667 +LT7 121.668 +LC1 setrgbcolor 121.669 +LCb setrgbcolor 121.670 +3711 2462 M 121.671 +[ [(Helvetica) 140.0 0.0 true true 0 (320 Threads)] 121.672 +] -46.7 MRshow 121.673 +LT7 121.674 +LC1 setrgbcolor 121.675 +3795 2462 M 121.676 +399 0 V 121.677 +1420 2855 M 121.678 +170 -542 V 121.679 +784 -867 V 121.680 +3986 870 L 121.681 +% End plot #3 121.682 +% Begin plot #4 121.683 +stroke 121.684 +LT8 121.685 +LCb setrgbcolor 121.686 +3711 2322 M 121.687 +[ [(Helvetica) 140.0 0.0 true true 0 (640 Threads)] 121.688 +] -46.7 MRshow 121.689 +LT8 121.690 +3795 2322 M 121.691 +399 0 V 121.692 +1802 2855 M 121.693 +572 -574 V 121.694 +4007 1207 L 121.695 +% End plot #4 121.696 +stroke 121.697 +1.000 UL 121.698 +LTb 121.699 +686 2855 M 121.700 +686 448 L 121.701 +3381 0 V 121.702 +0 2407 R 121.703 +-3381 0 R 121.704 +1.000 UP 121.705 +686 922 M 121.706 +63 0 V 121.707 +stroke 121.708 +602 922 M 121.709 +[ [(Helvetica) 140.0 0.0 true true 0 ( 50)] 121.710 +] -46.7 MRshow 121.711 +1.000 UL 121.712 +LTb 121.713 +686 1405 M 121.714 +63 0 V 121.715 +stroke 121.716 +602 1405 M 121.717 +[ [(Helvetica) 140.0 0.0 true true 0 ( 100)] 121.718 +] -46.7 MRshow 121.719 +1.000 UL 121.720 +LTb 121.721 +686 1888 M 121.722 +63 0 V 121.723 +stroke 121.724 +602 1888 M 121.725 +[ [(Helvetica) 140.0 0.0 true true 0 ( 150)] 121.726 +] -46.7 MRshow 121.727 +1.000 UL 121.728 +LTb 121.729 +686 2372 M 121.730 +63 0 V 121.731 +stroke 121.732 +602 2372 M 121.733 +[ [(Helvetica) 140.0 0.0 true true 0 ( 200)] 121.734 +] -46.7 MRshow 121.735 +1.000 UL 121.736 +LTb 121.737 +686 2855 M 121.738 +63 0 V 121.739 +stroke 121.740 +602 2855 M 121.741 +[ [(Helvetica) 140.0 0.0 true true 0 ( 250)] 121.742 +] -46.7 MRshow 121.743 +1.000 UL 121.744 +LTb 121.745 +686 448 M 121.746 +0 63 V 121.747 +stroke 121.748 +686 308 M 121.749 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 121.750 +] -46.7 MCshow 121.751 +1.000 UL 121.752 +LTb 121.753 +1109 448 M 121.754 +0 63 V 121.755 +stroke 121.756 +1109 308 M 121.757 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 121.758 +] -46.7 MCshow 121.759 +1.000 UL 121.760 +LTb 121.761 +1531 448 M 121.762 +0 63 V 121.763 +stroke 121.764 +1531 308 M 121.765 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 121.766 +] -46.7 MCshow 121.767 +1.000 UL 121.768 +LTb 121.769 +1954 448 M 121.770 +0 63 V 121.771 +stroke 121.772 +1954 308 M 121.773 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 121.774 +] -46.7 MCshow 121.775 +1.000 UL 121.776 +LTb 121.777 +2377 448 M 121.778 +0 63 V 121.779 +stroke 121.780 +2377 308 M 121.781 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 121.782 +] -46.7 MCshow 121.783 +1.000 UL 121.784 +LTb 121.785 +2799 448 M 121.786 +0 63 V 121.787 +stroke 121.788 +2799 308 M 121.789 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 121.790 +] -46.7 MCshow 121.791 +1.000 UL 121.792 +LTb 121.793 +3222 448 M 121.794 +0 63 V 121.795 +stroke 121.796 +3222 308 M 121.797 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 121.798 +] -46.7 MCshow 121.799 +1.000 UL 121.800 +LTb 121.801 +3644 448 M 121.802 +0 63 V 121.803 +stroke 121.804 +3644 308 M 121.805 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 121.806 +] -46.7 MCshow 121.807 +1.000 UL 121.808 +LTb 121.809 +4067 448 M 121.810 +0 63 V 121.811 +stroke 121.812 +4067 308 M 121.813 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 121.814 +] -46.7 MCshow 121.815 +1.000 UL 121.816 +LTb 121.817 +1.000 UL 121.818 +LTb 121.819 +686 2855 M 121.820 +686 448 L 121.821 +3381 0 V 121.822 +0 2407 R 121.823 +-3381 0 R 121.824 +stroke 121.825 +LCb setrgbcolor 121.826 +112 1651 M 121.827 +currentpoint gsave translate -270 rotate 0 0 moveto 121.828 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 121.829 +] -46.7 MCshow 121.830 +grestore 121.831 +LTb 121.832 +LCb setrgbcolor 121.833 +2376 98 M 121.834 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 121.835 +] -46.7 MCshow 121.836 +LTb 121.837 +1.000 UP 121.838 +1.000 UL 121.839 +LTb 121.840 +LCb setrgbcolor 121.841 +2011 2882 M 121.842 +[ [(Helvetica) 140.0 0.0 true true 0 (Vthread)] 121.843 +] -46.7 MCshow 121.844 +LTb 121.845 +1.000 UL 121.846 +LTb 121.847 +1266 2252 N 121.848 +0 700 V 121.849 +1491 0 V 121.850 +0 -700 V 121.851 +-1491 0 V 121.852 +Z stroke 121.853 +1266 2812 M 121.854 +1491 0 V 121.855 +% Begin plot #1 121.856 +stroke 121.857 +4.000 UL 121.858 +LT0 121.859 +LCb setrgbcolor 121.860 +2190 2742 M 121.861 +[ [(Helvetica) 140.0 0.0 true true 0 (80 Threads)] 121.862 +] -46.7 MRshow 121.863 +LT0 121.864 +2274 2742 M 121.865 +399 0 V 121.866 +743 626 M 121.867 +22 -61 V 121.868 +39 -36 V 121.869 +75 -37 V 121.870 +154 -17 V 121.871 +303 -13 V 121.872 +609 -7 V 121.873 +1218 -2 V 121.874 +904 -1 V 121.875 +% End plot #1 121.876 +% Begin plot #2 121.877 +stroke 121.878 +LT2 121.879 +LCb setrgbcolor 121.880 +2190 2602 M 121.881 +[ [(Helvetica) 140.0 0.0 true true 0 (160 Threads)] 121.882 +] -46.7 MRshow 121.883 +LT2 121.884 +2274 2602 M 121.885 +399 0 V 121.886 +743 575 M 121.887 +24 4 V 121.888 +36 -82 V 121.889 +76 -20 V 121.890 +153 -6 V 121.891 +303 -12 V 121.892 +609 -4 V 121.893 +1217 -4 V 121.894 +906 -1 V 121.895 +% End plot #2 121.896 +% Begin plot #3 121.897 +stroke 121.898 +LT3 121.899 +LCb setrgbcolor 121.900 +2190 2462 M 121.901 +[ [(Helvetica) 140.0 0.0 true true 0 (320 Threads)] 121.902 +] -46.7 MRshow 121.903 +LT3 121.904 +2274 2462 M 121.905 +399 0 V 121.906 +742 581 M 121.907 +24 -38 V 121.908 +39 -9 V 121.909 +76 -41 V 121.910 +151 -19 V 121.911 +304 -11 V 121.912 +610 -7 V 121.913 +1216 -5 V 121.914 +905 -1 V 121.915 +% End plot #3 121.916 +% Begin plot #4 121.917 +stroke 121.918 +LT4 121.919 +LCb setrgbcolor 121.920 +2190 2322 M 121.921 +[ [(Helvetica) 140.0 0.0 true true 0 (640 Threads)] 121.922 +] -46.7 MRshow 121.923 +LT4 121.924 +2274 2322 M 121.925 +399 0 V 121.926 +743 589 M 121.927 +23 -41 V 121.928 +38 -29 V 121.929 +77 -20 V 121.930 +151 -28 V 121.931 +303 -12 V 121.932 +610 -4 V 121.933 +1217 -4 V 121.934 +905 0 V 121.935 +% End plot #4 121.936 +stroke 121.937 +1.000 UL 121.938 +LTb 121.939 +686 2855 M 121.940 +686 448 L 121.941 +3381 0 V 121.942 +0 2407 R 121.943 +-3381 0 R 121.944 +1.000 UP 121.945 +stroke 121.946 +grestore 121.947 +end 121.948 +showpage 121.949 +%%Trailer 121.950 +%%DocumentFonts: Helvetica 121.951 +%%Pages: 1
122.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 122.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/helpers/07_F_26__The_Questions__blank.txt Fri Sep 13 11:02:18 2013 -0700 122.3 @@ -0,0 +1,100 @@ 122.4 + 122.5 + 122.6 +1) What are the problems the authors are trying to solve? 122.7 + When done, for each problem, how does one decide the value of a proposed solution? Suggest a priority domain for deciding whether to use a proposed solution. 122.8 + 122.9 +The problem is 122.10 + 122.11 +A priority domain for deciding the value of some proposed solution to this problem is 122.12 + 122.13 +The value of this solution is determined by 122.14 + 122.15 + 122.16 + 122.17 +2) What "things" does the proposed solution to this problem enable? 122.18 + What benefit to reader is bought by each "thing", & what related to the "thing", gives the benefit. 122.19 + What details are unique about the proposed solution that enables the thing that gives benefit? 122.20 + How does that uniqueness enable or achieve the thing? 122.21 + 122.22 +It enables 122.23 + 122.24 +The benefit to me is 122.25 + 122.26 +Unique details of solution that enable the thing gives benefit are 122.27 + 122.28 +The uniqueness enables the thing that gives benefit by 122.29 + 122.30 + 122.31 + 122.32 +3) What are the fundamentals underlying the problem? 122.33 + What makes this problem hard? 122.34 + What are the basic elements and forces of the problem that the proposed solution has to be in terms of, avoid, use to advantage? ie: gravity, invariant relationships, market forces, human capacity (avg level of real programmers, hubris, legacy is held onto, barriers to adoption), and so on 122.35 +How does the proposed solution work within/relate to/address/take advantage of/deal with the fundamentals underlying the problem? 122.36 + 122.37 +The fundamentals are 122.38 + 122.39 +The hard part is 122.40 + 122.41 +The basic elements are 122.42 + 122.43 +The proposed solution 122.44 + 122.45 + 122.46 + 122.47 +4) What are other approaches and conventional wisdom to solving these problems? 122.48 + What benefits enabled by the proposed solution are not enabled by other work, and vice versa? 122.49 + How does each approach address something the others miss? 122.50 + Try to suggest groupings or categories for the various approaches. 122.51 + Try to suggest ways multiple approaches may be combined to get more pros with fewer cons. 122.52 + 122.53 +Other approaches are 122.54 + 122.55 +A benefit enabled by the proposed that is not enabled by other work is 122.56 + 122.57 +Categories: 122.58 + 122.59 +Combining: 122.60 + 122.61 + 122.62 + 122.63 +5) What is/are the unique main "things" that enable what the proposed solution does? 122.64 + Sketch the details of each of these "things". 122.65 + Did you detect any drawbacks, not stated in the paper, from the details? 122.66 + Did you see any really cool techniques? 122.67 + 122.68 +Unique main "things" are 122.69 + 122.70 +Drawbacks from details: 122.71 + 122.72 +Idea of 122.73 + 122.74 + 122.75 + 122.76 +6) What aspects of the implementation/proof/design need results given in order to convince you that the proposed solution delivers the stated benefits? 122.77 + 122.78 +They have to show 122.79 + 122.80 + 122.81 + 122.82 +7) What results did they show? 122.83 + Did they show results in all the needed aspects (which were left out)? 122.84 + Were the testing method and results shown good enough to convince you? 122.85 + Did you detect any cons, not stated in the paper, from the results? 122.86 + 122.87 +They showed 122.88 + 122.89 +Con.. 122.90 + 122.91 + 122.92 + 122.93 +8) How do you think this work may provide some value to you in your future research? 122.94 + 122.95 +The work my provide value for me 122.96 + 122.97 + 122.98 + 122.99 +3 or more comments/questions: (pick out the most important things to you from the discussion you gave above, or add things that were not brought out by the above questions. I am asking for these as things to bring up during class). 122.100 + 122.101 +1) 122.102 + 122.103 + 122.104 \ No newline at end of file
123.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 123.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/helpers/bib_for_papers.bib Fri Sep 13 11:02:18 2013 -0700 123.3 @@ -0,0 +1,1257 @@ 123.4 + 123.5 + 123.6 + 123.7 +"" 123.8 +@Article{, 123.9 + author = {}, 123.10 + title = {}, 123.11 + journal = {}, 123.12 + volume = {}, 123.13 + number = {}, 123.14 + year = {}, 123.15 + pages = {} 123.16 +} 123.17 + 123.18 + 123.19 + 123.20 +"" 123.21 +@Book{, 123.22 + author = {}, 123.23 + title = {}, 123.24 + publisher = {}, 123.25 + year = {}, 123.26 + pages = {} 123.27 +} 123.28 + 123.29 + 123.30 + 123.31 +"" 123.32 +@misc{, 123.33 + author = {}, 123.34 + title = {}, 123.35 + url = {} 123.36 +} 123.37 + 123.38 + 123.39 +"Lamport paper with clock sync" 123.40 +@article{Lamport78, 123.41 + author = {Lamport, Leslie}, 123.42 + title = {Time, clocks, and the ordering of events in a distributed system}, 123.43 + journal = {Commun. ACM}, 123.44 + volume = {21}, 123.45 + issue = {7}, 123.46 + year = {1978}, 123.47 + pages = {558--565}, 123.48 + } 123.49 + 123.50 +"Lamport paper with mutex lock algorithm" 123.51 +@article{Lamport87, 123.52 + author = {Lamport, Leslie}, 123.53 + title = {A fast mutual exclusion algorithm}, 123.54 + journal = {ACM Trans. Comput. Syst.}, 123.55 + volume = {5}, 123.56 + issue = {1}, 123.57 + year = {1987}, 123.58 + pages = {1--11} 123.59 +} 123.60 + 123.61 +"Dijkstra semaphore definition paper" 123.62 +@inproceedings{Dijkstra67, 123.63 + author = {Dijkstra, Edsger W.}, 123.64 + title = {The structure of the "{THE}"-multiprogramming system}, 123.65 + booktitle = {Proceedings of the first ACM symposium on Operating System Principles}, 123.66 + series = {SOSP '67}, 123.67 + year = {1967}, 123.68 + pages = {10.1--10.6} 123.69 + } 123.70 + 123.71 +"Original coroutine paper" 123.72 +@article{Conway63, 123.73 + author = {Conway, Melvin E.}, 123.74 + title = {Design of a separable transition-diagram compiler}, 123.75 + journal = {Commun. ACM}, 123.76 + volume = {6}, 123.77 + issue = {7}, 123.78 + year = {1963}, 123.79 + pages = {396--408} 123.80 +} 123.81 + 123.82 +"Component model book Leavens G, Sitaraman M(eds.). Foundations of Component-Based Systems. Cambridge University Press: Cambridge, 2000" 123.83 +@Book{ComponentModel00, 123.84 + author = {G Leavens and M Sitaraman (eds)}, 123.85 + title = {Foundations of Component-Based Systems}, 123.86 + publisher = {Cambridge University Press}, 123.87 + year = {2000} 123.88 +} 123.89 + 123.90 + 123.91 +"Hewitt Actors Ref on ArXiv" 123.92 +@misc{Hewitt10, 123.93 + author = {Carl Hewitt}, 123.94 + title = {Actor Model of Computation}, 123.95 + year = {2010}, 123.96 + note = {http://arxiv.org/abs/1008.1459} 123.97 +} 123.98 + 123.99 +"Actors paper -- AGHA has a 1985 tech report looks like it introduces Actors as an execution model..?" 123.100 +@article{Actors97, 123.101 +author = {Agha,G. and Mason,I. and Smith,S. and Talcott,C.}, 123.102 +title = {A foundation for actor computation}, 123.103 +journal = {Journal of Functional Programming}, 123.104 +volume = {7}, 123.105 +number = {01}, 123.106 +pages = {1-72}, 123.107 +year = {1997}, 123.108 +} 123.109 + 123.110 +"Scheduler Activations: M onto N thread technique" 123.111 +@article{SchedActivations, 123.112 + author = {Anderson, Thomas E. and Bershad, Brian N. and Lazowska, Edward D. and Levy, Henry M.}, 123.113 + title = {Scheduler activations: effective kernel support for the user-level management of parallelism}, 123.114 + journal = {ACM Trans. Comput. Syst.}, 123.115 + volume = {10}, 123.116 + issue = {1}, 123.117 + month = {February}, 123.118 + year = {1992}, 123.119 + pages = {53--79} 123.120 +} 123.121 + 123.122 +"BOM in Manticore project: functional language for scheduling and concurrency" 123.123 +@inproceedings{BOMinManticore, 123.124 + author = {Fluet, Matthew and Rainey, Mike and Reppy, John and Shaw, Adam and Xiao, Yingqi}, 123.125 + title = {Manticore: a heterogeneous parallel language}, 123.126 + booktitle = {Proceedings of the 2007 workshop on Declarative aspects of multicore programming}, 123.127 + series = {DAMP '07}, 123.128 + year = {2007}, 123.129 + pages = {37--44}, 123.130 + numpages = {8} 123.131 +} 123.132 + 123.133 + 123.134 +//===================================== 123.135 +"Gain from Chaos tech report" 123.136 +@techreport 123.137 + {Halle92, 123.138 + Author = {Halle, K.S. and Chua, Leon O. and Anishchenko, V.S. and Safonova, M.A.}, 123.139 + Title = {Signal Amplification via Chaos: Experimental Evidence}, 123.140 + Institution = {EECS Department, University of California, Berkeley}, 123.141 + Year = {1992}, 123.142 + URL = {http://www.eecs.berkeley.edu/Pubs/TechRpts/1992/2223.html}, 123.143 + Number = {UCB/ERL M92/130} 123.144 +} 123.145 + 123.146 + 123.147 +Reprinted in: 123.148 +Madan, R. N. (1993) Chua’s Circuit : A Paradigm for Chaos, World Scientific, Singapore. 123.149 +"Signal Amplification via Chaos: Experimental Evidence" 123.150 +K.S. Halle, Leon O. Chua, V.S. Anishchenko and M.A. Safonova 123.151 +pgs 290-308 123.152 + 123.153 + 123.154 +"Spread Spectrum Communication Through Modulation of Chaos" 123.155 +Halle K.S., Wu C.W., Itoh M., Chua L.O. Spread Spectrum Communication Through Modulation of Chaos. Int. J. of Bifur. and Chaos, (3):469–477. 1993. 123.156 +cited by 232 123.157 + 123.158 + 123.159 +"Experimental Demonstration of Secure Communications Via Chaotic Synchronization" 123.160 +Kocarev V, Halle K.S., Eckert K., Chua L.O., Parlitz V. Experimental Demonstration of Secure Communications Via Chaotic Synchronization. Int. J. Bifur. and Chaos, (2):709 713. 1992. 123.161 + 123.162 + 123.163 +//========================================== 123.164 + 123.165 +"BLIS 2010 HotPar: Leveraging Semantics Attached to Function Calls to Isolate Applications from Hardware" 123.166 +@inproceedings 123.167 + {BLISInHotPar, 123.168 + author = {Sean Halle and Albert Cohen}, 123.169 + booktitle = {HOTPAR '10: USENIX Workshop on Hot Topics in Parallelism}, 123.170 + month = {June}, 123.171 + title = {Leveraging Semantics Attached to Function Calls to Isolate Applications from Hardware}, 123.172 + year = {2010} 123.173 + } 123.174 + 123.175 +"2011 HotPar: " 123.176 +@inproceedings 123.177 + {HotPar11, 123.178 + author = {Sean Halle and Albert Cohen}, 123.179 + booktitle = {HOTPAR '11: USENIX Workshop on Hot Topics in Parallelism}, 123.180 + month = {May}, 123.181 + title = {}, 123.182 + year = {2011} 123.183 + } 123.184 + 123.185 +"VMS in LCPC 2011" 123.186 +@article{VMSLCPC, 123.187 + author = {Sean Halle and Albert Cohen}, 123.188 + title = {A Mutable Hardware Abstraction to Replace Threads}, 123.189 + journal = {24th International Workshop on Languages and Compilers for Parallel Languages (LCPC11)}, 123.190 + year = {2011} 123.191 +} 123.192 + 123.193 + 123.194 +"A Framework to Support Research on Portable High Performance Parallelism" 123.195 +@misc{FrameworkTechRep, 123.196 + Author = {Halle, Sean and Nadezhkin, Dmitry and Cohen, Albert}, 123.197 + Note = {http://www.soe.ucsc.edu/share/technical-reports/2010/ucsc-soe-10-02.pdf}, 123.198 + Title = {A Framework to Support Research on Portable High Performance Parallelism}, 123.199 + Year = 2010 123.200 +} 123.201 + 123.202 +"DKU Pattern for Performance Portable Parallel Software" 123.203 +@misc{DKUTechRep, 123.204 + Author = {Halle, Sean and Cohen, Albert}, 123.205 + Note = {http://www.soe.ucsc.edu/share/technical-reports/2009/ucsc-soe-09-06.pdf}, 123.206 + Title = {DKU Pattern for Performance Portable Parallel Software}, 123.207 + Year = 2009 123.208 +} 123.209 + 123.210 +"An Extensible Parallel Language" 123.211 +@misc{EQNLangTechRep, 123.212 + Author = {Halle, Sean}, 123.213 + Note = {http://www.soe.ucsc.edu/share/technical-reports/2009/ucsc-soe-09-16.pdf}, 123.214 + Title = {An Extensible Parallel Language}, 123.215 + Year = 2009 123.216 +} 123.217 + 123.218 +"A Hardware-Independent Parallel Operating System Abstraction Layer" 123.219 +@misc{CTOSTechRep, 123.220 + Author = {Halle, Sean}, 123.221 + Note = {http://www.soe.ucsc.edu/share/technical-reports/2009/ucsc-soe-09-15.pdf}, 123.222 + Title = {A Hardware-Independent Parallel Operating System Abstraction LayerParallelism}, 123.223 + Year = 2009 123.224 +} 123.225 + 123.226 +"Parallel Language Extensions for Side Effects" 123.227 +@misc{SideEffectsTechRep, 123.228 + Author = {Halle, Sean and Cohen, Albert}, 123.229 + Note = {http://www.soe.ucsc.edu/share/technical-reports/2009/ucsc-soe-09-14.pdf}, 123.230 + Title = {Parallel Language Extensions for Side Effects}, 123.231 + Year = 2009 123.232 +} 123.233 + 123.234 + 123.235 +"BaCTiL: Base CodeTime Language" 123.236 +@misc{BaCTiLTechRep, 123.237 + Author = {Halle, Sean}, 123.238 + Note = {http://www.soe.ucsc.edu/share/technical-reports/2006/ucsc-crl-06-08.pdf}, 123.239 + Title = {BaCTiL: Base CodeTime Language}, 123.240 + Year = 2006 123.241 +} 123.242 + 123.243 + 123.244 +"The Elements of the CodeTime Software Platform" 123.245 +@misc{CTPlatformTechRep, 123.246 + Author = {Halle, Sean}, 123.247 + Note = {http://www.soe.ucsc.edu/share/technical-reports/2006/ucsc-crl-06-09.pdf}, 123.248 + Title = {The Elements of the CodeTime Software Platform}, 123.249 + Year = 2006 123.250 +} 123.251 + 123.252 + 123.253 +"A Scalable and Efficient Peer-to-Peer Run-Time System for a Hardware Independent Software Platform" 123.254 +@misc{CTRTTechRep, 123.255 + Author = {Halle, Sean}, 123.256 + Note = {http://www.soe.ucsc.edu/share/technical-reports/2006/ucsc-crl-06-10.pdf}, 123.257 + Title = {A Scalable and Efficient Peer-to-Peer Run-Time System for a Hardware Independent Software Platform}, 123.258 + Year = 2006 123.259 +} 123.260 + 123.261 + 123.262 +"The Big-Step Operational Semantics of CodeTime Circuits" 123.263 +@misc{FrameworkTechRep, 123.264 + Author = {Halle, Sean}, 123.265 + Note = {http://www.soe.ucsc.edu/share/technical-reports/2006/ucsc-crl-06-11.pdf}, 123.266 + Title = {The Big-Step Operational Semantics of CodeTime Circuits}, 123.267 + Year = 2006 123.268 +} 123.269 + 123.270 + 123.271 +"A Mental Framework for use in Creating Hardware Independent Parallel Languages" 123.272 +@misc{FrameworkTechRep, 123.273 + Author = {Halle, Sean}, 123.274 + Note = {http://www.soe.ucsc.edu/share/technical-reports/2006/ucsc-crl-06-12.pdf}, 123.275 + Title = {A Mental Framework for use in Creating Hardware Independent Parallel Languages}, 123.276 + Year = 2006 123.277 +} 123.278 + 123.279 + 123.280 +"The Case for an Integrated Software Platform for HEC Illustrated Using the CodeTime Platform" 123.281 +@misc{CIPTechRep, 123.282 + Author = {Halle, Sean}, 123.283 + Note = {http://www.soe.ucsc.edu/share/technical-reports/2005/ucsc-crl-05-05.pdf}, 123.284 + Title = {The Case for an Integrated Software Platform for HEC Illustrated Using the CodeTime Platform}, 123.285 + Year = 2005 123.286 +} 123.287 + 123.288 +//========================================== 123.289 + 123.290 + 123.291 +"OMP Hompe page" 123.292 +@misc{OMPHome, 123.293 + Note = {http://www.openmediaplatform.eu/}, 123.294 + Title = {{Open Media Platform} homepage}, 123.295 +} 123.296 + 123.297 +"The OMP infrastructure site" 123.298 +@misc{Halle2008, 123.299 + Author = {Sean Halle and Albert Cohen}, 123.300 + Note = {http://omp.musictwodotoh.com}, 123.301 + Title = {{DKU} infrastructure server} 123.302 +} 123.303 + 123.304 + 123.305 + 123.306 +"The DKU sourceforge site" 123.307 +@misc{DKUSourceForge, 123.308 + Author = {Sean Halle and Albert Cohen}, 123.309 + Month = {November}, 123.310 + Note = {http://dku.sourceforge.net}, 123.311 + Title = {{DKU} website}, 123.312 + Year = {2008} 123.313 +} 123.314 + 123.315 + 123.316 +"The BLIS sourceforge site" 123.317 +@misc{BLISHome, 123.318 + Author = {Sean Halle and Albert Cohen}, 123.319 + Month = {November}, 123.320 + Note = {http://blisplatform.sourceforge.net}, 123.321 + Title = {{BLIS} website}, 123.322 + Year = {2008} 123.323 +} 123.324 + 123.325 + 123.326 +"The VMS Home page" 123.327 +@misc{VMSHome, 123.328 + Author = {Sean Halle and Merten Sach and Ben Juurlink and Albert Cohen}, 123.329 + Note = {http://virtualizedmasterslave.org}, 123.330 + Title = {{VMS} Home Page}, 123.331 + Year = {2010} 123.332 +} 123.333 + 123.334 + 123.335 +"The PStack Home page" 123.336 +@misc{PStackHome, 123.337 + Author = {Sean Halle}, 123.338 + Note = {http://pstack.sourceforge.net}, 123.339 + Title = {{PStack} Home Page}, 123.340 + Year = {2012} 123.341 +} 123.342 + 123.343 + 123.344 +"Deblocking code in SVN" 123.345 +@misc{DeblockingCode, 123.346 + Note = {http://dku.svn.sourceforge.net/viewvc/dku/branches/DKU\_C\_\_Deblocking\_\_orig/}, 123.347 + Title ={{DKU-ized Deblocking Filter} code} 123.348 +} 123.349 + 123.350 + 123.351 + 123.352 +"Sample code on BLIS site" 123.353 +@misc{SampleBLISCode, 123.354 + Note = {http://dku.sourceforge.net/SampleCode.htm}, 123.355 + Title ={{Sample BLIS Code}} 123.356 +} 123.357 + 123.358 +"Framework Technical Report" 123.359 +@misc{FrameworkTechRep, 123.360 + Author = {Halle, Sean and Nadezhkin, Dmitry and Cohen, Albert}, 123.361 + Note = {http://www.soe.ucsc.edu/share/technical-reports/2010/ucsc-soe-10-02.pdf}, 123.362 + Title = {A Framework to Support Research on Portable High Performance Parallelism} 123.363 +} 123.364 + 123.365 +"Map reduce" 123.366 +@misc{MapReduceHome, 123.367 + Author = {Google Corp.}, 123.368 + Note = {http://labs.google.com/papers/mapreduce.html}, 123.369 + Title = {{MapReduce} Home page}, 123.370 +} 123.371 + 123.372 + 123.373 +"TBB Thread Building Blocks" 123.374 +@misc{TBBHome, 123.375 + Author = {Intel Corp.}, 123.376 + Note = {http://www.threadingbuildingblocks.org}, 123.377 + Title = {{TBB} Home page}, 123.378 +} 123.379 + 123.380 + 123.381 +"HPF Wikipedia entry" 123.382 +@misc{HPFWikipedia, 123.383 + Author = {Wikipedia}, 123.384 + Note = {http://en.wikipedia.org/wiki/High_Performance_Fortran}, 123.385 + Title = {{HPF} wikipedia page}, 123.386 +} 123.387 + 123.388 + 123.389 +"OpenMP Home page" 123.390 +@misc{OpenMPHome, 123.391 + Author = {{OpenMP} organization}, 123.392 + Note = {http://www.openmp.org}, 123.393 + Title = {{OpenMP} Home page} 123.394 +} 123.395 + 123.396 + 123.397 + 123.398 +"Open MPI Home page" 123.399 +@misc{MPIHome, 123.400 + Author = {open-mpi organization}, 123.401 + Note = {http://www.open-mpi.org}, 123.402 + Title = {{Open MPI} Home page} 123.403 +} 123.404 + 123.405 +"OpenCL Home page" 123.406 +@misc{OpenCLHome, 123.407 + Author = {Kronos Group}, 123.408 + Note = {http://www.khronos.org/opencl}, 123.409 + Title = {{OpenCL} Home page} 123.410 +} 123.411 + 123.412 + 123.413 +"CILK Hompe page" 123.414 +@misc{CILKHome, 123.415 + Author = {Cilk group at MIT}, 123.416 + Note = {http://supertech.csail.mit.edu/cilk/}, 123.417 + Title = {{CILK} homepage}, 123.418 +} 123.419 + 123.420 +@InProceedings{Fri98, 123.421 + author = {M. Frigo and C. E. Leiserson and K. H. Randall}, 123.422 + title = {The Implementation of the Cilk-5 Multithreaded Language}, 123.423 + booktitle = {PLDI '98: Proceedings of the 1998 ACM SIGPLAN conference on Programming language design and implementation}, 123.424 + pages = {212--223}, 123.425 + year = 1998, 123.426 + address = {Montreal, Quebec}, 123.427 + month = jun 123.428 +} 123.429 + 123.430 + 123.431 +"Titanium Hompe page" 123.432 +@misc{TitaniumHome, 123.433 + Note = {http://titanium.cs.berkeley.edu}, 123.434 + Title = {{Titanium} homepage} 123.435 +} 123.436 + 123.437 + 123.438 +"CnC in HotPar" 123.439 +@inproceedings{CnCInHotPar, 123.440 + author = {Knobe, Kathleen}, 123.441 + booktitle = {HOTPAR '09: USENIX Workshop on Hot Topics in Parallelism}, 123.442 + month = {March}, 123.443 + title = {Ease of Use with Concurrent Collections {(CnC)}}, 123.444 + year = {2009} 123.445 +} 123.446 + 123.447 + 123.448 +"CnC Hompe page" 123.449 +@misc{CnCHome, 123.450 + Author = {Intel Corp.}, 123.451 + Note = {http://software.intel.com/en-us/articles/intel-concurrent-collections-for-cc/}, 123.452 + Title = {{CnC} homepage}, 123.453 +} 123.454 + 123.455 +"Spiral Home page" 123.456 +@misc{SpiralHome, 123.457 + Author = {Spiral Group at CMU}, 123.458 + Note = {http://www.spiral.net}, 123.459 + Title = {{Spiral} homepage}, 123.460 +} 123.461 + 123.462 + 123.463 +"Scala Hompe page" 123.464 +@misc{ScalaHome, 123.465 + Author = {Scala organization}, 123.466 + Note = {http://www.scala-lang.org/}, 123.467 + Title = {{Scala} homepage}, 123.468 +} 123.469 + 123.470 + 123.471 + 123.472 + 123.473 +"UPC Hompe page" 123.474 +@misc{UPCHome, 123.475 + Author = {UPC group at UC Berkeley}, 123.476 + Note = {http://upc.lbl.gov/}, 123.477 + Title = {{Unified Parallel C} homepage}, 123.478 +} 123.479 + 123.480 + 123.481 +"Suif Hompe page" 123.482 +@misc{SuifHome, 123.483 + Note = {http://suif.stanford.edu}, 123.484 + Title = {{Suif} Parallelizing compiler homepage}, 123.485 +} 123.486 + 123.487 + 123.488 + 123.489 +"SEJITS" 123.490 +@article{SEJITS, 123.491 + author = {B. Catanzaro and S. Kamil and Y. Lee and K. Asanovic and J. Demmel and K. Keutzer and J. Shalf and K. Yelick and A. Fox}, 123.492 + title = {SEJITS: Getting Productivity AND Performance With Selective Embedded JIT Specialization}, 123.493 + journal = {First Workshop on Programmable Models for Emerging Architecture at the 18th International Conference on Parallel Architectures and Compilation Techniques }, 123.494 + year = {2009} 123.495 +} 123.496 + 123.497 + 123.498 +"Arnaldo 3D parallel on NXP chip" 123.499 +@inproceedings{Arnaldo3D, 123.500 + author = {Azevedo, Arnaldo and Meenderinck, Cor and Juurlink, Ben and Terechko, Andrei and Hoogerbrugge, Jan and Alvarez, Mauricio and Ramirez, Alex}, 123.501 + title = {Parallel H.264 Decoding on an Embedded Multicore Processor}, 123.502 + booktitle = {HiPEAC '09: Proceedings of the 4th International Conference on High Performance Embedded Architectures and Compilers}, 123.503 + year = {2009}, 123.504 + pages = {404--418} 123.505 + } 123.506 + 123.507 + 123.508 +"Narayanan's GPU scheduling tool" 123.509 +@article{NarayananGPUSched, 123.510 + author = {Narayanan Sundaram and Anand Raghunathan and Srimat T. Chakradhar}, 123.511 + title = {A framework for efficient and scalable execution of domain-specific templates on GPUs}, 123.512 + journal ={International Parallel and Distributed Processing Symposium {(IPDPS)}}, 123.513 + year = {2009}, 123.514 + pages = {1-12}, 123.515 +} 123.516 + 123.517 +"Polyhedral for GPU from Ohio State" 123.518 +@inproceedings{PolyForGPU, 123.519 + author = {Baskaran, Muthu Manikandan and Bondhugula, Uday and Krishnamoorthy, Sriram and Ramanujam, J. and Rountev, Atanas and Sadayappan, P.}, 123.520 + title = {A compiler framework for optimization of affine loop nests for gpgpus}, 123.521 + booktitle = {ICS '08: Proceedings of the 22nd annual international conference on Supercomputing}, 123.522 + year = {2008}, 123.523 + pages = {225--234}, 123.524 + } 123.525 + 123.526 +"Loulou's Polyhedral loop-nest optimization paper in PLDI 08" 123.527 +@inproceedings{Loulou08, 123.528 + author = {Pouchet, Louis-No\"{e}l and Bastoul, C\'{e}dric and Cohen, Albert and Cavazos, John}, 123.529 + title = {Iterative optimization in the polyhedral model: part ii, multidimensional time}, 123.530 + booktitle = {ACM SIGPLAN conference on Programming language design and implementation {(PLDI)} }, 123.531 + year = {2008}, 123.532 + pages = {90--100}, 123.533 + } 123.534 + 123.535 + 123.536 +"Merge in HotPar" 123.537 +@inproceedings{MergeInHotPar, 123.538 + author = {Michael D. Linderman and James Balfour and Teresa H. Meng and William J. Dally}, 123.539 + booktitle = {HOTPAR '09: USENIX Workshop on Hot Topics in Parallelism}, 123.540 + month = {March}, 123.541 + title = {Embracing Heterogeneity \- Parallel Programming for Changing Hardware}, 123.542 + year = {2009} 123.543 +} 123.544 + 123.545 + 123.546 +"Galois system for irregular problems" 123.547 +@inproceedings{GaloisRef, 123.548 + author = {Kulkarni, Milind and Pingali, Keshav and Walter, Bruce and Ramanarayanan, Ganesh and Bala, Kavita and Chew, L. Paul}, 123.549 + title = {Optimistic parallelism requires abstractions}, 123.550 + booktitle = {PLDI '07: Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation}, 123.551 + year = {2007}, 123.552 + pages = {211--222} 123.553 +} 123.554 + 123.555 +"Cool compiler book that talks about balancing task size with machine characteristics.. the one Amit had" 123.556 +@book{Allen2002, 123.557 + author = {Kennedy, Ken and Allen, John R.}, 123.558 + title = {Optimizing compilers for modern architectures: a dependence-based approach}, 123.559 + year = {2002}, 123.560 + publisher = {Morgan Kaufmann Publishers Inc.} 123.561 + } 123.562 + 123.563 + 123.564 +"Streaming languages and tools survery paper" 123.565 +@MISC{Stephens95, 123.566 + author = {R. Stephens}, 123.567 + title = {A Survey Of Stream Processing}, 123.568 + year = {1995} 123.569 +} 123.570 + 123.571 + 123.572 +"Capsule" 123.573 +@INPROCEEDINGS{Palatin06, 123.574 + author = {P Palatin and Y Lhuillier and O Temam}, 123.575 + title = {CAPSULE: Hardware-assisted parallel execution of componentbased programs}, 123.576 + booktitle = {In Proceedings of the 39th Annual International Symposium on Microarchitecture}, 123.577 + year = {2006}, 123.578 + pages = {247--258} 123.579 +} 123.580 + 123.581 +"Sequioa" 123.582 +@inproceedings{Sequioa06, 123.583 + author = {Fatahalian,, Kayvon and Horn,, Daniel Reiter and Knight,, Timothy J. and Leem,, Larkhoon and Houston,, Mike and Park,, Ji Young and Erez,, Mattan and Ren,, Manman and Aiken,, Alex and Dally,, William J. and Hanrahan,, Pat}, 123.584 + title = {Sequoia: programming the memory hierarchy}, 123.585 + booktitle = {SC '06: Proceedings of the 2006 ACM/IEEE conference on Supercomputing}, 123.586 + year = {2006}, 123.587 + pages = {83} 123.588 + } 123.589 + 123.590 + 123.591 + 123.592 + 123.593 +"Cole meta skeletons book" 123.594 +@Book{Cole89, 123.595 + author = {M Cole}, 123.596 + title = {Algorithmic skeletons: Structured management of parallel computation}, 123.597 + publisher = {Pitman}, 123.598 + year = {1989} 123.599 +} 123.600 + 123.601 + 123.602 +"Meta programming skeletons example" 123.603 +@INPROCEEDINGS{Ginhac98, 123.604 + author = {Dominique Ginhac and Jocelyn Serot and Jean Pierre Derutin}, 123.605 + title = {Fast prototyping of image processing applications using functional skeletons on a MIMD-DM architecture}, 123.606 + booktitle = {In IAPR Workshop on Machine Vision and Applications}, 123.607 + year = {1998}, 123.608 + pages = {468--471} 123.609 +} 123.610 + 123.611 + 123.612 +"Parallel Skeletons meta programming" 123.613 +@inproceedings{Serot08MetaParallel, 123.614 + author = {Serot, Jocelyn and Falcou, Joel}, 123.615 + title = {Functional Meta-programming for Parallel Skeletons}, 123.616 + booktitle = {ICCS '08: Proceedings of the 8th international conference on Computational Science, Part I}, 123.617 + year = {2008}, 123.618 + pages = {154--163} 123.619 + } 123.620 + 123.621 + 123.622 +"Random skeletons for parallel programming article with lots of citations" 123.623 +@INPROCEEDINGS{Darlington93, 123.624 + author = {J. Darlington and A. J. Field and P. G. Harrison and P. H. J. Kelly and D. W. N. Sharp and Q. Wu}, 123.625 + title = {Parallel programming using skeleton functions}, 123.626 + booktitle = {}, 123.627 + year = {1993}, 123.628 + pages = {146--160}, 123.629 + publisher = {Springer-Verlag} 123.630 +} 123.631 + 123.632 + 123.633 +"View from Berkeley paper" 123.634 +@article{Asanovic06BerkeleyView, 123.635 + title={{The landscape of parallel computing research: A view from berkeley}}, 123.636 + author={Asanovic, K. and Bodik, R. and Catanzaro, B.C. and Gebis, J.J. and Husbands, P. and Keutzer, K. and Patterson, D.A. and Plishker, W.L. and Shalf, J. and Williams, S.W. and others}, 123.637 + journal={Electrical Engineering and Computer Sciences, University of California at Berkeley, Technical Report No. UCB/EECS-2006-183, December}, 123.638 + volume={18}, 123.639 + number={2006-183}, 123.640 + pages={19}, 123.641 + year={2006}, 123.642 +} 123.643 + 123.644 + 123.645 + 123.646 + 123.647 +"Berkeley Pattern Language" 123.648 +@misc{BerkeleyPattLang, 123.649 + Note = {http://parlab.eecs.berkeley.edu/wiki/patterns}, 123.650 + Title = {{Berkeley Pattern Language}} 123.651 +} 123.652 + 123.653 + 123.654 +"Keutzer reccomended Parallel Prog Patterns book" 123.655 +@book{Mattson04Patterns, 123.656 + title={{Patterns for parallel programming}}, 123.657 + author={Mattson, T. and Sanders, B. and Massingill, B.}, 123.658 + year={2004}, 123.659 + publisher={Addison-Wesley Professional} 123.660 +} 123.661 + 123.662 + 123.663 +"Skillicorn Parallel Languages Survery book" 123.664 +@article{Skillicorn98, 123.665 + title={{Models and languages for parallel computation}}, 123.666 + author={Skillicorn, D.B. and Talia, D.}, 123.667 + journal={ACM Computing Surveys (CSUR)}, 123.668 + volume={30}, 123.669 + number={2}, 123.670 + pages={123--169}, 123.671 + year={1998} 123.672 +} 123.673 + 123.674 + 123.675 + 123.676 +"NESL language" 123.677 +@conference{Blelloch93NESL, 123.678 + title={{Implementation of a portable nested data-parallel language}}, 123.679 + author={Blelloch, G.E. and Hardwick, J.C. and Chatterjee, S. and Sipelstein, J. and Zagha, M.}, 123.680 + booktitle={Proceedings of the fourth ACM SIGPLAN symposium on Principles and practice of parallel programming}, 123.681 + pages={102--111}, 123.682 + year={1993}, 123.683 + organization={ACM New York, NY, USA} 123.684 +} 123.685 + 123.686 + 123.687 +"Sisal" 123.688 +@article{McgrawSisal, 123.689 + title={{SISAL: Streams and iteration in a single assignment language: Reference manual version 1.2}}, 123.690 + author={McGraw, J. and Skedzielewski, SK and Allan, SJ and Oldehoeft, RR and Glauert, J. and Kirkham, C. and Noyce, B. and Thomas, R.}, 123.691 + journal={Manual M-146, Rev}, 123.692 + volume={1} 123.693 +} 123.694 + 123.695 + 123.696 +"Linda" 123.697 +@article{Gelernter85Linda, 123.698 + title={{Generative communication in Linda}}, 123.699 + author={Gelernter, D.}, 123.700 + journal={ACM Transactions on Programming Languages and Systems (TOPLAS)}, 123.701 + volume={7}, 123.702 + number={1}, 123.703 + pages={80--112}, 123.704 + year={1985} 123.705 +} 123.706 + 123.707 + 123.708 +"ZPL" 123.709 +@article{Lin94ZPL, 123.710 + title={{ZPL: An array sublanguage}}, 123.711 + author={Lin, C. and Snyder, L.}, 123.712 + journal={Lecture Notes in Computer Science}, 123.713 + volume={768}, 123.714 + pages={96--114}, 123.715 + year={1994} 123.716 +} 123.717 + 123.718 + 123.719 + 123.720 + 123.721 +// Visual programming 123.722 +@article 123.723 + { baecker97, 123.724 + author = {Ron Baecker and Chris DiGiano and Aaron Marcus}, 123.725 + title = {Software visualization for debugging}, 123.726 + journal = {Communications of the ACM}, 123.727 + volume = {40}, 123.728 + number = {4}, 123.729 + year = {1997}, 123.730 + issn = {0001-0782}, 123.731 + pages = {44--54}, 123.732 + publisher = {ACM Press} 123.733 + } 123.734 + 123.735 + 123.736 +// Visual programming 123.737 +@article 123.738 + { ball96, 123.739 + author = {T. A. Ball and S. G. Eick}, 123.740 + title = {Software Visualization in the Large}, 123.741 + journal ={IEEE Computer}, 123.742 + volume = {29}, 123.743 + number = {4}, 123.744 + year = {1996}, 123.745 + month = {apr}, 123.746 + pages = {33--43} 123.747 + } 123.748 + 123.749 + 123.750 +// Milner references this, Chemical Abstract Machine 123.751 +@book 123.752 + {berry89, 123.753 + title={{The chemical abstract machine}}, 123.754 + author={Berry, G. and Boudol, G.}, 123.755 + year={1989}, 123.756 + publisher={ACM Press} 123.757 +} 123.758 + 123.759 + 123.760 +// Cilk reference 123.761 +@article 123.762 + {blumofe95, 123.763 + author = {Robert D. Blumofe and Christopher F. Joerg and Bradley C. Kuszmaul and Charles E. Leiserson and Keith H. Randall and Yuli Zhou}, 123.764 + title = {Cilk: an efficient multithreaded runtime system}, 123.765 + journal = {SIGPLAN Not.}, 123.766 + volume = {30}, 123.767 + number = {8}, 123.768 + year = {1995}, 123.769 + pages = {207--216} 123.770 + } 123.771 + 123.772 + 123.773 +// this has 1440 citations, so throwing it in.. 123.774 +// The complexity of symbolic checking of program correctness 123.775 +@article 123.776 + {burch90, 123.777 + title={{Symbolic model checking: 10^{20} states and beyond}}, 123.778 + author={Burch, JR and Clarke, EM and McMillan, KL and Dill, DL and Hwang, LJ}, 123.779 + journal={Logic in Computer Science, 1990. LICS'90, Proceedings}, 123.780 + pages={428--439}, 123.781 + year={1990} 123.782 +} 123.783 + 123.784 +@article 123.785 + {chamberlain98, 123.786 +author = {B. Chamberlain and S. Choi and E. Lewis and C. Lin and L. Snyder and W. Weathersby}, 123.787 +title = {ZPL's WYSIWYG Performance Model}, 123.788 +journal = {hips}, 123.789 +volume = {00}, 123.790 +year = {1998}, 123.791 +isbn = {0-8186-8412-7}, 123.792 +pages = {50} 123.793 +} 123.794 + 123.795 + 123.796 + 123.797 +// from http://libweb.princeton.edu/libraries/firestone/rbsc/aids/church/church1.html#1 123.798 +@article{church41, 123.799 + author={A. Church}, 123.800 + title={The Calculi of Lambda-Conversion}, 123.801 + journal={Annals of Mathematics Studies}, 123.802 + number={6}, 123.803 + year={1941}, 123.804 + publisher={Princeton University} 123.805 +} 123.806 + 123.807 + 123.808 +@misc 123.809 + { CodeTimeSite, 123.810 + author = {Sean Halle}, 123.811 + key = {CodeTime}, 123.812 + title = {Homepage for The CodeTime Parallel Software Platform}, 123.813 + note = {{\ttfamily http://codetime.sourceforge.net}} 123.814 + } 123.815 + 123.816 + 123.817 + 123.818 +@misc 123.819 + { CodeTimePlatform, 123.820 + author = {Sean Halle}, 123.821 + key = {CodeTime}, 123.822 + title = {The CodeTime Parallel Software Platform}, 123.823 + note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_Platform.pdf}} 123.824 + } 123.825 + 123.826 + 123.827 +@misc 123.828 + { CodeTimeVS, 123.829 + author = {Sean Halle}, 123.830 + key = {CodeTime}, 123.831 + title = {The Specification of the CodeTime Platform's Virtual Server}, 123.832 + note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_Virtual\_Server.pdf}} 123.833 + } 123.834 + 123.835 + 123.836 +@misc 123.837 + { CodeTimeOS, 123.838 + author = {Sean Halle}, 123.839 + key = {CodeTime}, 123.840 + title = {A Hardware Independent OS}, 123.841 + note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_OS.pdf}} 123.842 + } 123.843 + 123.844 + 123.845 +@misc 123.846 + { CodeTimeSem, 123.847 + author = {Sean Halle}, 123.848 + key = {CodeTime}, 123.849 + title = {The Big-Step Operational Semantics of the CodeTime Computational Model}, 123.850 + note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_Semantics.pdf}} 123.851 + } 123.852 + 123.853 + 123.854 +@misc 123.855 + { CodeTimeTh, 123.856 + author = {Sean Halle}, 123.857 + key = {CodeTime}, 123.858 + title = {A Mental Framework for Use in Creating Hardware-Independent Parallel Languages}, 123.859 + note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTiime\_Theoretical\_Framework.pdf}} 123.860 + } 123.861 + 123.862 + 123.863 +@misc 123.864 + { CodeTimeTh1, 123.865 + author = {Sean Halle}, 123.866 + key = {CodeTime}, 123.867 + title = {The CodeTime Parallel Software Platform}, 123.868 + note = {{\ttfamily http://codetime.sourceforge.net}} 123.869 + } 123.870 + 123.871 + 123.872 +@misc 123.873 + { CodeTimeTh2, 123.874 + author = {Sean Halle}, 123.875 + key = {CodeTime}, 123.876 + title = {The CodeTime Parallel Software Platform}, 123.877 + note = {{\ttfamily http://codetime.sourceforge.net}} 123.878 + } 123.879 + 123.880 + 123.881 +@misc 123.882 + { CodeTimeRT, 123.883 + author = {Sean Halle}, 123.884 + key = {CodeTime}, 123.885 + title = {The CodeTime Parallel Software Platform}, 123.886 + note = {{\ttfamily http://codetime.sourceforge.net}} 123.887 + } 123.888 + 123.889 + 123.890 +@misc 123.891 + { CodeTimeWebSite 123.892 + author = {Sean Halle}, 123.893 + key = {CodeTime}, 123.894 + title = {The CodeTime Parallel Software Platform}, 123.895 + note = {{\ttfamily http://codetime.sourceforge.net}} 123.896 + } 123.897 + 123.898 + 123.899 +@misc 123.900 + { CodeTimeBaCTiL, 123.901 + author = {Sean Halle}, 123.902 + key = {CodeTime}, 123.903 + title = {The Base CodeTime Language}, 123.904 + note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_BaCTiL.pdf}} 123.905 + } 123.906 + 123.907 +@misc 123.908 + { CodeTimeCert, 123.909 + author = {Sean Halle}, 123.910 + key = {CodeTime}, 123.911 + title = {The CodeTime Certification Strategy}, 123.912 + note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_Certification.pdf}} 123.913 + } 123.914 + 123.915 + 123.916 +// Multiple inheritance: explains issues well and references LOOPS and CLOS 123.917 +@inproceedings{ducournau94, 123.918 + author = {R. Ducournau and M. Habib and M. Huchard and M. L. Mugnier}, 123.919 + title = {Proposal for a monotonic multiple inheritance linearization}, 123.920 + booktitle = {OOPSLA '94: Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications}, 123.921 + year = {1994}, 123.922 + pages = {164--175}, 123.923 + publisher = {ACM Press} 123.924 +} 123.925 + 123.926 + 123.927 +// 252 Citations, shows equivalence of mu-calculus and (nondeterministic) tree automata, 123.928 +// so cited as foundation a lot 123.929 +@article{emerson91, 123.930 + title={{Tree automata, mu-calculus and determinacy}}, 123.931 + author={Emerson, EA and Jutla, CS}, 123.932 + journal={Proceedings of the 32nd Symposium on Foundations of Computer Science}, 123.933 + pages={368--377}, 123.934 + year={1991} 123.935 +} 123.936 + 123.937 + 123.938 +// Introducs PRAM model, at same time, in same conference as 123.939 +@article{fortune78, 123.940 + title={{Parallelism in random access machines}}, 123.941 + author={Fortune, S. and Wyllie, J.}, 123.942 + journal={STOC '78: Proceedings of the tenth annual ACM symposium on Theory of computing}, 123.943 + pages={114--118}, 123.944 + year={1978}, 123.945 + publisher={ACM Press New York, NY, USA} 123.946 +} 123.947 + 123.948 + 123.949 + 123.950 +// Smalltalk reference 123.951 +@book{goldberg83, 123.952 + title={{Smalltalk-80: the language and its implementation}}, 123.953 + author={Goldberg, A. and Robson, D.}, 123.954 + year={1983}, 123.955 + publisher={Addison-Wesley} 123.956 +} 123.957 + 123.958 + 123.959 +// also introduces PRAM model, apparently independently 123.960 +@inproceedings{goldschlager78, 123.961 + author = {Leslie M. Goldschlager}, 123.962 + title = {A unified approach to models of synchronous parallel machines}, 123.963 + booktitle = {STOC '78: Proceedings of the tenth annual ACM symposium on Theory of computing}, 123.964 + year = {1978}, 123.965 + pages = {89--94}, 123.966 + location = {San Diego, California, United States}, 123.967 + doi = {http://doi.acm.org/10.1145/800133.804336}, 123.968 + publisher = {ACM Press}, 123.969 +} 123.970 + 123.971 + 123.972 +// Java spec 123.973 +@book 123.974 + { gosling96, 123.975 + author = {J. Gosling and B. Joy and G. Steele and G. Bracha}, 123.976 + title = {The Java Language Specification}, 123.977 + publisher = {Addison-Wesley}, 123.978 + year = {1996} 123.979 + } 123.980 + 123.981 + 123.982 +// Survey of prototyping parallel apps 123.983 +@article{hasselbring00, 123.984 + author = {Wilhelm Hasselbring}, 123.985 + title = {Programming languages and systems for prototyping concurrent applications}, 123.986 + journal = {ACM Comput. Surv.}, 123.987 + volume = {32}, 123.988 + number = {1}, 123.989 + year = {2000}, 123.990 + issn = {0360-0300}, 123.991 + pages = {43--79}, 123.992 + doi = {http://doi.acm.org/10.1145/349194.349199}, 123.993 + publisher = {ACM Press}, 123.994 + address = {New York, NY, USA}, 123.995 + } 123.996 + 123.997 + 123.998 +// Original CSP paper 123.999 +@article{hoare78, 123.1000 + author={C. A. R. Hoare}, 123.1001 + title={Communicating Sequential Processes}, 123.1002 + journal={Communications of the ACM}, 123.1003 + year={1978}, 123.1004 + volume={21}, 123.1005 + number={8}, 123.1006 + pages={666-677} 123.1007 +} 123.1008 + 123.1009 + 123.1010 +// 8 citations.. probably from self.. want a paper that ties areas together.. 123.1011 +// This paper does a beautiful job.. 123.1012 +@article{huth, 123.1013 + title={{A Unifying Framework for Model Checking Labeled Kripke Structures, Modal Transition Systems, and Interval Transition Systems}}, 123.1014 + author={Huth, M.}, 123.1015 + journal={Proceedings of the 19th International Conference on the Foundations of Software Technology \& Theoretical Computer Science, Lecture Notes in Computer Science}, 123.1016 + pages={369--380}, 123.1017 + publisher={Springer-Verlag} 123.1018 +} 123.1019 + 123.1020 + 123.1021 +// Dataflow advances survey, includes large grain dataflow 123.1022 +@article 123.1023 + { johnston04, 123.1024 + author = {Wesley M. Johnston and J. R. Paul Hanna and Richard J. Millar}, 123.1025 + title = {Advances in dataflow programming languages}, 123.1026 + journal = {ACM Comput. Surv.}, 123.1027 + volume = {36}, 123.1028 + number = {1}, 123.1029 + year = {2004}, 123.1030 + issn = {0360-0300}, 123.1031 + pages = {1--34}, 123.1032 + doi = {http://doi.acm.org/10.1145/1013208.1013209}, 123.1033 + publisher = {ACM Press}, 123.1034 + address = {New York, NY, USA} 123.1035 + } 123.1036 + 123.1037 + 123.1038 +@book 123.1039 + { koelbel93, 123.1040 + author = {C. H. Koelbel and D. Loveman and R. Schreiber and G. Steele Jr}, 123.1041 + title = {High Performance Fortran Handbook}, 123.1042 + year = {1993}, 123.1043 + publisher = {MIT Press} 123.1044 + } 123.1045 + 123.1046 + 123.1047 +// mu calculus paper with 430 citations 123.1048 +@article{kozen83, 123.1049 + title={{Results on the Propositional mu-Calculus}}, 123.1050 + author={Kozen, D.}, 123.1051 + journal={TCS}, 123.1052 + volume={27}, 123.1053 + pages={333--354}, 123.1054 + year={1983} 123.1055 +} 123.1056 + 123.1057 + 123.1058 +// original kripke structure paper 123.1059 +@article{kripke63, 123.1060 + title={{Semantical analysis of modal logic}}, 123.1061 + author={Kripke, S.}, 123.1062 + journal={Zeitschrift fur Mathematische Logik und Grundlagen der Mathematik}, 123.1063 + volume={9}, 123.1064 + pages={67--96}, 123.1065 + year={1963} 123.1066 +} 123.1067 + 123.1068 + 123.1069 +@book 123.1070 + { mcGraw85, 123.1071 + author = {J McGraw and S. Skedzielewski and S. Allan and R Odefoeft}, 123.1072 + title = {SISAL: Streams and Iteration in a Single-Assignment Language: Reference Manual Version 1.2}, 123.1073 + note = {Manual M-146 Rev. 1}, 123.1074 + publisher = {Lawrence Livermore National Laboratory}, 123.1075 + year = {1985} 123.1076 + } 123.1077 + 123.1078 + 123.1079 +// Milner's own citation to development of CCS 123.1080 +@book{milner80, 123.1081 + title={{A Calculus of Communicating Systems, volume 92 of Lecture Notes in Computer Science}}, 123.1082 + author={Milner, R.}, 123.1083 + year={1980}, 123.1084 + publisher={Springer-Verlag} 123.1085 +} 123.1086 + 123.1087 + 123.1088 +// Milner's own pi-calculus reference 123.1089 +@article{milner92, 123.1090 + title={{A calculus of mobile processes, parts I and II}}, 123.1091 + author={Milner, R. and Parrow, J. and Walker, D.}, 123.1092 + journal={Information and Computation}, 123.1093 + volume={100}, 123.1094 + number={1}, 123.1095 + pages={1--40 and 41--77}, 123.1096 + year={1992}, 123.1097 + publisher={Academic Press} 123.1098 +} 123.1099 + 123.1100 + 123.1101 +// more recent Pi calculus reference 123.1102 +@book 123.1103 + { milner99, 123.1104 + author = {Robin Milner}, 123.1105 + title = {Communicating and Mobile Systems: The pi-Calculus}, 123.1106 + publisher = {Cambridge University Press}, 123.1107 + year = {1999} 123.1108 + } 123.1109 + 123.1110 + 123.1111 +// MPI reference 123.1112 +@book 123.1113 + { MPIForum94, 123.1114 + author = {M. P. I. Forum}, 123.1115 + title = {MPI: A Message-Passing Interface Standard}, 123.1116 + year = {1994} 123.1117 + } 123.1118 + 123.1119 + 123.1120 +// Petri nets original citation 123.1121 +@article{petri62, 123.1122 + title={{Fundamentals of a theory of asynchronous information flow}}, 123.1123 + author={Petri, C.A.}, 123.1124 + journal={Proc. IFIP Congress}, 123.1125 + volume={62}, 123.1126 + pages={386--390}, 123.1127 + year={1962} 123.1128 +} 123.1129 + 123.1130 + 123.1131 +// Pierce Type system book 123.1132 +@book{pierce02, 123.1133 + title={Types and Programming Languages}, 123.1134 + author={Pierce, B. C.}, 123.1135 + year={2002}, 123.1136 + publisher={MIT Press} 123.1137 +} 123.1138 + 123.1139 + 123.1140 +// Survey of Visual programming 123.1141 +@Article 123.1142 + { price, 123.1143 + author = {B. A. Price and R. M. Baecker and L. S. Small}, 123.1144 + title = {A Principled Taxonomy of Software Visualization}, 123.1145 + journal ={Journal of Visual Languages and Computing}, 123.1146 + volume = {4}, 123.1147 + number = {3}, 123.1148 + pages = {211--266} 123.1149 + } 123.1150 + 123.1151 + 123.1152 + 123.1153 +@misc 123.1154 + { pythonWebSite, 123.1155 + key = {Python}, 123.1156 + title = {The Python Software Foundation Mission Statement}, 123.1157 + note = {{\ttfamily http://www.python.org/psf/mission.html}} 123.1158 + } 123.1159 + 123.1160 + 123.1161 +// Roadmap for Revitalization of High End Computing 123.1162 +@unpublished 123.1163 + { reed03, 123.1164 + editor = {Daniel A. Reed}, 123.1165 + title = {Workshop on The Roadmap for the Revitalization of High-End Computing}, 123.1166 + day = {16--18}, 123.1167 + month = {jun}, 123.1168 + year = {2003}, 123.1169 + note = {Available at {\ttfamily http://www.cra.org/reports/supercomputing.web.pdf}} 123.1170 + } 123.1171 + 123.1172 + 123.1173 +// Parallel Pascal 123.1174 +@Article 123.1175 + { reeves84, 123.1176 + author = {A. P. Reeves}, 123.1177 + title = {Parallel Pascal -- An Extended Pascal for Parallel Computers}, 123.1178 + journal = {Journal of Parallel and Distributed Computing}, 123.1179 + volume = {1}, 123.1180 + number = {}, 123.1181 + year = {1984}, 123.1182 + month = {aug}, 123.1183 + pages = {64--80} 123.1184 + } 123.1185 + 123.1186 + 123.1187 +// Survey of parallel langs and models 123.1188 +@article{skillicorn98, 123.1189 + author = {David B. Skillicorn and Domenico Talia}, 123.1190 + title = {Models and languages for parallel computation}, 123.1191 + journal = {ACM Comput. Surv.}, 123.1192 + volume = {30}, 123.1193 + number = {2}, 123.1194 + year = {1998}, 123.1195 + issn = {0360-0300}, 123.1196 + pages = {123--169}, 123.1197 + doi = {http://doi.acm.org/10.1145/280277.280278}, 123.1198 + publisher = {ACM Press}, 123.1199 + address = {New York, NY, USA}, 123.1200 + } 123.1201 + 123.1202 + 123.1203 +// LOOPS ref for multiple inheritance issues 123.1204 +@article{stefik86, 123.1205 + title={Object Oriented Programming: Themes and Variations}, 123.1206 + author={Stefik, M. and Bobrow, D. G.}, 123.1207 + journal={The AI Magazine}, 123.1208 + volume={6}, 123.1209 + number={4}, 123.1210 + year={1986} 123.1211 +} 123.1212 + 123.1213 + 123.1214 +// 240 citations to this book, so seems safe.. covers modal logics which is superset 123.1215 +// of temporal logics 123.1216 +@book{stirling92, 123.1217 + title={{Modal and Temporal Logics}}, 123.1218 + author={Stirling, C.}, 123.1219 + year={1992}, 123.1220 + publisher={University of Edinburgh, Department of Computer Science} 123.1221 +} 123.1222 + 123.1223 + 123.1224 +// Titanium website 123.1225 +@misc 123.1226 + { TitaniumWebSite, 123.1227 + author = {Paul Hilfinger and et. al.}, 123.1228 + title = {The Titanium Project Home Page}, 123.1229 + note = {{\ttfamily http://www.cs.berkeley.edu/projects/titanium}} 123.1230 + } 123.1231 + 123.1232 + 123.1233 +// website with scans of original work by Turing 123.1234 +@misc{turing38, 123.1235 + author={A. Turing}, 123.1236 + note={http://www.turingarchive.org/intro/, and 123.1237 +http://www.turing.org.uk/sources/biblio4.html, and 123.1238 +http://web.comlab.ox.ac.uk/oucl/research/areas/ieg/e-library/sources/tp2-ie.pdf}, 123.1239 + year={1938} 123.1240 +} 123.1241 + 123.1242 + 123.1243 +// First mention of von Neumann's architecture ideas 123.1244 +@book{vonNeumann45, 123.1245 + title={First Draft of a Report on the EDVAC}, 123.1246 + author={J. von Neumann}, 123.1247 + year={1945}, 123.1248 + publisher={United States Army Ordnance Department} 123.1249 +} 123.1250 + 123.1251 + 123.1252 +// The 203 Glynn Winskel book for Formal Semantics 123.1253 +@book{winskel93, 123.1254 + title={{The Formal Semantics of Programming Languages}}, 123.1255 + author={Winskel, G.}, 123.1256 + year={1993}, 123.1257 + publisher={MIT Press} 123.1258 +} 123.1259 + 123.1260 +
124.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 124.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/helpers/plain.bst Fri Sep 13 11:02:18 2013 -0700 124.3 @@ -0,0 +1,1098 @@ 124.4 +% BibTeX standard bibliography style `plain' 124.5 + % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09. 124.6 + % Copyright (C) 1985, all rights reserved. 124.7 + % Copying of this file is authorized only if either 124.8 + % (1) you make absolutely no changes to your copy, including name, or 124.9 + % (2) if you do make changes, you name it something other than 124.10 + % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst. 124.11 + % This restriction helps ensure that all standard styles are identical. 124.12 + % The file btxbst.doc has the documentation for this style. 124.13 + 124.14 +ENTRY 124.15 + { address 124.16 + author 124.17 + booktitle 124.18 + chapter 124.19 + edition 124.20 + editor 124.21 + howpublished 124.22 + institution 124.23 + journal 124.24 + key 124.25 + month 124.26 + note 124.27 + number 124.28 + organization 124.29 + pages 124.30 + publisher 124.31 + school 124.32 + series 124.33 + title 124.34 + type 124.35 + volume 124.36 + year 124.37 + } 124.38 + {} 124.39 + { label } 124.40 + 124.41 +INTEGERS { output.state before.all mid.sentence after.sentence after.block } 124.42 + 124.43 +FUNCTION {init.state.consts} 124.44 +{ #0 'before.all := 124.45 + #1 'mid.sentence := 124.46 + #2 'after.sentence := 124.47 + #3 'after.block := 124.48 +} 124.49 + 124.50 +STRINGS { s t } 124.51 + 124.52 +FUNCTION {output.nonnull} 124.53 +{ 's := 124.54 + output.state mid.sentence = 124.55 + { ", " * write$ } 124.56 + { output.state after.block = 124.57 + { add.period$ write$ 124.58 + newline$ 124.59 + "\newblock " write$ 124.60 + } 124.61 + { output.state before.all = 124.62 + 'write$ 124.63 + { add.period$ " " * write$ } 124.64 + if$ 124.65 + } 124.66 + if$ 124.67 + mid.sentence 'output.state := 124.68 + } 124.69 + if$ 124.70 + s 124.71 +} 124.72 + 124.73 +FUNCTION {output} 124.74 +{ duplicate$ empty$ 124.75 + 'pop$ 124.76 + 'output.nonnull 124.77 + if$ 124.78 +} 124.79 + 124.80 +FUNCTION {output.check} 124.81 +{ 't := 124.82 + duplicate$ empty$ 124.83 + { pop$ "empty " t * " in " * cite$ * warning$ } 124.84 + 'output.nonnull 124.85 + if$ 124.86 +} 124.87 + 124.88 +FUNCTION {output.bibitem} 124.89 +{ newline$ 124.90 + "\bibitem{" write$ 124.91 + cite$ write$ 124.92 + "}" write$ 124.93 + newline$ 124.94 + "" 124.95 + before.all 'output.state := 124.96 +} 124.97 + 124.98 +FUNCTION {fin.entry} 124.99 +{ add.period$ 124.100 + write$ 124.101 + newline$ 124.102 +} 124.103 + 124.104 +FUNCTION {new.block} 124.105 +{ output.state before.all = 124.106 + 'skip$ 124.107 + { after.block 'output.state := } 124.108 + if$ 124.109 +} 124.110 + 124.111 +FUNCTION {new.sentence} 124.112 +{ output.state after.block = 124.113 + 'skip$ 124.114 + { output.state before.all = 124.115 + 'skip$ 124.116 + { after.sentence 'output.state := } 124.117 + if$ 124.118 + } 124.119 + if$ 124.120 +} 124.121 + 124.122 +FUNCTION {not} 124.123 +{ { #0 } 124.124 + { #1 } 124.125 + if$ 124.126 +} 124.127 + 124.128 +FUNCTION {and} 124.129 +{ 'skip$ 124.130 + { pop$ #0 } 124.131 + if$ 124.132 +} 124.133 + 124.134 +FUNCTION {or} 124.135 +{ { pop$ #1 } 124.136 + 'skip$ 124.137 + if$ 124.138 +} 124.139 + 124.140 +FUNCTION {new.block.checka} 124.141 +{ empty$ 124.142 + 'skip$ 124.143 + 'new.block 124.144 + if$ 124.145 +} 124.146 + 124.147 +FUNCTION {new.block.checkb} 124.148 +{ empty$ 124.149 + swap$ empty$ 124.150 + and 124.151 + 'skip$ 124.152 + 'new.block 124.153 + if$ 124.154 +} 124.155 + 124.156 +FUNCTION {new.sentence.checka} 124.157 +{ empty$ 124.158 + 'skip$ 124.159 + 'new.sentence 124.160 + if$ 124.161 +} 124.162 + 124.163 +FUNCTION {new.sentence.checkb} 124.164 +{ empty$ 124.165 + swap$ empty$ 124.166 + and 124.167 + 'skip$ 124.168 + 'new.sentence 124.169 + if$ 124.170 +} 124.171 + 124.172 +FUNCTION {field.or.null} 124.173 +{ duplicate$ empty$ 124.174 + { pop$ "" } 124.175 + 'skip$ 124.176 + if$ 124.177 +} 124.178 + 124.179 +FUNCTION {emphasize} 124.180 +{ duplicate$ empty$ 124.181 + { pop$ "" } 124.182 + { "{\em " swap$ * "}" * } 124.183 + if$ 124.184 +} 124.185 + 124.186 +INTEGERS { nameptr namesleft numnames } 124.187 + 124.188 +FUNCTION {format.names} 124.189 +{ 's := 124.190 + #1 'nameptr := 124.191 + s num.names$ 'numnames := 124.192 + numnames 'namesleft := 124.193 + { namesleft #0 > } 124.194 + { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't := 124.195 + nameptr #1 > 124.196 + { namesleft #1 > 124.197 + { ", " * t * } 124.198 + { numnames #2 > 124.199 + { "," * } 124.200 + 'skip$ 124.201 + if$ 124.202 + t "others" = 124.203 + { " et~al." * } 124.204 + { " and " * t * } 124.205 + if$ 124.206 + } 124.207 + if$ 124.208 + } 124.209 + 't 124.210 + if$ 124.211 + nameptr #1 + 'nameptr := 124.212 + namesleft #1 - 'namesleft := 124.213 + } 124.214 + while$ 124.215 +} 124.216 + 124.217 +FUNCTION {format.authors} 124.218 +{ author empty$ 124.219 + { "" } 124.220 + { author format.names } 124.221 + if$ 124.222 +} 124.223 + 124.224 +FUNCTION {format.editors} 124.225 +{ editor empty$ 124.226 + { "" } 124.227 + { editor format.names 124.228 + editor num.names$ #1 > 124.229 + { ", editors" * } 124.230 + { ", editor" * } 124.231 + if$ 124.232 + } 124.233 + if$ 124.234 +} 124.235 + 124.236 +FUNCTION {format.title} 124.237 +{ title empty$ 124.238 + { "" } 124.239 + { title "t" change.case$ } 124.240 + if$ 124.241 +} 124.242 + 124.243 +FUNCTION {n.dashify} 124.244 +{ 't := 124.245 + "" 124.246 + { t empty$ not } 124.247 + { t #1 #1 substring$ "-" = 124.248 + { t #1 #2 substring$ "--" = not 124.249 + { "--" * 124.250 + t #2 global.max$ substring$ 't := 124.251 + } 124.252 + { { t #1 #1 substring$ "-" = } 124.253 + { "-" * 124.254 + t #2 global.max$ substring$ 't := 124.255 + } 124.256 + while$ 124.257 + } 124.258 + if$ 124.259 + } 124.260 + { t #1 #1 substring$ * 124.261 + t #2 global.max$ substring$ 't := 124.262 + } 124.263 + if$ 124.264 + } 124.265 + while$ 124.266 +} 124.267 + 124.268 +FUNCTION {format.date} 124.269 +{ year empty$ 124.270 + { month empty$ 124.271 + { "" } 124.272 + { "there's a month but no year in " cite$ * warning$ 124.273 + month 124.274 + } 124.275 + if$ 124.276 + } 124.277 + { month empty$ 124.278 + 'year 124.279 + { month " " * year * } 124.280 + if$ 124.281 + } 124.282 + if$ 124.283 +} 124.284 + 124.285 +FUNCTION {format.btitle} 124.286 +{ title emphasize 124.287 +} 124.288 + 124.289 +FUNCTION {tie.or.space.connect} 124.290 +{ duplicate$ text.length$ #3 < 124.291 + { "~" } 124.292 + { " " } 124.293 + if$ 124.294 + swap$ * * 124.295 +} 124.296 + 124.297 +FUNCTION {either.or.check} 124.298 +{ empty$ 124.299 + 'pop$ 124.300 + { "can't use both " swap$ * " fields in " * cite$ * warning$ } 124.301 + if$ 124.302 +} 124.303 + 124.304 +FUNCTION {format.bvolume} 124.305 +{ volume empty$ 124.306 + { "" } 124.307 + { "volume" volume tie.or.space.connect 124.308 + series empty$ 124.309 + 'skip$ 124.310 + { " of " * series emphasize * } 124.311 + if$ 124.312 + "volume and number" number either.or.check 124.313 + } 124.314 + if$ 124.315 +} 124.316 + 124.317 +FUNCTION {format.number.series} 124.318 +{ volume empty$ 124.319 + { number empty$ 124.320 + { series field.or.null } 124.321 + { output.state mid.sentence = 124.322 + { "number" } 124.323 + { "Number" } 124.324 + if$ 124.325 + number tie.or.space.connect 124.326 + series empty$ 124.327 + { "there's a number but no series in " cite$ * warning$ } 124.328 + { " in " * series * } 124.329 + if$ 124.330 + } 124.331 + if$ 124.332 + } 124.333 + { "" } 124.334 + if$ 124.335 +} 124.336 + 124.337 +FUNCTION {format.edition} 124.338 +{ edition empty$ 124.339 + { "" } 124.340 + { output.state mid.sentence = 124.341 + { edition "l" change.case$ " edition" * } 124.342 + { edition "t" change.case$ " edition" * } 124.343 + if$ 124.344 + } 124.345 + if$ 124.346 +} 124.347 + 124.348 +INTEGERS { multiresult } 124.349 + 124.350 +FUNCTION {multi.page.check} 124.351 +{ 't := 124.352 + #0 'multiresult := 124.353 + { multiresult not 124.354 + t empty$ not 124.355 + and 124.356 + } 124.357 + { t #1 #1 substring$ 124.358 + duplicate$ "-" = 124.359 + swap$ duplicate$ "," = 124.360 + swap$ "+" = 124.361 + or or 124.362 + { #1 'multiresult := } 124.363 + { t #2 global.max$ substring$ 't := } 124.364 + if$ 124.365 + } 124.366 + while$ 124.367 + multiresult 124.368 +} 124.369 + 124.370 +FUNCTION {format.pages} 124.371 +{ pages empty$ 124.372 + { "" } 124.373 + { pages multi.page.check 124.374 + { "pages" pages n.dashify tie.or.space.connect } 124.375 + { "page" pages tie.or.space.connect } 124.376 + if$ 124.377 + } 124.378 + if$ 124.379 +} 124.380 + 124.381 +FUNCTION {format.vol.num.pages} 124.382 +{ volume field.or.null 124.383 + number empty$ 124.384 + 'skip$ 124.385 + { "(" number * ")" * * 124.386 + volume empty$ 124.387 + { "there's a number but no volume in " cite$ * warning$ } 124.388 + 'skip$ 124.389 + if$ 124.390 + } 124.391 + if$ 124.392 + pages empty$ 124.393 + 'skip$ 124.394 + { duplicate$ empty$ 124.395 + { pop$ format.pages } 124.396 + { ":" * pages n.dashify * } 124.397 + if$ 124.398 + } 124.399 + if$ 124.400 +} 124.401 + 124.402 +FUNCTION {format.chapter.pages} 124.403 +{ chapter empty$ 124.404 + 'format.pages 124.405 + { type empty$ 124.406 + { "chapter" } 124.407 + { type "l" change.case$ } 124.408 + if$ 124.409 + chapter tie.or.space.connect 124.410 + pages empty$ 124.411 + 'skip$ 124.412 + { ", " * format.pages * } 124.413 + if$ 124.414 + } 124.415 + if$ 124.416 +} 124.417 + 124.418 +FUNCTION {format.in.ed.booktitle} 124.419 +{ booktitle empty$ 124.420 + { "" } 124.421 + { editor empty$ 124.422 + { "In " booktitle emphasize * } 124.423 + { "In " format.editors * ", " * booktitle emphasize * } 124.424 + if$ 124.425 + } 124.426 + if$ 124.427 +} 124.428 + 124.429 +FUNCTION {empty.misc.check} 124.430 +{ author empty$ title empty$ howpublished empty$ 124.431 + month empty$ year empty$ note empty$ 124.432 + and and and and and 124.433 + key empty$ not and 124.434 + { "all relevant fields are empty in " cite$ * warning$ } 124.435 + 'skip$ 124.436 + if$ 124.437 +} 124.438 + 124.439 +FUNCTION {format.thesis.type} 124.440 +{ type empty$ 124.441 + 'skip$ 124.442 + { pop$ 124.443 + type "t" change.case$ 124.444 + } 124.445 + if$ 124.446 +} 124.447 + 124.448 +FUNCTION {format.tr.number} 124.449 +{ type empty$ 124.450 + { "Technical Report" } 124.451 + 'type 124.452 + if$ 124.453 + number empty$ 124.454 + { "t" change.case$ } 124.455 + { number tie.or.space.connect } 124.456 + if$ 124.457 +} 124.458 + 124.459 +FUNCTION {format.article.crossref} 124.460 +{ key empty$ 124.461 + { journal empty$ 124.462 + { "need key or journal for " cite$ * " to crossref " * crossref * 124.463 + warning$ 124.464 + "" 124.465 + } 124.466 + { "In {\em " journal * "\/}" * } 124.467 + if$ 124.468 + } 124.469 + { "In " key * } 124.470 + if$ 124.471 + " \cite{" * crossref * "}" * 124.472 +} 124.473 + 124.474 +FUNCTION {format.crossref.editor} 124.475 +{ editor #1 "{vv~}{ll}" format.name$ 124.476 + editor num.names$ duplicate$ 124.477 + #2 > 124.478 + { pop$ " et~al." * } 124.479 + { #2 < 124.480 + 'skip$ 124.481 + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = 124.482 + { " et~al." * } 124.483 + { " and " * editor #2 "{vv~}{ll}" format.name$ * } 124.484 + if$ 124.485 + } 124.486 + if$ 124.487 + } 124.488 + if$ 124.489 +} 124.490 + 124.491 +FUNCTION {format.book.crossref} 124.492 +{ volume empty$ 124.493 + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ 124.494 + "In " 124.495 + } 124.496 + { "Volume" volume tie.or.space.connect 124.497 + " of " * 124.498 + } 124.499 + if$ 124.500 + editor empty$ 124.501 + editor field.or.null author field.or.null = 124.502 + or 124.503 + { key empty$ 124.504 + { series empty$ 124.505 + { "need editor, key, or series for " cite$ * " to crossref " * 124.506 + crossref * warning$ 124.507 + "" * 124.508 + } 124.509 + { "{\em " * series * "\/}" * } 124.510 + if$ 124.511 + } 124.512 + { key * } 124.513 + if$ 124.514 + } 124.515 + { format.crossref.editor * } 124.516 + if$ 124.517 + " \cite{" * crossref * "}" * 124.518 +} 124.519 + 124.520 +FUNCTION {format.incoll.inproc.crossref} 124.521 +{ editor empty$ 124.522 + editor field.or.null author field.or.null = 124.523 + or 124.524 + { key empty$ 124.525 + { booktitle empty$ 124.526 + { "need editor, key, or booktitle for " cite$ * " to crossref " * 124.527 + crossref * warning$ 124.528 + "" 124.529 + } 124.530 + { "In {\em " booktitle * "\/}" * } 124.531 + if$ 124.532 + } 124.533 + { "In " key * } 124.534 + if$ 124.535 + } 124.536 + { "In " format.crossref.editor * } 124.537 + if$ 124.538 + " \cite{" * crossref * "}" * 124.539 +} 124.540 + 124.541 +FUNCTION {article} 124.542 +{ output.bibitem 124.543 + format.authors "author" output.check 124.544 + new.block 124.545 + format.title "title" output.check 124.546 + new.block 124.547 + crossref missing$ 124.548 + { journal emphasize "journal" output.check 124.549 + format.vol.num.pages output 124.550 + format.date "year" output.check 124.551 + } 124.552 + { format.article.crossref output.nonnull 124.553 + format.pages output 124.554 + } 124.555 + if$ 124.556 + new.block 124.557 + note output 124.558 + fin.entry 124.559 +} 124.560 + 124.561 +FUNCTION {book} 124.562 +{ output.bibitem 124.563 + author empty$ 124.564 + { format.editors "author and editor" output.check } 124.565 + { format.authors output.nonnull 124.566 + crossref missing$ 124.567 + { "author and editor" editor either.or.check } 124.568 + 'skip$ 124.569 + if$ 124.570 + } 124.571 + if$ 124.572 + new.block 124.573 + format.btitle "title" output.check 124.574 + crossref missing$ 124.575 + { format.bvolume output 124.576 + new.block 124.577 + format.number.series output 124.578 + new.sentence 124.579 + publisher "publisher" output.check 124.580 + address output 124.581 + } 124.582 + { new.block 124.583 + format.book.crossref output.nonnull 124.584 + } 124.585 + if$ 124.586 + format.edition output 124.587 + format.date "year" output.check 124.588 + new.block 124.589 + note output 124.590 + fin.entry 124.591 +} 124.592 + 124.593 +FUNCTION {booklet} 124.594 +{ output.bibitem 124.595 + format.authors output 124.596 + new.block 124.597 + format.title "title" output.check 124.598 + howpublished address new.block.checkb 124.599 + howpublished output 124.600 + address output 124.601 + format.date output 124.602 + new.block 124.603 + note output 124.604 + fin.entry 124.605 +} 124.606 + 124.607 +FUNCTION {inbook} 124.608 +{ output.bibitem 124.609 + author empty$ 124.610 + { format.editors "author and editor" output.check } 124.611 + { format.authors output.nonnull 124.612 + crossref missing$ 124.613 + { "author and editor" editor either.or.check } 124.614 + 'skip$ 124.615 + if$ 124.616 + } 124.617 + if$ 124.618 + new.block 124.619 + format.btitle "title" output.check 124.620 + crossref missing$ 124.621 + { format.bvolume output 124.622 + format.chapter.pages "chapter and pages" output.check 124.623 + new.block 124.624 + format.number.series output 124.625 + new.sentence 124.626 + publisher "publisher" output.check 124.627 + address output 124.628 + } 124.629 + { format.chapter.pages "chapter and pages" output.check 124.630 + new.block 124.631 + format.book.crossref output.nonnull 124.632 + } 124.633 + if$ 124.634 + format.edition output 124.635 + format.date "year" output.check 124.636 + new.block 124.637 + note output 124.638 + fin.entry 124.639 +} 124.640 + 124.641 +FUNCTION {incollection} 124.642 +{ output.bibitem 124.643 + format.authors "author" output.check 124.644 + new.block 124.645 + format.title "title" output.check 124.646 + new.block 124.647 + crossref missing$ 124.648 + { format.in.ed.booktitle "booktitle" output.check 124.649 + format.bvolume output 124.650 + format.number.series output 124.651 + format.chapter.pages output 124.652 + new.sentence 124.653 + publisher "publisher" output.check 124.654 + address output 124.655 + format.edition output 124.656 + format.date "year" output.check 124.657 + } 124.658 + { format.incoll.inproc.crossref output.nonnull 124.659 + format.chapter.pages output 124.660 + } 124.661 + if$ 124.662 + new.block 124.663 + note output 124.664 + fin.entry 124.665 +} 124.666 + 124.667 +FUNCTION {inproceedings} 124.668 +{ output.bibitem 124.669 + format.authors "author" output.check 124.670 + new.block 124.671 + format.title "title" output.check 124.672 + new.block 124.673 + crossref missing$ 124.674 + { format.in.ed.booktitle "booktitle" output.check 124.675 + format.bvolume output 124.676 + format.number.series output 124.677 + format.pages output 124.678 + address empty$ 124.679 + { organization publisher new.sentence.checkb 124.680 + organization output 124.681 + publisher output 124.682 + format.date "year" output.check 124.683 + } 124.684 + { address output.nonnull 124.685 + format.date "year" output.check 124.686 + new.sentence 124.687 + organization output 124.688 + publisher output 124.689 + } 124.690 + if$ 124.691 + } 124.692 + { format.incoll.inproc.crossref output.nonnull 124.693 + format.pages output 124.694 + } 124.695 + if$ 124.696 + new.block 124.697 + note output 124.698 + fin.entry 124.699 +} 124.700 + 124.701 +FUNCTION {conference} { inproceedings } 124.702 + 124.703 +FUNCTION {manual} 124.704 +{ output.bibitem 124.705 + author empty$ 124.706 + { organization empty$ 124.707 + 'skip$ 124.708 + { organization output.nonnull 124.709 + address output 124.710 + } 124.711 + if$ 124.712 + } 124.713 + { format.authors output.nonnull } 124.714 + if$ 124.715 + new.block 124.716 + format.btitle "title" output.check 124.717 + author empty$ 124.718 + { organization empty$ 124.719 + { address new.block.checka 124.720 + address output 124.721 + } 124.722 + 'skip$ 124.723 + if$ 124.724 + } 124.725 + { organization address new.block.checkb 124.726 + organization output 124.727 + address output 124.728 + } 124.729 + if$ 124.730 + format.edition output 124.731 + format.date output 124.732 + new.block 124.733 + note output 124.734 + fin.entry 124.735 +} 124.736 + 124.737 +FUNCTION {mastersthesis} 124.738 +{ output.bibitem 124.739 + format.authors "author" output.check 124.740 + new.block 124.741 + format.title "title" output.check 124.742 + new.block 124.743 + "Master's thesis" format.thesis.type output.nonnull 124.744 + school "school" output.check 124.745 + address output 124.746 + format.date "year" output.check 124.747 + new.block 124.748 + note output 124.749 + fin.entry 124.750 +} 124.751 + 124.752 +FUNCTION {misc} 124.753 +{ output.bibitem 124.754 + format.authors output 124.755 + title howpublished new.block.checkb 124.756 + format.title output 124.757 + howpublished new.block.checka 124.758 + howpublished output 124.759 + format.date output 124.760 + new.block 124.761 + note output 124.762 + fin.entry 124.763 + empty.misc.check 124.764 +} 124.765 + 124.766 +FUNCTION {phdthesis} 124.767 +{ output.bibitem 124.768 + format.authors "author" output.check 124.769 + new.block 124.770 + format.btitle "title" output.check 124.771 + new.block 124.772 + "PhD thesis" format.thesis.type output.nonnull 124.773 + school "school" output.check 124.774 + address output 124.775 + format.date "year" output.check 124.776 + new.block 124.777 + note output 124.778 + fin.entry 124.779 +} 124.780 + 124.781 +FUNCTION {proceedings} 124.782 +{ output.bibitem 124.783 + editor empty$ 124.784 + { organization output } 124.785 + { format.editors output.nonnull } 124.786 + if$ 124.787 + new.block 124.788 + format.btitle "title" output.check 124.789 + format.bvolume output 124.790 + format.number.series output 124.791 + address empty$ 124.792 + { editor empty$ 124.793 + { publisher new.sentence.checka } 124.794 + { organization publisher new.sentence.checkb 124.795 + organization output 124.796 + } 124.797 + if$ 124.798 + publisher output 124.799 + format.date "year" output.check 124.800 + } 124.801 + { address output.nonnull 124.802 + format.date "year" output.check 124.803 + new.sentence 124.804 + editor empty$ 124.805 + 'skip$ 124.806 + { organization output } 124.807 + if$ 124.808 + publisher output 124.809 + } 124.810 + if$ 124.811 + new.block 124.812 + note output 124.813 + fin.entry 124.814 +} 124.815 + 124.816 +FUNCTION {techreport} 124.817 +{ output.bibitem 124.818 + format.authors "author" output.check 124.819 + new.block 124.820 + format.title "title" output.check 124.821 + new.block 124.822 + format.tr.number output.nonnull 124.823 + institution "institution" output.check 124.824 + address output 124.825 + format.date "year" output.check 124.826 + new.block 124.827 + note output 124.828 + fin.entry 124.829 +} 124.830 + 124.831 +FUNCTION {unpublished} 124.832 +{ output.bibitem 124.833 + format.authors "author" output.check 124.834 + new.block 124.835 + format.title "title" output.check 124.836 + new.block 124.837 + note "note" output.check 124.838 + format.date output 124.839 + fin.entry 124.840 +} 124.841 + 124.842 +FUNCTION {default.type} { misc } 124.843 + 124.844 +MACRO {jan} {"January"} 124.845 + 124.846 +MACRO {feb} {"February"} 124.847 + 124.848 +MACRO {mar} {"March"} 124.849 + 124.850 +MACRO {apr} {"April"} 124.851 + 124.852 +MACRO {may} {"May"} 124.853 + 124.854 +MACRO {jun} {"June"} 124.855 + 124.856 +MACRO {jul} {"July"} 124.857 + 124.858 +MACRO {aug} {"August"} 124.859 + 124.860 +MACRO {sep} {"September"} 124.861 + 124.862 +MACRO {oct} {"October"} 124.863 + 124.864 +MACRO {nov} {"November"} 124.865 + 124.866 +MACRO {dec} {"December"} 124.867 + 124.868 +MACRO {acmcs} {"ACM Computing Surveys"} 124.869 + 124.870 +MACRO {acta} {"Acta Informatica"} 124.871 + 124.872 +MACRO {cacm} {"Communications of the ACM"} 124.873 + 124.874 +MACRO {ibmjrd} {"IBM Journal of Research and Development"} 124.875 + 124.876 +MACRO {ibmsj} {"IBM Systems Journal"} 124.877 + 124.878 +MACRO {ieeese} {"IEEE Transactions on Software Engineering"} 124.879 + 124.880 +MACRO {ieeetc} {"IEEE Transactions on Computers"} 124.881 + 124.882 +MACRO {ieeetcad} 124.883 + {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} 124.884 + 124.885 +MACRO {ipl} {"Information Processing Letters"} 124.886 + 124.887 +MACRO {jacm} {"Journal of the ACM"} 124.888 + 124.889 +MACRO {jcss} {"Journal of Computer and System Sciences"} 124.890 + 124.891 +MACRO {scp} {"Science of Computer Programming"} 124.892 + 124.893 +MACRO {sicomp} {"SIAM Journal on Computing"} 124.894 + 124.895 +MACRO {tocs} {"ACM Transactions on Computer Systems"} 124.896 + 124.897 +MACRO {tods} {"ACM Transactions on Database Systems"} 124.898 + 124.899 +MACRO {tog} {"ACM Transactions on Graphics"} 124.900 + 124.901 +MACRO {toms} {"ACM Transactions on Mathematical Software"} 124.902 + 124.903 +MACRO {toois} {"ACM Transactions on Office Information Systems"} 124.904 + 124.905 +MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} 124.906 + 124.907 +MACRO {tcs} {"Theoretical Computer Science"} 124.908 + 124.909 +READ 124.910 + 124.911 +FUNCTION {sortify} 124.912 +{ purify$ 124.913 + "l" change.case$ 124.914 +} 124.915 + 124.916 +INTEGERS { len } 124.917 + 124.918 +FUNCTION {chop.word} 124.919 +{ 's := 124.920 + 'len := 124.921 + s #1 len substring$ = 124.922 + { s len #1 + global.max$ substring$ } 124.923 + 's 124.924 + if$ 124.925 +} 124.926 + 124.927 +FUNCTION {sort.format.names} 124.928 +{ 's := 124.929 + #1 'nameptr := 124.930 + "" 124.931 + s num.names$ 'numnames := 124.932 + numnames 'namesleft := 124.933 + { namesleft #0 > } 124.934 + { nameptr #1 > 124.935 + { " " * } 124.936 + 'skip$ 124.937 + if$ 124.938 + s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't := 124.939 + nameptr numnames = t "others" = and 124.940 + { "et al" * } 124.941 + { t sortify * } 124.942 + if$ 124.943 + nameptr #1 + 'nameptr := 124.944 + namesleft #1 - 'namesleft := 124.945 + } 124.946 + while$ 124.947 +} 124.948 + 124.949 +FUNCTION {sort.format.title} 124.950 +{ 't := 124.951 + "A " #2 124.952 + "An " #3 124.953 + "The " #4 t chop.word 124.954 + chop.word 124.955 + chop.word 124.956 + sortify 124.957 + #1 global.max$ substring$ 124.958 +} 124.959 + 124.960 +FUNCTION {author.sort} 124.961 +{ author empty$ 124.962 + { key empty$ 124.963 + { "to sort, need author or key in " cite$ * warning$ 124.964 + "" 124.965 + } 124.966 + { key sortify } 124.967 + if$ 124.968 + } 124.969 + { author sort.format.names } 124.970 + if$ 124.971 +} 124.972 + 124.973 +FUNCTION {author.editor.sort} 124.974 +{ author empty$ 124.975 + { editor empty$ 124.976 + { key empty$ 124.977 + { "to sort, need author, editor, or key in " cite$ * warning$ 124.978 + "" 124.979 + } 124.980 + { key sortify } 124.981 + if$ 124.982 + } 124.983 + { editor sort.format.names } 124.984 + if$ 124.985 + } 124.986 + { author sort.format.names } 124.987 + if$ 124.988 +} 124.989 + 124.990 +FUNCTION {author.organization.sort} 124.991 +{ author empty$ 124.992 + { organization empty$ 124.993 + { key empty$ 124.994 + { "to sort, need author, organization, or key in " cite$ * warning$ 124.995 + "" 124.996 + } 124.997 + { key sortify } 124.998 + if$ 124.999 + } 124.1000 + { "The " #4 organization chop.word sortify } 124.1001 + if$ 124.1002 + } 124.1003 + { author sort.format.names } 124.1004 + if$ 124.1005 +} 124.1006 + 124.1007 +FUNCTION {editor.organization.sort} 124.1008 +{ editor empty$ 124.1009 + { organization empty$ 124.1010 + { key empty$ 124.1011 + { "to sort, need editor, organization, or key in " cite$ * warning$ 124.1012 + "" 124.1013 + } 124.1014 + { key sortify } 124.1015 + if$ 124.1016 + } 124.1017 + { "The " #4 organization chop.word sortify } 124.1018 + if$ 124.1019 + } 124.1020 + { editor sort.format.names } 124.1021 + if$ 124.1022 +} 124.1023 + 124.1024 +FUNCTION {presort} 124.1025 +{ type$ "book" = 124.1026 + type$ "inbook" = 124.1027 + or 124.1028 + 'author.editor.sort 124.1029 + { type$ "proceedings" = 124.1030 + 'editor.organization.sort 124.1031 + { type$ "manual" = 124.1032 + 'author.organization.sort 124.1033 + 'author.sort 124.1034 + if$ 124.1035 + } 124.1036 + if$ 124.1037 + } 124.1038 + if$ 124.1039 + " " 124.1040 + * 124.1041 + year field.or.null sortify 124.1042 + * 124.1043 + " " 124.1044 + * 124.1045 + title field.or.null 124.1046 + sort.format.title 124.1047 + * 124.1048 + #1 entry.max$ substring$ 124.1049 + 'sort.key$ := 124.1050 +} 124.1051 + 124.1052 +ITERATE {presort} 124.1053 + 124.1054 +SORT 124.1055 + 124.1056 +STRINGS { longest.label } 124.1057 + 124.1058 +INTEGERS { number.label longest.label.width } 124.1059 + 124.1060 +FUNCTION {initialize.longest.label} 124.1061 +{ "" 'longest.label := 124.1062 + #1 'number.label := 124.1063 + #0 'longest.label.width := 124.1064 +} 124.1065 + 124.1066 +FUNCTION {longest.label.pass} 124.1067 +{ number.label int.to.str$ 'label := 124.1068 + number.label #1 + 'number.label := 124.1069 + label width$ longest.label.width > 124.1070 + { label 'longest.label := 124.1071 + label width$ 'longest.label.width := 124.1072 + } 124.1073 + 'skip$ 124.1074 + if$ 124.1075 +} 124.1076 + 124.1077 +EXECUTE {initialize.longest.label} 124.1078 + 124.1079 +ITERATE {longest.label.pass} 124.1080 + 124.1081 +FUNCTION {begin.bib} 124.1082 +{ preamble$ empty$ 124.1083 + 'skip$ 124.1084 + { preamble$ write$ newline$ } 124.1085 + if$ 124.1086 + "\begin{thebibliography}{" longest.label * "}" * write$ newline$ 124.1087 +} 124.1088 + 124.1089 +EXECUTE {begin.bib} 124.1090 + 124.1091 +EXECUTE {init.state.consts} 124.1092 + 124.1093 +ITERATE {call.type$} 124.1094 + 124.1095 +FUNCTION {end.bib} 124.1096 +{ newline$ 124.1097 + "\end{thebibliography}" write$ newline$ 124.1098 +} 124.1099 + 124.1100 +EXECUTE {end.bib} 124.1101 +
125.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 125.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/helpers/url.sty Fri Sep 13 11:02:18 2013 -0700 125.3 @@ -0,0 +1,325 @@ 125.4 +% url.sty ver 1.4 02-Mar-1999 Donald Arseneau asnd@triumf.ca 125.5 +% Copyright 1996-1999 Donald Arseneau, Vancouver, Canada. 125.6 +% This program can be used, distributed, and modified under the terms 125.7 +% of the LaTeX Project Public License. 125.8 +% 125.9 +% A form of \verb that allows linebreaks at certain characters or 125.10 +% combinations of characters, accepts reconfiguration, and can usually 125.11 +% be used in the argument to another command. It is intended for email 125.12 +% addresses, hypertext links, directories/paths, etc., which normally 125.13 +% have no spaces. The font may be selected using the \urlstyle command, 125.14 +% and new url-like commands can be defined using \urldef. 125.15 +% 125.16 +% Usage: Conditions: 125.17 +% \url{ } If the argument contains any "%", "#", or "^^", or ends with 125.18 +% "\", it can't be used in the argument to another command. 125.19 +% The argument must not contain unbalanced braces. 125.20 +% \url| | ...where "|" is any character not used in the argument and not 125.21 +% "{" or a space. The same restrictions as above except that the 125.22 +% argument may contain unbalanced braces. 125.23 +% \xyz for "\xyz" a defined-url; this can be used anywhere, no matter 125.24 +% what characters it contains. 125.25 +% 125.26 +% See further instructions after "\endinput" 125.27 +% 125.28 +\def\Url@ttdo{% style assignments for tt fonts or T1 encoding 125.29 +\def\UrlBreaks{\do\.\do\@\do\\\do\/\do\!\do\_\do\|\do\%\do\;\do\>\do\]% 125.30 + \do\)\do\,\do\?\do\'\do\+\do\=}% 125.31 +\def\UrlBigBreaks{\do\:\do@url@hyp}% 125.32 +\def\UrlNoBreaks{\do\(\do\[\do\{\do\<}% (unnecessary) 125.33 +\def\UrlSpecials{\do\ {\ }}% 125.34 +\def\UrlOrds{\do\*\do\-\do\~}% any ordinary characters that aren't usually 125.35 +} 125.36 +\def\Url@do{% style assignments for OT1 fonts except tt 125.37 +\def\UrlBreaks{\do\.\do\@\do\/\do\!\do\%\do\;\do\]\do\)\do\,\do\?\do\+\do\=}% 125.38 +\def\UrlBigBreaks{\do\:\do@url@hyp}% 125.39 +\def\UrlNoBreaks{\do\(\do\[\do\{}% prevents breaks after *next* character 125.40 +\def\UrlSpecials{\do\<{\langle}\do\>{\mathbin{\rangle}}\do\_{\_% 125.41 + \penalty\@m}\do\|{\mid}\do\{{\lbrace}\do\}{\mathbin{\rbrace}}\do 125.42 + \\{\mathbin{\backslash}}\do\~{\raise.6ex\hbox{\m@th$\scriptstyle\sim$}}\do 125.43 + \ {\ }}% 125.44 +\def\UrlOrds{\do\'\do\"\do\-}% 125.45 +} 125.46 +\def\url@ttstyle{% 125.47 +\@ifundefined{selectfont}{\def\UrlFont{\tt}}{\def\UrlFont{\ttfamily}}\Url@ttdo 125.48 +} 125.49 +\def\url@rmstyle{% 125.50 +\@ifundefined{selectfont}{\def\UrlFont{\rm}}{\def\UrlFont{\rmfamily}}\Url@do 125.51 +} 125.52 +\def\url@sfstyle{% 125.53 +\@ifundefined{selectfont}{\def\UrlFont{\sf}}{\def\UrlFont{\sffamily}}\Url@do 125.54 +} 125.55 +\def\url@samestyle{\ifdim\fontdimen\thr@@\font=\z@ \url@ttstyle \else 125.56 + \url@rmstyle \fi \def\UrlFont{}} 125.57 + 125.58 +\@ifundefined{strip@prefix}{\def\strip@prefix#1>{}}{} 125.59 +\@ifundefined{verbatim@nolig@list}{\def\verbatim@nolig@list{\do\`}}{} 125.60 + 125.61 +\def\Url{% 125.62 + \begingroup \let\url@moving\relax\relax \endgroup 125.63 + \ifmmode\@nomatherr$\fi 125.64 + \UrlFont $\fam\z@ \textfont\z@\font 125.65 + \let\do\@makeother \dospecials % verbatim catcodes 125.66 + \catcode`{\@ne \catcode`}\tw@ \catcode`\ 10 % except braces and spaces 125.67 + \medmuskip0mu \thickmuskip\medmuskip \thinmuskip\medmuskip 125.68 + \@tempcnta\fam\multiply\@tempcnta\@cclvi 125.69 + \let\do\set@mathcode \UrlOrds % ordinary characters that were special 125.70 + \advance\@tempcnta 8192 \UrlBreaks % bin 125.71 + \advance\@tempcnta 4096 \UrlBigBreaks % rel 125.72 + \advance\@tempcnta 4096 \UrlNoBreaks % open 125.73 + \let\do\set@mathact \UrlSpecials % active 125.74 + \let\do\set@mathnolig \verbatim@nolig@list % prevent ligatures 125.75 + \@ifnextchar\bgroup\Url@z\Url@y} 125.76 + 125.77 +\def\Url@y#1{\catcode`{11 \catcode`}11 125.78 + \def\@tempa##1#1{\Url@z{##1}}\@tempa} 125.79 +\def\Url@z#1{\def\@tempa{#1}\expandafter\expandafter\expandafter\Url@Hook 125.80 + \expandafter\strip@prefix\meaning\@tempa\UrlRight\m@th$\endgroup} 125.81 +\def\Url@Hook{\UrlLeft} 125.82 +\let\UrlRight\@empty 125.83 +\let\UrlLeft\@empty 125.84 + 125.85 +\def\set@mathcode#1{\count@`#1\advance\count@\@tempcnta\mathcode`#1\count@} 125.86 +\def\set@mathact#1#2{\mathcode`#132768 \lccode`\~`#1\lowercase{\def~{#2}}} 125.87 +\def\set@mathnolig#1{\ifnum\mathcode`#1<32768 125.88 + \lccode`\~`#1\lowercase{\edef~{\mathchar\number\mathcode`#1_{\/}}}% 125.89 + \mathcode`#132768 \fi} 125.90 + 125.91 +\def\urldef#1#2{\begingroup \setbox\z@\hbox\bgroup 125.92 + \def\Url@z{\Url@def{#1}{#2}}#2} 125.93 +\expandafter\ifx\csname DeclareRobustCommand\endcsname\relax 125.94 + \def\Url@def#1#2#3{\m@th$\endgroup\egroup\endgroup 125.95 + \def#1{#2{#3}}} 125.96 +\else 125.97 + \def\Url@def#1#2#3{\m@th$\endgroup\egroup\endgroup 125.98 + \DeclareRobustCommand{#1}{#2{#3}}} 125.99 +\fi 125.100 + 125.101 +\def\urlstyle#1{\csname url@#1style\endcsname} 125.102 + 125.103 +% Sample (and default) configuration: 125.104 +% 125.105 +\newcommand\url{\begingroup \Url} 125.106 +% 125.107 +% picTeX defines \path, so declare it optionally: 125.108 +\@ifundefined{path}{\newcommand\path{\begingroup \urlstyle{tt}\Url}}{} 125.109 +% 125.110 +% too many styles define \email like \address, so I will not define it. 125.111 +% \newcommand\email{\begingroup \urlstyle{rm}\Url} 125.112 + 125.113 +% Process LaTeX \package options 125.114 +% 125.115 +\urlstyle{tt} 125.116 +\let\Url@sppen\@M 125.117 +\def\do@url@hyp{}% by default, no breaks after hyphens 125.118 + 125.119 +\@ifundefined{ProvidesPackage}{}{ 125.120 + \ProvidesPackage{url}[1999/03/02 \space ver 1.4 \space 125.121 + Verb mode for urls, email addresses, and file names] 125.122 + \DeclareOption{hyphens}{\def\do@url@hyp{\do\-}}% allow breaks after hyphens 125.123 + \DeclareOption{obeyspaces}{\let\Url@Hook\relax}% a flag for later 125.124 + \DeclareOption{spaces}{\let\Url@sppen\relpenalty} 125.125 + \DeclareOption{T1}{\let\Url@do\Url@ttdo} 125.126 + \ProcessOptions 125.127 +\ifx\Url@Hook\relax % [obeyspaces] was declared 125.128 + \def\Url@Hook#1\UrlRight\m@th{\edef\@tempa{\noexpand\UrlLeft 125.129 + \Url@retain#1\Url@nosp\, }\@tempa\UrlRight\m@th} 125.130 + \def\Url@retain#1 {#1\penalty\Url@sppen\ \Url@retain} 125.131 + \def\Url@nosp\,#1\Url@retain{} 125.132 +\fi 125.133 +} 125.134 + 125.135 +\edef\url@moving{\csname Url Error\endcsname} 125.136 +\expandafter\edef\url@moving 125.137 + {\csname url used in a moving argument.\endcsname} 125.138 +\expandafter\expandafter\expandafter \let \url@moving\undefined 125.139 + 125.140 +\endinput 125.141 +% 125.142 +% url.sty ver 1.4 02-Mar-1999 Donald Arseneau asnd@reg.triumf.ca 125.143 +% 125.144 +% This package defines "\url", a form of "\verb" that allows linebreaks, 125.145 +% and can often be used in the argument to another command. It can be 125.146 +% configured to print in different formats, and is particularly useful for 125.147 +% hypertext links, email addresses, directories/paths, etc. The font may 125.148 +% be selected using the "\urlstyle" command and pre-defined text can be 125.149 +% stored with the "\urldef" command. New url-like commands can be defined, 125.150 +% and a "\path" command is provided this way. 125.151 +% 125.152 +% Usage: Conditions: 125.153 +% \url{ } If the argument contains any "%", "#", or "^^", or ends with 125.154 +% "\", it can't be used in the argument to another command. 125.155 +% The argument must not contain unbalanced braces. 125.156 +% \url| | ...where "|" is any character not used in the argument and not 125.157 +% "{" or a space. The same restrictions as above except that the 125.158 +% argument may contain unbalanced braces. 125.159 +% \xyz for "\xyz" a defined-url; this can be used anywhere, no matter 125.160 +% what characters it contains. 125.161 +% 125.162 +% The "\url" command is fragile, and its argument is likely to be very 125.163 +% fragile, but a defined-url is robust. 125.164 +% 125.165 +% Package Option: obeyspaces 125.166 +% Ordinarily, all spaces are ignored in the url-text. The "[obeyspaces]" 125.167 +% option allows spaces, but may introduce spurious spaces when a url 125.168 +% containing "\" characters is given in the argument to another command. 125.169 +% So if you need to obey spaces you can say "\usepackage[obeyspaces]{url}", 125.170 +% and if you need both spaces and backslashes, use a `defined-url' for 125.171 +% anything with "\". 125.172 +% 125.173 +% Package Option: hyphens 125.174 +% Ordinarily, breaks are not allowed after "-" characters because this 125.175 +% leads to confusion. (Is the "-" part of the address or just a hyphen?) 125.176 +% The package option "[hyphens]" allows breaks after explicit hyphen 125.177 +% characters. The "\url" command will *never ever* hyphenate words. 125.178 +% 125.179 +% Package Option: spaces 125.180 +% Likewise, breaks are not usually allowed after spaces under the 125.181 +% "[obeyspaces]" option, but giving the options "[obeyspaces,spaces]" 125.182 +% will allow breaks at those spaces. 125.183 +% 125.184 +% Package Option: T1 125.185 +% This signifies that you will be using T1-encoded fonts which contain 125.186 +% some characters missing from most older (OT1) encoded TeX fonts. This 125.187 +% changes the default definition for "\urlstyle{rm}". 125.188 +% 125.189 +% Defining a defined-url: 125.190 +% Take for example the email address "myself%node@gateway.net" which could 125.191 +% not be given (using "\url" or "\verb") in a caption or parbox due to the 125.192 +% percent sign. This address can be predefined with 125.193 +% \urldef{\myself}\url{myself%node@gateway.net} or 125.194 +% \urldef{\myself}\url|myself%node@gateway.net| 125.195 +% and then you may use "\myself" instead of "\url{myself%node@gateway.net}" 125.196 +% in an argument, and even in a moving argument like a caption because a 125.197 +% defined-url is robust. 125.198 +% 125.199 +% Style: 125.200 +% You can switch the style of printing using "\urlstyle{tt}", where "tt" 125.201 +% can be any defined style. The pre-defined styles are "tt", "rm", "sf", 125.202 +% and "same" which all allow the same linebreaks but different fonts -- 125.203 +% the first three select a specific font and the "same" style uses the 125.204 +% current text font. You can define your own styles with different fonts 125.205 +% and/or line-breaking by following the explanations below. The "\url" 125.206 +% command follows whatever the currently-set style dictates. 125.207 +% 125.208 +% Alternate commands: 125.209 +% It may be desireable to have different things treated differently, each 125.210 +% in a predefined style; e.g., if you want directory paths to always be 125.211 +% in tt and email addresses to be rm, then you would define new url-like 125.212 +% commands as follows: 125.213 +% 125.214 +% \newcommand\email{\begingroup \urlstyle{rm}\Url} 125.215 +% \newcommand\directory{\begingroup \urlstyle{tt}\Url} 125.216 +% 125.217 +% You must follow this format closely, and NOTE that the final command is 125.218 +% "\Url", not "\url". In fact, the "\directory" example is exactly the 125.219 +% "\path" definition which is pre-defined in the package. If you look 125.220 +% above, you will see that "\url" is defined with 125.221 +% \newcommand\url{\begingroup \Url} 125.222 +% I.e., using whatever url-style has been selected. 125.223 +% 125.224 +% You can make a defined-url for these other styles, using the usual 125.225 +% "\urldef" command as in this example: 125.226 +% 125.227 +% \urldef{\myself}{\email}{myself%node.domain@gateway.net} 125.228 +% 125.229 +% which makes "\myself" act like "\email{myself%node.domain@gateway.net}", 125.230 +% if the "\email" command is defined as above. The "\myself" command 125.231 +% would then be robust. 125.232 +% 125.233 +% Defining styles: 125.234 +% Before describing how to customize the printing style, it is best to 125.235 +% mention something about the unusual implementation of "\url". Although 125.236 +% the material is textual in nature, and the font specification required 125.237 +% is a text-font command, the text is actually typeset in *math* mode. 125.238 +% This allows the context-sensitive linebreaking, but also accounts for 125.239 +% the default behavior of ignoring spaces. Now on to defining styles. 125.240 +% 125.241 +% To change the font or the list of characters that allow linebreaks, you 125.242 +% could redefine the commands "\UrlFont", "\UrlBreaks", "\UrlSpecials" etc. 125.243 +% directly in the document, but it is better to define a new `url-style' 125.244 +% (following the example of "\url@ttstyle" and "\url@rmstyle") which defines 125.245 +% all of "\UrlBigbreaks", "\UrlNoBreaks", "\UrlBreaks", "\UrlSpecials", and 125.246 +% "\UrlFont". 125.247 +% 125.248 +% Changing font: 125.249 +% The "\UrlFont" command selects the font. The definition of "\UrlFont" 125.250 +% done by the pre-defined styles varies to cope with a variety of LaTeX 125.251 +% font selection schemes, but it could be as simple as "\def\UrlFont{\tt}". 125.252 +% Depending on the font selected, some characters may need to be defined 125.253 +% in the "\UrlSpecials" list because many fonts don't contain all the 125.254 +% standard input characters. 125.255 +% 125.256 +% Changing linebreaks: 125.257 +% The list of characters that allow line-breaks is given by "\UrlBreaks" 125.258 +% and "\UrlBigBreaks", which have the format "\do\c" for character "c". 125.259 +% The differences are that `BigBreaks' have a lower penalty and have 125.260 +% different breakpoints when in sequence (as in "http://"): `BigBreaks' 125.261 +% are treated as mathrels while `Breaks' are mathbins (see The TeXbook, 125.262 +% p.170). In particular, a series of `BigBreak' characters will break at 125.263 +% the end and only at the end; a series of `Break' characters will break 125.264 +% after the first and after every following *pair*; there will be no 125.265 +% break after a `Break' character if a `BigBreak' follows. In the case 125.266 +% of "http://" it doesn't matter whether ":" is a `Break' or `BigBreak' -- 125.267 +% the breaks are the same in either case; but for DECnet nodes with "::" 125.268 +% it is important to prevent breaks *between* the colons, and that is why 125.269 +% colons are `BigBreaks'. 125.270 +% 125.271 +% It is possible for characters to prevent breaks after the next following 125.272 +% character (I use this for parentheses). Specify these in "\UrlNoBreaks". 125.273 +% 125.274 +% You can do arbitrarily complex things with characters by making them 125.275 +% active in math mode (mathcode hex-8000) and specifying the definition(s) 125.276 +% in "\UrlSpecials". This is used in the rm and sf styles for OT1 font 125.277 +% encoding to handle several characters that are not present in those 125.278 +% computer-modern style fonts. See the definition of "\Url@do", which 125.279 +% is used by both "\url@rmstyle" and "\url@sfstyle"; it handles missing 125.280 +% characters via "\UrlSpecials". The nominal format for setting each 125.281 +% special character "c" is: "\do\c{<definition>}", but you can include 125.282 +% other definitions too. 125.283 +% 125.284 +% 125.285 +% If all this sounds confusing ... well, it is! But I hope you won't need 125.286 +% to redefine breakpoints -- the default assignments seem to work well for 125.287 +% a wide variety of applications. If you do need to make changes, you can 125.288 +% test for breakpoints using regular math mode and the characters "+=(a". 125.289 +% 125.290 +% Yet more flexibility: 125.291 +% You can also customize the verbatim text by defining "\UrlRight" and/or 125.292 +% "\UrlLeft", e.g., for ISO formatting of urls surrounded by "< >", define 125.293 +% 125.294 +% \renewcommand\url{\begingroup \def\UrlLeft{<url: }\def\UrlRight{>}% 125.295 +% \urlstyle{tt}\Url} 125.296 +% 125.297 +% The meanings of "\UrlLeft" and "\UrlRight" are *not* reproduced verbatim. 125.298 +% This lets you use formatting commands there, but you must be careful not 125.299 +% to use TeX's special characters ("\^_%~#$&{}" etc.) improperly. 125.300 +% You can also define "\UrlLeft" to reprocess the verbatim text, but the 125.301 +% format of the definition is special: 125.302 +% 125.303 +% \def\UrlLeft#1\UrlRight{ ... do things with #1 ... } 125.304 +% 125.305 +% Yes, that is "#1" followed by "\UrlRight" then the definition. For 125.306 +% example, to put a hyperTeX hypertext link in the DVI file: 125.307 +% 125.308 +% \def\UrlLeft#1\UrlRight{\special{html:<a href="#1">}#1\special{html:</a>}} 125.309 +% 125.310 +% Using this technique, url.sty can provide a convenient interface for 125.311 +% performing various operations on verbatim text. You don't even need 125.312 +% to print out the argument! For greatest efficiency in such obscure 125.313 +% applications, you can define a null url-style where all the lists like 125.314 +% "\UrlBreaks" are empty. 125.315 +% 125.316 +% Revision History: 125.317 +% ver 1.1 6-Feb-1996: 125.318 +% Fix hyphens that wouldn't break and ligatures that weren't suppressed. 125.319 +% ver 1.2 19-Oct-1996: 125.320 +% Package option for T1 encoding; Hooks: "\UrlLeft" and "\UrlRight". 125.321 +% ver 1.3 21-Jul-1997: 125.322 +% Prohibit spaces as delimiter characters; change ascii tilde in OT1. 125.323 +% ver 1.4 02-Mar-1999 125.324 +% LaTeX license; moving-argument-error 125.325 +% The End 125.326 + 125.327 +Test file integrity: ASCII 32-57, 58-126: !"#$%&'()*+,-./0123456789 125.328 +:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
126.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 126.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/helpers/usetex-v1-anon.cls Fri Sep 13 11:02:18 2013 -0700 126.3 @@ -0,0 +1,363 @@ 126.4 +\NeedsTeXFormat{LaTeX2e} 126.5 +\ProvidesClass{usetex-v1-anon}[2002/10/31 v1.2 usetex Usenix article class] 126.6 + 126.7 +% usetex-v1.cls - to be used with LaTeX2e for Usenix articles 126.8 +% 126.9 +% To use this style file, do this: 126.10 +% 126.11 +% \documentclass{usetex-v1} 126.12 +% 126.13 +% The following definitions are modifications of standard article.cls 126.14 +% definitions, arranged to do a better job of matching the Usenix 126.15 +% guidelines. and make for convenient Usenix paper writing 126.16 +% 126.17 +% Choose the appropriate option: 126.18 +% 126.19 +% 1. workingdraft: 126.20 +% 126.21 +% For initial submission and shepherding. Features prominent 126.22 +% date, notice of draft status, page numbers, and annotation 126.23 +% facilities. 126.24 +% 126.25 +% 2. proof: 126.26 +% 126.27 +% A galley proof identical to the final copy except for page 126.28 +% numbering and proof date on the bottom. Annotations are 126.29 +% removed. 126.30 +% 126.31 +% 3. webversion: 126.32 +% 126.33 +% A web-publishable version, uses \docstatus{} to indicate 126.34 +% publication information (where and when paper was published), 126.35 +% and page numbers. 126.36 +% 126.37 +% 4. finalversion: 126.38 +% 126.39 +% The final camera-ready-copy (CRC) version of the paper. 126.40 +% Published in conference proceedings. This doesn't include 126.41 +% page numbers, annotations, or draft status (Usenix adds 126.42 +% headers, footers, and page numbers onto the CRC). 126.43 +% 126.44 +% If several are used, the last one in this list wins 126.45 +% 126.46 + 126.47 +% 126.48 +% In addition, the option "endnotes" permits the use of the 126.49 +% otherwise-disabled, Usenix-deprecated footnote{} command in 126.50 +% documents. In this case, be sure to include a 126.51 +% \makeendnotes command at the end of your document or 126.52 +% the endnotes will not actually appear. 126.53 +% 126.54 + 126.55 +\newif\if@draftcopy \newif\ifworkingdraft 126.56 +\DeclareOption{workingdraft}{\workingdrafttrue\@draftcopytrue} 126.57 +\newif\ifproof \DeclareOption{proof}{\prooftrue\@draftcopytrue} 126.58 +\newif\ifwebversion 126.59 +\DeclareOption{webversion}{\prooftrue\webversiontrue\@draftcopytrue} 126.60 +\DeclareOption{finalversion}{} 126.61 +\newif\ifhasendnotes 126.62 +\DeclareOption{endnotes}{\hasendnotestrue} 126.63 + 126.64 +% pass all other options to the article class 126.65 +\DeclareOption*{% 126.66 + \PassOptionsToClass{\CurrentOption}{article}% 126.67 +} 126.68 + 126.69 +% actually process the options 126.70 +\ProcessOptions 126.71 + 126.72 +% usetex is based on article 126.73 +\LoadClass[twocolumn]{article} 126.74 + 126.75 +% Footnotes are not currently allowed, but 126.76 +% endnotes (while a bad idea) are. 126.77 +\ifhasendnotes 126.78 + \RequirePackage{endnotes} 126.79 +\fi 126.80 + 126.81 +% save any provided document status information 126.82 +\def\@docstatus{} 126.83 +\def\docstatus#1{\gdef\@docstatus{#1}} 126.84 + 126.85 +\ifworkingdraft 126.86 + 126.87 + % formatting helper for draft notes 126.88 + \newcommand{\@noteleader[1]}{% 126.89 + {\marginpar{\framebox{\scriptsize\textbf{#1}}}}% 126.90 + \bfseries\itshape 126.91 + } 126.92 + 126.93 + % put a small anonymous editing note in the draft copy 126.94 + \newcommand{\edannote}[1]{{\@noteleader[note] (#1)}} 126.95 + 126.96 + % put a small attributed editing note in the draft copy 126.97 + \newcommand{\edatnote}[2]{{\@noteleader[#1] #2}} 126.98 + 126.99 + % put an attributed editing note paragraph in the draft copy 126.100 + \newenvironment{ednote}[1] 126.101 + {\newcommand{\who}{#1}\@noteleader[\who]} 126.102 + 126.103 + % mark a spot where work has been left off for later 126.104 + \newcommand{\HERE}{% 126.105 + {\mbox{}\marginpar{\framebox{\textbf{here}}}}{\bf\ldots}} 126.106 + 126.107 +\else 126.108 + 126.109 + % dummy versions of editing commands to produce warnings 126.110 + 126.111 + \newcommand{\edannote}[1]{\@latex@warning 126.112 + {Leftover edannote command in final version ignored}} 126.113 + 126.114 + \newcommand{\edatnote}[1]{\@latex@warning 126.115 + {Leftover edatnote command in final version ignored}} 126.116 + 126.117 + \newsavebox{\@discard} 126.118 + \newenvironment{ednote}[1]{\@latex@warning 126.119 + {Leftover ednote environment in final version ignored}% 126.120 + \begin{lrbox}{\@discard}}{\end{lrbox}} 126.121 + 126.122 + \newcommand{\HERE}{\@latex@warning 126.123 + {Leftover HERE command in final version ignored}} 126.124 + 126.125 +\fi 126.126 + 126.127 +% set up the footers appropriately 126.128 +\def\@setfoot{% 126.129 + \ifwebversion 126.130 + % webversions get whatever status the author says 126.131 + \gdef\@evenfoot{\@docstatus \hfil \thepage}% 126.132 + \else 126.133 + % all other drafts get the standard draft footer 126.134 + \gdef\@evenfoot{\textbf{Draft:} \@draftdate\hfil \textbf{Page:} \thepage}% 126.135 + \fi 126.136 + \gdef\@oddfoot{\@evenfoot}% 126.137 +} 126.138 + 126.139 +% 126.140 +% Usenix wants no page numbers for submitted papers, so that 126.141 +% they can number them themselves. Drafts should have 126.142 +% numbered pages, so they can be edited. 126.143 +% 126.144 +\if@draftcopy 126.145 + % Compute a date and time for the draft for use 126.146 + % either in \@setfoot (proof) or in \maketitle (workingdraft) 126.147 + % 126.148 + % Time code adapted from custom-bib/makebst.tex 126.149 + % Copyright 1993-1999 Patrick W Daly 126.150 + % Max-Planck-Institut f\"ur Aeronomie 126.151 + % E-mail: daly@linmp.mpg.de 126.152 + \newcount\hour 126.153 + \hour=\time 126.154 + \divide\hour by 60 126.155 + \newcount\minute 126.156 + \minute=\hour 126.157 + \multiply\minute by 60 126.158 + \advance\minute by -\time 126.159 + \multiply\minute by -1 126.160 + \newcommand{\@draftdate} 126.161 + {{\the\year/\/\two@digits{\the\month}/\/\two@digits{\the\day}% 126.162 + ~\two@digits{\the\hour}:\two@digits{\the\minute}}} 126.163 + \pagestyle{plain} 126.164 + \@setfoot 126.165 +\else 126.166 + \pagestyle{empty} 126.167 +\fi 126.168 + 126.169 +% Times-Roman font is nice if you can get it (requires NFSS, 126.170 +% which is in latex2e). 126.171 +\usepackage{times} 126.172 + 126.173 +% endnote support, as described at 126.174 +% http://www.lyx.org/help/footnotes.php 126.175 +\ifhasendnotes 126.176 + \typeout 126.177 + {Warning: endnotes support is deprecated (see documentation for details)} 126.178 + \let\footnote=\endnote 126.179 + \def\enoteformat{\rightskip\z@ \leftskip\z@ 126.180 + \parindent=0pt\parskip=\baselineskip 126.181 + \@theenmark. } 126.182 + \newcommand{\makeendnotes}{ 126.183 + \begingroup 126.184 + \def\enotesize{\normalsize} 126.185 + \theendnotes 126.186 + \endgroup 126.187 + } 126.188 +\else 126.189 + \long\gdef\footnote{\@latex@error 126.190 + {Deprecated footnote command (see documentation for details)}} 126.191 + \long\gdef\endnote{\@latex@error 126.192 + {Deprecated endnote command (see documentation for details)}} 126.193 +\fi 126.194 + 126.195 +% 126.196 +% Usenix margins 126.197 +% Gives active areas of 6.45" x 9.0" 126.198 +% 126.199 +\setlength{\textheight}{9.0in} 126.200 +\setlength{\columnsep}{0.25in} 126.201 +\setlength{\textwidth}{6.45in} 126.202 +%\setlength{\footskip}{0.0in} 126.203 +%\setlength{\footheight}{0.0in} 126.204 +\setlength{\topmargin}{0.0in} 126.205 +\setlength{\headheight}{0.0in} 126.206 +\setlength{\headsep}{0.0in} 126.207 +\setlength{\evensidemargin}{0.0in} 126.208 +\setlength{\oddsidemargin}{0.0in} 126.209 +\setlength{\marginparsep}{1.5em} 126.210 +\setlength{\marginparwidth}{0.35in} 126.211 + 126.212 +% The standard maketitle insists on 126.213 +% messing with the style of the first page. 126.214 +% Thus, we will wrap maketitle with code to put 126.215 +% things right again. 126.216 +\let \save@maketitle=\maketitle 126.217 +\def\maketitle{ 126.218 + \save@maketitle 126.219 + \if@draftcopy 126.220 + \@specialpagefalse 126.221 + \else 126.222 + \thispagestyle{empty} 126.223 + \fi 126.224 +} 126.225 + 126.226 +% 126.227 +% Usenix titles are in 14-point bold type, with no date, and with no 126.228 +% change in the empty page headers. The author section is 126.229 +% 12 point roman and italic: see below. 126.230 +% 126.231 +\def\@maketitle{% 126.232 + \newpage 126.233 + \null 126.234 +% \vskip 3ex% 126.235 + \begin{center}% 126.236 +% \let \footnote \thanks 126.237 + {\Large \bf \@title \par}% % use 14 pt bold 126.238 +% \vskip 2ex% 126.239 + {\large 126.240 +% \lineskip .5ex% 126.241 +% \begin{tabular}[t]{c}% 126.242 +% \@author 126.243 +% \end{tabular}\par 126.244 + }% 126.245 + \ifworkingdraft 126.246 + \vskip 0.5ex 126.247 + \textbf{Draft of \@draftdate} 126.248 + \vskip 0.5ex 126.249 + \fi 126.250 + \ifwebversion 126.251 + \vskip 0.5ex 126.252 + \textit{Authors and affiliation elided for review.} 126.253 + \vskip 0.5ex 126.254 + \fi 126.255 + \end{center}% 126.256 + \par 126.257 +% \vskip 2ex 126.258 +} 126.259 + 126.260 +% 126.261 +% The author section 126.262 +% should have names in Roman, address in 126.263 +% italic, e-mail/http in typewriter. 126.264 +% This is enforced by use of these macros 126.265 +% 126.266 +\def\authname#1{{#1}\\} 126.267 +\def\authaddr#1{\itshape{#1}\\} 126.268 +\def\authurl#1{{\normalsize #1}\\} 126.269 + 126.270 +% 126.271 +% The abstract is preceded by a 12-pt bold centered heading 126.272 +% 126.273 +\def\abstract{\begin{center}% 126.274 + {\large\bf \abstractname\vspace{-.5ex}\vspace{\z@}}% 126.275 + \end{center}} 126.276 +\def\endabstract{} 126.277 + 126.278 +% 126.279 +% Main section titles are 12-pt bold. Lower divisions can 126.280 +% be same size or smaller: we choose same. 126.281 +% Main section leading is tight. Subsection leading is even 126.282 +% slightly tighter. All lower divisions are formatted like subsections. 126.283 +% 126.284 +\newcommand\@sectionfont{\reset@font\large\bf} 126.285 +\newlength\@sectionaboveskip 126.286 +\setlength\@sectionaboveskip{-0.7\baselineskip 126.287 + plus -0.1\baselineskip 126.288 + minus -0.1\baselineskip} 126.289 +\newlength\@sectionbelowskip 126.290 +\setlength\@sectionbelowskip{0.3\baselineskip 126.291 + plus 0.1\baselineskip} 126.292 +\newlength\@subsectionaboveskip 126.293 +\setlength\@subsectionaboveskip{-0.5\baselineskip 126.294 + plus -0.1\baselineskip} 126.295 +\renewcommand\section{\@startsection {section}{1}{\z@}% 126.296 + {\@sectionaboveskip}{\@sectionbelowskip}{\@sectionfont}} 126.297 +\newcommand\@gensubsection[2]{\@startsection {#1}{#2}{\z@}% 126.298 + {\@subsectionaboveskip}{\@sectionbelowskip}{\@sectionfont}} 126.299 +\renewcommand\subsection{\@gensubsection{subsection}{2}} 126.300 +\renewcommand\subsubsection{\@gensubsection{subsubsection}{3}} 126.301 +%\renewcommand\paragraph{\@gensubsection{paragraph}{4}} 126.302 +%\renewcommand\subparagraph{\@gensubsection{subparagaph}{5}} 126.303 +\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% 126.304 + {1.25ex \@plus 0.2ex \@minus 0.2ex}% 126.305 + {-1.0em}% 126.306 + {\normalfont\normalsize\bfseries}} 126.307 +\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% 126.308 + {1.25ex \@plus 0.2ex \@minus 0.2ex}% 126.309 + {-1.0em}% 126.310 + {\normalfont\normalsize\bfseries}} 126.311 + 126.312 +% List items need to be tightened up. 126.313 +% There must be a better way than copying 126.314 +% the definitions to modify the list environment... 126.315 +\def\@itemspacings{\listparindent=\parindent 126.316 + \parsep=0pt\topsep=0.3\baselineskip\partopsep=0pt\itemsep=0pt} 126.317 +% now make envs use itemspacings 126.318 +\def\itemize{% 126.319 + \ifnum \@itemdepth >\thr@@\@toodeep\else 126.320 + \advance\@itemdepth\@ne 126.321 + \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% 126.322 + \expandafter 126.323 + \list 126.324 + \csname\@itemitem\endcsname 126.325 + {\@itemspacings\def\makelabel##1{\hss\llap{##1}}}% 126.326 + \fi} 126.327 +\def\enumerate{% 126.328 + \ifnum \@enumdepth >\thr@@\@toodeep\else 126.329 + \advance\@enumdepth\@ne 126.330 + \edef\@enumctr{enum\romannumeral\the\@enumdepth}% 126.331 + \expandafter 126.332 + \list 126.333 + \csname label\@enumctr\endcsname 126.334 + {\@itemspacings\usecounter\@enumctr\def\makelabel##1{\hss\llap{##1}}}% 126.335 + \fi} 126.336 +\def\description{% 126.337 + \list{}{\labelwidth\z@ \itemindent-\leftmargin 126.338 + \@itemspacings\let\makelabel\descriptionlabel}} 126.339 + 126.340 +% Bibliography items need to be tightened up. 126.341 +% Again, there must be a better way than copying 126.342 +% the definitions to modify the list environment... 126.343 +\def\thebibliography#1% 126.344 + {\section*{\refname}% 126.345 + \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}% 126.346 + \list{\@biblabel{\@arabic\c@enumiv}}% 126.347 + {\settowidth\labelwidth{\@biblabel{#1}}% 126.348 + \leftmargin\labelwidth 126.349 + \advance\leftmargin\labelsep 126.350 + \@openbib@code 126.351 + \usecounter{enumiv}% 126.352 + \let\p@enumiv\@empty 126.353 + \renewcommand\theenumiv{\@arabic\c@enumiv}% 126.354 + \parsep=0pt}% pack entries 126.355 + \sloppy 126.356 + \hbadness=8000% mostly don't whine about bibliography fmt 126.357 + \clubpenalty=4000% 126.358 + \@clubpenalty=\clubpenalty 126.359 + \widowpenalty=4000% 126.360 + \sfcode`\.\@m} 126.361 + 126.362 +% Floating bodies need to be tightened up. 126.363 +\setlength\textfloatsep{14pt plus 2pt} 126.364 +\setlength\dbltextfloatsep{\textfloatsep} 126.365 +\setlength\intextsep{0.8\textfloatsep} 126.366 +\setlength\abovecaptionskip{8pt minus 2pt}
127.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 127.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/helpers/usetex-v1.cls Fri Sep 13 11:02:18 2013 -0700 127.3 @@ -0,0 +1,357 @@ 127.4 +\NeedsTeXFormat{LaTeX2e} 127.5 +\ProvidesClass{usetex-v1}[2002/10/31 v1.2 usetex Usenix article class] 127.6 + 127.7 +% usetex-v1.cls - to be used with LaTeX2e for Usenix articles 127.8 +% 127.9 +% To use this style file, do this: 127.10 +% 127.11 +% \documentclass{usetex-v1} 127.12 +% 127.13 +% The following definitions are modifications of standard article.cls 127.14 +% definitions, arranged to do a better job of matching the Usenix 127.15 +% guidelines. and make for convenient Usenix paper writing 127.16 +% 127.17 +% Choose the appropriate option: 127.18 +% 127.19 +% 1. workingdraft: 127.20 +% 127.21 +% For initial submission and shepherding. Features prominent 127.22 +% date, notice of draft status, page numbers, and annotation 127.23 +% facilities. 127.24 +% 127.25 +% 2. proof: 127.26 +% 127.27 +% A galley proof identical to the final copy except for page 127.28 +% numbering and proof date on the bottom. Annotations are 127.29 +% removed. 127.30 +% 127.31 +% 3. webversion: 127.32 +% 127.33 +% A web-publishable version, uses \docstatus{} to indicate 127.34 +% publication information (where and when paper was published), 127.35 +% and page numbers. 127.36 +% 127.37 +% 4. finalversion: 127.38 +% 127.39 +% The final camera-ready-copy (CRC) version of the paper. 127.40 +% Published in conference proceedings. This doesn't include 127.41 +% page numbers, annotations, or draft status (Usenix adds 127.42 +% headers, footers, and page numbers onto the CRC). 127.43 +% 127.44 +% If several are used, the last one in this list wins 127.45 +% 127.46 + 127.47 +% 127.48 +% In addition, the option "endnotes" permits the use of the 127.49 +% otherwise-disabled, Usenix-deprecated footnote{} command in 127.50 +% documents. In this case, be sure to include a 127.51 +% \makeendnotes command at the end of your document or 127.52 +% the endnotes will not actually appear. 127.53 +% 127.54 + 127.55 +\newif\if@draftcopy \newif\ifworkingdraft 127.56 +\DeclareOption{workingdraft}{\workingdrafttrue\@draftcopytrue} 127.57 +\newif\ifproof \DeclareOption{proof}{\prooftrue\@draftcopytrue} 127.58 +\newif\ifwebversion 127.59 +\DeclareOption{webversion}{\prooftrue\webversiontrue\@draftcopytrue} 127.60 +\DeclareOption{finalversion}{} 127.61 +\newif\ifhasendnotes 127.62 +\DeclareOption{endnotes}{\hasendnotestrue} 127.63 + 127.64 +% pass all other options to the article class 127.65 +\DeclareOption*{% 127.66 + \PassOptionsToClass{\CurrentOption}{article}% 127.67 +} 127.68 + 127.69 +% actually process the options 127.70 +\ProcessOptions 127.71 + 127.72 +% usetex is based on article 127.73 +\LoadClass[twocolumn]{article} 127.74 + 127.75 +% Footnotes are not currently allowed, but 127.76 +% endnotes (while a bad idea) are. 127.77 +\ifhasendnotes 127.78 + \RequirePackage{endnotes} 127.79 +\fi 127.80 + 127.81 +% save any provided document status information 127.82 +\def\@docstatus{} 127.83 +\def\docstatus#1{\gdef\@docstatus{#1}} 127.84 + 127.85 +\ifworkingdraft 127.86 + 127.87 + % formatting helper for draft notes 127.88 + \newcommand{\@noteleader[1]}{% 127.89 + {\marginpar{\framebox{\scriptsize\textbf{#1}}}}% 127.90 + \bfseries\itshape 127.91 + } 127.92 + 127.93 + % put a small anonymous editing note in the draft copy 127.94 + \newcommand{\edannote}[1]{{\@noteleader[note] (#1)}} 127.95 + 127.96 + % put a small attributed editing note in the draft copy 127.97 + \newcommand{\edatnote}[2]{{\@noteleader[#1] #2}} 127.98 + 127.99 + % put an attributed editing note paragraph in the draft copy 127.100 + \newenvironment{ednote}[1] 127.101 + {\newcommand{\who}{#1}\@noteleader[\who]} 127.102 + 127.103 + % mark a spot where work has been left off for later 127.104 + \newcommand{\HERE}{% 127.105 + {\mbox{}\marginpar{\framebox{\textbf{here}}}}{\bf\ldots}} 127.106 + 127.107 +\else 127.108 + 127.109 + % dummy versions of editing commands to produce warnings 127.110 + 127.111 + \newcommand{\edannote}[1]{\@latex@warning 127.112 + {Leftover edannote command in final version ignored}} 127.113 + 127.114 + \newcommand{\edatnote}[1]{\@latex@warning 127.115 + {Leftover edatnote command in final version ignored}} 127.116 + 127.117 + \newsavebox{\@discard} 127.118 + \newenvironment{ednote}[1]{\@latex@warning 127.119 + {Leftover ednote environment in final version ignored}% 127.120 + \begin{lrbox}{\@discard}}{\end{lrbox}} 127.121 + 127.122 + \newcommand{\HERE}{\@latex@warning 127.123 + {Leftover HERE command in final version ignored}} 127.124 + 127.125 +\fi 127.126 + 127.127 +% set up the footers appropriately 127.128 +\def\@setfoot{% 127.129 + \ifwebversion 127.130 + % webversions get whatever status the author says 127.131 + \gdef\@evenfoot{\@docstatus \hfil \thepage}% 127.132 + \else 127.133 + % all other drafts get the standard draft footer 127.134 + \gdef\@evenfoot{\textbf{Draft:} \@draftdate\hfil \textbf{Page:} \thepage}% 127.135 + \fi 127.136 + \gdef\@oddfoot{\@evenfoot}% 127.137 +} 127.138 + 127.139 +% 127.140 +% Usenix wants no page numbers for submitted papers, so that 127.141 +% they can number them themselves. Drafts should have 127.142 +% numbered pages, so they can be edited. 127.143 +% 127.144 +\if@draftcopy 127.145 + % Compute a date and time for the draft for use 127.146 + % either in \@setfoot (proof) or in \maketitle (workingdraft) 127.147 + % 127.148 + % Time code adapted from custom-bib/makebst.tex 127.149 + % Copyright 1993-1999 Patrick W Daly 127.150 + % Max-Planck-Institut f\"ur Aeronomie 127.151 + % E-mail: daly@linmp.mpg.de 127.152 + \newcount\hour 127.153 + \hour=\time 127.154 + \divide\hour by 60 127.155 + \newcount\minute 127.156 + \minute=\hour 127.157 + \multiply\minute by 60 127.158 + \advance\minute by -\time 127.159 + \multiply\minute by -1 127.160 + \newcommand{\@draftdate} 127.161 + {{\the\year/\/\two@digits{\the\month}/\/\two@digits{\the\day}% 127.162 + ~\two@digits{\the\hour}:\two@digits{\the\minute}}} 127.163 + \pagestyle{plain} 127.164 + \@setfoot 127.165 +\else 127.166 + \pagestyle{empty} 127.167 +\fi 127.168 + 127.169 +% Times-Roman font is nice if you can get it (requires NFSS, 127.170 +% which is in latex2e). 127.171 +\usepackage{times} 127.172 + 127.173 +% endnote support, as described at 127.174 +% http://www.lyx.org/help/footnotes.php 127.175 +\ifhasendnotes 127.176 + \typeout 127.177 + {Warning: endnotes support is deprecated (see documentation for details)} 127.178 + \let\footnote=\endnote 127.179 + \def\enoteformat{\rightskip\z@ \leftskip\z@ 127.180 + \parindent=0pt\parskip=\baselineskip 127.181 + \@theenmark. } 127.182 + \newcommand{\makeendnotes}{ 127.183 + \begingroup 127.184 + \def\enotesize{\normalsize} 127.185 + \theendnotes 127.186 + \endgroup 127.187 + } 127.188 +\else 127.189 + \long\gdef\footnote{\@latex@error 127.190 + {Deprecated footnote command (see documentation for details)}} 127.191 + \long\gdef\endnote{\@latex@error 127.192 + {Deprecated endnote command (see documentation for details)}} 127.193 +\fi 127.194 + 127.195 +% 127.196 +% Usenix margins 127.197 +% Gives active areas of 6.45" x 9.0" 127.198 +% 127.199 +\setlength{\textheight}{9.0in} 127.200 +\setlength{\columnsep}{0.25in} 127.201 +\setlength{\textwidth}{6.45in} 127.202 +%\setlength{\footskip}{0.0in} 127.203 +%\setlength{\footheight}{0.0in} 127.204 +\setlength{\topmargin}{0.0in} 127.205 +\setlength{\headheight}{0.0in} 127.206 +\setlength{\headsep}{0.0in} 127.207 +\setlength{\evensidemargin}{0.0in} 127.208 +\setlength{\oddsidemargin}{0.0in} 127.209 +\setlength{\marginparsep}{1.5em} 127.210 +\setlength{\marginparwidth}{0.35in} 127.211 + 127.212 +% The standard maketitle insists on 127.213 +% messing with the style of the first page. 127.214 +% Thus, we will wrap maketitle with code to put 127.215 +% things right again. 127.216 +\let \save@maketitle=\maketitle 127.217 +\def\maketitle{ 127.218 + \save@maketitle 127.219 + \if@draftcopy 127.220 + \@specialpagefalse 127.221 + \else 127.222 + \thispagestyle{empty} 127.223 + \fi 127.224 +} 127.225 + 127.226 +% 127.227 +% Usenix titles are in 14-point bold type, with no date, and with no 127.228 +% change in the empty page headers. The author section is 127.229 +% 12 point roman and italic: see below. 127.230 +% 127.231 +\def\@maketitle{% 127.232 + \newpage 127.233 + \null 127.234 + \vskip 3ex% 127.235 + \begin{center}% 127.236 + \let \footnote \thanks 127.237 + {\Large \bf \@title \par}% % use 14 pt bold 127.238 + \vskip 2ex% 127.239 + {\large 127.240 + \lineskip .5ex% 127.241 + \begin{tabular}[t]{c}% 127.242 + \@author 127.243 + \end{tabular}\par}% 127.244 + \ifworkingdraft 127.245 + \vskip 3ex \textbf{Draft of \@draftdate} \vskip 3ex 127.246 + \fi 127.247 + \ifwebversion 127.248 + \vskip 3ex \textbf{\@docstatus} \vskip 3ex 127.249 + \fi 127.250 + \end{center}% 127.251 + \par 127.252 + \vskip 2ex} 127.253 + 127.254 +% 127.255 +% The author section 127.256 +% should have names in Roman, address in 127.257 +% italic, e-mail/http in typewriter. 127.258 +% This is enforced by use of these macros 127.259 +% 127.260 +\def\authname#1{{#1}\\} 127.261 +\def\authaddr#1{\itshape{#1}\\} 127.262 +\def\authurl#1{{\normalsize #1}\\} 127.263 + 127.264 +% 127.265 +% The abstract is preceded by a 12-pt bold centered heading 127.266 +% 127.267 +\def\abstract{\begin{center}% 127.268 + {\large\bf \abstractname\vspace{-.5ex}\vspace{\z@}}% 127.269 + \end{center}} 127.270 +\def\endabstract{} 127.271 + 127.272 +% 127.273 +% Main section titles are 12-pt bold. Lower divisions can 127.274 +% be same size or smaller: we choose same. 127.275 +% Main section leading is tight. Subsection leading is even 127.276 +% slightly tighter. All lower divisions are formatted like subsections. 127.277 +% 127.278 +\newcommand\@sectionfont{\reset@font\large\bf} 127.279 +\newlength\@sectionaboveskip 127.280 +\setlength\@sectionaboveskip{-0.7\baselineskip 127.281 + plus -0.1\baselineskip 127.282 + minus -0.1\baselineskip} 127.283 +\newlength\@sectionbelowskip 127.284 +\setlength\@sectionbelowskip{0.3\baselineskip 127.285 + plus 0.1\baselineskip} 127.286 +\newlength\@subsectionaboveskip 127.287 +\setlength\@subsectionaboveskip{-0.5\baselineskip 127.288 + plus -0.1\baselineskip} 127.289 +\renewcommand\section{\@startsection {section}{1}{\z@}% 127.290 + {\@sectionaboveskip}{\@sectionbelowskip}{\@sectionfont}} 127.291 +\newcommand\@gensubsection[2]{\@startsection {#1}{#2}{\z@}% 127.292 + {\@subsectionaboveskip}{\@sectionbelowskip}{\@sectionfont}} 127.293 +\renewcommand\subsection{\@gensubsection{subsection}{2}} 127.294 +\renewcommand\subsubsection{\@gensubsection{subsubsection}{3}} 127.295 +%\renewcommand\paragraph{\@gensubsection{paragraph}{4}} 127.296 +%\renewcommand\subparagraph{\@gensubsection{subparagaph}{5}} 127.297 +\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% 127.298 + {1.25ex \@plus 0.2ex \@minus 0.2ex}% 127.299 + {-1.0em}% 127.300 + {\normalfont\normalsize\bfseries}} 127.301 +\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% 127.302 + {1.25ex \@plus 0.2ex \@minus 0.2ex}% 127.303 + {-1.0em}% 127.304 + {\normalfont\normalsize\bfseries}} 127.305 + 127.306 +% List items need to be tightened up. 127.307 +% There must be a better way than copying 127.308 +% the definitions to modify the list environment... 127.309 +\def\@itemspacings{\listparindent=\parindent 127.310 + \parsep=0pt\topsep=0.3\baselineskip\partopsep=0pt\itemsep=0pt} 127.311 +% now make envs use itemspacings 127.312 +\def\itemize{% 127.313 + \ifnum \@itemdepth >\thr@@\@toodeep\else 127.314 + \advance\@itemdepth\@ne 127.315 + \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% 127.316 + \expandafter 127.317 + \list 127.318 + \csname\@itemitem\endcsname 127.319 + {\@itemspacings\def\makelabel##1{\hss\llap{##1}}}% 127.320 + \fi} 127.321 +\def\enumerate{% 127.322 + \ifnum \@enumdepth >\thr@@\@toodeep\else 127.323 + \advance\@enumdepth\@ne 127.324 + \edef\@enumctr{enum\romannumeral\the\@enumdepth}% 127.325 + \expandafter 127.326 + \list 127.327 + \csname label\@enumctr\endcsname 127.328 + {\@itemspacings\usecounter\@enumctr\def\makelabel##1{\hss\llap{##1}}}% 127.329 + \fi} 127.330 +\def\description{% 127.331 + \list{}{\labelwidth\z@ \itemindent-\leftmargin 127.332 + \@itemspacings\let\makelabel\descriptionlabel}} 127.333 + 127.334 +% Bibliography items need to be tightened up. 127.335 +% Again, there must be a better way than copying 127.336 +% the definitions to modify the list environment... 127.337 +\def\thebibliography#1% 127.338 + {\section*{\refname}% 127.339 + \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}% 127.340 + \list{\@biblabel{\@arabic\c@enumiv}}% 127.341 + {\settowidth\labelwidth{\@biblabel{#1}}% 127.342 + \leftmargin\labelwidth 127.343 + \advance\leftmargin\labelsep 127.344 + \@openbib@code 127.345 + \usecounter{enumiv}% 127.346 + \let\p@enumiv\@empty 127.347 + \renewcommand\theenumiv{\@arabic\c@enumiv}% 127.348 + \parsep=0pt}% pack entries 127.349 + \sloppy 127.350 + \hbadness=8000% mostly don't whine about bibliography fmt 127.351 + \clubpenalty=4000% 127.352 + \@clubpenalty=\clubpenalty 127.353 + \widowpenalty=4000% 127.354 + \sfcode`\.\@m} 127.355 + 127.356 +% Floating bodies need to be tightened up. 127.357 +\setlength\textfloatsep{14pt plus 2pt} 127.358 +\setlength\dbltextfloatsep{\textfloatsep} 127.359 +\setlength\intextsep{0.8\textfloatsep} 127.360 +\setlength\abovecaptionskip{8pt minus 2pt}
128.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 128.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/latex/.pdf Fri Sep 13 11:02:18 2013 -0700 128.3 @@ -0,0 +1,31 @@ 128.4 +%!PS-Adobe-3.0 EPSF-3.0 128.5 +%%Creator: PDF2EPS - BaKoMa TeX Portable Document Format (PDF) Import Filter. 128.6 +%%Title: ..\figures\Proto-Runtime__mdoules_plus_plugin_plus 128.7 +%%CreationDate: Sat May 04 20:18:38 2013 128.8 +%%LanguageLevel: 3 128.9 +%%DocumentData: Clean7Bit 128.10 +%%BoundingBox: 0 0 612 792 128.11 +%%Rotate: 0 128.12 +%%EndComments 128.13 + 128.14 +%%Error: Can't find image 128.15 + 128.16 +%%Page: 1 1 128.17 +newpath 128.18 +0 0 moveto 0 792 lineto 612 792 lineto 612 0 lineto closepath 128.19 +1 0 0 setrgbcolor stroke 128.20 +0 0 0.5 setrgbcolor 128.21 +/Times-Roman findfont 30 scalefont setfont 128.22 +0 396 moveto 0 90 rmoveto 128.23 +gsave (Filter:) gsave show grestore 120 0 rmoveto (PDF2EPS) show grestore 128.24 +0 -30 rmoveto gsave (File:) gsave show grestore 120 0 rmoveto (../figures/Proto-Runtime__mdoules_plus_plugin_plus) show grestore 128.25 +1 0 0 setrgbcolor 128.26 +0 -30 rmoveto gsave (Error:) gsave show grestore 128.27 + /Times-Roman findfont 24 scalefont setfont 120 0 rmoveto (Can't find image) show grestore 128.28 +0 0.5 0 setrgbcolor 128.29 +0 -60 rmoveto gsave (Hint:) show grestore 128.30 +/Times-Roman findfont 24 scalefont setfont 128.31 +0 -30 rmoveto gsave 20 0 rmoveto (Open the file by Acrobat and then save) show grestore 128.32 +%%EndPage 128.33 +(\nPDF2EPS Error: ../figures/Proto-Runtime__mdoules_plus_plugin_plus - Can't find image\n) print flush 128.34 +%%EndDocument
129.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 129.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/latex/PRT__intro_plus_eco_syst_and_contrast.tex Fri Sep 13 11:02:18 2013 -0700 129.3 @@ -0,0 +1,2644 @@ 129.4 +%----------------------------------------------------------------------------- 129.5 +% 129.6 +% Template for sigplanconf LaTeX Class 129.7 +% 129.8 +% Name: sigplanconf-template.tex 129.9 +% 129.10 +% Purpose: A template for sigplanconf.cls, which is a LaTeX 2e class 129.11 +% file for SIGPLAN conference proceedings. 129.12 +% 129.13 +% Guide: Refer to "Author's Guide to the ACM SIGPLAN Class," 129.14 +% sigplanconf-guide.pdf 129.15 +% 129.16 +% Author: Paul C. Anagnostopoulos 129.17 +% Windfall Software 129.18 +% 978 371-2316 129.19 +% paul@windfall.com 129.20 +% 129.21 +% Created: 15 February 2005 129.22 +% 129.23 +%----------------------------------------------------------------------------- 129.24 + 129.25 + 129.26 +\documentclass[preprint]{sigplanconf} 129.27 + 129.28 +% The following \documentclass options may be useful: 129.29 +% 129.30 +% 10pt To set in 10-point type instead of 9-point. 129.31 +% 11pt To set in 11-point type instead of 9-point. 129.32 +% authoryear To obtain author/year citation style instead of numeric. 129.33 +\usepackage{amssymb,graphicx,calc,ifthen,subfig,dblfloatfix,fixltx2e} 129.34 + 129.35 + 129.36 +% correct bad hyphenation here 129.37 +\hyphenation{op-tical net-works semi-conduc-tor} 129.38 + 129.39 +\usepackage{wasysym} 129.40 +\usepackage{amstext} 129.41 + 129.42 +\begin{document} 129.43 + 129.44 +\bibliographystyle{plain} 129.45 +% 129.46 + 129.47 +\conferenceinfo{WXYZ '05}{date, City.} 129.48 +\copyrightyear{2005} 129.49 +\copyrightdata{[to be supplied]} 129.50 + 129.51 +\titlebanner{banner above paper title} % These are ignored unless 129.52 +\preprintfooter{short description of paper} % 'preprint' option specified. 129.53 + 129.54 + 129.55 +\title{ The Proto-Runtime Infrastructure for Fast, Modular 129.56 +Implementation of High Performance Parallel Runtime 129.57 +Systems} 129.58 + 129.59 + 129.60 +\authorinfo{Sean Halle} 129.61 + {Open Source Research Institute, INRIA, 129.62 + and TU Berlin} 129.63 + {seanhalle@opensourceresearchinstitute.org} 129.64 +\authorinfo{Merten Sach} 129.65 + {TU Berlin} 129.66 + {msach@mailbox.tu-berlin.de} 129.67 +\authorinfo{Albert Cohen} 129.68 + {Ecole Normal Supereur, and INRIA} 129.69 + {albert.cohen@inria.fr} 129.70 + 129.71 +\maketitle 129.72 + 129.73 + 129.74 +\begin{abstract} 129.75 + 129.76 + 129.77 + 129.78 +The proto-runtime approach has been used to implement 129.79 +the runtime behavior of several parallel languages, including Reo[], PRDSL[], and HWSim[]. As detailed 129.80 +in other papers, each language's 129.81 +runtime system is high performance on multiple hardware platforms, including multi-core, NUMA, Adapteva, and 129.82 +Kalray. The proto-runtime infrastructure made the implementations 129.83 +fast, and the porting nearly effortless, while adding debugging 129.84 +and performance monitoring features to the languages. In general, the proto-runtime approach provides advantages 129.85 +for fast implementation of the runtime system, portability of the runtime 129.86 +code across hardware, and adds elusive debugging facilities. 129.87 +Despite the successes, no publications covering the approach 129.88 +have yet been accepted to a conference or journal. Here we address this shortcoming by describing the 129.89 +theory of the approach and the core architecture of its implementation, which is roughly the same on all 129.90 +hardware platforms. 129.91 + 129.92 + 129.93 +? 129.94 + 129.95 +Why no pthreads -- those are portable, so is RPC 129.96 + 129.97 +Why not CAS custom -- that's high performance 129.98 + 129.99 +Why not MPI -- that's high performance and portable 129.100 + 129.101 +What extra does it buy, using PRT? 129.102 + 129.103 +Who is going to use it? 129.104 + 129.105 +? 129.106 + 129.107 +The proto-runtime abstraction has the potential to replace the Thread 129.108 +abstraction, along with its primitives such as 129.109 +semaphores, locks, critical sections, atomic 129.110 +instructions like CAS and similar low-level building blocks, 129.111 +as the basis upon which the runtime systems for parallel 129.112 +languages and 129.113 +operating systems are built. The proto-runtime abstraction 129.114 + better balances many competing 129.115 +factors, to provide value in the big picture. It has 129.116 +better direct hardware implementations, while its extensible 129.117 +approach 129.118 + places complex parallel language constructs on the 129.119 +same intimate hardware level as the current OS kernel's implementation of Thread constructs. It simultaneously makes those 129.120 +complex language constructs easier to implement than 129.121 +they are when using Thread constructs or atomic hardware instructions. 129.122 +It additionally improves the portability of parallel 129.123 +application code and the portability of the parallel 129.124 +language runtime system implementations. Further, the 129.125 +proto-runtime abstraction makes key services for debugging, 129.126 +verification, and similar language features become conveniently 129.127 +available to language implementers. This balance and 129.128 +its portability 129.129 +benefits make it suitable as the basis for an eco system 129.130 +that addresses the write once run high performance 129.131 +anywhere goal [Hotpar paper]. 129.132 + 129.133 +? 129.134 + 129.135 + 129.136 + 129.137 +Thinking purely locally, in any given case, the number 129.138 +of factors of interest can be reduced to the point 129.139 +that any one competing approach can look superior. 129.140 + However, in the larger picture, with all the 129.141 +factors included, proto-runtime is the only approach 129.142 +that is strong in every 129.143 +aspect. It is the only approach that balances all aspects 129.144 +critical to an industry wide infrastructure that future-proofs 129.145 +existing 129.146 +software, making it high performance on future architectures, 129.147 +while making the introduction of new architectures 129.148 +quick and low effort, providing a ready base of applications. ? 129.149 + 129.150 +? 129.151 + 129.152 +Domain Specific Languages that are embedded into a base language have promise to provide productivity, performant-portability and wide adoption for parallel programming. However such languages have too few users to support the large effort required to create them and port them across hardware platforms, resulting in low adoption of the method. 129.153 +As one step to ameliorate this, we apply the proto-runtime approach, which reduces the effort to create and port the runtime systems of parallel languages. It modularizes the creation of runtime systems and the parallelism constructs they implement, by providing an interface 129.154 +that separates the language-construct and scheduling logic away from the low-level runtime details, including concurrency, memory consistency, and runtime-performance aspects. 129.155 +As a result, new parallel constructs are written using sequential reasoning, multiple languages can be mixed within 129.156 +the same program, and reusable services such as performance 129.157 +tuning and debugging 129.158 +support are available. In addition, scheduling of work onto hardware is under language and application control, without interference from an underlying thread package scheduler. This enables higher quality scheduling decisions for higher application performance. 129.159 +We present measurements of the time taken to develop runtimes for new languages, as well as time to re-implement for existing ones, which average a few days each. In addition, we measure performance of implementations 129.160 +based on proto-runtime, going head-to-head with the standard distributions of Cilk, StarSs (OMPSs), and posix threads, showing that the proto-runtime matches or outperforms on large servers in all cases. 129.161 + 129.162 +? 129.163 + 129.164 + 129.165 +replace lang-specific with interface, centralize services, minimize effort to create, give language control over hardware assignment.. side benefits: multi-lang, perf-tuning, debugging\end{abstract} 129.166 + 129.167 + 129.168 + 129.169 + 129.170 + 129.171 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 129.172 +\section{Background and Motivation} 129.173 +\label{sec:intro} 129.174 + 129.175 +[Note to reviewers: this paper's style and structure follow the official PPoPP guide to writing style, which is linked to the PPoPP website. We are taking on faith that the approach has been communicated effectively to reviewers and that we won't be penalized for following it's recommended structure and approach.] 129.176 + 129.177 +As hardware becomes increasingly parallel, programming must also 129.178 +become parallel. However, the transition from sequential to parallel programming has been slow due to the difficulty of the traditional parallel programming methods. 129.179 + 129.180 +The main difficulties with parallel programming are: 1) difficult mental model, which reduces productivity, 2) additional effort to rewrite the code for each hardware target to get acceptable performance and 3) disruption to existing practices, including steep learning curve, changes to the tools used, and changes in work practices. 129.181 + 129.182 +Many believe that these can be overcome with the use of embedded style parallel Domain-Specific Languages (epDSLs) []. epDSL language 129.183 +constructs match the mental model of the domain, while 129.184 +they internally imply parallelism. For example, a simulation 129.185 +epDSL called HWSim[] has only 10 constructs, which match 129.186 +the actions taken during a simulation 129.187 +of interacting objects. They are mixed into sequential C code and take 129.188 +only a couple of hours to learn. Yet they encapsulate subtle 129.189 +and complex dependencies that relate simulated time 129.190 +to the physical time in the machine. They encapsulate the parallelism 129.191 +present, while simultaneously making the implementation 129.192 +simpler to think about than a purely sequential implementation. 129.193 + 129.194 + 129.195 + 129.196 + Despite this, the adoption of such languages has been slow, we believe due to the cost to create them and to port them across hardware targets. The small number of users of each language, which is specific to a narrow domain, makes this cost impractical. 129.197 + 129.198 +We propose that a method that makes epDSLs lower cost to produce as well as to port across hardware targets will allow them to fulfill their promise. We show 129.199 +how to apply the proto-runtime approach to help towards this goal. 129.200 + 129.201 +In this approach, a language's runtime system is built 129.202 +as a plugin that is connected to a pre-existing proto-runtime instance installed on given hardware. Together, the plugin 129.203 +plus proto-runtime instance form the runtime system 129.204 +of the language. The proto-runtime instance itself acts as the infrastructure of a runtime system, and 129.205 +encapsulates most of the hardware-specific details, 129.206 +while providing a number of services for use by the 129.207 +plugged in language module. 129.208 + 129.209 +A proto-runtime instance is essentially a full runtime, but with two key pieces replaced by an interface. One piece replaced is the logic of language constructs, and the other is logic for choosing which core to assign work onto. The proto-runtime instance then supplies 129.210 +the rest of the runtime system. 129.211 + 129.212 +The decomposition, into a proto-runtime plus plugged-in language behaviors, modularizes the construction of runtimes. The proto-runtime is one module, which embodies runtime internals, which are hardware oriented and independent of language. The plugged-in portions form the two other modules, which are language specific. The interface between them occurs at a natural boundary, which separates the hardware oriented portion of a runtime from the language oriented portion. 129.213 + 129.214 +We claim the following benefits of the proto-runtime approach, each of which is supported in the indicated section of the paper: 129.215 + 129.216 +\begin{itemize} 129.217 + 129.218 +\item The proto-runtime approach modularizes the runtime (\S\ref{sec:Proposal}). 129.219 + 129.220 +%\item The modularization is consistent with patterns that appear to be fundamental to parallel computation and runtimes (\S\ ). 129.221 + 129.222 +\item The modularization cleanly separates hardware 129.223 +related runtime internals from the language-specific logic (\S\ref{sec:Proposal}, 129.224 +\S\ref{subsec:Example}). 129.225 + 129.226 +\item The modularization gives the language control 129.227 +over timing and placement of executing work (\S\ref{sec:Proposal}). 129.228 + 129.229 + 129.230 +\item 129.231 + 129.232 +The modularization selectively exposes hardware aspects relevant to placement of work. If the language takes advantage of this, it can result in reduced communication between cores and increased application performance (\S\ ). 129.233 + 129.234 +\begin{itemize} 129.235 + 129.236 +\item Similar control over hardware is not possible when the language is built on top of a package like Posix threads or TBB, which has its own work-to-hardware assignment (\S\ref{sec:Related}). 129.237 + 129.238 +\end{itemize} 129.239 + 129.240 + 129.241 +\item The modularization results in reduced time to implement a new language's behavior, and in reduced time to port a language to new hardware (\S\ref{sec:Proposal}, 129.242 +\S\ref{subsec:ImplTimeMeas}). 129.243 + 129.244 +\begin{itemize} 129.245 + 129.246 + 129.247 +\item Part of the time reduction is due to the proto-runtime providing common services for all languages to (re)use. Such services include debugging facilities, automated verification, concurrency handling, dynamic performance measurements for use in assignment and auto-tuning, and so on (\S\ ). 129.248 + 129.249 +\item Part is due to hiding the low 129.250 +level hardware aspects inside the proto-runtime module, 129.251 +independent from language (\S \ref{sec:intro}). 129.252 + 129.253 +\item Part is due to reuse of the effort of performance-tuning the runtime internals (\S ). 129.254 + 129.255 +\item Part is due to using sequential thinking when implementing the language logic, enabled by the proto-runtime protecting shared internal runtime state and exporting an interface that presents a sequential model (\S\ref{subsec:Example}). 129.256 + 129.257 + 129.258 +\end{itemize} 129.259 + 129.260 +\item Modularization with similar benefits does not appear possible when using a package such as Posix threads or TBB, unless the package itself is modified and then used according to the proto-runtime pattern (\S\ref{sec:Related}). 129.261 + 129.262 + 129.263 +\item The proto-runtime approach appears to future-proof language 129.264 +runtime 129.265 +construction, because the patterns underlying proto-runtime appear to be fundamental (\S\ref{subsec:TiePoints}, 129.266 +\S\ref{subsec:Example}), and so should hold for future architectures. Plugins are reused on those, although performance related updates to the 129.267 +plugins may be desired. 129.268 + 129.269 +\end{itemize} 129.270 + 129.271 +The paper is organized as follows: We first expand on the value of embedded style parallel DSLs (epDSLs), and where the effort goes when creating one (\S\ref{subsec:eDSLEffort}). We focus on the role that runtime implementation effort plays in the adoption of epDSLs, which motivates the value of the savings provided by the proto-runtime approach. We then move on to the details of the proto-runtime approach (\S\ref{sec:Proposal}), and tie them to how a runtime is modularized (\S\ref{subsec:Modules}), covering how each claimed benefit is provided. 129.272 +We then show overhead measurements (\S\ref{subsec:OverheadMeas}) and implementation time measurements (\S\ref{subsec:ImplTimeMeas} ), which indicate that the proto-runtime approach is performance competitive while significantly reducing implementation and porting effort. 129.273 +With that understanding in hand, we then discuss how the approach compares to related work (\S\ref{sec:Related}), and finally, we highlight the main conclusions drawn from the research (\S\ref{sec:Conclusion}). 129.274 + 129.275 + 129.276 + 129.277 + 129.278 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 129.279 +% 129.280 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 129.281 +\section{Background: The epDSL Hypothesis} 129.282 + 129.283 +%[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]] 129.284 + 129.285 +%[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]] 129.286 + 129.287 +%[[Bridge: effort to create = runtime + effort port = runtime + perf on new target = runtime]] 129.288 + 129.289 +%[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]] 129.290 + 129.291 +Domain Specific Languages have been around for a while [], and recently have been suggested as a good approach for parallel programming[][stanford PPL]. 129.292 + 129.293 +In essence, a DSL, or just Domain Language, captures patterns that are common in a particular domain of expertise, such as user interfaces, simulations of physical systems, bio-informatics, and so on. Each domain has a particular set of mental models, common types of computation, and common kinds of data structures. A DSL captures these common elements in custom syntax. 129.294 + 129.295 + 129.296 +The custom syntax can capture parallelism information while simultaneously being natural to think about. In practice, multiple aspects of domains provide opportunities for parallelism. For example, the custom data structures seen by the coder can be internally implemented with distributed algorithms; common operations in the domain can be internally implemented with parallel algorithms; and, the domain constructs often imply dependencies. All of these are gained without the programmer being aware of this implied parallelism; they just follow simple language usage rules. 129.297 + 129.298 + 129.299 + 129.300 +\subsection{Embedding a DSL into a base language} 129.301 + 129.302 +A style of domain language, which we feel has good adoption potential, is the so-called \textit{embedded} style of DSL (eDSL) [] [metaborg][stanford ppl]. In this variation, a program is written in a mix of a base sequential language plus domain language constructs. The syntax of the two is intermixed. A preprocessing step then translates the domain syntax into the base syntax, and includes calls to the domain language's runtime. 129.303 + 129.304 + 129.305 +For example, use C (or Java) as the base language for an application, then mix-in custom syntax from a user-interface eDSL. To test the code, the developer modifies the build process to first perform the translation step, then pass the resulting source through the normal compiler. The resulting executable contains calls to a runtime library that becomes linked, at run time, to an implementation that has been tuned to the hardware. 129.306 + 129.307 +As with HWSim, the number of such embedded 129.308 +constructs tends to be low, easy to learn, and significantly 129.309 +reduce the complexity of the code written. All while 129.310 +implicitly specifying parallelism. 129.311 + 129.312 +Additionally, parallel versions, or epDSLs have more than just a syntactic advantage over libraries. The language has a toolchain that provides build-time optimization and can take advantage of relationships among distinct constructs within the code. The relationship information allows derivation of communication patterns that inform the choice of placement of work, which is critical to performance on parallel hardware. 129.313 +\subsection{Low learning curve, high productivity, and portability} 129.314 + eDSLs tend to have low learning curve because domain experts are already familiar with the concepts behind the language constructs, and there are relatively few constructs 129.315 +for an embedded DSL. This is especially valuable for those who are \textit{not} expert programmers. Embedded style DSLs further reduce learning curve because they require no new development tools nor development procedures. Together, these address the goal of a low learning curve for switching to parallel software development. 129.316 + 129.317 +Productivity has been shown to be enhanced by a well designed DSL, with studies measuring 129.318 +10x reduction in development time [][][]. Factors 129.319 +behind this include simplifying the application code, modularizing it, and encapsulating performance aspects inside the language. Simplifying reduces the amount of code and the amount of mental effort. Modularizing separates concerns within the code and isolates aspects, which improves productivity. Encapsulating performance inside the DSL constructs removes them from the application programmer's concerns, which also improves productivity. 129.320 + 129.321 +Perhaps the most important productivity enhancement comes from hiding parallelism aspects inside the DSL constructs. The language takes advantage of the domain patterns to present a familiar mental model, and then attaches synchronization, work-division, and communication implications to those constructs, without the programmer having to be aware of them. Combining the simplicity, modularization, performance encapsulation, and parallelism hiding, with congruence with the mental model of the domain, together work towards the goal of high productivity. 129.322 + 129.323 +Portability is aided by the encapsulation of performance aspects inside the DSL constructs. The aspects that require large amounts of computation are often pulled into the language, so only the language implementation must adapt to new hardware. Although fully achieving such isolation isn't always possible, epDSLs hold promise for making significant strides towards it. 129.324 + 129.325 +\subsection{Low disruption and easy adoption} 129.326 + 129.327 +Using an epDSL tends to have low disruption because the base language remains the same, along with most of the development tools and practices. 129.328 + Constructs from the epDSL can be mixed into existing sequential code, incrementally replacing the high computation sections, while continuing with the same development practices. 129.329 + 129.330 + \subsection{ Few users means the effort of eDSLs must be low} \label{subsec:eDSLEffort} 129.331 + 129.332 +What appears to be holding epDSLs back from widespread 129.333 +adoption is mainly the time, expertise, and cost to develop an epDSL. The effort to create a usable epDSL needs to be reduced to the point that it is viable for a user base of only a few hundred. 129.334 + 129.335 +The effort falls into three categories: 129.336 + 129.337 +\begin{enumerate} 129.338 +\item effort to explore language design and create the epDSL syntax 129.339 +\item effort to create the runtime that produces the epDSL behavior 129.340 +\item effort to performance tune the epDSL on particular hardware 129.341 +\end{itemize} 129.342 + 129.343 + 129.344 +\subsection{The big picture} 129.345 + 129.346 +Across the industry as a whole, when epDSLs become successful, there may be thousands of epDSLs, that 129.347 +each must be mapped onto hundreds of different hardware platforms. That multiplicative effect must be reduced in order to make the epDSL approach economically viable. 129.348 + 129.349 +The first category of eDSL effort is creating the front-end translation of custom syntax into the base language. This is a one-time effort that does not repeat when new hardware is added. 129.350 + 129.351 +The effort that has to be expended on each platform is the runtime implementation and toolchain optimizations. 129.352 +Runtime implementation includes hardware-specific low-level tuning and modification of mapping of work onto cores. 129.353 + 129.354 +This is where leveraging the proto-runtime approach 129.355 +pays off. Hardware platforms cluster into groups with similar performance-related features. Proto-runtime 129.356 +presents a common abstraction for all hardware 129.357 +platforms, but a portion of the interface supplies performance related 129.358 +information specific to the hardware. This portion is specialized for each 129.359 +cluster. Examples of clusters include: 129.360 + 129.361 +\begin{itemize} 129.362 +\item single chip shared coherent memory 129.363 +\item multi-chip shared coherent memory (NUMA) 129.364 +\item coprocessor with independent address space (GPGPU) 129.365 +\item a network among nodes of the above categories 129.366 +(Distributed) \item a hierarchy of sub-networks 129.367 +\end{itemize} 129.368 + 129.369 + 129.370 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 129.371 +% 129.372 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 129.373 +\section{Our Proposal} \label{sec:Proposal} 129.374 + 129.375 +We propose addressing the runtime effort portion of creating 129.376 +an epDSL by defining a modularization of runtimes, as seen in Fig. \ref{fig:PR_three_pieces}. The low-level hardware details are collected into one module, which presents a common interface, called the \textit{proto-runtime 129.377 +instance}. The language supplies 129.378 +the top two modules, which plug in via the interface. The hardware specific module (proto-runtime instance) presents the same interface 129.379 +for all platforms, with a specialization for each category 129.380 +of platform sharing similar performance related features. The proto-runtime module only has to be implement once for a given platform, and is then reused by all the languages. 129.381 + 129.382 +\begin{figure}[ht] 129.383 + \centering 129.384 + \includegraphics[width = 1.5in, height = 1.1in]{../figures/proto-runtime__modules.pdf} 129.385 + \caption{Shows how the proto-runtime approach modularizes the implementation of a runtime. The three pieces are the proto-runtime implementation, an implementation of the language construct behaviors, and an implementation of the portion of scheduling that chooses which work is assigned to which processor. } 129.386 + \label{fig:PR_three_pieces} 129.387 +\end{figure} 129.388 + 129.389 + 129.390 +Because of the modularization, a language has a much lower effort requirement, of implementing just for each category. 129.391 + 129.392 +The higher level of abstraction simplifies the task for the language implementer. 129.393 +The language doesn't consider the low-level details of making the runtime itself run fast. It only has to consider the level of hardware feature that is exposed by the interface. 129.394 + 129.395 +One additional benefit is that the assignment module 129.396 +gives control to the language, to choose when and where it wishes work to execute. 129.397 +This simplifies implementation of language features related to scheduling behavior. 129.398 +It also enables the language implementor to use sophisticated 129.399 +methods for choosing placement of work, which can significantly impact 129.400 +application performance. 129.401 + 129.402 +In this paper, we present work that applies to coherent 129.403 +shared memory machines, both single chip and multiple chip. Extensions beyond this are currently in progress, to address multiple-address-space machines and hierarchical 129.404 +heterogeneous collections of processors, which will appear in future papers. 129.405 + 129.406 +\subsection{Breakdown of the modules} \label{subsec:Modules} 129.407 + 129.408 +The language is broken into two parts, as seen in Fig. 129.409 +\ref{fig:langBreakdown}. One is a thin wrapper library that 129.410 +invokes the runtime and the other is a set of modules that are part of that invoked runtime. These are called 129.411 +the \textit{language plugin} or just plugin. 129.412 + 129.413 + 129.414 +\begin{figure}[ht] 129.415 + \centering 129.416 + \includegraphics[width = 2.8in, height = 1.1in]{../figures/proto-runtime__modules_lang_breakdown.pdf} 129.417 + \caption{Shows how the code of the language implementation 129.418 + is broken into two pieces. The first is a thin wrapper 129.419 + that invokes the runtime, the other is a dynamic 129.420 + library that plugs into the runtime.} 129.421 + \label{fig:langBreakdown} 129.422 +\end{figure} 129.423 + 129.424 + 129.425 + 129.426 +Thus, a non-changing application executable is able to invoke hardware specific plugin code, which changes between machines. The plugin collects the two language modules into a dynamic library. The library is implemented, compiled, distributed and installed separately from applications. The application executable contains only symbols of plugin functions, and during the run those are dynamically linked to machine-specific implementations. 129.427 + 129.428 + 129.429 +In order to provide such modularization, we rely upon a model for specifying synchronization constructs that we call the tie-point model. The low-level nature of a tie-point places them below the level of constructs, 129.430 +even a simple mutex. Instead, a mutex is specified in terms 129.431 +of the primitives in the tie-point model. In turn, 129.432 +the tie-point primitives are implemented 129.433 +by proto-runtime. 129.434 + 129.435 + This places all parallel constructs on the same level in the software stack, be they complex like the AND-OR parallelism of Prolog, or the wild-card matching 129.436 +channels in coordination languages, or ultra-simple acquire and release mutex constructs. All are implemented in terms of the same tie-point primitives provided by the proto-runtime instance. 129.437 + 129.438 +We have reached a point in the paper, now, where the order of explanation can take one of two paths: either 129.439 +start with the abstract model of tie-points and explain how this affects the modularization of the runtime, or start with implementation details and work upwards towards the abstract model of tie-points. We have chosen to start with the abstract tie-point model, but the reader is invited to skip to the section after it, which starts with code examples and ties code details to the abstract tie-point model. 129.440 + 129.441 + 129.442 + 129.443 +\section{The tie-point model.}\label{subsec:TiePoints} 129.444 + 129.445 + 129.446 +\subsection{timelines} 129.447 +A tie-point relates timelines, so we talk a bit, first, about timelines. A timeline is the common element in parallelism. If you look at any parallel language, it involves a number of independent timelines. It then controls which timelines are actively progressing relative to the others. 129.448 + 129.449 +For example, take a thread library, which we consider 129.450 +a parallel language. It provides a command to create a thread, where that thread represents an independent timeline. The library also provides the mutex acquire and release commands, which control which of those timelines advance relative to each other. When an acquire executes, it can cause the thread to block, which means the associated timeline suspends; it stops 129.451 +making forward progress. The release in a different thread clears the block, which resumes the timeline. That linkage between suspend and resume of different timelines is the control the language exerts over which timelines are actively progressing. 129.452 + 129.453 +To build up to tie-points, we look at the nature of points on 129.454 +a single timeline, by reviewing mutex behavior in detail. See the timeline shown in Fig \ref{fig:singleTimeline}. Thread A, which is timeline A, tries to acquire the mutex, M, 129.455 +by executing the acquire command. Timeline A stops, at point 1.S, then something external to it happens, and the timeline starts again at point 1.R. The gap between is not seen by the code executed within the thread. Rather, from the code-execution viewpoint, the acquire command is a single command, and hence the gap between 1.S and 1.R collapses to a single point on the timeline. 129.456 + 129.457 + 129.458 +\begin{figure}[ht] 129.459 + \centering 129.460 + \includegraphics[width = 2.8in, height = 0.8in] 129.461 + {../figures/PR__timeline_single.pdf} 129.462 + \caption{The timeline suspends at 1.S and resumes 129.463 + at 1.R. From the viewpoint of the timeline, the gap collapses into a single point.} 129.464 + \label{fig:singleTimeline} 129.465 +\end{figure} 129.466 + 129.467 + 129.468 + Fig. \ref{fig:dualTimeline} shows two timelines: timeline A executing acquire and timeline B executing release. The release still suspends its timeline, but 129.469 +it quickly resumes again because it is not blocked. 129.470 +The release causes timeline A to also resume. The fact 129.471 +of the release on one timeline has caused the end of the acquire on the other. This makes 129.472 +the two collapsed points become what we term \textit{tied together} into a \textit{tie-point}. 129.473 + 129.474 +\begin{figure}[ht] 129.475 + \centering 129.476 + \includegraphics[width = 2.8in, height = 1.2in] 129.477 + {../figures/PR__timeline_dual.pdf} 129.478 + \caption{Two timelines with tied together ``collapsed'' 129.479 +points. 129.480 +Point 1 on timeline A forms a tie-point with point 129.481 +2 on timeline B. 129.482 +It is hidden activity that takes place inside the gaps that 129.483 +establishes a causal relationship that ties them together.} 129.484 + \label{fig:dualTimeline} 129.485 +\end{figure} 129.486 + 129.487 +Fig. \ref{fig:dualTimelineWHidden} adds detail about 129.488 +how the release goes about causing the end of the block 129.489 +on the acquire. It reveals 129.490 +a hidden timeline, which is what performs the behavior of the 129.491 +acquire and release constructs. As seen, acquire starts 129.492 +with a suspend, which is accompanied by a communication 129.493 +sent to the hidden timeline. The hidden timeline then 129.494 +checks whether the mutex is free, sees that it isn't 129.495 +and leaves timeline A suspended. Later, timeline 129.496 +B performs release, which suspends it and sends a communication 129.497 +to the same hidden timeline. That then sees that timeline 129.498 +A is waiting for the release and performs a special 129.499 +control action that resumes timeline A, followed by 129.500 +doing the control action again to resume timeline B. 129.501 + It is inside the hidden timeline that the acquire 129.502 +gets linked to the release, tying the constructs together. 129.503 + 129.504 + 129.505 +\begin{figure}[ht] 129.506 + \centering 129.507 + \includegraphics[width = 2.8in, height = 1.9in] 129.508 + {../figures/PR__timeline_dual_w_hidden.pdf} 129.509 + \caption{Two timelines with tied together ``collapsed'' 129.510 +points showing the detail of a hidden timeline that 129.511 +performs the behavior that ties the points together. 129.512 +Vertical dashed lines represent communication sent 129.513 +as part of the suspend action, and the curvy arrows 129.514 +represent special control that causes resume of the 129.515 +target timelines. During the gaps in timelines A and 129.516 +B, activity takes place in the hidden timeline, which 129.517 +calculates that the timelines should be resumed, then 129.518 +exercises control to make resume happen.} 129.519 + \label{fig:dualTimelineWHidden} 129.520 +\end{figure} 129.521 + 129.522 + 129.523 + 129.524 +We show in \S\ref{sec:FormalTiePoint} that the pattern 129.525 +of communications to and from the hidden timeline establishes 129.526 +an ordering relationship between events before and 129.527 +after the tied points. That implies a relation on 129.528 +the visibility of events. 129.529 + 129.530 +Fig \ref{fig:tie-pointGuarantees} shows the ordering relationship and the implied visibility of operations between 129.531 +the timelines. Operations that execute in 129.532 +the first timeline before the tie-point are visible 129.533 +in the second after the tie point, and vice versa. Likewise, operations that execute in one timeline after the tie-point are not visible in the other timeline before the tie-point. Such an ordering satisfies 129.534 +the requirements 129.535 +of a synchronization construct. 129.536 + 129.537 + 129.538 + 129.539 +\begin{figure}[ht] 129.540 + \centering 129.541 + \includegraphics[width = 2.8in, height = 1.25in] 129.542 + {../figures/PR__timeline_tie_point_ordering.pdf} 129.543 + \caption{The 129.544 +visibility guarantees that result from a tie-point. Shows which 129.545 + operations, such as writes, performed on one timeline can be seen by the other 129.546 +timeline. These visibilities are equivalent to establishing 129.547 +an order between events before the tied points versus those after the tied 129.548 +points. Both timelines agree on what events are before 129.549 +versus after the tied point. } 129.550 + \label{fig:tie-pointGuarantees} 129.551 +\end{figure} 129.552 + 129.553 + 129.554 +\subsection{Formal definition of tie-point} \label{sec:FormalTiePoint} 129.555 +In a moment we will show how any and all synchronization constructs 129.556 +can be defined in terms of tie-points. Before getting 129.557 +there, we must choose an, unavoidably arguable, definition of synchronization 129.558 +construct. We then provide a formal definition of tie-point 129.559 +and use it to show that a tie point 129.560 +satisfies the conditions of any 129.561 +such synchronization 129.562 +construct. 129.563 + 129.564 +Our formalism defines timelines, communication between 129.565 +timelines, and suspend and resume of a timeline. It then shows a particular pattern, which is the characteristic pattern that defines a tie-point. We then show that when that characteristic pattern exists, then relations exist between timelines that have certain properties. 129.566 +We conclude by showing a few classical definitions 129.567 +of synchronization and show that those definitions 129.568 +are upheld when the tie-point pattern is present. Hence, those classical definitions can be satisfied via creation of a tie-point. 129.569 + 129.570 +\subsubsection{} 129.571 + 129.572 +\begin{description} 129.573 +\item[timeline:] 129.574 +\(T = E \times\mathbb{N}, (E, <)\). A timeline is an ordered 129.575 +sequence of events. Given two events $e_\alpha, e_\beta \in E$ from a timeline, the events are ordered by the 129.576 +subscripts, so: $e_\alpha < e_\beta$ iff $\alpha < \beta$, 129.577 +and vice versa. 129.578 + Any and all memory locations in a system are part 129.579 + of, or local to, exactly one timeline. Only that 129.580 +timeline can modify the locations (hence, side-effects require shared memory to have its own timeline that 129.581 +is separate 129.582 +from any timeline that code executes in). 129.583 + 129.584 +\item[event:] 129.585 +\(E =\{c_{0,t},c_{1,t}, ..\} \cup \{s_{n,\alpha ,t}\} \cup \{r_{n,\beta , t}\} 129.586 +\cup \{z_{\gamma ,t} \} \). There are four kinds of event 129.587 +that can happen on a timeline, namely $c$, a step of computation, 129.588 +which modifies the memory local to the timeline; $s$, a 129.589 +send of a communication which pushes out contents from 129.590 +the timeline's local memory; $r$, a receive of a communication 129.591 +which modifies the timeline's local memory; and $z$, 129.592 +a synchronization 129.593 +construct which suspends then resumes the timeline in such a way 129.594 +as to establish a relation between events on this timeline 129.595 +versus events on a remote timeline. Suspend is denoted 129.596 +$z\_s_{\gamma ,t}$ while resume is denoted $z\_r_{\gamma 129.597 +,t}$ where $s$ 129.598 +and $r$ are literal while $\gamma$ denotes the position 129.599 +on the timeline and $t$ is the timeline that executes 129.600 +the synchronization construct. 129.601 +\item[communication:] 129.602 +\(C = \{s,r\}, s < r\). A communication is a set of 129.603 +one send event from one timeline plus one or more receive events 129.604 +from different timelines, with the send 129.605 +event ordered before the receive event(s), denoted $s_{n,\alpha, t}\mapsto 129.606 +r_{n,\beta,t}$ where $n$ distinguishes the communication 129.607 +set, $\alpha$ and $\beta$ are the ordering upon the 129.608 +timeline and $t$ denotes the timeline the event is on. A communication 129.609 +orders events on one timeline relative to events on another. 129.610 +However, the ordering is only between two points. In 129.611 +particular for two sends from timeline 1 to timeline 129.612 +2, if \(s_{1,\_,1} < s_{2,\_,1}\) on timeline 1, then on 129.613 +timeline 2, both \(r_{1,\_,2} < r_{2,\_,2}\) and \(r_{2,\_,2} < r_{1,\_,2}\) are valid, where ``$\_$'' in the position 129.614 +of the ordering integer represents a wild 129.615 +card. However, $s_{1,\_,1} \mapsto r_{1,\_,2}$ 129.616 +followed by $s_{2,\_,2} \mapsto r_{2,\_,1}$ where $r_{1,\_,2} 129.617 +< s_{2,\_,2}$ 129.618 + implies that $s_{1,\_,1} < r_{2,\_,1}$ always. 129.619 + 129.620 +\item[hidden timeline:] We define a special kind of "hidden" timeline that is not 129.621 +seen by application code. It has an additional 129.622 +kind of event available, which ends a synchronization 129.623 +event on a different timeline. 129.624 + We denote this $fro_{\delta,h}$ where $fro$ is literal, 129.625 + standing for ``force resume other (timeline)", $\delta$ is the position 129.626 + on the timeline and $h$ is the (hidden) timeline the 129.627 +event is on. Additionally, a suspend event on an application 129.628 +visible timeline implies a send from that timeline 129.629 +to a hidden timeline. Hence $z\_s_{\gamma,t} \Rightarrow 129.630 +s_{n,\gamma,t} \mapsto r_{n,\_,h}$ 129.631 + 129.632 +\item[tie-point:] Now, we define a tie-point as a set of two or more 129.633 +synchronization points from different timelines which 129.634 +are related by a particular pattern of communications. 129.635 +As a result of the pattern, the set satisfies particular criteria. The pattern is that communications from the suspend synchronization events must converge on a common hidden timeline and that timeline must then emit a subsequent resume event for each of the suspended timelines, 129.636 +as shown back in Fig. \ref{fig:dualTimelineWHidden}. 129.637 + 129.638 +\end{description} 129.639 + 129.640 +We now show that from these definitions it follows: 129.641 +[math here] which says that any event that comes after a tie point on one timeline is ordered after any event on a different timeline that precedes the tie-point on that timeline (note that the same tie point is common to both timelines). The dual also holds true. 129.642 + 129.643 +We take the event immediately preceding and the event 129.644 +immediately following two synchronization events on 129.645 +two timelines. The synchronization events begin with 129.646 +a suspend half-event and ends with a resume half-event. 129.647 +The suspend half-event is accompanied by a send to 129.648 +a hidden timeline. That hidden timeline has a receive, 129.649 +and later in its sequence it has a receive for the 129.650 +synchronization event from the second timeline. The 129.651 +hidden timeline then performs resume of both timelines. 129.652 + 129.653 +From that, we get the following relations: 129.654 + 129.655 +Which shows that the event following on timeline 1 comes after the event preceding on timeline 2 and vice versa. 129.656 + 129.657 +This property of ordering events on two timelines in this way is the key requirement for several classical definitions of synchronization. Hence, any implementation that exhibits this pattern of synchronization communications converging on a common hidden timeline, which subsequently resumes the synchronizations, in turn satisfies the conditions for a synchronization. 129.658 + 129.659 +\subsubsection{What is different about tie-point?} 129.660 +Many readers will be wondering "so, how is implementing 129.661 +a synchronization construct this way any different 129.662 +from how they're currently implemented?" The answer 129.663 +is that currently, synchronization constructs are 129.664 +implemented on top of other synchronization constructs, 129.665 +where we consider an atomic Compare and Swap instruction 129.666 +to be a synchronization construct. It is only in the 129.667 +hardware that a synchronization construct is assembled 129.668 +from pieces. We further claim that the hardware implements 129.669 +according to the tie-point pattern described in our formal definition. 129.670 + 129.671 +What we consider to be a tie-point is any point that 129.672 +has this pattern, independent of the semantics added. 129.673 +For example, for the Compare And Swap (CAS) instruction, 129.674 +the comparison and swap are the semantics of what the 129.675 +instruction does, while the atomicity, or exclusive 129.676 +access is the part that provides the ordering relations. 129.677 +So, the presence of the ordering relations is the tie-point 129.678 +portion, while the comparison and swap are the plugged-in 129.679 +semantics portion associated with the tie point. 129.680 + 129.681 +In that way, tie-point can be considered to simply 129.682 +say ``has the ordering relation of a synchronization 129.683 +construct". Tie-point is nothing new, when viewed that way. However, a tie-point is not a given, but rather 129.684 +has to be constructed. To get a tie-point, one must 129.685 +create a construction from which the givens for a synchronization 129.686 +can be derived. Further, tie points can be constructed 129.687 +for things that most would not readily consider a synchronization 129.688 +construct. For example, any asynchronous communication 129.689 +establishes a half tie-point, because ordering can 129.690 +be derived. This is useful, for example, in defining 129.691 +memory consistency models. 129.692 + 129.693 +The key here is the elements of the model within which 129.694 +tie-point is defined. In particular, memory does not 129.695 +exist outside a timeline, the points on a timeline 129.696 +have no ordering relative to points on another timeline, 129.697 +ordering between timelines is only established by a communication, and timelines can suspend themselves 129.698 +(or be suspended by a different timeline), 129.699 +and be resumed by a different timeline. 129.700 + 129.701 +Within this model, the characteristics of a synchronization 129.702 +can be derived. That is the key difference, as usually 129.703 +one states as a \textit{given} that a construct exists that has the synchronization properties. Tie-point 129.704 +is derived, versus synchronization is given. 129.705 + 129.706 +True, the two are equally powerful. 129.707 + 129.708 +More low level, less junk on top, more efficiency and 129.709 +more control -- w/sync like threads, it has its own 129.710 +scheduler, have no control over where and when work 129.711 +happens. 129.712 + 129.713 +It is different because it only directly provides half 129.714 +the behavior, the time half. in the sense that 129.715 + 129.716 +The claim is that from a theory standpoint, tie-point 129.717 +is not more powerful -- proto-runtime can implement 129.718 +synchronization constructs, and sync constructs can 129.719 +implement other sync constructs.. 129.720 + 129.721 +But, sync constructs CANNOT implement all of proto-runtime! They can't do the communications nor the hidden timeline nor create VPs 129.722 +nor scheduling.. also, proto-runtime can do distributed 129.723 +memory things that sync constructs cannot. 129.724 + 129.725 +The sync constructs can be used together with shared 129.726 +memory-based communication in order to make more complex 129.727 +sync constructs.. but they can't be used in a distributed 129.728 +memory system to make distributed memory things. 129.729 + 129.730 +Unless use communication to implement shared memory 129.731 +on top of distributed memory.. things like that.. It's 129.732 +a question of what's fair game in the comparison -- 129.733 +proto-runtime the behavior is in the hidden timeline, 129.734 +which is "inside" the construct, in a sense.. but using sync constructs to implement others, you lose 129.735 +that "inside" notion.. it just becomes application 129.736 +code that uses sync constructs.. with the app code 129.737 +running in an application timeline.. so.. need to 129.738 +get at that notion of animator, which has the "hidden" 129.739 +timeline, versus function call.. 129.740 + 129.741 +What about this.. it's a matter of constructing from 129.742 +equally powerful versus from less powerful.. mmmm want 129.743 +that notion of animator in there.. and want to get 129.744 +at when an arrangement qualifies as having "switched 129.745 +over to the animator" -- does implementing mutex from 129.746 +just memory ops qualify as switching over to the animator 129.747 +just by entering the code that implements the mutex? 129.748 +Say, place that code in-line in the application code 129.749 +everywhere it's used.. 129.750 + 129.751 +Hmmmm.. could use the relation model to show that the 129.752 +pure memory based implementation contains a tie-point, 129.753 +which is how the more-primitive operations are able 129.754 +to construct the more powerful mutex. That might 129.755 +be a more fruitful, easier to gain acceptance, approach.. 129.756 +show that things that have no time-related semantics, 129.757 +only simple one-way communication, are able to construct 129.758 +the time-related semantics.. and it is the presence 129.759 +of the tie-point convergence pattern that does it. 129.760 + 129.761 +In fact, might take the Dijkstra original mutex from 129.762 +must memory implementation and show the tie-point pattern 129.763 +within it.. then also show the tie-point pattern within lock-free implementations.. the point being that all 129.764 +you have to show is the presence of the tie-point pattern, 129.765 +in order to prove synchronization properties.. where 129.766 +"synchronization properties" is the existence of the ordering relation.. which is equivalent to agreement of before vs after.. which is equivalent to the visibility 129.767 +relation, which is what a programmer cares about.. 129.768 +the visibility is what a programmer requires in a "mutual 129.769 +exclusion". 129.770 + 129.771 +This visibility guarantees is how it can be guaranteed that 129.772 +those that are still "before" the mutex cannot influence 129.773 +the one "after" the mutex, which is inside the critical section. And also require vice versa, 129.774 +that the one "after" the mutex, inside the critical 129.775 +section, cannot take actions 129.776 +that influence any "before" it.. similarly at the 129.777 +end of the critical section, need the same isolation. 129.778 + 129.779 + 129.780 +Let's see.. the relation model said that something 129.781 +with synchronization constraints can be created from 129.782 +just communication plus hidden timeline.. as long 129.783 +as get the convergence on that hidden timeline. 129.784 + 129.785 +What Henning was saying was that sync is defined as 129.786 +the end-constraints. So, the end-constraints IS what 129.787 +a synchronization construct is. It doesn't matter 129.788 +how to implement one, it only matters the end constraints. 129.789 + 129.790 +So, what the relation thing showed was how to construct 129.791 +a synchronization. What need to show is that the relation 129.792 +thing can also construct stuff that cannot be constructed 129.793 +with a synchronization construct. 129.794 + 129.795 +I guess the question would be: if one starts with a 129.796 +synchronization construct existing within a distributed 129.797 +system.. well, then one can construct other sync constructs 129.798 +from that one.. 129.799 + 129.800 +For them, the question of "more primitive" is: can the more primitive 129.801 +thing do stuff the "full" one cannot? 129.802 + 129.803 +For me, the question of "more primitive"\ is: can one 129.804 +of them be constructed from the other, which ONLY\ 129.805 +has simpler pieces? Constructing one from itself says nothing.. 129.806 +but being able to construct one from something that 129.807 +is NOT one, whose individual components all have less 129.808 +than one.. that thing's pieces are all less powerful.. 129.809 +then it is a particular combination that brings the extra 129.810 +time-related behavior of a sync construct into existence. 129.811 +It is recognizing the particular pattern that brings 129.812 +that extra into existence that is of value. 129.813 + 129.814 +It is that pattern that tells you how to get one from 129.815 +simpler pieces. 129.816 + 129.817 +So, the story is: using only pieces that lack the "special" 129.818 +synchronization construct property, construct something 129.819 +that does have the synchronization property. That, 129.820 +is building something more powerful from pieces that 129.821 +are less powerful. 129.822 + 129.823 +The other part of the story is: the proto-runtime cannot 129.824 +be used by itself. It requires addition before it 129.825 +can be used. That is, have to add the $M\mapsto M$, to arrive 129.826 +at the $T\times M\mapsto M$, then can use the $T\times 129.827 +M\mapsto M$.. but can't 129.828 +use just the $T\times$ by itself -- that's non-sensical. 129.829 +So, provides a $(M\mapsto M, f)$ that is used to get the $T\times M\mapsto M$, 129.830 +but can't use the $f$ inside an application.. it doesn't 129.831 +do anything other than add the Tx.. so it doesn't 129.832 +accomplish any steps of computation, nor does it provide 129.833 +$T\times$ to any application code.. the $(M\mapsto M, f)$ is outside 129.834 +of any language -- that's what CREATES a language. 129.835 + 129.836 +*****Can't define $(M\mapsto M, f)$ as part of its own language, 129.837 +because it doesn't do anything. No computation is 129.838 +performed by it. **** (so, what's the definition of 129.839 +computation, then?) 129.840 + 129.841 +The other part of the story is the HWSim time behavior 129.842 +-- those aren't sync constructs.. rather that is a 129.843 +particular set of constraints on time.. constructed 129.844 +out of primitives none of which have sych nor time 129.845 +behavior by themselves beyond "comes after" of comm. 129.846 + 129.847 +Another part of the story is the singleton thing, constructed 129.848 +directly.. Q: can that be built from sync constructs 129.849 +in distributed system? Does using sync constructs 129.850 +do something that using primitives doesn't? Does it 129.851 +add something, fundamentally? Well, it is in terms 129.852 +of something that already has the property being constructed.. 129.853 +that's the issue.. in one case, taking something that 129.854 +has the property and building something else that has 129.855 +it.. in other case taking something that doesn't and 129.856 +building something that does. 129.857 + 129.858 +So.. in the consistency model, just using the comes-after 129.859 +property of communication to derive compound communication, 129.860 +of particular write to particular read, via memory 129.861 +locations. 129.862 + 129.863 +So, what is a tie-point in that consistency model? It is the pattern that allows deriving an ordering, between different computation timelines. There, the 129.864 +tie-point was tying a write on one to a read on the 129.865 +other, and thereby establishing a half-ordering between 129.866 +the two timelines. 129.867 + 129.868 +Right.. so that should be it.. that a chain of communications results in an ordering between the end-points. And that a synchronization is nothing more than two communication chains that are tied together.. where the tie equals the chains SHARING one link, on some intermediate timeline. 129.869 + 129.870 +Right.. thinking about mutex acquire and release.. 129.871 +the release is asynch.. the sending timeline resumes before 129.872 +the hidden timeline receives notice.. but that just 129.873 +establishes a half tie-point, no? 129.874 + 129.875 +In the async case, operations after the construct can be seen BEFORE the construct in the other timeline. Right. So that's a half tie-point. A full tie-point is that nothing after in either can be seen before by the other. 129.876 + 129.877 +Right.. so one distinction is this: a half tie-point 129.878 +cannot be created using sync constructs "directly". 129.879 + A sync construct is a full tie-point. 129.880 + 129.881 + 129.882 +================================================ 129.883 + 129.884 + 129.885 +\subsubsection{Lifeline, Timeline, and Projection} 129.886 +We define a formal entity that we call a lifeline, 129.887 +where a timeline is a type of lifeline. 129.888 +We define event-types and specific occurrences of event-types, and show how multiple lifelines can observe the same occurrence. A projection between 129.889 +lifelines is defined as an event initiated upon one lifeline being observed on a different lifeline. The projection is from initiator to observer. 129.890 + 129.891 +\begin{description} 129.892 +\item[event:] 129.893 +\(E \) represents an event, which is something that 129.894 +can be initiated or observed. 129.895 +\item[occurrence:] 129.896 +\(O\in E \times\mathbb{N}\) is the set of occurrences, where each occurrence associates a specific event with a unique identifier. A particular occurrence is denoted by subscripting with the value of the associated 129.897 +integer, for example: \(O_{7}\) 129.898 + 129.899 +\item[clock:] 129.900 +\(t:I\rightarrow\mathbb{R}^{+}\) maps each integer 129.901 +onto a real number, such that \(I_{1}<I_{2}\Rightarrow 129.902 +R_{1}<R_{2}\) . In general, different clocks have no relation to each other, but elements associated with a clock have a sequence defined by the integer 129.903 +sequence of the clock. 129.904 +\item[lifeline:] 129.905 +\(l = <\alpha , t> \) 129.906 + is a lifeline, where \(\alpha\) 129.907 +is a sequence over \(Dom(t)\) and each element of \(\alpha\) is either an initiation of an occurrence, or an observation 129.908 +of one. A \textit{beat} of the lifeline is one tuple, denoted \(l(i)\), while the occurrence associated 129.909 +to the beat is denoted\(\) \(O(l(i)) \) or equivalently \(O(\alpha(i)). \) The real value 129.910 +associated with the beat is denoted \(t(l(i))\). For a given lifeline, not every element of \(t\) must have an associated 129.911 +\(\alpha\), but every \(\alpha\) must have a unique associated 129.912 +\(I\) from the clock \(t\). Note that \(\forall i , t(l(i)) < t(l(i+1))\). At most one beat from one 129.913 +lifeline can initiate an occurrence. However, multiple 129.914 +beats 129.915 +from a given lifeline can observe the same occurrence, 129.916 +including one initiated earlier in the sequence of 129.917 +the lifeline, 129.918 +and multiple lifelines may observe the same occurrence, 129.919 +each multiple times. 129.920 + 129.921 +\item[projection:] 129.922 +Given \(l_{1} = <\alpha , t_{1}> \), \(l_{2} = <\beta , t_{2}> \) then a projection from \(l_{1}\) to \(l_{2}\) 129.923 + is denoted \(l_{1}(i) \uparrow l_{2}(j) \), where \(l_{1}(i) \uparrow l_{2}(j) 129.924 +\equiv O(l_{1}(i)) = O(l_{2}(j))\). 129.925 + This says that the occurrence initiated by the ith beat of the first lifeline is observed by the jth beat 129.926 +of the second lifeline. 129.927 + 129.928 +\item[ordering tuple:] \(OT_{}\) is a tuple consisting 129.929 +of a set of two beats from two different lifelines, which do 129.930 +not participate in projections, plus a set of projections 129.931 +that cross the two beats in the forward direction. 129.932 +Given \(OT =<[l_{1}(x) , l_{2}(y)], [projections]> \) then \(OT\) is an 129.933 +ordering tuple iff \( [projections] \neq0 \forall p(i,j) \in projections \nexists p(i,j) 129.934 +|i<x \wedge j>y\ \) 129.935 +\item[program run:] \(\mathcal{R} \) is a particular set of lifelines. 129.936 +The program run begins with the creation of any lifeline, and 129.937 +ends with the end of all lifelines. 129.938 + 129.939 +\item[equivalent positions in different sequences:] a partial ordering is defined. 129.940 +Given two positions within different sequences, if 129.941 +one or both both can be 129.942 +validly rearranged, by using the partial ordering to 129.943 +define valid rearrangements, so they occupy 129.944 + the same position in their rearranged sequences, then 129.945 +they are equivalent positions. 129.946 + 129.947 +\item[equivalent occurrences:] two occurrences are 129.948 +equivalent if their event instances cannot be distinguished, given the observation 129.949 +measurements of interest. If the observation measurement 129.950 +involves sequences, then the two events must lie at 129.951 +equivalent positions within their respective sequences. 129.952 + 129.953 +\item[equivalent lifelines:] two lifelines whose beats 129.954 +can be paired, such that every beat in one lifeline 129.955 +has an equivalent beat in the other. The beats do 129.956 +not have to occur in the same order in both lifelines. 129.957 +Beats associated to occurrences that are not of interest can be dropped. 129.958 + 129.959 +\item[equivalent program runs:] two runs such that 129.960 +their lifelines can be paired one-to-one, with every lifeline in one paired to an equivalent 129.961 +lifeline in the other. The projections between lifelines 129.962 +in one run can be different from the projections in 129.963 +the other run. 129.964 + 129.965 +\item[tie-point:] a set of beats, one from each of two lifelines, such that this set of beats forms a separation set in all equivalent program runs. 129.966 +\end{description} 129.967 + 129.968 + 129.969 +Some things to note: A particular occurrence 129.970 +can be associated to at most one beat from a given 129.971 +lifeline, but that same occurrence can also be associated 129.972 +to beats from multiple other lifelines. Also, an occurrence may 129.973 +be initiated by a lifeline but never observed by any. 129.974 +Every \(O\) has a set of projections associated with it. 129.975 + 129.976 +For example, the event could 129.977 +be writing a value into a variable. Two separate 129.978 +write events are considered equivalent occurrences if 129.979 +they both write the same particular value into whatever memory location 129.980 +is associated to the same particular 129.981 +variable, and happen within valid partial orderings 129.982 +relative to the other occurrences. This is normally 129.983 +compared across re-creations of the "universe" that 129.984 +provides the context for the orderings of events instances. 129.985 + 129.986 +========= 129.987 + 129.988 + Okay, talked it over with Sung -- what about making distinguished beats 129.989 +-- as Sung poked around for, make the PR\ "suspend" be the 129.990 +distinguished beat. Then, as we worked out talking it 129.991 +through, make the code that happens on the hidden timeline be the linkage between the beats -- so a tie-point is any number of distinguished beats such that the hidden calculation on one of the beats executed the resume for all of the other beats in the tie point. That establishes how a tie point gets created.. separately, need a universal statement of what is guaranteed by a tie point. 129.992 + 129.993 +So, one thing, is that the hidden calc is normally chosen such that every equivalent program run reproduces equivalent tie points -- but defining equivalent relies upon defining the "meaning"\ of the constructs.. but maybe that thing above about equivalent in terms of partial order can be used, by saying all constructs 129.994 +are associated with a partial ordering -- but, still can have truly non-deterministic behavior being the correct behavior.. hmmm, but that should still have a partial ordering! 129.995 + 129.996 + What I\ really want to do is define tie-point in terms of the write-to-read. A half tie point says what's before the pre is visible after in the post timeline. And a full tie-point says that goes both ways. So, acquire-release is only a half tie-point, because what's after the release in its timeline can be seen before the acquire in its timeline. That makes it a half tie-point. Also, whats before the acquire in its timeline does not necessarily have to be seen after the release in its timeline.. that also makes it a half tie-point. 129.997 + 129.998 +So, use the project definition, and the crossing definition, to say which crossing projects are allowed by a half tie point, and which of those must be eliminated to make it a full tie-point. Then THAT\ defines the behaviors of a tie-point, independently from how it is created. 129.999 + 129.1000 +The full definition of tie-point, in terms of proto-runtime value, has both those -- the hidden timeline "math" thing along with the causality, gives the "creation" aspect of tie-point, and the allowed projections gives the "behavior" aspect of tie-point. 129.1001 + 129.1002 +From the projection "behavior" I can simply state "this 129.1003 +defines what all synchronization constructs do" -- 129.1004 +the projection behavior is the whole purpose of a sync construct -- to ensure particular communication pattern when comm is via side-effect 129.1005 + 129.1006 +======= 129.1007 + 129.1008 +From first model, have the real-value constraints for slide of suspend and resume relative to each other.. 129.1009 + 129.1010 +The behavior of full tie-point is no back-cross projections, and there is a set of forward-crossing projections, which may be empty, and any of the tied timelines may 129.1011 +be the initiating timeline. For a half tie-point, have the origin lifeline. There is a set of forward-crossing projections with initiation on the origin lifeline, 129.1012 +and backward crossing are allowed whose initiation 129.1013 +is on non-origin lifeline. 129.1014 + 129.1015 +But a tie-point is more than just the behavior it defines. 129.1016 + In order for a pair of special beats to form a tie-point, 129.1017 +they must be causally linked on their internal lifelines. This means that a sequence of changes of the internal 129.1018 +state links the internal activity of one of the special beats to the internal activity of another special beat 129.1019 +that executes the resume that ends the second special beat. All special beats that are resumed inside the 129.1020 +same internal activity will have the behavior of a 129.1021 +full tie-point. Half tie-points can have both halves 129.1022 +resumed in different internal activities. 129.1023 + 129.1024 +A special beat has a variable-length span, as measured in the real-number of the clock. A special beat is associated to an isolated atomic span on a hidden lifeline. The only way to end the span of a special beat is via a "resume" beat on the hidden lifeline, which names the special beat to be ended. 129.1025 + 129.1026 +The internal activity on the hidden lifeline enforces some description. 129.1027 + 129.1028 +For 129.1029 +example, send-receive descriptions are: send = if paired 129.1030 +receiver is in shared context then resume both else place self into shared context. receive: if paired send is in shared context then resume both else place self into shared context. 129.1031 + 129.1032 +For acquire-release.. acquire: if lock-owner inside shared 129.1033 +context is empty then place self-name into lock-owner 129.1034 +and resume self else place self onto end of sequence 129.1035 +of special beats. release: remove self from lock-owner 129.1036 +and place the next in sequence of special beats into 129.1037 +lock-owner. If non-empty then resume the new lock-owner. 129.1038 +in every case, resume self. Note, acquire-release can 129.1039 +form either a half tie-point or a full tie-point. 129.1040 +? 129.1041 + 129.1042 +==== 129.1043 + 129.1044 +Note to the reader. This is a first pass at a formal description of tie-point. It likely contains more constraints than necessary. It should not be taken as the final formalism, nor is it implied to be elegant in any way, but simply an existence proof for a formal description 129.1045 +of a useful subset of what the intuition of tie-point associates to. 129.1046 + 129.1047 + 129.1048 + 129.1049 + 129.1050 + 129.1051 +\subsection{How a synchronization construct relates 129.1052 +to tie-points} 129.1053 + 129.1054 +To prepare for stating how the tie-point model can be used to 129.1055 +specify a synchronization construct, we first state 129.1056 +clearly what we mean by a ``synchronization construct''. 129.1057 + 129.1058 +The top of Fig \ref{fig:PRSyncConstrDef} shows two 129.1059 +independent timelines, both performing reads and writes 129.1060 +within a machine that has coherent shared memory. The 129.1061 +timelines have no relative ordering defined, so any 129.1062 +write on Timeline A can be received by any read of 129.1063 +the same address on 129.1064 +Timeline B, and vice versa. This means that, in general, 129.1065 +the use of a variable that is read and written by both will result in non-deterministic behavior. 129.1066 + 129.1067 + 129.1068 +\begin{figure}[ht] 129.1069 + \centering 129.1070 + \includegraphics[width = 2.0in, height = 2.8in] 129.1071 + {../figures/PR__timeline_sync_def.pdf} 129.1072 + \caption{Depicts the meaning we adopt for `synchronization construct'. One of them controls communications between timelines 129.1073 +by controlling the slide of timelines relative to each 129.1074 +other. They imply certain visibility between writes and reads on different timelines.} 129.1075 + \label{fig:PRSyncConstrDef} 129.1076 +\end{figure} 129.1077 + 129.1078 + 129.1079 + 129.1080 +To control the behavior of writes and reads to the 129.1081 +same addresses, a common point must be established, which 129.1082 +limits the ``sliding'' of the timelines relative to 129.1083 +each other. A synchronization construct is used for 129.1084 +this. 129.1085 +The net effect of such a construct is to establish 129.1086 +a common point that both timelines agree on. This 129.1087 +point separates reads and writes before it from reads 129.1088 +and writes after it. 129.1089 + 129.1090 +For example, consider a simple lock used to protect a critical section. The lock is acquired by one timeline 129.1091 +before entering the critical section. Any writes performed 129.1092 +on other timelines before the lock was granted must be complete before the critical section starts, so that reads performed inside the critical section see them. This is illustrated in the middle of Fig \ref{fig:PRSyncConstrDef}. 129.1093 + 129.1094 +The critical section ends by releasing the lock, which allows a different timeline to acquire and enter the critical section. As seen in the bottom of Fig \ref{fig:PRSyncConstrDef}, 129.1095 +any writes performed by that new 129.1096 +timeline after it acquires the lock must not be visible 129.1097 +to reads performed by the old timeline before it released 129.1098 +the lock. 129.1099 + 129.1100 +With this intuition, we define a synchronization construct 129.1101 +as an operation preformed on a timeline, which has 129.1102 +the property that it creates 129.1103 +a tie-point together with an operation performed on a different 129.1104 +timeline. Such operations that establish a tie-point 129.1105 +fit our definition of synchronization constructs. 129.1106 + 129.1107 + 129.1108 +\subsection{More on tie-points} 129.1109 + 129.1110 +Fig \ref{fig:dualTimeline} showed how a tie-point can be generated. The establishment was accomplished by 129.1111 +a combination of primitive mechanisms. These include: 1) suspend; 2) an `invisible' timeline that executes 129.1112 +behavior in the gaps; 3) resume 129.1113 +called from that invisible timeline; and 4) enforcement 129.1114 +of instruction completion relative to resume. 129.1115 + 129.1116 +What an established tie-point provides is the notion that the tied points are the same ``instant" for both tied timelines. What that means is that both timelines see events ordered relative to that point in the same way. 129.1117 + 129.1118 + 129.1119 +Notice that the primitives that establish a tie-point 129.1120 +do not involve any notion of dependency or constraint 129.1121 +on order of execution. It is the behavior code that runs on the invisible 129.1122 + timeline that embodies notions such as dependency 129.1123 + between units of work, mutual exclusion, 129.1124 + partial ordering of work, and so on. However, the 129.1125 + primitives do provide the notion of causality, the ordering implied by causality, and enforcing completion 129.1126 +of reads/writes. 129.1127 + 129.1128 +It is up to the language to supply the behavior that happens inside 129.1129 +the gaps, which executes on the invisible timeline. This behavior is what decides which timelines end up 129.1130 +sharing a tie point. It is that decision making, of which timelines to tie together, that implements the 129.1131 +semantics of a synchronization construct. 129.1132 + 129.1133 +A workshop paper also discusses tie points 129.1134 +[]. A formal treatment of tie-points is beyond the scope of this paper. However, a formal framework has been substantially completed and 129.1135 +will be published in a future paper. 129.1136 + 129.1137 + 129.1138 + 129.1139 +\subsection{Tie-points within a proto-runtime} 129.1140 + 129.1141 + Fig \ref{fig:dualTimeline} didn't say what entity owns the hidden timeline that executes the behavior that takes place in the gaps. This is what the proto-runtime does. An instance of the 129.1142 +proto-runtime executes the language plugin behavior. 129.1143 +It acts as the hidden timeline. 129.1144 + 129.1145 + The proto-runtime code module also supplies implementations 129.1146 +of the primitives that are used to establish a tie-point, including these: 129.1147 + 129.1148 + %It provides the primitive that suspends a timeline and then causes language plugin behavior to execute in the gap. 129.1149 + 129.1150 +%The plugin behavior that runs in the proto-runtime when one timeline suspends is what chooses another timeline to resume as a consequence. That choice establishes causality between the suspensions of the two timelines, and in the process ensures that a valid tie will exist between the two collapsed timeline points. The code of the primitives is provided as part of the proto-runtime code module, while the plugin behavior is executed by an instance of a running proto-runtime. 129.1151 + 129.1152 +%The running proto-runtime instance is also known as the Master, while the application timelines are known as Slaves. The behavior of the language constructs executes within the Master's timeline, while the behavior of application code executes within Slave timelines. 129.1153 + 129.1154 +%\subsection{More about the proto-runtime} 129.1155 + 129.1156 +\begin{itemize} 129.1157 +\item create a virtual processor (which has a suspendible timeline) 129.1158 +\item create a task (which has an atomic timeline that runs to completion) 129.1159 + 129.1160 +\item suspend a timeline, then invoke a function to handle the suspension -- handler is supplied with 129.1161 +parameters from application 129.1162 +\item resume a timeline, which makes it ready for execution 129.1163 +\item end a timeline 129.1164 +\item trigger choosing which virtual processor or task to begin execution on an offered 129.1165 +core 129.1166 + 129.1167 +\end{itemize} 129.1168 + 129.1169 +Virtual processors and tasks, both, have associated timelines. The reason for having both is a practical one, as tasks are simpler, with less overhead, 129.1170 +and many languages have the semantics of short, atomic, units of work that 129.1171 +are not intended to suspend. Thus, tasks are treated differently inside the 129.1172 +proto-runtime, and incur less overhead to create and run. 129.1173 + 129.1174 +A special feature of the proto-runtime is that if a task happens to execute 129.1175 +a language command that causes suspension, then the proto-runtime automatically 129.1176 +converts that task to a suspendible virtual processor. This helps support the mixing of different 129.1177 +languages within the same program. 129.1178 + 129.1179 + 129.1180 +The proto-runtime provides a mechanism for communicating information from the application code to the plugin function that was invoked to handle suspension. For example, the identity of a particular mutex a thread wishes to acquire 129.1181 +can be communicated from the wrapper library to the plugin. 129.1182 + 129.1183 + 129.1184 +Because the proto-runtime tracks all the timelines, the end of a timeline has to be explicitly stated in the application code, by calling a wrapper library function. That then invokes the proto-runtime primitive, 129.1185 +which informs the proto-runtime instance. The proto-runtime performs internal bookkeeping related to the ending of the timeline, and notes that the core is now free and offers it to the plugin's Assigner function. 129.1186 + 129.1187 +The proto-runtime involves the language into the process of choosing which core a given task 129.1188 +or virtual processor executes on. The proto-runtime maintains control, but offers free cores to the Assigner 129.1189 +portion of the plugin. It responds by then assigning a task or virtual processor to the core. The proto-runtime just offers, it is up to the language to decide what work that core should receive at that point in time. 129.1190 + 129.1191 + 129.1192 + 129.1193 +\subsection{Concrete Example}\label{subsec:Example} 129.1194 + 129.1195 +To make this concrete, consider the example of implementing 129.1196 +acquire mutex and release mutex. The semantics are: 129.1197 + 129.1198 +\begin{itemize} 129.1199 +\item Acquire Mutex: A thread calls the construct, 129.1200 +and 129.1201 +provides the name of the mutex. If no thread owns the 129.1202 +mutex, the calling thread is given ownership and it 129.1203 +continues to make progress. However, if a different thread 129.1204 +already owns the mutex, the calling thread is put into a queue 129.1205 +of waiting threads, and stops making progress. 129.1206 +\item Release Mutex: A thread calls the construct and 129.1207 +provides the name of the mutex. If the mutex has waiting threads in its queue, then the next thread is taken out and given ownership of the mutex. That thread is resumed, to once again make progress, as it the thread 129.1208 +that called the release construct.. 129.1209 +\end{itemize} 129.1210 + 129.1211 +This calls for a data structure that has two fields: 129.1212 +one holds the thread that currently owns the mutex, 129.1213 +the other holds a queue of threads waiting to acquire 129.1214 +the mutex. The semantics of a construct involve multiple 129.1215 +reads 129.1216 +and writes of the data structure. Hence, the 129.1217 + structure must be protected 129.1218 +from races between different threads. 129.1219 + 129.1220 +The protection 129.1221 +is where the difficulty comes into the implementation, 129.1222 +and where performance issues come into the picture. 129.1223 +It could be accomplished with a single global lock 129.1224 + that uses hardware primitives, or accomplished 129.1225 +with wait-free data structures that only rely upon the coherence 129.1226 +mechanism of the memory system, or even by message passing plus 129.1227 +quorum techniques. 129.1228 + 129.1229 +However, the implementation of the semantics is independent 129.1230 +of the implementation of the protection. They are orthogonal, 129.1231 +and an interface can be placed between them. One side 129.1232 +of the interface implements checking and updating the fields of 129.1233 +the data structure, while the other side implements 129.1234 +protecting the first side from interference. 129.1235 + 129.1236 +The side that provides protection requires fields, 129.1237 +for its use, to be placed into the data structure used 129.1238 +to represent a thread. To hide those details, 129.1239 +the protection side should also provide 129.1240 +primitives to create and destroy threads, as well as suspend 129.1241 +and resume them. 129.1242 + 129.1243 +This interface that separates the semantic side from 129.1244 +the protection 129.1245 +side is the proto-runtime interface. It is what enables 129.1246 +the modularization of runtime system implementations. 129.1247 + 129.1248 +The tie-point concept provides a model for thinking 129.1249 +about how the semantic side controls ordering among multiple threads, without exposing any details of the protection side. The tie-point model involves thinking only about actions taken during suspension of timelines (threads). It assumes that those actions are protected from interference, and that suspend and resume of timelines are primitive operations made available. The model remains constant regardless of implementation details. 129.1250 + That provides a cross-hardware way of specifying synchronization 129.1251 +behavior using just sequential thinking. The proto-runtime primitives implement the elements of the tie-point model. 129.1252 + 129.1253 + %Currently, these constructs are either implemented directly in terms of hardware level synchronization constructs such as the atomic Compare And Swap (CAS) instruction, or else are a thin wrapper that invokes operating system behavior. However, the behavior of the OS\ kernel's threading primitives are themselves implemented in terms of hardware level synchronization 129.1254 +%constructs. Either way, developing the behavior proves 129.1255 +%time consuming due to the difficulty of debugging hardware level synchronization behavior, and due to the difficulty of performance tuning such low level code across the full spectrum of patterns caused by applications. 129.1256 + 129.1257 + 129.1258 + 129.1259 + 129.1260 + 129.1261 +\section{Concrete Details} 129.1262 +Now that we have seen the concepts of how to modularize 129.1263 +a runtime system, using the tie-point model, it is 129.1264 +time to make the concepts concrete by showing code 129.1265 +segments that implement each of the concepts, and code 129.1266 +segments that use the concepts. We will start with 129.1267 +the big picture and work down. 129.1268 + 129.1269 +The first stop will be the development process, showing 129.1270 +how it is fractured into three separate and independent 129.1271 +development activities. Next, we will show examples 129.1272 +of how application 129.1273 +code invokes constructs, and follow the path of calls 129.1274 +down to the point it switches over to the runtime system. Lastly, 129.1275 +we will look at the flow of control inside the runtime, 129.1276 +where we will focus on the interaction between plugin 129.1277 +code and proto-runtime code. 129.1278 + 129.1279 +In this last portion, we will show how the 129.1280 +interface supplies the plugin with a consistent ``inside 129.1281 +the runtime" environment. Along with that, we will 129.1282 +show how providing 129.1283 +a consistent environment 129.1284 + is an implementation of the "single hidden timeline" portion 129.1285 + of the tie-point model. We will also show how it is 129.1286 + the existence of a \textit{single} hidden timeline 129.1287 + that allows the semantic portion of the language constructs 129.1288 +to be written in a sequential style, without regard to concurrency issues. 129.1289 + 129.1290 + 129.1291 +\subsection{Three independent development efforts} 129.1292 + 129.1293 +To get a handle on the big picture, we describe the 129.1294 +three independent paths that development takes: 129.1295 +one for development of proto-runtime code, one for 129.1296 +development of language implementation, and one for 129.1297 +application development. Each of these produces a separate 129.1298 +installable artifact. 129.1299 +The proto-runtime development produces a dynamic library, for each machine. The language development produces a dynamic library to plug into whichever proto-runtime library is installed on a given machine. It may also produce development tools that are used during compilation, distribution, and even installation and during the run. The application development produces a single source, which the language tools may then turn into multiple executables. 129.1300 + 129.1301 +The proto-runtime code is developed separately from 129.1302 +both language and application code, and packaged as a dynamic library. This library has multiple implementations. Each kind of hardware platform has a proto-runtime implemented specifically for it, and is tuned for low overhead on that hardware. The administrator of a particular machine chooses the proto-runtime implementation best suited to that hardware, and installs that. 129.1303 + 129.1304 +The language code is likewise developed separately from both proto-runtime and application code. Although multiple versions of a language may be implemented, there are significantly fewer versions than the number of proto-runtime versions. That is because most of the hardware details are abstracted away by the proto-runtime interface. 129.1305 + 129.1306 +However, the interface does expose hardware features related to placement of work onto cores, so some variations may exist for the same interface. Again, the administrator chooses which language implementation best suits their machine and installs the corresponding dynamic library. 129.1307 + 129.1308 +The wrapper library, however, is not 129.1309 +installed on the machine where code runs. Rather, it 129.1310 +is only used during development of an application, 129.1311 +and remains independent of hardware. 129.1312 + 129.1313 +Ideally the application is developed only once. It makes calls to the wrapper library, which in turn invokes the dynamic libraries of the language and proto-runtime. 129.1314 +When an application is executed, the loader binds the 129.1315 +dynamic libraries, connecting them to the application. 129.1316 + In this way, a single, 129.1317 +unchanging, executable gains access to machine-specific implementations of language and proto-runtime. 129.1318 + 129.1319 +However, the success of the compile-once approach has 129.1320 +limits in practice. Each machine's characteristics determine the size of unit of work that gives the best performance. When too small, the overhead in the runtime system that is required to create the work, manage constraints, and perform assignment becomes larger than the work 129.1321 +itself. When work-unit size is too large, then not enough units exist to keep all the cores busy. Thankfully, the range between is wide enough, for most applications, that neither limit is hit, on most machines. As machines evolve, though, this happy circumstance is likely to change, necessitating recompiling and possibly hand modifying the application code or some meta-form. 129.1322 + 129.1323 +\subsection{Walk through of activity during execution} 129.1324 + 129.1325 +At this point, we present a picture of the flow of control on each 129.1326 +of two cores, as the core is switched between application 129.1327 +code and runtime code. It is too early to understand 129.1328 +the details, but this figure can be referred back to 129.1329 +as each portion is discussed in the coming sub-sections. 129.1330 +Each portion of the figure is labelled with the sub-section that describes that portion of activity. 129.1331 + 129.1332 +At the top is the main program, which starts the proto-runtime, 129.1333 +and creates a proto-runtime process. Below that is 129.1334 +depicted the creation of proto-runtime virtual processors, 129.1335 +along with the animation of application code by those virtual 129.1336 +processors. 129.1337 + 129.1338 +? 129.1339 + 129.1340 +The application passes information to a wrapper library 129.1341 +call, 129.1342 +such as the ID of the mutex to acquire. The library function packages the 129.1343 +information into a request data structure, then invokes a proto-runtime 129.1344 +primitive. That suspends the virtual processor (timeline) that is executing 129.1345 +that code. The call to the primitive passes as arguments the request structure and a pointer 129.1346 +to the plugin function that will handle the request. 129.1347 +The handler runs inside the Master and chooses which 129.1348 +other timelines to resume as a consequence of the wrapper-library 129.1349 +call. Those timelines will then resume, returning from 129.1350 +whatever wrapper-library call caused them to suspend. In this way, the request handle implements the behavior of a 129.1351 +synchronization construct. 129.1352 + 129.1353 +However, there is one last step between the request 129.1354 +handler marking a timeline as ready to resume 129.1355 +and it becoming re-animated. That step is where the 129.1356 +assignment half of the language plugin comes into play. 129.1357 +The request handlers stack up work that is free to 129.1358 +be executed, but it is the assigner that chooses which 129.1359 +of those to place onto an offered core. 129.1360 + 129.1361 + 129.1362 + 129.1363 + 129.1364 + 129.1365 +\begin{figure*}[ht] 129.1366 + \centering 129.1367 + \includegraphics[width = 7.0in, height = 4.5in] 129.1368 + {../figures/Proto-Runtime__modules_plus_plugin_plus_code.pdf} 129.1369 + \caption{Illustration of the physical time sequence of the timelines of multiple virtual processors executing on multiple 129.1370 +cores. The timelines run top to bottom, while calls 129.1371 +between modules and returns run horizontally. The colors of Fn names indicate whether the 129.1372 +code is part of the application (green), the proto-runtime module (blue), or the language (red). The top two timelines are animated 129.1373 +by core 1, while the bottom 2 are animated by core 129.1374 +2. The boxes 129.1375 +represent virtual processors, each with its associated 129.1376 +timeline next to it. The timelines have no relative 129.1377 +ordering, except at tie-points established by the Request 129.1378 +Handlers. Gaps in the timelines are caused by suspension, 129.1379 +which is effected by primitives within the proto-runtime 129.1380 +code module.} 129.1381 + \label{fig:physTimeSeq} 129.1382 +\end{figure*} 129.1383 + 129.1384 + 129.1385 + 129.1386 +\subsection{Using language constructs} 129.1387 +In the simple form of an eDSL, the language constructs 129.1388 +take the form of function calls. The reader familiar 129.1389 +with posix threads will have used function calls to 129.1390 +perform mutex acquire commands and mutex release commands. 129.1391 +Here, we illustrate invoking language commands in the 129.1392 +same way. 129.1393 + 129.1394 +We use posix threads for our example because it is 129.1395 +a familiar language that the reader already knows well. 129.1396 +It allows us to illustrate the concepts new to proto-runtime without introducing potential confusion about what the language semantics are. 129.1397 + 129.1398 +\subsubsection{Main and startup} 129.1399 +Before using a proto-runtime based language, the proto-runtime 129.1400 +system must be started, and a proto-runtime process 129.1401 +must be created. Fig X shows this. Notice that the 129.1402 +create process was given a pointer 129.1403 +to a function. This function is the seed of the proto-runtime 129.1404 +based application code. This seed must start all proto-runtime 129.1405 +based languages that will be used in the application, 129.1406 +and must create the virtual processors and tasks that 129.1407 +perform the work and may in turn create more VPs and/or tasks that perform work. 129.1408 + 129.1409 +==main, with PR\_\_start and PR\_\_create\_process == 129.1410 + 129.1411 +\subsubsection{Seed birth function and thread birth 129.1412 +function} 129.1413 +Fig X shows our example seed function. It first starts 129.1414 +the language that will be used, which is Vthread. It 129.1415 +is an implementation of posix threads that is on top of proto-runtime. 129.1416 +Next, the seed uses Vthread commands to create two 129.1417 +threads, and then uses Vthread join to wait for both 129.1418 +threads to die. Lastly it "dissipates", which is the 129.1419 +command that kills the virtual processor that is animating 129.1420 +the function. 129.1421 + 129.1422 +==seed\_birth\_Fn, with Vthread\_\_start(), Vthread\_\_create\_thread, 129.1423 +Vthread\_\_join, Vthread\_\_stop, and dissipate== 129.1424 + 129.1425 +Notice the signature 129.1426 +of the seed birth function. It returns void, and takes a pointer 129.1427 +to void plus a pointer to a SlaveVP struct. This is 129.1428 +the standard signature that must be used for all birth functions for 129.1429 +proto-runtime created virtual processors or tasks. 129.1430 + 129.1431 + 129.1432 +Also, notice that the standard signature includes a 129.1433 +pointer to a SlaveVP struct. This is a proto-runtime 129.1434 +defined structure, which holds the meta-information 129.1435 +about a virtual processor. The birth function is handed 129.1436 +the structure of the virtual processor that is animating 129.1437 +it. 129.1438 + 129.1439 +An illuminating aside is that the birth function for 129.1440 +a posix thread doesn't need 129.1441 +to be handed the structure representing the animating thread. 129.1442 +That is because the operating system tracks which thread 129.1443 +is assigned to which core. Posix thread constructs work by executing 129.1444 +an instruction that suspends the code executing on 129.1445 +the core and switches 129.1446 +the core over to animating the OS kernel code. The OS kernel 129.1447 +then looks up the data structure that is assigned to 129.1448 +the core. 129.1449 + 129.1450 +That lookup is how the OS kernel gains the 129.1451 +pointer to the thread that was animating the application 129.1452 +code that called the posix construct. But the implementation 129.1453 +of proto-runtime illustrated in this paper doesn't 129.1454 +have such a hardware based suspend instruction available, 129.1455 +and so proto-runtime-based application code must explicitly pass around the pointer to the data 129.1456 +structure of the virtual processor performing the animation. 129.1457 + 129.1458 +Fig X shows the birth function of the threads created 129.1459 +by the seed birth function. It uses the Vthread equivalent 129.1460 +of mutex acquire and release to protect access to 129.1461 +a critical section. Notice that the signature 129.1462 +is the same as the signature of the seed birth function. 129.1463 +Also notice that the SlaveVP structure is handed to 129.1464 +each invocation of a Vthread construct. In the next 129.1465 +several sub sections we will track how this SlaveVP structure 129.1466 +is used. 129.1467 + 129.1468 +==thread birth function.. uses Vthread acquire and 129.1469 +release to protect a counter plus print of count value== 129.1470 + 129.1471 + 129.1472 +\subsection{Language Wrapper Library} 129.1473 + 129.1474 +Looking at the implementation of the Vthread calls 129.1475 +reveals code such as in Fig X. 129.1476 + 129.1477 +==wrapper lib code for mutex acquire== 129.1478 + 129.1479 +There's nothing much to it. It just creates a data 129.1480 +structure, fills it, then hands it to a proto-runtime 129.1481 +call. This is a starnd form for wrapper library 129.1482 +calls. The data structure is used to carry information 129.1483 +into the proto-runtime (the proto-runtime that was 129.1484 +started by the PR\_\_start command). The PR call is 129.1485 +the equivalent of the hardware instruction that suspends 129.1486 +application code and switches to the kernel. For the 129.1487 +implementation of PR illustrated in this paper, this 129.1488 +call is implemented with assembly instructions. 129.1489 + 129.1490 +This wrapper library code is placed on the machine 129.1491 +used during development of the application, and is 129.1492 +compiled into the application executable. However, 129.1493 +the proto-runtime call is a link to a dynamic library, 129.1494 +and is not part of the application executable. 129.1495 + 129.1496 +Notice that the PR\ primitive is given a pointer to 129.1497 +a function. This is called the handler function, and 129.1498 +is part of the language plugin. The proto-runtime 129.1499 +will actually perform the call to the handler function, but in a carefully controlled 129.1500 +way. It will provide the handler function with a carefully controlled environment 129.1501 +to use while it handles this wrapper-library call. 129.1502 +We will see in a moment how proto-runtime invokes the 129.1503 +handler function, and what such a handler function 129.1504 +looks like. 129.1505 + 129.1506 +First, here's the assembly that suspends the application code and 129.1507 +switches to the proto-runtime code, as seen in Fig X 129.1508 + 129.1509 +==assembly of suspend and switch== 129.1510 + 129.1511 +All it does is save the program counter and stack pointer 129.1512 +into the SlaveVP structure, then load in the program 129.1513 +counter and stack pointer of the proto-runtime code, 129.1514 +which was previously saved in different fields of that same SlaveVP structure. 129.1515 + 129.1516 +\subsubsection{proto-runtime code that is switched 129.1517 +to} 129.1518 + 129.1519 +The PR assembly code switches the core to executing 129.1520 +the (psuedo) code seen in Fig X. 129.1521 + 129.1522 +==animation master code, which calls plugin fns== 129.1523 + 129.1524 +All this does is invoke the handler function named 129.1525 +in the wrapper library, and hands it an environmen. 129.1526 +This is the hidden environment referred to in the tie-point 129.1527 +model. It must be accessed in an isolated, atomic, 129.1528 +fashion. The proto-runtime code seen here happens 129.1529 +to use a global lock for each language's environment. 129.1530 + However other implementations are possible. In order 129.1531 + to keep overhead low, it uses the Compare And Swap 129.1532 + instruction to acquire the lock, and an exponential random 129.1533 + backoff scheme when contention for the lock arises. 129.1534 + 129.1535 + The handler function is the hidden behavior that executes 129.1536 + on the hidden timeline that is mentioned in the tie-point 129.1537 + model. The suspend primitive is what begins a special 129.1538 + beat on the lifeline of the virtual processor that 129.1539 + executed the wrapper library call. It is this handler 129.1540 + code that then establishes the causal connections 129.1541 + between such special beats, and so ties them together. 129.1542 + The causal connection is via the changes make to the 129.1543 + language environment. 129.1544 + 129.1545 + So, in summary, the proto-runtime is the hidden timeline. 129.1546 + The suspend primitive is what starts a special beat 129.1547 + and starts the behavior on the hidden timeline. The 129.1548 + lock is what isolates and sequentializes 129.1549 + the behavior on the hidden timeline. The language 129.1550 + environment is the hidden state used to establish 129.1551 + causal connection between special beats. 129.1552 + 129.1553 + 129.1554 + 129.1555 +This is not the plugin code, this is the library that the application executable includes. It's equivalent to the pthread library. When you look at the source of the pthread library, it's just a wrapper that invokes the OS. It doesn't do anything itself. The language libraries are the same thing, just wrappers that invoke the proto-runtime primitives. Those suspend the VP and send a message to the proto-runtime. When the message arrives, it invokes the plugin to handle the task. 129.1556 + 129.1557 +Here's how the wrapper library connects a request to the request handler: via this function pointer, right here Fig X, given to the proto-runtime "suspend and send" primitive. The pointed-to function is part of the plugin. That runs inside the proto-runtime, and is what handles the message created in the wrapper library. 129.1558 + 129.1559 + 129.1560 +If we go and look at that handler function, Fig X, we see that it has a standard prototype, so it takes a standard set of arguments. One of those, here in Fig X, is a language environment. This is the special sauce, it is the thing that is shared among all the cores. This language environment is where tasks are placed that are not yet ready to execute, and where suspended virtual processors are placed that are not yet ready to resume. 129.1561 + 129.1562 +Here, Fig X, you can see there's a hash table. The language environment contains that hash table. The tasks get parked in this hash table. Each time a task completes, it looks in the hash table, finds all tasks waiting for its completion, and updates the status of those waiting tasks. If this was the last task being waited for, the waiter is taken out of the hash table and put into the queue of ready to execute tasks. 129.1563 + 129.1564 +This is the semantics of the language. This is how the semantics of the language defines what dependencies are, and how it defines when a task's dependencies have been satisfied. The implementation is just a data structure in the shared language environment. It is the proto-runtime that takes care of creating the tasks, creating the virtual processors, execute those, suspend them and resume them. The proto-runtime handles the mechanics of all that stuff. The language just figures out what are the constraints on making it ready. 129.1565 + 129.1566 +? 129.1567 + 129.1568 +Separately, the proto-runtime calls the Assigner function, which is also part of the plugin dynamic library. Each time a task completes or a virtual processor suspends, the wrapper library invokes a proto-runtime primitive. Among other things, that primitive informs the proto-runtime about the completion of that work, which tells the proto-runtime that hardware resources have just been freed up. 129.1569 + 129.1570 +The proto-runtime then invokes the Assigner function, passing it information about the hardware that was just freed. The assigner is implemented by the language and uses some language-specific way to choose which of the ready work-units to execute on that hardware (a work-unit is either a ready-to-execute task or a ready-to-resume virtual processors). This is how the language is given control over placement of work onto cores. 129.1571 + 129.1572 +=================== 129.1573 + 129.1574 + 129.1575 +\subsection{not sure} 129.1576 +A task is an atomic unit of work. It runs to completion, without suspending. That characteristic allows the proto-runtime to internally treat a task differently than a virtual processor. The fact that it never suspends means it doesn't need a stack, and needs less bookkeeping, which makes a task faster to create and faster to assign, for lower overhead. 129.1577 + 129.1578 +However, a task may optionally choose at some point to execute a language command that causes it to suspend. At the point it does that, the proto-runtime internally converts the task to a virtual processor. That allows the task to suspend and later resume, at the cost of gaining the normal virtual processor overhead. However, the virtual processor the task is converted to comes from a recycle pool and returns when the task completes. 129.1579 + 129.1580 +As an application programmer, you can create processes directly with an OS-like language built on top of the proto-runtime. But you use a programming language to create tasks or virtual processors. For example, VSs has a way to create tasks. VSs internally then uses a proto-runtime command to have the proto-runtime create a task for it. Then VSs decorates the task with its own meta-data. It uses that meta-data to track when a task should be executed. 129.1581 + 129.1582 +? 129.1583 + 129.1584 +The only thing you're allowed to do outside a language is create the environment in which you start a language. 129.1585 + 129.1586 +? 129.1587 + 129.1588 +The implementation of the language behavior is the plugin. The plugin has two parts: request handlers, which handle the messages that come when a VP suspends, and an assigner, which picks where particular VP resumes onto or a task runs. With VSs, the plugin provides the behavior of "submit task". 129.1589 +The request handler plus plugin together provide the two halves of what people normally call a scheduler. 129.1590 + 129.1591 +================= 129.1592 + 129.1593 +\subsection{more on tie-points} 129.1594 +Any event visible before in one is visible in both after. The guarantee is between before in one and after in both. 129.1595 + 129.1596 +From the program point of view, that acquire statement is one instant. That entire gap in physical time is seen as a single instant to the code. 129.1597 + 129.1598 +However, the tie point is just one instant in the timelines. After the point, one of the timelines could perform an event that interferes with an event from before the tie-point, and no guarantees are given about what the other timeline sees. However, if another tie-point is created between them, then they are both guaranteed to see that second, interfering event, after the second tie-point. 129.1599 + 129.1600 +Take the example of a mutex, M. The purpose of the only-one semantics of a mutex is to isolate read and write operations done by the owning thread from those done by other threads, which own before or after it. 129.1601 + 129.1602 +The mutex behavior is illustrated in Fig X. Timeline 1 writes to variable A at point 1, then releases the M at point 2. Timeline 2 acquires M, at the tied point 2 and reads A at point 3. For M to provide isolation, it must guarantee that the A write operation at point 1 is seen by the other timeline's read operation, at point 3. Likewise, it has to guarantees that nothing that happens in timeline 2 after the acquire of M, at point 2, will be seen by timeline 1 before its release, also at point 2. 129.1603 + 129.1604 +That ordering guarantee is what we think of when we imagine the behavior of a mutex acquire-release pair. All writes done by the releasing thread are seen as completed, by reads performed in the acquiring thread, and no writes in the acquiring thread are seen before the release by the releasing thread. That is required in order to have value for the semantics of only one thread owns the mutex at any point. The purpose of only-one is to isolate read and write operations done by the owning thread from those done by the threads that own before or after it. 129.1605 + 129.1606 + 129.1607 +The behavior is implemented in terms of a data structure that lives inside the controlling entity's environment. The controlling entity looks up the data structure for the mutex being requested. This data structure has a field that contains the name of the thread that current owns the mutex, plus a queue of threads waiting to acquire it. So, the controlling entity first looks at the field that holds the current owner, sees that it is occupied, and then puts the thread's name into the queue of waiting threads. 129.1608 + 129.1609 +At some point later, the waiting thread reaches the top of the queue. At the point the owning thread executes the release operation, that owning thread also suspends, the controlling entity sees that suspend and that the thread wants to perform the release behavior. It looks up the release behavior and performs it. This behavior looks up the mutex data structure in the controlling entity's environment, removes the releasing thread from the owner field, takes the top thread off the waiters, writes its name into the current owner, then marks both those threads as ready to resume their timelines. 129.1610 + 129.1611 +The proto-runtime is the controlling entity, which looks up the behaviors and performs them. It also manages the environment that holds the data structures used by the behaviors. 129.1612 + 129.1613 +=========== 129.1614 + 129.1615 +The purpose of the M is to guarantee that what gets written to A here in this timeline is seen over here, in this other timeline. 129.1616 + 129.1617 +So, to turn this simple mechanism into a synchronization construct, you add semantics on top, which determine the end of suspend in the two timelines. The timelines voluntarily place themselves into suspend, and it is up to the controlling entity to decide at what point to end that suspension. It is this choice of ending suspension that ties events in one timeline to events in another. The semantics of deciding that end of suspension is the semantics of the synchronization construct. 129.1618 + 129.1619 +For example, take mutual exclusion within Threads. One thread executes a construct that asks to acquire the mutex. At the point of executing, that thread suspends, so that timeline ceases advancing. At some point later, the controlling entity sees that suspend, and sees that the timeline is attempting the acquire mutex activity. It looks up the behavior for acquire mutex, which is then performed inside that controlling entity. 129.1620 + 129.1621 +============ 129.1622 + 129.1623 + 129.1624 +\subsection{More on eDSLs} 129.1625 +%====================================== 129.1626 + 129.1627 +%We expand on the hypothesis that an embedded style Domain Specfic Language (eDSL) provides high programmer productivity, with a low learning curve. We also show (\S ) that when an application is written in a well designed eDSL, porting it to new hardware becomes simpler, because often only the language needs to be ported. That is because the elements of the problem being solved that require large amounts of computation are often pulled into the language. Lastly (\S ), we hypothesize that switching from sequential programming to using an eDSL is low disruption because the base language remains the same, along with most of the development tools and practices. 129.1628 + 129.1629 +%In \S \ref{sec:DSLHypothesis} we show that the small number of users of an eDSL means that the eDSL must be very low effort to create, and also low effort to port to new hardware. At the same time, the eDSL must remain very high performance across hardware targets. 129.1630 + 129.1631 +%In \S we analyze where the effort of creating an eDSL is expended. It turns out that in the traditional approach, it is mainly expended in creating the runtime, and in performance tuning the major domain-specific constructs. We use this to support the case that speeding up runtime creation makes eDSLs more viable. 129.1632 + 129.1633 +%In \S we take a step back and examine what the industry-wide picture would be if the eDSL approach were adopted. A large number of eDSLs will come into existence, each with its own set of runtimes, one runtime for each hardware target. That causes a multiplicative effect: the number of runtimes will equal the number of eDSLs times the number of hardware targets. Unless the effort of implementing runtimes reduces, this multiplicative effect could dominate, which would retard the uptake of eDSLs. 129.1634 + 129.1635 + 129.1636 +% ============== 129.1637 + 129.1638 +%Further, in \S we show that when an application is written in a well designed eDSL, porting it to new hardware becomes simpler because often only the language needs to be ported. That is because the elements of the problem being solved that require large amounts of computation are often pulled into the language. Lastly, in \S we hypothesize that switching from sequential programming to using an eDSL is low disruption because the base language remains the same, along with most of the development tools and practices. Hence, we cover how the three issues currently making parallel programming unattractive are addressed by embedded-style DSLs. 129.1639 + 129.1640 +%We next show what the blocks to eDSLs are, and where the main effort in implementing an eDSL lies. Specifically, in \S \ref{sec:DSLHypothesis} we show that the small number of users of an eDSL means that the eDSL must be very low effort to create, and also low effort to port to new hardware. At the same time, the eDSL must remain very high performance across hardware targets. 129.1641 + 129.1642 +%In \S we analyze where the effort of creating an eDSL is expended. It turns out that in the traditional approach, it is expended in creating the translator for the custom DSL syntax, in creating the runtime, and in performance tuning the major domain-specific constructs. We propose that the MetaBorg[] or Rose[] translation approaches cover creating translators for custom syntax, and that tuning constructs is inescapable, leaving the question of runtime implementation time. 129.1643 + 129.1644 +%In \S we explore the effects of runtime implementation time by taking a step back and examine what the industry-wide picture would be if the eDSL approach were adopted. A large number of eDSLs will come into existence, each with its own set of runtimes, one runtime for each hardware target. That causes a multiplicative effect: the number of runtimes will equal the number of eDSLs times the number of hardware targets. Unless the effort of implementing runtimes reduces, this multiplicative effect could dominate, which would retard the uptake of eDSLs. Thus, showing that an approach that mitigates this multiplicative effect is valuable, and is the role that the proto-runtime plays. 129.1645 + 129.1646 + 129.1647 + 129.1648 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 129.1649 +\subsection{Details} 129.1650 +\label{subsec:Details} 129.1651 + 129.1652 + what responsibilities are encapsulated in which modules, and what the interfaces between them look like. 129.1653 + 129.1654 +modularization and its interface is what makes the proto-runtime reusable by all languages on given hardware, and the low-level tuning of the proto-runtime for specific hardware automatically benefits all the languages on that hardware. 129.1655 + 129.1656 +? 129.1657 + 129.1658 + 129.1659 + 129.1660 + overhead measurements 129.1661 + 129.1662 +implementation time measurements 129.1663 + 129.1664 + discuss why equivalent user-level M to N thread packages haven't been pursued, leaving no viable user-level libraries to compare against. 129.1665 + 129.1666 + give numbers that indicate that the proto-runtime approach is also competitive with Cilk, and OMPSs, on large multi-core servers. 129.1667 + 129.1668 + summary of development time of the various embedded languages created so far. Unfortunately, no control is available to compare against, but we provide estimates based on anecdotal evidence of the time taken to develop the versions compared against for overhead. In the 129.1669 +least, the same effort would have to be expended on 129.1670 +each and every language that we expended on performance 129.1671 +tuning our proto-runtime. 129.1672 + 129.1673 + We continue with a bigger picture discussion of the difference in design methods between traditional approaches and the proto-runtime implementations (\S ). We discuss OpenMP versus the equivalent proto-runtime version called VOMP (\S ). Then (\S ) we discuss Cilk 5.4 vs the proto-runtime VCilk. Next we discuss pthread vs Vthread (\S ), and OMPSs vs VSs (\S ). These discussions attempt to give the two design philosophies and paint a picture of the development process in the two competing approaches. The goal is to 129.1674 + 129.1675 +illustrate how the proto-runtime approach maintains many of the features, through its centralized services, while significantly reducing implementation time, through reuse of the services, elimination of concurrency concerns in design and debugging, and in the simplifications in design and implementation caused by the clean modularization of the proto-runtime approach, and the regularization of implementation from one language to another. 129.1676 + 129.1677 +Then, with the full understanding of the proto-runtime approach in hand, we discuss how it compares to related work (\S ). 129.1678 + 129.1679 +Finally, we highlight the main conclusions drawn from the work (\S ). 129.1680 + 129.1681 + 129.1682 + 129.1683 +? 129.1684 + 129.1685 + 129.1686 + 129.1687 + 129.1688 + The behavior module creates work and determines when work is free the execute, it tracks constraints on work imposed by language semantics, and constraints 129.1689 +due to data dependencies. 129.1690 + 129.1691 + a copy of the proto-runtime with language modules runs separately on each core and they communicate via shared variables in a shared language environment. The proto-runtime protects access to the shared language environment so that language modules can be written in sequential style. 129.1692 + 129.1693 +? 129.1694 + 129.1695 +The proto-runtime also implements "centralized" services that it makes available to all languages. Hardware specific functions include communicating between processors and protecting the internal state used by the language modules. 129.1696 + 129.1697 + 129.1698 + 129.1699 + this makes the proto-runtime be reused by all languages on given hardware, and the low-level tuning of the proto-runtime for specific hardware automatically benefits all the languages that run on that hardware. 129.1700 + 129.1701 + implementing language logic, 129.1702 + 129.1703 +show how the proto-runtime interface allows it to use sequential thinking. 129.1704 + 129.1705 +give similar detail on the implementation of the assigner, 129.1706 +we discuss how that has the potential to improve application performance by reducing communication between cores and reducing idle time of cores. 129.1707 + 129.1708 +support belief that the patterns we followed when modularizing are indeed fundamental and will remain valid for future languages and hardware. 129.1709 + 129.1710 + discuss some of the centralized services provided by the current proto-runtime implementation, as well as planned future ones. 129.1711 + 129.1712 +reusing language logic from one language implementation to another. 129.1713 + 129.1714 + 129.1715 +%%%%%%%%%%%%%%%%%%%%%%%% 129.1716 +%% 129.1717 +%%%%%%%%%%%%%%%%%%%%%%%% 129.1718 +\section{Measurements} 129.1719 +With the background on eDSLs and description of the proto-runtime approach behind us, we then provide overhead measurements in \S\ref{subsec:OverheadMeas} and implementation time measurements in \S\ref{subsec:ImplTimeMeas} 129.1720 + 129.1721 +\subsection{Overhead Measurements} \label{subsec:OverheadMeas} 129.1722 +For the following, we use a 4-core single socket 2.4Ghz laptop, and a 4 socket by 10 core each server. 129.1723 + 129.1724 +For runtime performance: 129.1725 + 129.1726 +-- Vthread vs pthread: laptop and server on exe vs task (and fibonacci?) 129.1727 + 129.1728 +-- VCilk vs Cilk: laptop and server on fibonacci (from Albert) 129.1729 + 129.1730 +-- VOMP vs OpenMP: laptop and server on exe vs task and fibonacci 129.1731 + 129.1732 +-- VSs vs OMPSs: laptop and server on fibonacci and jpeg 129.1733 + 129.1734 +\begin{tabular}{|c|c|c|c|c|c|c|}\hline 129.1735 +a & 2 & a & a & a & a & a \\\hline 129.1736 +a & 2 & a & a & a & a & a \\\hline 129.1737 +a & a & a & a & a & a & a \\\hline 129.1738 +a & a & a & a & a & a & a \\\hline 129.1739 +\end{tabular} 129.1740 +\caption{} 129.1741 +\label{tab} 129.1742 + 129.1743 +As seen, we didn't include application performance because we have not yet taken advantage of the opportunity to use language information to predict locality. That research is in progress and will be reported in future papers. 129.1744 + 129.1745 + 129.1746 +\subsubsection{Vthread Versus Highly Tuned Posix Threads} 129.1747 +\label{sec:VthreadVsPthread} 129.1748 +Measurements indicate that the proto-runtime approach has far lower overhead than even the current highly tuned Linux thread implementation, and discusses why equivalent user-level M to N thread packages haven't been pursued, leaving no viable user-level libraries to compare against. 129.1749 +\subsubsection{VCilk Versus Cilk 5.4} 129.1750 +In \S we give numbers that indicate that the proto-runtime approach is also competitive with Cilk 129.1751 +\subsubsection{VSs Versus StarSs (OMPSs)} 129.1752 +OMPSs 129.1753 +\subsubsection{VOMP Versus OpenMP} 129.1754 +VOMP 129.1755 + 129.1756 + 129.1757 +%%%%%%%%%%%%%%%%%%%%%%%% 129.1758 +%% 129.1759 +%%%%%%%%%%%%%%%%%%%%%%%% 129.1760 +\subsection{Development Time Measurements}\label{subsec:ImplTimeMeas} 129.1761 +Here we summarize the time to develop each of the epDSLs and each copy-cat language created so far. As a control, we estimate, based on anecdotal evidence, the time required to create the equivalent functionality, using the traditional approach. 129.1762 + 129.1763 +Table \ref{tabPersonHoursLang}, summarizes measurements 129.1764 +of the time we spent to design, code, and debug an initial version working for each of the languages we created. The results are shown in the same order we created them, with SSR the first. As we gained experience, design and coding became more efficient. These are hours spent at the keyboard or with pen and paper, and don't include think time during other activities in the day. 129.1765 + 129.1766 + 129.1767 +\begin{centering} 129.1768 +\begin{tabular}{|l|r|r|r|r|r|r|r|} 129.1769 + \cline{2-8} 129.1770 + \multicolumn{1}{r|}{} & SSR & Vthread & VCilk & HWSim & VOMP & VSs & Reo\\ 129.1771 + \cline{2-8} 129.1772 + \noalign{\vskip2pt} 129.1773 + \hline 129.1774 + Design & 19 & 6 & 3 & 52 & 18& 6 & 14\\ 129.1775 + Code & 13 & 3 & 3& 32 & 9& 12 & 18\\ 129.1776 + Test & 7 & 2 & 2& 12 & 8& 5 & 10\\ 129.1777 + L.O.C. & 470 & 290 & 310& 3000 & 690 & 780 & 920\\ 129.1778 + \hline 129.1779 +\end{tabular} 129.1780 +\caption 129.1781 +{Hours to design, code, and test each embedded language. L.O.C. is lines of (original) C code, excluding libraries and comments. 129.1782 +} 129.1783 +\end{centering} 129.1784 +\label{tabPersonHoursLang} 129.1785 + 129.1786 +%\subsubsection{Comparison of Design Approaches} 129.1787 +%We give the bigger picture of the difference in approach for each language, between the proto-runtime implementation and the distributed implementation. The goal is to illustrate how the proto-runtime centralized services, while significantly reducing implementation time, through reuse of the services, elimination of concurrency concerns in design and debugging, and in the simplifications in design and implementation caused by the clean modularization of the proto-runtime approach, and the regularization of implementation from one language to another. 129.1788 + 129.1789 + 129.1790 +%%%%%%%%%%%%%%%%%%%%%%%% 129.1791 +%% 129.1792 +%%%%%%%%%%%%%%%%%%%%%%%% 129.1793 +\section{Related Work} \label{sec:Related} 129.1794 + 129.1795 +We discuss how proto-runtime compares to other approaches to implementing the runtimes of domain specific languages. The criteria for comparison are: level of effort to implement the runtime, effort to port the runtime, runtime performance, and support for application performance. The main alternative implementation approaches are: posix threads, user-level threads, TBB, modifying libGomp, and using hardware primitives to make a custom runtime. 129.1796 + 129.1797 +We summarize the conclusions in Table \ref{tab:CriteriaVsApproach}. 129.1798 + 129.1799 + 129.1800 +\begin{center} 129.1801 +\caption{Table \ref{tab:CriteriaVsApproach} shows how well each approach scores in the measures important to implementors of runtimes for DSLs. On the left are the implementation approaches. At the top are the measures. In a cell is the score on the measure for 129.1802 +the approach. One plus is the lowest score, indicating the implementation approach is undesirable, 5 indicates the highest desirability. The reasons for the scores are discussed in the text. } \label{tab:CriteriaVsApproach} 129.1803 + 129.1804 +\begin{tabular}{|c|c|c|c|c|}\hline 129.1805 +Runtime Creation & \textbf{impl.}& \textbf{porting} & \textbf{runtime} & \textbf{application} \\ 129.1806 +\textbf{} & \textbf{ease} & \textbf{ease} & \textbf{perf.} & \textbf{perf.}\\\hline 129.1807 +\textbf{OS Threads} & ++ & ++ & + & + \\\hline 129.1808 +%\textbf{User Threads} & ++& ++ & ++ & + \\\hline 129.1809 +\textbf{TBB} & ++ & ++ & ++ & + \\\hline 129.1810 +\textbf{libGomp} & +++ & ++ & +++ & ++++ \\\hline 129.1811 +\textbf{HW primitives} & + & + & +++++ & +++++ \\\hline 129.1812 +\textbf{Proto-runtime} & +++++ & +++++ & ++++ & +++++\\\hline 129.1813 +\end{tabular} 129.1814 +\end{center} 129.1815 + 129.1816 + 129.1817 + 129.1818 +The first two methods have poor runtime and application 129.1819 +performance. They involve building the DSL runtime on top of OS threads\ or TBB, both of which have runtimes in their own right. So the DSL runtime runs on top of the lower-level runtime. This places control of work placement inside the lower-level runtime, blocking the DSL runtime, which hurts application-code performance, due to inability to use data locality. In addition, OS threads have operating system overhead and OS-imposed fairness requirements, which keeps runtime performance poor as seen in Section \ref{sec:VthreadVsPthread}. 129.1820 + 129.1821 +Both also force the DSL implementation to manage concurrency explicitly, using lower-level runtime constructs such as locks. TBB may have a slight advantage due to its task-scheduling commands, but only for task-based languages. Hence, implementation effort is poor for these approaches. 129.1822 + 129.1823 +For the same reason, porting is poor for these two 129.1824 +approaches. The DSL's runtime code needs to be rewritten and tuned for each hardware platform, or else some form of hardware-abstraction placed into the runtime. But putting in a hardware abstraction is essentially an alternative way of implementing half of the proto-runtime approach, but without the centralization, reuse, and modularization benefits. 129.1825 + 129.1826 +Moving on to libGomp. Some language researchers use libGomp (based on informal discussions) because of its very simple structure, which makes it relatively easy to modify, especially for simple languages. However, it provides no services such as debugging or performance tuning, and it has no modularization or reuse across languages benefits. As the price of the simplicity, performance suffers, as seen in the experiments []. Also, re-writes of the DSL runtime are required for each platform in order to tune it to hardware characteristics. However, because the runtime is directly modified, the language gains control over placement of work, enabling good application performance, if the extra 129.1827 +effort is expended to take advantage. 129.1828 + 129.1829 +Lastly, we consider the alternative of writing a custom runtime from scratch, using hardware primitives such as the Compare And Swap (CAS) instruction, or similar atomic read-modify-write instructions. This approach requires the highest degree of implementation effort, and the worst portability across hardware. However, if sufficient effort is expended on tuning, it can achieve the best runtime performance and equal the best performance of application code. So far, the gap has proven small between highly tuned language-specific custom runtime performance and that of our proto-runtime, but we only have the CILK implementation as a comparison point. 129.1830 + 129.1831 +Putting this all together, Table \ref{tab:CriteriaVsApproach} shows that the proto-runtime approach is the only one that scores high in all of the measures. It makes initial language implementation fast, as well as reduces porting effort, while keeping runtime performance high and enabling high application performance. 129.1832 + 129.1833 + 129.1834 + 129.1835 +%%%%%%%%%%%%%%%%%%%%%%%% 129.1836 +%% 129.1837 +%%%%%%%%%%%%%%%%%%%%%%%% 129.1838 +\section{Conclusions and Future Work} 129.1839 +The main takeaways from the paper are first, the potential for embedded style Domain Specific Languages (eDSLs) to address the issues that are holding-back parallel programming, and second the role that the proto-runtime approach can play in making eDSLs practical, by simplifying the runtime aspect of implementing a large number of eDSLs across the many hardware targets. 129.1840 +%The proto-runtime approach does this by modularizing the runtimes, providing reuse of centralized services, and reuse of the hardware-specific performance tuning, which is performed once per hardware, on the proto-runtime, then enjoyed by all the eDSLs. Hence, the proto-runtime approach provides a significant piece of the puzzle of providing eDSLs, to bring parallel programming into the mainstream. 129.1841 + 129.1842 + 129.1843 +%[[Hypothesis: Embedded-style DSLs -> high productivity + low learning curve + low disruption + low app-port AND quick time to create + low effort to lang-port + high perf across targets]] 129.1844 + 129.1845 + 129.1846 +Specifically, we have shown how the approach modularizes runtime code, in a way that appears applicable to any language or execution model. It isolates the hardware-specific portion from language behavior as well as from the language-driven placement of work onto resources, providing interfaces between them. 129.1847 + 129.1848 + The modularization reduces the effort of implementing a new language, especially for an embedded-style one where runtime creation is a significant portion of total effort. It causes the low level hardware portion to be reused by each language. And, the behavior implementation is simplified, by handling shared state inside the proto-runtime and exporting a sequential interface for the behavior module to use. The simplification reduces effort, as does reuse of the hardware-specific portion, reuse of behavior code from one language to another, reuse of assignment code, and familiarity with the modular structure by implementors. Overall effort reduction was supported by measurements of implementation effort. 129.1849 + 129.1850 +The proto-runtime approach makes it practical to maintain high overall runtime performance, with low effort for the language implementor. It is practical because high effort is put into performance-tuning the hardware-specific proto-runtime, which is then reused by each language. In this way the performance derived from the high tuning effort is inherited without extra effort by the language creators, thus amortizing the cost. 129.1851 + 129.1852 +Centralized services were implemented inside the proto-runtime portion, such as debugging facilities, automated verification, concurrency handling, hardware performance information gathering, and so on. We showed how they are reused by the languages. 129.1853 + 129.1854 +Although we didn't measure it, we indicated how application performance can be increased due to giving the language direct control over placement of work, to take advantage of data affinity or application-generated communication patterns. This ability is due to the assignment module, which provides the language implementor with control over which core work is assigned to, and the order of executing each work unit. 129.1855 + 129.1856 +Work on the proto-runtime approach is in its infancy, and much remains to be done, including: 129.1857 +\begin{itemize} 129.1858 +\item Creating related interfaces for use with distributed memory hardware, and interfaces for hierarchical runtimes, to improve performance on many-level hardware such as high-performance computers, and to tie together runtimes for different types of architecture, to cover heterogeneous architectures and machines. 129.1859 +\item Extending the proto-runtime interface to present hardware information that a work-assigner will need, but in a generic way that remains constant across many hardware configurations yet exposes all relevant information. 129.1860 +\item Exploring work assignment implementations that take advantage of language and application knowledge to improve placement of work to gain higher application performance. 129.1861 +\item Applying the proto-runtime approach to support a portability software stack, and supply OS services to applications via the proto-runtime, to further increase application-code portability. 129.1862 +\end{itemize} 129.1863 + 129.1864 + 129.1865 +\end{document} 129.1866 +============================================= 129.1867 +== 129.1868 +== 129.1869 +== 129.1870 +== 129.1871 +== 129.1872 +============================================= 129.1873 + 129.1874 +\section{The Problem} 129.1875 + 129.1876 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]] 129.1877 + 129.1878 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]] 129.1879 + 129.1880 +[[Bridge: effort to create = runtime + effort port = runtime + perf on new target = runtime]] 129.1881 + 129.1882 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]] 129.1883 + 129.1884 + 129.1885 +[[Claims: given big picture, runtime effort minimized -\textgreater modularize runtime, mod works across langs bec. fund patterns, mod sep lang logic from RT internals, mod makes internal reusable + lang inherit internal perf tune +inherit centralized serv, mod makes lang logic sequential, mod makes constructs reusable one lang to next, mod causes lang assigner to own HW]] 129.1886 + 129.1887 +While talking about the problems encountered by Domain Specific Languages (DSLs), we focus on implications for the runtime system, due to its central role in the claims. At the same time we will support the hypothesis that embedded-style DSLs are high-productivity for application programmers, have a low learning curve, and cause low disruption to current programming practices. While doing this we set the ground work for the next section, where we show that the main effort of implementing embedded-style DSLs is creating the runtime, and that when using the proto-runtime approach, embedded-style DSLs are low-effort to create and port and move the effort of porting for high performance out of the application and into the language. 129.1888 + 129.1889 +To give the needed depth, we'll first talk about a way to classify parallel languages according to the structure of their runtime (subsection \ref{subsec:ClassifyingLangs}). Then we'll talk about the sub-class of domain specific parallel languages, what sets them apart, and the implications for their runtime implementations (subsection \ref{subsec:DomSpecLangs}). That segues into the embedded style of language, and how the work of implementing them is mainly the work of implementing their runtime (subsection \ref{subsec:EmbeddedDSLs}). 129.1890 + 129.1891 +Once that reduction from parallel languages in general to embedded style domain specific ones in particular is done, we'll give more on what embedded style DSLs look like from an application programmer's view (subsection \ref{subsec:AppProgViewOfDSL}). We will include depth on a particular embedded-style language, showing sample code that uses the constructs, then delving into needs within the implementation of that language, and behavior of the constructs during a run (subsection []). 129.1892 + 129.1893 +The main implications for runtime systems, which were uncovered within the section, are summarized at the end (subsection []). 129.1894 + 129.1895 +\subsection{Classifying parallel languages by virtual processor based vs task based} 129.1896 +\label{subsec:ClassifyingLangs} 129.1897 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]] 129.1898 + 129.1899 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]] 129.1900 + 129.1901 +[[Bridge: effort to create = runtime + effort port = runtime + perf on new target = runtime]] 129.1902 + 129.1903 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]] 129.1904 + 129.1905 + 129.1906 +[[Claims: given big picture, runtime effort minimized -\textgreater modularize runtime, mod works across langs bec. fund patterns, mod sep lang logic from RT internals, mod makes internal reusable + lang inherit internal perf tune +inherit centralized serv, mod makes lang logic sequential, mod makes constructs reusable one lang to next, mod causes lang assigner to own HW]] 129.1907 + 129.1908 +One major axis for classifying parallel languages is whether they are virtual processor based or task based, which has implications for the structure of the runtime. 129.1909 + 129.1910 +A virtual processor is long-lived, and has a context that persists across suspend and resume, while a task has no preceding context to fit into and leaves no implied context when done. Posix threads is a standard example of a virtual processor based parallel language, as are UPC, Charm, TBB, and so forth. All of these create virtual processors (aka threads), which suspend when they invoke synchronizations and other parallel-language constructs then resume after the construct completes. Such virtual processors have their own private stack to save the information that is needed upon resume. 129.1911 + 129.1912 +In contrast, dataflow is a standard example of a task based language, as is CnC. For these languages, a task is passed all the information it needs at the point of creation, and is expected to run to completion. If a task needs to invoke a parallelism construct, that invocation normally ends the task, while information needed by following tasks is saved explicitly in shared variables, or passed to the runtime as a continuation that is then handed to the task created when the construct completes. 129.1913 + 129.1914 +Hybrids of the two also exist, such as OpenMP which implies thread creation, via the parallel-pragma, but also creates tasks via the for-pragma. As well, StarSs (OMPSs) mixes the two, with a main thread that creates meta-tasks that have to resolve their dependencies before being turned into executable tasks. Those tasks are also able to invoke barriers and other synchronization constructs, then resume. 129.1915 + 129.1916 +The runtime implementations of the two different types of execution model differ markedly. Virtual processor (VP) based runtimes have to create a stack for each VP created, and manage the interleaving of the CPU's hardware stack. They also require a mechanism to suspend and resume the VPs, and save them in internal structures while suspended. 129.1917 + 129.1918 +In contrast, task based runtimes need ultra-fast creation of tasks, and fast linkage from the end of one to the start of the next. They tend to keep the task-structures in a queue and discard them when complete. 129.1919 + 129.1920 +Hence, VP based runtimes revolve around storing suspended VPs inside structures that embody the constraints on when the VP can resume. But task based runtimes revolve around the conditions upon which to create new tasks, and the organization of the inputs to them. The runtimes for hybrid languages have characteristics of both. 129.1921 + 129.1922 + 129.1923 +\subsection{Domain specific parallel languages} 129.1924 +\label{subsec:DomSpecLangs} 129.1925 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]] 129.1926 + 129.1927 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]] 129.1928 + 129.1929 +[[Bridge: effort to create = runtime + effort port = runtime + perf on new target = runtime]] 129.1930 + 129.1931 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]] 129.1932 + 129.1933 + 129.1934 +[[Claims: given big picture, runtime effort minimized -\textgreater modularize runtime, mod works across langs bec. fund patterns, mod sep lang logic from RT internals, mod makes internal reusable + lang inherit internal perf tune +inherit centralized serv, mod makes lang logic sequential, mod makes constructs reusable one lang to next, mod causes lang assigner to own HW]] 129.1935 + 129.1936 +Now we'll talk about the sub-class of Domain Specific Languages (DSLs): what sets them apart from other parallel languages, how they potentially solve the issues with parallel programming, and the implications for their runtime implementations. 129.1937 + 129.1938 +DSLs can be any of the three basic language types (VP based, task-based or hybrid), but they are distinguished by having constructs that correspond to features of one narrow domain of applications. For example, we have implemented a DSL that is just for use in building hardware simulators [cite the HWSim wiki]. Its constructs embody the structure of simulators, and make building one fast and even simpler than when using a sequential language, as will be shown in Subsection []. The programmer doesn't think about concurrency, nor even about control flow, they simply define behavior of individual hardware elements and connect them to each other. 129.1939 + 129.1940 +It is this fit between language constructs and the mental model of the application that makes DSLs highly productive and easy to learn, at the same time, it is also what makes applications written in them more portable. Application patterns that have strong impact on parallel performance are captured as language constructs. The rest of the source code has less impact on parallel performance, so just porting the language is enough to get high performance on each hardware target. 129.1941 + 129.1942 +In practice, designing such a language is an art, and for some hardware targets, the language can become intrusive. For example, for porting to GPGPUs, their performance is driven by decomposition into many small, simple, kernels, which access memory in contiguous chunks. Fitting into this pattern forces rearrangement of the base sequential code, and even constrains choice of algorithm. Hence, a DSL that is portable to standard architectures as well as GPUs would place the GPU restrictions onto the code for all machines. However, much excellent work [polyhedral, others] is being done on automated tools to transform standard code to GPU form, which would lift the restrictions. Also, constructs such as the DKU pattern [] map well onto GPUs as well as standard hardware. 129.1943 + 129.1944 +\subsection{The embedded style of DSL} 129.1945 +\label{subsec:EmbeddedDSLs} 129.1946 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]] 129.1947 + 129.1948 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]] 129.1949 + 129.1950 +[[Bridge: effort to create = runtime + effort port = runtime + perf on new target = runtime]] 129.1951 + 129.1952 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]] 129.1953 + 129.1954 + 129.1955 +[[Claims: given big picture, runtime effort minimized -\textgreater modularize runtime, mod works across langs bec. fund patterns, mod sep lang logic from RT internals, mod makes internal reusable + lang inherit internal perf tune +inherit centralized serv, mod makes lang logic sequential, mod makes constructs reusable one lang to next, mod causes lang assigner to own HW]] 129.1956 + 129.1957 +We segue now into the embedded style of language, and show how the work of implementing them is mainly the work of implementing their runtime plus their complex domain constructs. We focus on embedded style domain specific languages because it is the least effort-to-create form of DSL, and making DSLs practical requires it to be low effort to create them and port them to various hardware targets. 129.1958 + 129.1959 + 129.1960 +An embedded-style language is one that uses the syntax of a base language, like C or Java, and adds constructs that are specific to the domain. An added construct may be expressed in custom syntax that is translated to into a library call, or else directly invoked by making a library call, as illustrated in Figure \ref{fig:EmbeddedEx}. Inside the library call, a primitive is used to escape the base language and enter the embedded language's runtime, which then performs the behavior of the construct. 129.1961 + 129.1962 + 129.1963 +\begin{figure}[h!tb] 129.1964 +{\noindent 129.1965 +{\footnotesize 129.1966 +{\normalsize Creating a new virtual processor (VP):} 129.1967 +\begin{verbatim} 129.1968 +newVP = SSR__create_VP( &top_VP_fn, paramsPtr, animatingVP ); 129.1969 +\end{verbatim} 129.1970 + 129.1971 +{\noindent {\normalsize sending a message between VPs:}} 129.1972 +\begin{verbatim} 129.1973 +SSR__send_from_to( messagePtr, sendingVP, receivingVP ); 129.1974 +\end{verbatim} 129.1975 + 129.1976 +{\noindent {\normalsize receiving the message (executed in a different VP):}} 129.1977 +\begin{verbatim} 129.1978 +messagePtr = SSR__receive_from_to( sendingVP, receivingVP ); 129.1979 +\end{verbatim} 129.1980 +} 129.1981 +} 129.1982 + 129.1983 +\caption 129.1984 +{Examples of invoking embedded-style constructs. 129.1985 +} 129.1986 +\label{fig:EmbeddedEx} 129.1987 +\end{figure} 129.1988 +An embedded-style language differs from a library in that it has a runtime system, and a way to switch from the behavior of the base language to the behavior inside the runtime. In contrast, libraries never leave the base language. Notice that this means, for example, that a posix threads library is not a library at all, but an embedded language. 129.1989 + 129.1990 +As a practical matter, embedded-style constructs normally have a thin wrapper that invokes the runtime. However, some DSLs perform significant effort inside the library before switching to the runtime, or else after returning from the runtime. These look more like traditional libraries, but still involve an escape from the base language and more importantly are designed to work in concert with the parallel aspects of the language. They concentrate key performance-critical aspects of the application inside the language, such as dividing work up, or, for example, implementing a solver for differential equations that accepts structures created by the divider. 129.1991 + 129.1992 +It is the appearance of constructs being library calls that brings the low-disruption benefit of embedded-style DSLs. The syntax is that of the base language, so the existing development tools and work flows remain intact when moving to an embedded style DSL. In addition, the fit between domain concepts and language constructs minimizes mental-model disruption when switching and makes the learning curve to adopt the DSL very low. 129.1993 + 129.1994 +\subsection{Application programmer's view of embedded-style DSLs} 129.1995 +\label{subsec:AppProgViewOfDSL} 129.1996 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]] 129.1997 + 129.1998 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]] 129.1999 + 129.2000 +[[Bridge: effort to create = runtime + effort port = runtime + perf on new target = runtime]] 129.2001 + 129.2002 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]] 129.2003 + 129.2004 + 129.2005 +[[Claims: given big picture, runtime effort minimized -\textgreater modularize runtime, mod works across langs bec. fund patterns, mod sep lang logic from RT internals, mod makes internal reusable + lang inherit internal perf tune +inherit centralized serv, mod makes lang logic sequential, mod makes constructs reusable one lang to next, mod causes lang assigner to own HW]] 129.2006 + 129.2007 +Well designed DSLs have very few constructs, yet capture the most performance-critical domain patterns, in a way that feels natural to the application programmer. This often means that data structures and usage patterns are part of the language. 129.2008 + 129.2009 +For example, a linear-equation-solving language would define a standard data structure for the coefficients of the equations, and supply a construct by which the language is asked to perform the work of solving them. This feels very much like a library, but the runtime system dynamically performs division of work according to the hardware, and implements communication between cores and a scheduler that load balances and tries to take advantage of data affinity and even computational accelerators. All of which puts performance in the hands of the runtime and is simple to use. 129.2010 + 129.2011 +An example of a DSL that we created using the proto-runtime approach is HWSim [], which is designed to be used for writing architectural simulators. 129.2012 + 129.2013 +When using HWSim, a simulator application is composed of just three things: netlist, behavior functions and timing functions. These are all sequential code that call HWSim constructs at boundaries, such as the end of behavior, and use HWSim supplied data structures. To use HWSim, one creates a netlist composed of elements and communication paths that connect them. A communication path connects an outport of the sending element to an inport of the receiving element. An action is then attached to the inport. The action is triggered when a communication arrives. The action has a behavior function, which changes the state of the element, and a timing function which calculates how much simulated time the behavior takes. 129.2014 + 129.2015 +The language itself consists of only a few standard data structures, such as \texttt{Netlist}, \texttt{Inport}, \texttt{Outport}, and a small number of constructs, such as \texttt{send\_comm} and \texttt{end\_behavior}. The advancement of simulated time is performed by a triggered action, and so is implied. The parallelism is also implied, by the only constraints on order of execution of actions being consistency. 129.2016 + 129.2017 +The only parallelism-related restriction is that a behavior function may only use data local to the element it is attached to. Parallel work is created within the system by outports that connect to multiple destination inports which means one output triggers multiple actions, and by behavior functions that generate multiple output communications each. 129.2018 + 129.2019 +Overall, simulator writers have fewer issues to deal with because time-related code has been brought inside the language, where it is reused across simulators, and because parallelism issues reduce to simply being restricted to data local to the attached element. Both these increase productivity of simulator writers, despite using a parallel language. The language has so few commands that it takes only a matter of days to become proficient (as demonstrated informally by new users of HWSim). Also, parallelism related constructs in the language are generic across hardware, eliminating the need to modify application code when porting to new hardware (if the language is used according to the recommended coding style). 129.2020 + 129.2021 +\subsection{Implementation of Embedded-style DSLs} 129.2022 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]] 129.2023 + 129.2024 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]] 129.2025 + 129.2026 +[[Bridge: effort to create = runtime + effort port = runtime + perf on new target = runtime]] 129.2027 + 129.2028 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]] 129.2029 + 129.2030 + 129.2031 +[[Claims: given big picture, runtime effort minimized -\textgreater modularize runtime, mod works across langs bec. fund patterns, mod sep lang logic from RT internals, mod makes internal reusable + lang inherit internal perf tune +inherit centralized serv, mod makes lang logic sequential, mod makes constructs reusable one lang to next, mod causes lang assigner to own HW]] 129.2032 + 129.2033 +When it comes to implementing an embedded-style of DSL, the bulk of the effort is in the runtime and the more complex domain specific constructs. 129.2034 + 129.2035 +Examples of constructs implemented for DSLs include Abstract Data Types (ADTs), like linked lists, hash tables, and priority queues. Also, full algorithms, like solvers for systems of equations, or even linear algebra operations on matrices. It will be seen in subsection[] that the proto-runtime approach causes the implementation for such constructs to be reused, with high performance, across all the hardware targets in a hardware class such as the class of shared-memory multi-core platforms. 129.2036 + 129.2037 +In addition, embedded style DSLs rely heavily on data types that are part of the language. These are often domain-specific such as \texttt{Netlist}, \texttt{Inport}, and \texttt{Outport} in HWSim, or \texttt{Protein} in a bio-informatics DSL, but can also be common such as \texttt{SparseMatrix} in domains like data mining and scientific applications. 129.2038 + 129.2039 + 129.2040 + During language design, common patterns that consume significant development time or computation are placed into the language. Also, any patterns that expose hardware configuration, such as the number and size of pieces of work should be pulled into the language to aid portability. 129.2041 + 129.2042 +If such design is successful then porting the application reduces to just porting the language. When the language has successfully captured the main computational patterns of the domain, then the application code encapsulates only a small portion of the performance, so it does not need to be tuned. Further, when patterns that expose hardware-motivated choices or hardware-specific commands are in the language, then the application code has nothing that needs to change when the hardware changes. 129.2043 + 129.2044 +For example, HWSim pulls hardware-specific patterns inside the language by handling all inter-core communications inside the language, and also by aggregating multiple elements together on the same core to tune work-unit size. 129.2045 + 129.2046 +The advantage of placing these into the language, instead of application code, is portability and productivity. 129.2047 + 129.2048 + 129.2049 +\subsection{Implementation Details of Embedded-style DSLs} 129.2050 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]] 129.2051 + 129.2052 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]] 129.2053 + 129.2054 +[[Bridge: effort to create = runtime + effort port = runtime + perf on new target = runtime]] 129.2055 + 129.2056 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]] 129.2057 + 129.2058 + 129.2059 +[[Claims: given big picture, runtime effort minimized -\textgreater modularize runtime, mod works across langs bec. fund patterns, mod sep lang logic from RT internals, mod makes internal reusable + lang inherit internal perf tune +inherit centralized serv, mod makes lang logic sequential, mod makes constructs reusable one lang to next, mod causes lang assigner to own HW]] 129.2060 + 129.2061 +? 129.2062 + 129.2063 +Figure [] shows\ the implementation of the wrapper library for HWSim's send\_and\_idle construct, which sends a communication on the specified outport, and then causes the sending element to go idle. Of note is the packaging of information for the runtime. It is placing into the HWSimSemReq data structure, and then the application work is ended by switching to the runtime. The switch is via the send\_and\_suspend call, which is a primitive implemented in assembly that jumps out of the base C language and into the runtime. 129.2064 + 129.2065 +The switch to the runtime can be done in multiple ways. Our proto-runtime uses assembly to manipulate the stack and registers. For posix threads language, when implemented in Linux, the hardware trap instruction is used to switch from application to the OS. The OS serves as the runtime that implements the thread behavior. 129.2066 + 129.2067 +The core is used by the construct implementation differently for VP based languages vs for task based languages. 129.2068 + 129.2069 +For VP based languages, once inside the runtime, a synchronization construct performs the behavior shown abstractly in Figure []. In essence, a synchronization construct is a variable length delay, which waits for activities outside the calling code to cause specific conditions to become true. These activities could be actions taken by other pieces of application code, such as releasing a lock, or they could be hardware related, such as waiting for a DMA transfer to complete. 129.2070 + 129.2071 +While one piece of application code (in a VP) is suspended, waiting, other pieces can use the core to perform their work, as long as the conditions for those other pieces are satisfied. Hence, the runtime's construct implementation checks if conditions are met, and if not stores the suspended piece (VP). If the construct can change conditions for others, it updates them. For example, the lock-release construct updates state for VPs waiting for the lock. Separately, for VPs whose conditions have been met, when a core becomes available, the runtime chooses which VP to assign to which core. 129.2072 + 129.2073 +These are the two behaviors a construct performs inside the runtime: managing conditions on which work is free, and managing assignment of free work onto cores. 129.2074 + 129.2075 +For task based languages, a task runs to completion then always switches to the runtime at the end. Hence, no suspend and resume exists. Once inside, the runtime's job is to track conditions on which tasks are ready to run, or which to create. For example, in dataflow, a task is created only once all conditions for starting it are met. Hence, the only language constructs are "instantiate a task-creator", "connect a task creator to others", and "end a task". During a run, all of the runtime behavior takes place inside the "end a task" construct, where the runtime sends outputs from the ending task to the inputs of connected task-creators. The "send" action modifies internal runtime state, which represents the order of inputs to a creator on all of its input ports. When all inputs are ready, it creates a new task, then when hardware is ready, assigns the task to a core. 129.2076 + 129.2077 + 129.2078 +One survey[] discusses DSLs for a variety of domains, and this list of DSLs was copied from their paper: 129.2079 +\begin{itemize} 129.2080 +\item In Software Engineering: Financial products [12, 22, 24], behavior control and coordination [9, 10], software architectures [54], and databases [39]. 129.2081 +\item Systems Software: Description and analysis of abstract syntax trees [77, 19, 51], video device driver specifications [76], cache coherence protocols [15], data structures in C [72], and operating system specialization [63]. 129.2082 +\item Multi-Media: Web computing [14, 35, 4, 33], image manipulation [73], 3D animation [29], and drawing [44]. 129.2083 +\item Telecommunications: String and tree languages for model checking [48], communication protocols [6], telecommunication switches [50], and signature computing [11]. 129.2084 +\item Miscellaneous: Simulation [2, 13], mobile agents [36], robot control [61], solving partial differential equations [26], and digital hardware design [41]. 129.2085 +\end{itemize} 129.2086 + 129.2087 +\subsection{Summary of Section} 129.2088 + [[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]] 129.2089 + 129.2090 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]] 129.2091 + 129.2092 +[[Bridge: effort to create = runtime + effort port = runtime + perf on new target = runtime]] 129.2093 + 129.2094 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]] 129.2095 + 129.2096 + 129.2097 +[[Claims: given big picture, runtime effort minimized -\textgreater modularize runtime, mod works across langs bec. fund patterns, mod sep lang logic from RT internals, mod makes internal reusable + lang inherit internal perf tune +inherit centralized serv, mod makes lang logic sequential, mod makes constructs reusable one lang to next, mod causes lang assigner to own HW]] 129.2098 + 129.2099 +This section illustrated the promise of DSLs for solving the issues with parallel programming. The HWSim example showed that well designed parallel DSLs can actually improve productivity, and have a low learning curve, as well as reduce the need for touching application code when moving to new target hardware. The section showed that the effort of implementing an embedded style DSL is mainly that of implementing its runtime and complex domain constructs, and that a well-designed DSL captures most of the performance-critical aspects of an application inside the DSL constructs. Hence, porting effort reduces to just performance-tuning the language (with caveats for some hardware). This effort is, in turn, reused by all the applications that use the DSL. 129.2100 + 129.2101 +The stumbling point of DSLs is the small number of users, after all, how many people write hardware simulators? Perhaps a few thousand people a year write or modify applications suitable for HWSim. That means the effort to implement HWSim has to be so low as to make it no more effort than writing a library, effectively a small percentage of a simulator project. 129.2102 + 129.2103 +The runtime is a major piece of the DSL implementation, so reducing the effort of implementing the runtime goes a long way to reducing the effort of implementing a new DSL. 129.2104 + 129.2105 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 129.2106 +\section{Description} 129.2107 +\label{sec:idea} 129.2108 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]] 129.2109 + 129.2110 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]] 129.2111 + 129.2112 +[[Bridge: effort to create = runtime + effort port = runtime + perf on new target = runtime]] 129.2113 + 129.2114 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]] 129.2115 + 129.2116 + 129.2117 +[[Claims: given big picture, runtime effort minimized -\textgreater modularize runtime, mod works across langs bec. fund patterns, mod sep lang logic from RT internals, mod makes internal reusable + lang inherit internal perf tune +inherit centralized serv, mod makes lang logic sequential, mod makes constructs reusable one lang to next, mod causes lang assigner to own HW]] 129.2118 + 129.2119 +? 129.2120 + 129.2121 + 129.2122 +Now that we have made the case that embedded style DSLs have potential to solve many parallel programming issues, and that a major obstacle to uptake of them is their implementation effort, we describe the proto-runtime concept and show how it addresses this obstacle to DSLs. As shown, embedded style DSL implementation effort and porting effort is mainly that of creating the runtime and implementing the more complex language constructs. We show here that the proto-runtime approach dramatically reduces the effort of creating a DSL runtime, through a number of features. 129.2123 + 129.2124 + 129.2125 +\begin{figure}[ht] 129.2126 + \centering 129.2127 + \includegraphics[width = 2in, height = 1.8in]{../figures/PR_three_pieces.pdf} 129.2128 + \caption{Shows how the proto-runtime approach modularizes the implementation of a runtime. The three pieces are the proto-runtime implementation, an implementation of the language construct behaviors, and an implementation of the portion of a scheduler that chooses which work is assigned to which processor. } 129.2129 + \label{fig:PR_three_pieces} 129.2130 +\end{figure} 129.2131 + 129.2132 + 129.2133 +The main feature is the proto-runtime's approach to modularizing the runtime code. As shown in Fig \ref{fig:PR_three_pieces}, it breaks the runtime into three pieces: a cross-language piece, which is the proto-runtime implementation, a piece that implements the language's constructs and plugs into the proto-runtime, and a piece that assigns work onto hardware and also plugs into the proto-runtime. 129.2134 + 129.2135 +The modularization appears to remain valid across parallel languages and execution models, and we present underlying patterns that support this observation. We analyze the basic structure of a synchronization construct, and point out how the proto-runtime modularization is consistent with it. 129.2136 + 129.2137 +\subsection{Creating an eDSL} 129.2138 + 129.2139 + 129.2140 +\begin{figure}[ht] 129.2141 + \centering 129.2142 + \includegraphics[width = 2in, height = 1.8in]{../figures/eDSL_two_pieces.pdf} 129.2143 + \caption{An embedded style DSL consists of two parts: a runtime and a wrapper library that invokes the runtime} 129.2144 + \label{fig:eDSL_two_pieces} 129.2145 +\end{figure} 129.2146 + 129.2147 +As shown in Fix \ref{fig:eDSL_two_pieces}, to create an embedded style DSL (eDSL), do two things: create the runtime and create a wrapper-library that invokes the runtime and also implements the more complex language constructs. 129.2148 + 129.2149 +As seen in Fig X, a library call that invokes a language construct is normally a thin wrapper that only communicates to the runtime. It places information to be sent to the runtime into a carrier, then invokes the runtime via a primitive. The primitive suspends the base language execution and switches the processor over to the runtime code. 129.2150 + 129.2151 +\subsection{The Proto-Runtime Modularization} 129.2152 + 129.2153 +\subsubsection{Dispatch pattern} 129.2154 +-- standardizes runtime code 129.2155 +-- makes familiar going from one lang to another 129.2156 +-- makes reuse realistic, as demonstrated by VSs taking SSR constructs 129.2157 + 129.2158 +-- show the enums, and the switch table 129.2159 + 129.2160 +-- point out how the handler receives critical info -- the semEnv, req struct and calling slave 129.2161 + 129.2162 +\subsubsection{The Request Handler} 129.2163 +-- cover what a request handler does.. connect it to the wrapper lib, and the info loaded into a request struct. 129.2164 + 129.2165 +-- give code of a request handler.. within on-going example of implementing pthreads, or possibly HWSim, or pick a new DSL 129.2166 + 129.2167 +\subsection{Exporting a performance-oriented machine view } 129.2168 +The proto-runtime interface exports a view of the machine that shows performance-critical aspects. Machines that share the same architectural approach have the same performance-critical aspects, and differ only in the values. 129.2169 + 129.2170 +For example, the interface models cache-coherent shared-memory architectures as a collection of memory pools connected by networks. The essential variations among processor-chips are the sizes of the pools, the connections between them, such as which cores share the same L2 cache, and the latency and bandwidth between them. 129.2171 + 129.2172 +Hence, a single plugin can be written that gathers this information from the proto-runtime and uses it when deciding which work to assign to which core. Such a plugin will then be efficient across all machines that share the same basic architecture. 129.2173 + 129.2174 +This saves significant effort by allowing the same plugin to be reused for all the machines in the category. 129.2175 + 129.2176 +\subsection{Services Provided by the Proto-runtime} 129.2177 + 129.2178 +-- Put services into the low-level piece.. plugins have those available, and inherit lang independent such as debugging, perf counters.. provides effort reduction because lang doesn't have to implement these services. 129.2179 + 129.2180 +-- -- examples of iherited lang services inside current proto-runtime: debugging and perf-tuning.. verification, playback have been started (?) 129.2181 + 129.2182 +-- -- examples of plugin services: creation of base VP, the switch primitives, the dispatch pattern (which reduces effort by cleanly separating code for each construct), handling consistency model (?), handling concurrency 129.2183 + 129.2184 +\subsection{eDSLs talking to each other} 129.2185 +-- show how VSs is example of three different DSLs, and H264 code is three different languages interacting (pthreads, OpenMP, StarSs) 129.2186 + 129.2187 +-- make case that proto-runtime is what makes this practical ! Their point of interaction is the common proto-runtime innards, which provides the interaction services.. they all use the same proto-runtime, and all have common proto-runtime objects, which is how the interaction becomes possible. 129.2188 + 129.2189 +\subsection{The Proto-runtime Approach Within the Big Picture} 129.2190 + 129.2191 +-- Give background on industry-wide, how have langs times machines.. 129.2192 +-- say that proto-runtime has synergistic advantages within this context. -- repeat that eDSLs talk to each other. 129.2193 +-- give subsubsection on MetaBorg for rewriting eDSL syntax into base lang syntax. 129.2194 +-- bring up the tools issue with custom syntax -- compiling is covered by metaborg re-writing.. can address debugging with eclipse.. should be possible in straight forward way that covers ALL eDSLs.. their custom syntax being stepped through in one window, and stepping through what they generate in separate window (by integrating generation step into eclipse).. even adding eclipse understanding of proto-runtime.. so tracks the sequence of scheduling units.. and shows the request handling in action in third window.. 129.2195 + 129.2196 +Preview idea that many players will contribute, and will get people that specialize in creating new eDSLs (such as one of authors).. 129.2197 +-- For them, code-reuse is reality, as supported by VSs example, 129.2198 +-- and the uniformity of the pattern becomes familiar, also speeding up development, as also supported by VSs, HWSim, VOMP, and DKU examples. 129.2199 +-- for those who only create a single eDSL, the pattern becomes a lowering of the learning curve, aiding adoption 129.2200 + 129.2201 +-- Restate and summarize the points below (covered above), showing how they combine to shrink the wide-spot where all the runtimes are. 129.2202 + 129.2203 +-- The low-level part implemented on each machine, exports a view of the machine that shows performance-critical aspects 129.2204 + 129.2205 +-- Collect machines into groups, based on performance critical aspects of hardware.. provides reduction in effort because only one plugin for entire group. 129.2206 + 129.2207 +-- Put services into the low-level piece.. plugins have those available, and inherit lang independent such as debugging.. provides effort reduction because lang doesn't have to implement these services. 129.2208 + 129.2209 + 129.2210 +\section{(outline and notes)} 129.2211 + 129.2212 +-- What a plugin looks like: 129.2213 + 129.2214 +-- -- pattern of parallel constructs.. ideas of Timeline, tie-point, animation, suspension, VP states, constraints, causality, work-units, meta-units, updates in constraint states attached to the meta-units 129.2215 + 129.2216 +-- -- a sych construct is something that creates a tie between two work-units. So, the logic of the construct simply establishes causality -- the ending of one work-unit causes the freedom to start animation of another. 129.2217 + 129.2218 +-- -- -- Examples: mutex is end of work-unit that frees lock causes freedom to start work-unit that gets the lock. They are causally tied. The semantics of the construct is the particular conditions existing inside the runtime (in this case ownership condition of a mutex), and what changes those conditions (in this case releasing lock removes one from owner, plus acquire-lock sets one as wanting the lock), and how freedom to be animated is affected by the changes in conditions (in this case, removal of ownership must precede gaining ownership) on what makes a work-unit free (in this case, being given ownership of the mutex), 129.2219 + 129.2220 +-- Hence, precisely, the parallelism model of the language defines constraints, which are implemented as state inside the runtime. Constructs provided do a number of things: signal bringing a set of constraints into existence (create a mutex), signal update to the state of those constraints (release mutex, state desire to acquire), and trigger the runtime to propagate those changes, which results in additional changes to states, including marking meta-units as free to be animated. cause creation of meta-units (explicitly as in VSs, or via creating entities that trigger creation as in dataflow, or via creating entities that consist of consecutive work-units as in pthreads). 129.2221 + 129.2222 + 129.2223 +-- Recipe for how to make the language plugin: time reduction is part due to simplifying the parallelism construct logic.. 129.2224 + 129.2225 + 129.2226 + 129.2227 + 129.2228 +\subsection{The Cross-language Patterns Behind the Proto-runtime} 129.2229 + 129.2230 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]] 129.2231 + 129.2232 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]] 129.2233 + 129.2234 +[[Bridge: effort to create = runtime + effort port = runtime + perf on new target = runtime]] 129.2235 + 129.2236 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]] 129.2237 + 129.2238 + 129.2239 +[[Claims: given big picture, runtime effort minimized -\textgreater modularize runtime, mod works across langs bec. fund patterns, mod sep lang logic from RT internals, mod makes internal reusable + lang inherit internal perf tune +inherit centralized serv, mod makes lang logic sequential, mod makes constructs reusable one lang to next, mod causes lang assigner to own HW]] 129.2240 + 129.2241 +An application switches to the runtime, which does scheduling work then switches back to application code. 129.2242 + 129.2243 + 129.2244 +\subsection{Some Definitions} 129.2245 + 129.2246 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]] 129.2247 + 129.2248 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]] 129.2249 + 129.2250 +[[Bridge: effort to create = runtime + effort port = runtime + perf on new target = runtime]] 129.2251 + 129.2252 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]] 129.2253 + 129.2254 + 129.2255 +[[Claims: given big picture, runtime effort minimized -\textgreater modularize runtime, mod works across langs bec. fund patterns, mod sep lang logic from RT internals, mod makes internal reusable + lang inherit internal perf tune +inherit centralized serv, mod makes lang logic sequential, mod makes constructs reusable one lang to next, mod causes lang assigner to own HW]] 129.2256 + 129.2257 +We adopt the concepts of work-unit, virtual processor (VP), animation, and tie-point as discussed in a previous paper []. A work-unit is the trace of instructions executed between two successive switches to the runtime, along with the data consumed and produced during that trace. A Virtual Processor is defined as being able to animate either the code of a work-unit or else another VP, and has state that it uses during animation, organized as a stack. Animation is definedd as causing time of a virtual processor to advance, which is equivalent to causing state changes according to instructions, while suspension halts animation, and consequently causes the end of a work-unit (a more complete definition of animation can be found in the dissertation of Halle[]). A tie-point connects the end of one work-unit to the beginning of one in a different VP, so a tie-point represents a causal relationship between two work-units, and establishes an ordering between those work-units, effectively tying the time-line of the VP animating one to the time-line of the VP animating the other work-unit. 129.2258 + 129.2259 +In addition, we introduce a definition of the word task, which is a single work-unit coupled to a virtual-processor that comes into existence to animate the work-unit and dissipates at completion of the work-unit. By definition of work-unit, a task cannot suspend, but rather runs to completion. If the language defines an entity that has a timeline that can be suspended by switching to the runtime, then such an entity is not a task. Pure Dataflow[] specifies tasks that fit our definition. 129.2260 + 129.2261 +\subsection{Handling Memory Consistency Models} 129.2262 + 129.2263 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]] 129.2264 + 129.2265 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]] 129.2266 + 129.2267 +[[Bridge: effort to create = runtime + effort port = runtime + perf on new target = runtime]] 129.2268 + 129.2269 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]] 129.2270 + 129.2271 + 129.2272 +[[Claims: given big picture, runtime effort minimized -\textgreater modularize runtime, mod works across langs bec. fund patterns, mod sep lang logic from RT internals, mod makes internal reusable + lang inherit internal perf tune +inherit centralized serv, mod makes lang logic sequential, mod makes constructs reusable one lang to next, mod causes lang assigner to own HW]] 129.2273 + 129.2274 +Weak memory models can cause undesired behavior when work-units on different cores communicate through shared variables. Specifically, the receiving work-unit can see memory operations complete in a different order than the code of the sending work-unit specifies. 129.2275 + 129.2276 +For example, consider a proto-runtime implemented on shared memory hardware that has a weak consistency model, along with a language that implements a traditional mutex lock. All memory operations performed in the VP that releases the lock should be seen as complete by the VP that next acquires the lock. 129.2277 + 129.2278 +It is up to the proto-runtime to enforce this, using hardware primitives. It has to ensure that all memory operations performed, by a task or VP, before switching to the runtime are completed before any dependent task or VP is switched into from the runtime. More precisely, the proto-runtime has to ensure that all memory operations performed by a work-unit are visible in program order to any tied work-units. In some cases the language plugin has to alert the proto-runtime of the causality between work-units. 129.2279 + 129.2280 + 129.2281 +The proto-runtime does not, however, protect application code that attempts to communicate between VPs or tasks directly, without using a parallelism construct to protect the communication. 129.2282 + 129.2283 + 129.2284 + 129.2285 +======= 129.2286 + 129.2287 + I plan to explain VMS as a universal pattern that exists in all runtimes: that is, that the application switches to runtime, which does a scheduling decision and then switches back. I'll explain it first with just master and slaves, leaving out the core\_loop. Explain it as a normal runtime that has had two key pieces removed and replaced with interfaces. The language supplies the missing pieces. Then, introduce the core\_loop stuff as a performance enhancement used when lock acquisition dominates (as it does on the 4 socket 40 core machine). 129.2288 + Next, give HWSim as an example of a real domain specific (it's working, ref manual attached), and focus on how the modularity allowed pulling constructs from other languages (singleton and atomic), and a breakdown of implementation time vs design time, and so on. Highlight how VMS's features for productivity and encapsulation solve the practical problems for domain-specific languages. 129.2289 + Finally, show that VMS performance is good enough, by going head-to-head with pthreads and OpenMP (doing a VMS OpenMP implementation now). And also StarSs if I have time. I'll run overhead-measuring on them, and also regular benchmarks. 129.2290 + 129.2291 +================= 129.2292 + 129.2293 +\subsection{The patterns} 129.2294 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]] 129.2295 + 129.2296 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]] 129.2297 + 129.2298 +[[Bridge: effort to create = runtime + effort port = runtime + perf on new target = runtime]] 129.2299 + 129.2300 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]] 129.2301 + 129.2302 + 129.2303 +[[Claims: given big picture, runtime effort minimized -\textgreater modularize runtime, mod works across langs bec. fund patterns, mod sep lang logic from RT internals, mod makes internal reusable + lang inherit internal perf tune +inherit centralized serv, mod makes lang logic sequential, mod makes constructs reusable one lang to next, mod causes lang assigner to own HW]] 129.2304 + 129.2305 + 129.2306 +Soln: modularize runtime, to reduce part have to mess with, hide part that has low-level details, reuse low-level tuning effort, and reuse lang-spec parts. 129.2307 + 129.2308 +Benefits: lang impl doesn't have to touch low-level details, inherit centralized services, can reuse code from other languages to add features. 129.2309 + 129.2310 +Performance must be high, or the labor savings don't matter. By isolating the low-level details inside the proto-runtime, they can be intensively tuned, then all the languages inherit the effort. 129.2311 + 129.2312 +Part of what makes this so easy is the dispatch pattern.. adding a construct reduces to adding into switch and writing handler.. borrow constructs by taking the handler from the other lang. 129.2313 + 129.2314 +By isolating the low-level details inside the proto-runtime, they can be intensively tuned, then all the languages inherit the effort. Compare that to current practices, where the runtime code is monolithic.. each language has to separately modify the runtime, understanding and dealing with the concurrency, and then on a new machine, each language has to re-tune the low-level details, worrying about the consistency model on that machine, how its particular fence and atomic instructions work, and so on. 129.2315 +We spent 2 months performance tuning the current version, but only 18 hours implementing VSs on top of it, and VSs inherited the benefit from all that effort. So did VOMP, and SSR, and VCilk, and so on.. each time we improved the proto-runtime, all the languages improved, with no effort on the part of the language creator. 129.2316 + 129.2317 + 129.2318 +\subsubsection{Views of synchronization constructs} 129.2319 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]] 129.2320 + 129.2321 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]] 129.2322 + 129.2323 +[[Bridge: effort to create = runtime + effort port = runtime + perf on new target = runtime]] 129.2324 + 129.2325 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]] 129.2326 + 129.2327 + 129.2328 +[[Claims: given big picture, runtime effort minimized -\textgreater modularize runtime, mod works across langs bec. fund patterns, mod sep lang logic from RT internals, mod makes internal reusable + lang inherit internal perf tune +inherit centralized serv, mod makes lang logic sequential, mod makes constructs reusable one lang to next, mod causes lang assigner to own HW]] 129.2329 + 129.2330 +One view of sync constructs is that they are variable-length calls. The 129.2331 +basic hardware does this by stalling the pipeline. 129.2332 + 129.2333 +Another view is that they mark the boundary of a communication made via shared read/write. A load or store of a single location has a precise boundary enforced by the hardware, but if a pipeline desires to load, modify, then write a single location it has to have additional hardware. It has to make the multiple primitive load/store operations appear as a single operation. 129.2334 + 129.2335 +Moving up to the application level, the same pattern exists: an operation the application wants to do may involve many loads and stores, but it wants the collection to appear as a single indivisible operation. So the application-level equivalent of a load or store involves multiple memory locations but is to be treated as a single indivisible operation. This requires the application-level equivalent of the hardware that made the read-modify-write into a single indivisible operation. That equivalent is what a synchronization construct is. The reason a sync construct takes a variable amount of time is that it waits until all other indivisible operations that might conflict have completed. 129.2336 + 129.2337 +Another way to think of the sync construct is that it enforces sharp communication boundaries. The multiple read and write operations are treated as a single communication with the shared-state. If any other part of the application sees only part of the communication, it sees something inconsistent and thus wrong. So the sync constructs ensure that communications are complete, so the parts of the application only see complete communications from other parts. 129.2338 + 129.2339 +\subsubsection{Universal Runtime Patterns} 129.2340 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]] 129.2341 + 129.2342 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]] 129.2343 + 129.2344 +[[Bridge: effort to create = runtime + effort port = runtime + perf on new target = runtime]] 129.2345 + 129.2346 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]] 129.2347 + 129.2348 + 129.2349 +[[Claims: given big picture, runtime effort minimized -\textgreater modularize runtime, mod works across langs bec. fund patterns, mod sep lang logic from RT internals, mod makes internal reusable + lang inherit internal perf tune +inherit centralized serv, mod makes lang logic sequential, mod makes constructs reusable one lang to next, mod causes lang assigner to own HW]] 129.2350 + 129.2351 +Unified pattern within parallel languages: create multiple timelines, then control relative progress of them, and control location each chunk of progress takes place. 129.2352 + 129.2353 +Another universal pattern: code runs, switches to runtime, some point later switches back to code, making application run be a collection of trace segments bounded by runtime calls. 129.2354 +The runtime tracks constraints (dependencies) among units, creates and destroys units, and assigns ready units to hardware. 129.2355 + 129.2356 +Units have a life-line, which is fundamental to parallel computation, as demonstrated in a paper by some of the authors []. 129.2357 + 129.2358 +Every unit has a meta-unit that represents it in the runtime. A unit is defined as the trace of application code that exists between two scheduling decisions. Looking at this in more detail, every runtime has some form of internal bookkeeping state for a unit, used to track constraints on it and make decisions about when and where to execute. This exists even if that state is just a pointer to a function that sits in a queue. We call this bookkeeping state for a unit the meta-unit. 129.2359 + 129.2360 +Each unit also has a life-line, which progresses so: creation of the meta-unit \pointer , state updates that affect constraints on the unit \pointer, the decision is made to animate the unit \pointer, movement of the meta-unit plus data to physical resources that do the animation \pointer , animation of the unit, which does the work \pointer, communication of state-update, that unit has completed, and hardware is free \pointer , constraint updates within runtime, possibly causing new meta-unit creations or freeing other meta-units to be chosen for animation. This repeats for each unit. Each step is part of the model. 129.2361 + 129.2362 +Note a few implications: first, many activities internal to the runtime are part of a unit's life-line, and take place when only the meta-unit exists, before or after the work of the actual unit; second, communication that is internal to the runtime is part of the unit life-line, such as state updates; third, creation may be implied, such as in pthreads, or triggered such as in dataflow, or be by explicit command such as in StarSs, and once created, a meta-unit may languish before the unit it represents is free to be animated. 129.2363 + 129.2364 +\subsubsection{Putting synchronization constructs together with universal runtime patterns} 129.2365 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]] 129.2366 + 129.2367 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]] 129.2368 + 129.2369 +[[Bridge: effort to create = runtime + effort port = runtime + perf on new target = runtime]] 129.2370 + 129.2371 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]] 129.2372 + 129.2373 + 129.2374 +[[Claims: given big picture, runtime effort minimized -\textgreater modularize runtime, mod works across langs bec. fund patterns, mod sep lang logic from RT internals, mod makes internal reusable + lang inherit internal perf tune +inherit centralized serv, mod makes lang logic sequential, mod makes constructs reusable one lang to next, mod causes lang assigner to own HW]] 129.2375 + 129.2376 +Putting these together, gives us that any parallelism construct that has a synchronization behavior causes the end of a work-unit, and a switch to the runtime. The code following the construct is a different work-unit that will begin after the constraint implied by the construct is satisfied. 129.2377 + 129.2378 +The runtime is made up of the infrastructure for the constraints and assignment, such as communicating bookkeeping state between cores, and protecting internal runtime updates of shared information. Plus, the logic of the constructs and logic of choosing an assignment of work to cores. 129.2379 + 129.2380 +For large machines, the infrastructure dominates the time to execute a parallelism construct, while for smaller machines, like single-socket, the logic of constructs and assignments has a chance to be significant. 129.2381 + 129.2382 +\begin{figure}[ht] 129.2383 + \centering 129.2384 + \includegraphics[width = 2in, height = 1.8in]{../figures/SCG_stylized_for_expl.pdf} 129.2385 + \caption{Something to help understanding} 129.2386 + \label{fig:SCG_expl} 129.2387 +\end{figure} 129.2388 + 129.2389 + 129.2390 + 129.2391 + 129.2392 +%%%%%%%%%%%%%%%%%%%%% 129.2393 +\section{The Details} 129.2394 +[[Hypothesis: Embedded-style DSLs -> high productivity + low learning curve + low disruption + low app-port AND quick time to create + low effort to lang-port + high perf across targets]] 129.2395 +[[Claims: modularize runtime, mod is fund patterns, mod sep lang logic from RT internals, mod makes internal reusable & lang inherit internal perf tune & inherit centralized serv, mod makes lang logic sequential, mod makes constructs reusable one lang to next, mod causes lang assigner to own HW]] 129.2396 + 129.2397 +The interfaces between lang logic and proto-runtime. 129.2398 + 129.2399 +Demonstrate: modular runtime, how reduces part have to mess with, hides part that has low-level details, reuses low-level tuning effort, and reuses lang-spec parts. 129.2400 + 129.2401 +Demonstrate Benefits: lang impl doesn't touch low-level details, inherits centralized services (debug support), reuses code from other languages to add features. 129.2402 + 129.2403 +\subsection{Reuse of Language Logic} 129.2404 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]] 129.2405 + 129.2406 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]] 129.2407 + 129.2408 +[[Bridge: effort to create = runtime + effort port = runtime + perf on new target = runtime]] 129.2409 + 129.2410 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]] 129.2411 + 129.2412 + 129.2413 +[[Claims: given big picture, runtime effort minimized -\textgreater modularize runtime, mod works across langs bec. fund patterns, mod sep lang logic from RT internals, mod makes internal reusable + lang inherit internal perf tune +inherit centralized serv, mod makes lang logic sequential, mod makes constructs reusable one lang to next, mod causes lang assigner to own HW]] 129.2414 + 129.2415 +Demonstrate reuse of language logic: 129.2416 +All the languages have copied singleton, atomic, critical section and transaction. In VOMP, took the task code from VSS, in VSS, took the send and receive code from SSR.. for DKU, took the code almost verbatim from earlier incarnation of these ideas, and welded it into SSR, and took VSs tasks and put into SSR. Thus, circle completes.. VSs took from SSR, now SSR takes from VSs.. pieces and parts are being borrowed all over the place and welded in where they're needed. 129.2417 + 129.2418 +Part of what makes this so easy is the dispatch pattern.. adding a construct reduces to adding into switch and writing handler.. borrow constructs by taking the handler from the other lang. 129.2419 + 129.2420 +Another part is that code for the constructs is isolated from concurrency details, which are inside the proto-runtime. All the dynamic system issues, and best way to impl locks, and need for fences, and so on is isolated from the construct logic. This isolation is also how porting effort is lowered (or in many cases eliminated), and is how runtime performance is kept high. 129.2421 + 129.2422 +? 129.2423 + 129.2424 +Performance must be high, or the labor savings don't matter. By isolating the low-level details inside the proto-runtime, they can be intensively tuned, then all the languages inherit the effort. Compare that to current practices, where the runtime code is monolithic.. each language has to separately modify the runtime, understanding and dealing with the concurrency, and then on a new machine, each language has to re-tune the low-level details, worrying about the consistency model on that machine, how its particular fence and atomic instructions work, and so on. 129.2425 +We spent 2 months performance tuning the current version, but only 18 hours implementing VSs on top of it, and VSs inherited the benefit from all that effort. So did VOMP, and SSR, and VCilk, and so on.. each time we improved the proto-runtime, all the languages improved, with no effort on the part of the language creator. 129.2426 + 129.2427 +? 129.2428 + 129.2429 +In addition to runtime performance, application level performance must be high. The runtime's performance only affects overhead, and so is only a factor for small work-unit (task) sizes. But data affinity affects performance for all work. 129.2430 + 129.2431 +The proto-runtime approach partially addresses this by giving the language the opportunity to directly control placement of work. This isn't possible when building on top of threads, because the scheduling is in a separate, lower-level, layer where assignment of work to core is made in isolation, blind to language constructs and 129.2432 +other application features. 129.2433 + 129.2434 + 129.2435 + 129.2436 + 129.2437 +%%%%%%%%%%%%%%%%%%%%% 129.2438 +\section{Measurements} 129.2439 + 129.2440 +\subsection{Implementation time} 129.2441 + 129.2442 + 129.2443 +\subsection{Runtime and Application Performance} 129.2444 + 129.2445 + 129.2446 +%%%%%%%%%%%%%%%%%%%%% 129.2447 +\section{Related Work} 129.2448 + 129.2449 + 129.2450 +%%%%%%%%%%%%%%%%%%%%% 129.2451 +\section{Conclusion and Future Work} 129.2452 +\label{sec:conclusion} 129.2453 + 129.2454 + 129.2455 + 129.2456 +\end{document} 129.2457 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 129.2458 +Here is an example of netlist creation: 129.2459 + 129.2460 +The circuit has two elements, each with one input port, one output port, and a single activity-type. The elements are cross-coupled, so output port of one connects to input port of the other. The input port has the activity-type attached as its trigger. The activity is empty, and just sends a NULL message on the output port. The activity's duration in simulated time and the resulting communication's flight duration in simulated time are both constants. 129.2461 + 129.2462 + Note that HWSimElem data type is generic. An elem is specialized by declaring inports and outports, and by connecting activity types to in-ports. Behavior is attached to an element by attaching activity types to in-ports of the element. 129.2463 + 129.2464 +First, here is the top-level function that creates and returns the netlist structure: 129.2465 + 129.2466 +To use HWSim, one creates a netlist composed of elements and communication paths connecting them. An element has a number of in-ports and outports, and a communication path connects an outport of the source element to an inport of the destination elements. The inport has an action attached, which in turn has a behavior function and a timing function, both of which are triggered by the arrival of a communication. The behavior function has local persistent state of the element available to use, and can generate out-going communications. The timing function calculates how much Guest (simulated) time the behavior spanned. In addition, communication paths have an attached function that calculates time from being sent until arrival of the communication. Both the behavior and timing function are application-programmer provided. The entire simulator application is composed of those three things: netlist, behavior functions and timing functions, and all are sequential code. 129.2467 + 129.2468 +The embedded DSL consists of standard data structures, such as netlist, inport, outport, that the application must use in the language-defined way, and a small number of language calls, such as send_comm and end_behavior. The advancement of simulated time is implied, and the parallelism is implied. The only parallelism-related restriction is that a behavior function may only use data local to the element it is attached to. If state in the hardware is shared, such as registers or memory, then other elements access that state by sending communications to the element that contains the state. Parallelism is created within the system by outports that connect to muliple destination inports, and by behavior functions that generate multiple output communications each. 129.2469 + 129.2470 + 129.2471 +\begin{small}\begin{verbatim} 129.2472 +HWSimNetlist * 129.2473 +createPingPongNetlist() 129.2474 + { HWSimNetlist *netlist; 129.2475 + HWSimElem **elems; 129.2476 + HWSimActivityType **activityTypes; 129.2477 + HWSimCommPath **commPaths; 129.2478 + int32 numElems, numActivityTypes, numCommPaths; 129.2479 +\end{verbatim}\end{small} 129.2480 + 129.2481 +The first thing to do is create the netlist structure, which holds three things: element structs, activity type structs, and communication path structs. It also has two collections of pointers to the traces collected during the run, but these are handled internally by HWSim. 129.2482 +\begin{small}\begin{verbatim} 129.2483 + netlist = malloc( sizeof(HWSimNetlist) ); 129.2484 + 129.2485 + numElems = 2; 129.2486 + elems = malloc( numElems * sizeof(HWSimElem *) ); 129.2487 + 129.2488 + numCommPaths = 2; 129.2489 + commPaths = malloc( numCommPaths * sizeof(HWSimCommPath *) ); 129.2490 + 129.2491 + numActivityTypes = 1; 129.2492 + activityTypes = malloc( numActivityTypes * sizeof(HWSimActivityType *) ); 129.2493 + 129.2494 + netlist->numElems = numElems; 129.2495 + netlist->elems = elems; 129.2496 + netlist->numCommPaths = numCommPaths; 129.2497 + netlist->commPaths = commPaths; 129.2498 + netlist->numActivityTypes = numActivityTypes; 129.2499 + netlist->activityTypes = activityTypes; 129.2500 +\end{verbatim}\end{small} 129.2501 + 129.2502 +Now, create the activity types. During the run, an activity instance is created each time a communication arrives on an in-port. The activity instance is a data structure that points to the activity type. The activity type holds the pointers to the behavior and timing functions. 129.2503 +\begin{small}\begin{verbatim} 129.2504 + //have to create activity types before create elements 129.2505 + //PING_PONG_ACTIVITY is just a #define for readability 129.2506 + netlist->activityTypes[PING_PONG_ACTIVITY] = createPingPongActivityType(); 129.2507 +\end{verbatim}\end{small} 129.2508 + 129.2509 +Next, create the elements, and pass the netlist structure to the creator. It will take pointers to activity types out of the netlist and place them into the in-ports of the elements. 129.2510 +\begin{small}\begin{verbatim} 129.2511 + elems[0] = createAPingPongElem( netlist ); //use activity types from netlist 129.2512 + elems[1] = createAPingPongElem( netlist ); 129.2513 +\end{verbatim}\end{small} 129.2514 + 129.2515 +Now, the reset in-port of one of the elements has to be set up to trigger an activity. Every element has a reset in-port, but normally they are set to NULL activity type. Here, we want only one of the two elements to have an activity triggered when the reset signal is sent to start the simulation. 129.2516 + 129.2517 +Note that during initialization, all the elements become active, each with its own timeline, but unless an activity is triggered in them they remain idle, with their timeline suspended and not making progress. Only ones that have an activity type attached to their reset in-port will begin to do something in simulated time when simulation starts. 129.2518 +\begin{small}\begin{verbatim} 129.2519 + //make reset trigger an action on one of the elements 129.2520 + elems[1]->inPorts[-1].triggeredActivityType = 129.2521 + netlist->activityTypes[PING_PONG_ACTIVITY]; 129.2522 +\end{verbatim}\end{small} 129.2523 + 129.2524 +Now, connect the elements together by creating commPath structures. A comm path connects the out-port of one element to the in-port of another. A given port may have many comm paths attached. However, an in-port has only one kind of activity type attached, and all incoming communications fire that same activity. There are multiple kinds of activity, including kinds that have no timing, and so can act as a dispatcher. These end themselves with a continuation activity, which is chosen according to the code in the behavior function. So, a commPath only connects an out port to an in port. 129.2525 + 129.2526 +This code sets fixed timing on the comm paths. It also uses a macro for setting the connections. The format is: sending elem-index, out-port, dest elem-index, in-port: 129.2527 +\begin{small}\begin{verbatim} 129.2528 + //elem 0, out-port 0 to elem 1, in-port 0 129.2529 + commPaths[0]= malloc(sizeof(HWSimCommPath)); 129.2530 + setCommPathValuesTo(commPaths[0],0,0,1,0); 129.2531 + commPaths[0]->hasFixedTiming = TRUE; 129.2532 + commPaths[0]->fixedFlightTime = 10; //all time is stated in (integer) units 129.2533 + 129.2534 + //elem 1, out-port 0 to elem 0, in-port 0 129.2535 + commPaths[1]= malloc(sizeof(HWSimCommPath)); 129.2536 + setCommPathValuesTo(commPaths[1], 1,0,0,0); 129.2537 + commPaths[1]->hasFixedTiming = TRUE; 129.2538 + commPaths[1]->fixedFlightTime = 10; //all time is stated in (integer) units 129.2539 +\end{verbatim}\end{small} 129.2540 + 129.2541 +done building netlist, return it 129.2542 +\begin{small}\begin{verbatim} 129.2543 + return netlist; 129.2544 + } 129.2545 +\end{verbatim}\end{small} 129.2546 + 129.2547 +The macro that sets the connections inside a comm path struct 129.2548 +\begin{small}\begin{verbatim} 129.2549 +#define setCommPathValuesTo( commPath, fromElIdx, outPort, toElIdx, inPort)\ 129.2550 +do{\ 129.2551 + commPath->idxOfFromElem = fromElIdx; \ 129.2552 + commPath->idxOfFromOutPort = outPort; \ 129.2553 + commPath->idxOfToElem = toElIdx; \ 129.2554 + commPath->idxOfToInPort = inPort; \ 129.2555 + }while(0); //macro magic for namespace 129.2556 +\end{verbatim}\end{small} 129.2557 + 129.2558 +Creating an element involves creating arrays for the in-ports and out-ports, then configuring the in-ports. The out-ports are automatically filled in during simulation start-up, by HWSim. The most interesting feature is that each in-port is assigned an activity type, which all arriving communications trigger. During the simulation, each incoming communication creates an activity instance, which points to this triggered activity type. The behavior and timing of the instance are calculated by the behavior and timing functions in the activity type. Notice that the activity type pointers are taken from the netlist, so they have to be created before creating the elements. 129.2559 +\begin{small}\begin{verbatim} 129.2560 +HWSimElem * 129.2561 +createAPingPongElem( HWSimNetlist *netlist ) 129.2562 + { HWSimElem *elem; 129.2563 + elem = malloc( sizeof(HWSimElem) ); 129.2564 + elem->numInPorts = 1; 129.2565 + elem->numOutPorts = 1; 129.2566 + elem->inPorts = HWSim_ext__make_inPortsArray( elem->numInPorts ); 129.2567 + elem->inPorts[-1].triggeredActivityType = IDLE_SPAN; //reset port 129.2568 + elem->inPorts[0].triggeredActivityType = netlist->activityTypes[PING_PONG_ACTIVITY]; 129.2569 + return elem; 129.2570 + } 129.2571 +\end{verbatim}\end{small} 129.2572 + 129.2573 +Creating an activity type involves setting the pointers to the behavior and timing functions, which are defined inside a separate directory where all the behavior and timing functions are defined. An activity may have behavior set to NULL, or timing set to NULL, and may have fixed timing. The structure has flags to state the combination. 129.2574 +\begin{small}\begin{verbatim} 129.2575 +HWSimActivityType * 129.2576 +createPingPongActivityType( ) 129.2577 + { HWSimActivityType *pingPongActivityType; 129.2578 + pingPongActivityType = malloc( sizeof(HWSimActivityType) ); 129.2579 + 129.2580 + pingPongActivityType->hasBehavior = TRUE; 129.2581 + pingPongActivityType->hasTiming = TRUE; 129.2582 + pingPongActivityType->timingIsFixed = TRUE; 129.2583 + pingPongActivityType->fixedTime = 10; 129.2584 + pingPongActivityType->behaviorFn = &pingPongElem_PingActivity_behavior; 129.2585 + return pingPongActivityType; 129.2586 + } 129.2587 +\end{verbatim} \end{small} 129.2588 + 129.2589 + 129.2590 +========= 129.2591 + 129.2592 +All behavior functions take a ptr to the activity instance they are executing the behavior of. The instance contains a pointer to the elem, and most behaviors will use the element's elemState field. It holds all the persistent state of the element, which remains between activities. 129.2593 + 129.2594 +Here is the behavior function from the ping-pong example: 129.2595 +\begin{small}\begin{verbatim} 129.2596 +void 129.2597 +pingPongElem_PingActivity_behavior( HWSimActivityInst *activityInst ) 129.2598 + { //NO_MSG is #define'd to NULL, and PORT0 to 0 129.2599 + HWSim__send_comm_on_port_and_idle( NO_MSG, PORT0, activityInst ); 129.2600 + } 129.2601 +\end{verbatim}\end{small} 129.2602 + 129.2603 +There are four ways a behavior can end: 129.2604 +\begin{description} 129.2605 +\item end, no continuation: 129.2606 +\begin{small}\begin{verbatim} HWSim__end_activity_then_idle( HWSimActivityInst *endingActivityInstance )\end{verbatim}\end{small} 129.2607 +\item end, with continuation: 129.2608 +\begin{small}\begin{verbatim} HWSim__end_activity_then_cont( HWSimActivityInst *endingActivityInstance, 129.2609 + HWSimActivityType *continuationActivityType)\end{verbatim}\end{small} 129.2610 +\item end by sending a communication, with no continuation: 129.2611 +\begin{small}\begin{verbatim} HWSim__send_comm_on_port_then_idle( void *msg, int32 outPort, 129.2612 + HWSimActivityInst *endingActivityInstance)\end{verbatim}\end{small} 129.2613 +\item end by sending a communication, with continuation: 129.2614 +\begin{small}\begin{verbatim} HWSim__send_comm_on_port_then_cont( void *msg, int32 outPort, 129.2615 + HWSimActivityInst *endingActivityInstance 129.2616 + HWSimActivityType *continuationActivityType)\end{verbatim}\end{small} 129.2617 + 129.2618 + 129.2619 +============= 129.2620 + 129.2621 + 129.2622 +\subsection{Activity Timing Functions} 129.2623 +All activity timing functions take a ptr to the activity instance they are calculating the timing of. The instance contains a pointer to the element the activity is in. The behavior function is free to communicate to the timing function by leaving special data inside the element state. The timing function might also simply depend on the current state of the element. 129.2624 + 129.2625 +Here's an example: 129.2626 +\begin{small}\begin{verbatim} 129.2627 +HWSimTimeSpan 129.2628 +sampleElem_sampleActivity_timing( HWSimActivityInst *activityInst ) 129.2629 + { 129.2630 + return doSomethingWithStateOfElem( sendingActivity->elem->elemState ); 129.2631 + } 129.2632 +\end{verbatim}\end{small} 129.2633 + 129.2634 +\subsection{Calculating the time-in-flight of a communication path} 129.2635 + 129.2636 +The timing function for a communication path is similar to that of an activity. Except, the timing might also depend on configuration data or state stored inside the comm path struct, so that is passed to the timing function as well. 129.2637 + 129.2638 +\begin{small}\begin{verbatim} 129.2639 +HWSimTimeSpan 129.2640 +commPath_TimeSpanCalc( HWSimCommPath *commPath, HWSimActivityInst *sendingActivity ) 129.2641 + { return doSomethingWithStateOfPathAndElem( commPath, sendingActivity->elem->elemState ); 129.2642 + } 129.2643 +\end{verbatim}\end{small} 129.2644 + 129.2645 + 129.2646 + 129.2647 +
130.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 130.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/latex/Paper_Design_2.txt Fri Sep 13 11:02:18 2013 -0700 130.3 @@ -0,0 +1,32 @@ 130.4 + 130.5 +====== 130.6 + 130.7 +Details of VMS interface, details of its impl on multi-core, details of differences on different machines. 130.8 + 130.9 +wrapper-lib calls VMS-supplied primitive that suspends the virtual-processor calling the lib, and sends a request to VMS. VMS calls lang-supplied plugin to handle requests -- this is the part of the scheduler that handles constraints -- it determines which virt-processors must remain suspended, and which are free to be re-animated. 130.10 + 130.11 +The language is implemented as either a collection of wrapper-lib calls embedded into the base language, or as custom syntax that uses uses the VMS-supplied primitive to suspend virtual processors and send requests to VMS. 130.12 + 130.13 + 130.14 +VMS is invisible to the application, only language constructs are visible. From the application-programmer point of view, the embedded version looks like a function call, albeit the data-struc of the virtual-processor animating the code has to be passed as a parameter to the wrapper-lib call. 130.15 + 130.16 +Hence, VMS is invisible to the application, only language constructs are visible. 130.17 + 130.18 +The wrapper-lib call is standard library code that is loaded along with the application executable. 130.19 + 130.20 +However, VMS primitives may be hardware-implemented, or loaded as OS modules, or dynamic or static libraries. Rhey are naturally custom instructions, but may be emulated by software. 130.21 + 130.22 +The interface between application-executable and language-runtime is the VMS-primitive that sends a request to VMS. The language-runtime receives the request under control of VMS, which calls a language-supplied request-handling function and passes the request as a parameter. This passive behavior of the request handler leaves control-flow inside VMS, which is part of hiding concurrency from the language-runtime implementation. 130.23 + 130.24 +The interface between the runtime and VMS is VMS's plugin API. The runtime is implemented as two functions, whose pointers are handed to VMS. VMS then controls the flow of execution. When a request is ready for the runtime, VMS cIalls the request-handler function, and when a spot on hardware is free for work, VMS calls the scheduler-assign function. Hence, the language implements its runtime as two isolated functions. By keeping control-flow inside VMS, the language-specific portion of the runtiem is simplified. 130.25 + 130.26 +This structure is also the reason VMS encourages reuse of scheduler code. The VMS API separates out control flow from scheduling, so scheduling code is isolated, with well-defined interfaces. Scheduling is then further sub-divided into modules: constraint-management (IE enforcing dependencies); and choosing physical location to place work. Each has its own well-defined interface, and they communicate to each other via VMS-managed shared state. 130.27 + 130.28 +The greatest application performance impact due to the scheduler is communication it causes. 130.29 + 130.30 +, management of the memory hierarchy, and the match between work-characteristics and hardware-characteristics (IE, assigning to accelerator vs CPU). Hence, significant work goes into implementing strategies and mechanisms for finding the best assignment-choices. Such implementations are only loosely coupled to language, through the shared state by which the request-handler informs the assigner of what work is ready to be animated. 130.31 + 130.32 +Hence, it is straight-forward to reuse the code that assigns work to physical locations. The only language-specific influence on the assigner is the shared constraint-state. 130.33 + 130.34 + 130.35 +
131.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 131.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/latex/bib_for_papers_jun_2012.bib Fri Sep 13 11:02:18 2013 -0700 131.3 @@ -0,0 +1,942 @@ 131.4 + 131.5 +@inbook{PerfToolPoem, 131.6 +title = {The Poems of John Godfrey Saxe, Complete edition}, 131.7 +chapter = {The Blind Men and the Elephant}, 131.8 +author = {John Godfrey Saxe}, 131.9 +publisher = {Boston: James R. Osgood and Company}, 131.10 +year = {1873}, 131.11 +pages = {77-78} 131.12 +} 131.13 +@article{PerfToolTau, 131.14 +author = {Shende, Sameer S. and Malony, Allen D.}, 131.15 +title = {The Tau Parallel Performance System}, 131.16 +volume = {20}, 131.17 +number = {2}, 131.18 +pages = {287-311}, 131.19 +year = {Summer 2006}, 131.20 +journal = {International Journal of High Performance Computing Applications} 131.21 +} 131.22 +@ARTICLE{PerfToolParadyn, 131.23 +author={Miller, B.P. and Callaghan, M.D. and Cargille, J.M. and Hollingsworth, J.K. and Irvin, R.B. and Karavanic, K.L. and Kunchithapadam, K. and Newhall, T.}, 131.24 +journal={Computer}, 131.25 +title={The Paradyn parallel performance measurement tool}, 131.26 +year={1995}, 131.27 +month={nov}, 131.28 +volume={28}, 131.29 +number={11}, 131.30 +pages={37 -46}, 131.31 +} 131.32 +@ARTICLE{PerfToolParagraph, 131.33 +author={Heath, M.T. and Etheridge, J.A.}, 131.34 +journal={Software, IEEE}, 131.35 +title={Visualizing the performance of parallel programs}, 131.36 +year={1991}, 131.37 +month={sept. }, 131.38 +volume={8}, 131.39 +number={5}, 131.40 +pages={29 -39}, 131.41 +} 131.42 +@article{PerfToolStarSs, 131.43 + author = {Steffen Brinkmann and 131.44 + Jos{\'e} Gracia and 131.45 + Christoph Niethammer and 131.46 + Rainer Keller}, 131.47 + title = {TEMANEJO - a debugger for task based parallel programming 131.48 + models}, 131.49 + journal = {CoRR}, 131.50 + volume = {abs/1112.4604}, 131.51 + year = {2011}, 131.52 +} 131.53 +@techrep{SyncConstr_impl_w_distr_coherence_HW_Utah_96, 131.54 + author = {Carter, J. B. and Kuo, C.-C. and Kuramkote, R.}, 131.55 + title = { A comparison of software and hardware synchronization mechanisms for distributed shared memory multiprocessors}, 131.56 + institution = {University of Utah, Salt Lake City, UT}, 131.57 + year = 1996, 131.58 + url = {http://www.cs.utah.edu/research/techreports/1996/pdf/UUCS-96-011.pdf}, 131.59 + number = {UUCS-96-011} 131.60 +} 131.61 +@Article{SWCoherence_Hill_SW_for_shared_coherence_w_HW_support_93, 131.62 + author = {Hill, Mark D. and Larus, James R. and Reinhardt, Steven K. and Wood, David A.}, 131.63 + title = {Cooperative shared memory: software and hardware for scalable multiprocessors}, 131.64 + journal = {ACM Trans. Comput. Syst.}, 131.65 + volume = 11, 131.66 + number = 4, 131.67 + year = 1993, 131.68 + pages = {300--318} 131.69 +} 131.70 +@InProceedings{SWCache_MIT_embedSW_manages_cache_w_HW_supp, 131.71 + author = {Chiou, Derek and Jain, Prabhat and Rudolph, Larry and Devadas, Srinivas}, 131.72 + title = {Application-specific memory management for embedded systems using software-controlled caches}, 131.73 + booktitle = {DAC}, 131.74 + year = 2000, 131.75 + pages = {416--419} 131.76 +} 131.77 +@InProceedings{SWCache_instr_trig_HW_supp_04, 131.78 + author = {Janapsatya, Andhi and Parameswaran, Sri and Ignjatovic, A.}, 131.79 + title = {Hardware/software managed scratchpad memory for embedded system}, 131.80 + booktitle = {Proceedings of the 2004 IEEE/ACM International conference on Computer-aided design}, 131.81 + series = {ICCAD '04}, 131.82 + year = 2004, 131.83 + pages = {370--377} 131.84 +} 131.85 +@InProceedings{SWCache_arch_supp_OS_policy_06, 131.86 + author = {Rafique, Nauman and Lim, Won-Taek and Thottethodi, Mithuna}, 131.87 + title = {Architectural support for operating system-driven CMP cache management}, 131.88 + booktitle = {Proceedings of the 15th international conference on Parallel architectures and compilation techniques}, 131.89 + series = {PACT '06}, 131.90 + year = 2006, 131.91 + pages = {2--12} 131.92 +} 131.93 +@InProceedings{SWCoherence_on_Distr_Mem_90, 131.94 + author = {Bennett, J.K. and Carter, J.B. and Zwaenepoel, W.}, 131.95 + booktitle = {Computer Architecture, 1990. Proceedings., 17th Annual International Symposium on}, 131.96 + title = {Adaptive software cache management for distributed shared memory architectures}, 131.97 + year = 1990, 131.98 + pages = {125 -134} 131.99 +} 131.100 +@InProceedings{Charm_runtime_opt_10, 131.101 + author = {Mei, Chao and Zheng, Gengbin and Gioachin, Filippo and Kal{\'e}, Laxmikant V.}, 131.102 + title = {Optimizing a parallel runtime system for multicore clusters: a case study}, 131.103 + booktitle = {The 2010 TeraGrid Conference}, 131.104 + year = 2010, 131.105 + pages = {12:1--12:8} 131.106 +} 131.107 +@InProceedings{TCC_Hammond_ISCA_04, 131.108 + author = {Hammond, Lance and al, et}, 131.109 + title = {Transactional Memory Coherence and Consistency}, 131.110 + series = {ISCA '04}, 131.111 + pages = {102--}, 131.112 + booktitle = {}, 131.113 + year = {} 131.114 +} 131.115 +@Misc{WorkTableHome, 131.116 + author = {Halle, Sean}, 131.117 + note = {http://musictwodotoh.com/worktable/content/refman.pdf}, 131.118 + title = {The WorkTable Language Reference Manual}, 131.119 + year = 2012 131.120 +} 131.121 +@Misc{HWSimHome, 131.122 + author = {Halle, Sean and Hausers, Stefan}, 131.123 + note = {http://musictwodotoh.com/hwsim/content/refman.pdf}, 131.124 + title = {The HWSim Language Reference Manual}, 131.125 + year = 2012 131.126 +} 131.127 +@Article{Lamport78, 131.128 + author = {Lamport, Leslie}, 131.129 + title = {Time, clocks, and the ordering of events in a distributed system}, 131.130 + journal = {Commun. ACM}, 131.131 + volume = 21, 131.132 + issue = 7, 131.133 + year = 1978, 131.134 + pages = {558--565} 131.135 +} 131.136 +@Article{Lamport87, 131.137 + author = {Lamport, Leslie}, 131.138 + title = {A fast mutual exclusion algorithm}, 131.139 + journal = {ACM Trans. Comput. Syst.}, 131.140 + volume = 5, 131.141 + issue = 1, 131.142 + year = 1987, 131.143 + pages = {1--11} 131.144 +} 131.145 +@InProceedings{Dijkstra67, 131.146 + author = {Dijkstra, Edsger W.}, 131.147 + title = {The structure of the "{THE}"-multiprogramming system}, 131.148 + booktitle = {Proceedings of the first ACM symposium on Operating System Principles}, 131.149 + series = {SOSP '67}, 131.150 + year = 1967, 131.151 + pages = {10.1--10.6} 131.152 +} 131.153 +@Article{Conway63, 131.154 + author = {Conway, Melvin E.}, 131.155 + title = {Design of a separable transition-diagram compiler}, 131.156 + journal = {Commun. ACM}, 131.157 + volume = 6, 131.158 + issue = 7, 131.159 + year = 1963, 131.160 + pages = {396--408} 131.161 +} 131.162 +@Book{ComponentModel00, 131.163 + author = {G Leavens and M Sitaraman (eds)}, 131.164 + title = {Foundations of Component-Based Systems}, 131.165 + publisher = {Cambridge University Press}, 131.166 + year = 2000 131.167 +} 131.168 +@Misc{Hewitt10, 131.169 + author = {Carl Hewitt}, 131.170 + title = {Actor Model of Computation}, 131.171 + year = 2010, 131.172 + note = {http://arxiv.org/abs/1008.1459} 131.173 +} 131.174 +@Article{Actors97, 131.175 + author = {Agha,G. and Mason,I. and Smith,S. and Talcott,C.}, 131.176 + title = {A foundation for actor computation}, 131.177 + journal = {Journal of Functional Programming}, 131.178 + volume = 7, 131.179 + number = 01, 131.180 + pages = {1-72}, 131.181 + year = 1997 131.182 +} 131.183 +@Article{SchedActivations, 131.184 + author = {Anderson, Thomas E. and Bershad, Brian N. and Lazowska, Edward D. and Levy, Henry M.}, 131.185 + title = {Scheduler activations: effective kernel support for the user-level management of parallelism}, 131.186 + journal = {ACM Trans. Comput. Syst.}, 131.187 + volume = 10, 131.188 + issue = 1, 131.189 + month = {February}, 131.190 + year = 1992, 131.191 + pages = {53--79} 131.192 +} 131.193 +@InProceedings{BOMinManticore, 131.194 + author = {Fluet, Matthew and Rainey, Mike and Reppy, John and Shaw, Adam and Xiao, Yingqi}, 131.195 + title = {Manticore: a heterogeneous parallel language}, 131.196 + booktitle = {Proceedings of the 2007 workshop on Declarative aspects of multicore programming}, 131.197 + series = {DAMP '07}, 131.198 + year = 2007, 131.199 + pages = {37--44}, 131.200 + numpages = 8 131.201 +} 131.202 +@TechReport{GainFromChaos_Halle_92, 131.203 + author = {Halle, K.S. and Chua, Leon O. and Anishchenko, V.S. and Safonova, M.A.}, 131.204 + title = {Signal Amplification via Chaos: Experimental Evidence}, 131.205 + institution = {EECS Department, University of California, Berkeley}, 131.206 + year = 1992, 131.207 + url = {http://www.eecs.berkeley.edu/Pubs/TechRpts/1992/2223.html}, 131.208 + number = {UCB/ERL M92/130} 131.209 +} 131.210 +@InProceedings{HotPar10_w_BLIS, 131.211 + author = {Sean Halle and Albert Cohen}, 131.212 + booktitle = {HOTPAR '10: USENIX Workshop on Hot Topics in Parallelism}, 131.213 + month = {June}, 131.214 + title = {Leveraging Semantics Attached to Function Calls to Isolate Applications from Hardware}, 131.215 + year = 2010 131.216 +} 131.217 +@InProceedings{HotPar11_w_Stack, 131.218 + author = {Sean Halle and Albert Cohen}, 131.219 + booktitle = {HOTPAR '11: USENIX Workshop on Hot Topics in Parallelism}, 131.220 + month = {May}, 131.221 + title = {}, 131.222 + year = 2011 131.223 +} 131.224 +@Article{VMS_LCPC_11, 131.225 + author = {Sean Halle and Albert Cohen}, 131.226 + title = {A Mutable Hardware Abstraction to Replace Threads}, 131.227 + journal = {24th International Workshop on Languages and Compilers for Parallel Languages (LCPC11)}, 131.228 + year = 2011 131.229 +} 131.230 +@Misc{StackTechRep_10, 131.231 + author = {Halle, Sean and Nadezhkin, Dmitry and Cohen, Albert}, 131.232 + note = {http://www.soe.ucsc.edu/share/technical-reports/2010/ucsc-soe-10-02.pdf}, 131.233 + title = {A Framework to Support Research on Portable High Performance Parallelism}, 131.234 + year = 2010 131.235 +} 131.236 +@Misc{CTBigStepSemTechRep_06, 131.237 + author = {Halle, Sean}, 131.238 + note = {http://www.soe.ucsc.edu/share/technical-reports/2006/ucsc-crl-06-11.pdf}, 131.239 + title = {The Big-Step Operational Semantics of CodeTime Circuits}, 131.240 + year = 2006 131.241 +} 131.242 +@Misc{MentalFrameworkTechRep_06, 131.243 + author = {Halle, Sean}, 131.244 + note = {http://www.soe.ucsc.edu/share/technical-reports/2006/ucsc-crl-06-12.pdf}, 131.245 + title = {A Mental Framework for use in Creating Hardware Independent Parallel Languages}, 131.246 + year = 2006 131.247 +} 131.248 +@Misc{DKUTechRep_09, 131.249 + author = {Halle, Sean and Cohen, Albert}, 131.250 + note = {http://www.soe.ucsc.edu/share/technical-reports/2009/ucsc-soe-09-06.pdf}, 131.251 + title = {DKU Pattern for Performance Portable Parallel Software}, 131.252 + year = 2009 131.253 +} 131.254 +@Misc{EQNLangTechRep, 131.255 + author = {Halle, Sean}, 131.256 + note = {http://www.soe.ucsc.edu/share/technical-reports/2009/ucsc-soe-09-16.pdf}, 131.257 + title = {An Extensible Parallel Language}, 131.258 + year = 2009 131.259 +} 131.260 +@Misc{CTOSTechRep, 131.261 + author = {Halle, Sean}, 131.262 + note = {http://www.soe.ucsc.edu/share/technical-reports/2009/ucsc-soe-09-15.pdf}, 131.263 + title = {A Hardware-Independent Parallel Operating System Abstraction LayerParallelism}, 131.264 + year = 2009 131.265 +} 131.266 +@Misc{SideEffectsTechRep, 131.267 + author = {Halle, Sean and Cohen, Albert}, 131.268 + note = {http://www.soe.ucsc.edu/share/technical-reports/2009/ucsc-soe-09-14.pdf}, 131.269 + title = {Parallel Language Extensions for Side Effects}, 131.270 + year = 2009 131.271 +} 131.272 +@Misc{BaCTiLTechRep, 131.273 + author = {Halle, Sean}, 131.274 + note = {http://www.soe.ucsc.edu/share/technical-reports/2006/ucsc-crl-06-08.pdf}, 131.275 + title = {BaCTiL: Base CodeTime Language}, 131.276 + year = 2006 131.277 +} 131.278 +@Misc{CTPlatformTechRep, 131.279 + author = {Halle, Sean}, 131.280 + note = {http://www.soe.ucsc.edu/share/technical-reports/2006/ucsc-crl-06-09.pdf}, 131.281 + title = {The Elements of the CodeTime Software Platform}, 131.282 + year = 2006 131.283 +} 131.284 +@Misc{CTRTTechRep, 131.285 + author = {Halle, Sean}, 131.286 + note = {http://www.soe.ucsc.edu/share/technical-reports/2006/ucsc-crl-06-10.pdf}, 131.287 + title = {A Scalable and Efficient Peer-to-Peer Run-Time System for a Hardware Independent Software Platform}, 131.288 + year = 2006 131.289 +} 131.290 +@Misc{CIPTechRep, 131.291 + author = {Halle, Sean}, 131.292 + note = {http://www.soe.ucsc.edu/share/technical-reports/2005/ucsc-crl-05-05.pdf}, 131.293 + title = {The Case for an Integrated Software Platform for HEC Illustrated Using the CodeTime Platform}, 131.294 + year = 2005 131.295 +} 131.296 +@Misc{Halle2008, 131.297 + author = {Sean Halle and Albert Cohen}, 131.298 + note = {http://omp.musictwodotoh.com}, 131.299 + title = {{DKU} infrastructure server} 131.300 +} 131.301 +@Misc{DKUSourceForge, 131.302 + author = {Sean Halle and Albert Cohen}, 131.303 + month = {November}, 131.304 + note = {http://dku.sourceforge.net}, 131.305 + title = {{DKU} website}, 131.306 + year = 2008 131.307 +} 131.308 +@Misc{BLISHome, 131.309 + author = {Sean Halle and Albert Cohen}, 131.310 + month = {November}, 131.311 + note = {http://blisplatform.sourceforge.net}, 131.312 + title = {{BLIS} website}, 131.313 + year = 2008 131.314 +} 131.315 +@Misc{VMSHome, 131.316 + author = {Sean Halle and Merten Sach and Ben Juurlink and Albert Cohen}, 131.317 + note = {http://virtualizedmasterslave.org}, 131.318 + title = {{VMS} Home Page}, 131.319 + year = 2010 131.320 +} 131.321 +@Misc{PStackHome, 131.322 + author = {Sean Halle}, 131.323 + note = {http://pstack.sourceforge.net}, 131.324 + title = {{PStack} Home Page}, 131.325 + year = 2012 131.326 +} 131.327 +@Misc{DeblockingCode, 131.328 + note = {http://dku.svn.sourceforge.net/viewvc/dku/branches/DKU\_C\_\_Deblocking\_\_orig/}, 131.329 + title = {{DKU-ized Deblocking Filter} code} 131.330 +} 131.331 +@Misc{SampleBLISCode, 131.332 + note = {http://dku.sourceforge.net/SampleCode.htm}, 131.333 + title = {{Sample BLIS Code}} 131.334 +} 131.335 +@Misc{OMPHome, 131.336 + note = {http://www.openmediaplatform.eu/}, 131.337 + title = {{Open Media Platform} homepage} 131.338 +} 131.339 +@Misc{MapReduceHome, 131.340 + author = {Google Corp.}, 131.341 + note = {http://labs.google.com/papers/mapreduce.html}, 131.342 + title = {{MapReduce} Home page} 131.343 +} 131.344 +@Misc{TBBHome, 131.345 + author = {Intel Corp.}, 131.346 + note = {http://www.threadingbuildingblocks.org}, 131.347 + title = {{TBB} Home page} 131.348 +} 131.349 +@Misc{HPFWikipedia, 131.350 + author = {Wikipedia}, 131.351 + note = {http://en.wikipedia.org/wiki/High_Performance_Fortran}, 131.352 + title = {{HPF} wikipedia page} 131.353 +} 131.354 +@Misc{OpenMPHome, 131.355 + author = {{OpenMP} organization}, 131.356 + note = {http://www.openmp.org}, 131.357 + title = {{OpenMP} Home page} 131.358 +} 131.359 +@Misc{MPIHome, 131.360 + author = {open-mpi organization}, 131.361 + note = {http://www.open-mpi.org}, 131.362 + title = {{Open MPI} Home page} 131.363 +} 131.364 +@Misc{OpenCLHome, 131.365 + author = {Kronos Group}, 131.366 + note = {http://www.khronos.org/opencl}, 131.367 + title = {{OpenCL} Home page} 131.368 +} 131.369 +@Misc{CILKHome, 131.370 + author = {Cilk group at MIT}, 131.371 + note = {http://supertech.csail.mit.edu/cilk/}, 131.372 + title = {{CILK} homepage} 131.373 +} 131.374 +@InProceedings{Fri98, 131.375 + author = {M. Frigo and C. E. Leiserson and K. H. Randall}, 131.376 + title = {The Implementation of the Cilk-5 Multithreaded Language}, 131.377 + booktitle = {PLDI '98: Proceedings of the 1998 ACM SIGPLAN conference on Programming language design and implementation}, 131.378 + pages = {212--223}, 131.379 + year = 1998, 131.380 + address = {Montreal, Quebec}, 131.381 + month = jun 131.382 +} 131.383 +@Misc{TitaniumHome, 131.384 + note = {http://titanium.cs.berkeley.edu}, 131.385 + title = {{Titanium} homepage} 131.386 +} 131.387 +@InProceedings{CnCInHotPar, 131.388 + author = {Knobe, Kathleen}, 131.389 + booktitle = {HOTPAR '09: USENIX Workshop on Hot Topics in Parallelism}, 131.390 + title = {Ease of Use with Concurrent Collections {(CnC)}}, 131.391 + year = 2009 131.392 +} 131.393 +@Misc{CnCHome, 131.394 + author = {Intel Corp.}, 131.395 + note = {http://software.intel.com/en-us/articles/intel-concurrent-collections-for-cc/}, 131.396 + title = {{CnC} homepage} 131.397 +} 131.398 +@Misc{SpiralHome, 131.399 + author = {Spiral Group at CMU}, 131.400 + note = {http://www.spiral.net}, 131.401 + title = {{Spiral} homepage} 131.402 +} 131.403 +@Misc{ScalaHome, 131.404 + author = {Scala organization}, 131.405 + note = {http://www.scala-lang.org/}, 131.406 + title = {{Scala} homepage} 131.407 +} 131.408 +@Misc{UPCHome, 131.409 + author = {UPC group at UC Berkeley}, 131.410 + note = {http://upc.lbl.gov/}, 131.411 + title = {{Unified Parallel C} homepage} 131.412 +} 131.413 +@Misc{SuifHome, 131.414 + note = {http://suif.stanford.edu}, 131.415 + title = {{Suif} Parallelizing compiler homepage} 131.416 +} 131.417 +@Article{SEJITS, 131.418 + author = {B. Catanzaro and S. Kamil and Y. Lee and K. Asanovic and J. Demmel and K. Keutzer and J. Shalf and K. Yelick and A. Fox}, 131.419 + title = {SEJITS: Getting Productivity AND Performance With Selective Embedded JIT Specialization}, 131.420 + journal = {First Workshop on Programmable Models for Emerging Architecture at the 18th International Conference on Parallel Architectures and Compilation Techniques }, 131.421 + year = 2009 131.422 +} 131.423 +@InProceedings{Arnaldo3D, 131.424 + author = {Azevedo, Arnaldo and Meenderinck, Cor and Juurlink, Ben and Terechko, Andrei and Hoogerbrugge, Jan and Alvarez, Mauricio and Ramirez, Alex}, 131.425 + title = {Parallel H.264 Decoding on an Embedded Multicore Processor}, 131.426 + booktitle = {HiPEAC '09: Proceedings of the 4th International Conference on High Performance Embedded Architectures and Compilers}, 131.427 + year = 2009, 131.428 + pages = {404--418} 131.429 +} 131.430 +@Article{NarayananGPUSched, 131.431 + author = {Narayanan Sundaram and Anand Raghunathan and Srimat T. Chakradhar}, 131.432 + title = {A framework for efficient and scalable execution of domain-specific templates on GPUs}, 131.433 + journal = {International Parallel and Distributed Processing Symposium {(IPDPS)}}, 131.434 + year = 2009, 131.435 + pages = {1-12} 131.436 +} 131.437 +@InProceedings{PolyForGPU, 131.438 + author = {Baskaran, Muthu Manikandan and Bondhugula, Uday and Krishnamoorthy, Sriram and Ramanujam, J. and Rountev, Atanas and Sadayappan, P.}, 131.439 + title = {A compiler framework for optimization of affine loop nests for gpgpus}, 131.440 + booktitle = {ICS '08: Proceedings of the 22nd annual international conference on Supercomputing}, 131.441 + year = 2008, 131.442 + pages = {225--234} 131.443 +} 131.444 +@InProceedings{Loulou08, 131.445 + author = {Pouchet, Louis-No\"{e}l and Bastoul, C\'{e}dric and Cohen, Albert and Cavazos, John}, 131.446 + title = {Iterative optimization in the polyhedral model: part ii, multidimensional time}, 131.447 + booktitle = {ACM SIGPLAN conference on Programming language design and implementation {(PLDI)} }, 131.448 + year = 2008, 131.449 + pages = {90--100} 131.450 +} 131.451 +@InProceedings{MergeInHotPar, 131.452 + author = {Michael D. Linderman and James Balfour and Teresa H. Meng and William J. Dally}, 131.453 + booktitle = {HOTPAR '09: USENIX Workshop on Hot Topics in Parallelism}, 131.454 + month = {March}, 131.455 + title = {Embracing Heterogeneity \- Parallel Programming for Changing Hardware}, 131.456 + year = 2009 131.457 +} 131.458 +@InProceedings{GaloisRef, 131.459 + author = {Kulkarni, Milind and Pingali, Keshav and Walter, Bruce and Ramanarayanan, Ganesh and Bala, Kavita and Chew, L. Paul}, 131.460 + title = {Optimistic parallelism requires abstractions}, 131.461 + booktitle = {PLDI '07: Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation}, 131.462 + year = 2007, 131.463 + pages = {211--222} 131.464 +} 131.465 +@Book{Allen2002, 131.466 + author = {Kennedy, Ken and Allen, John R.}, 131.467 + title = {Optimizing compilers for modern architectures: a dependence-based approach}, 131.468 + year = 2002, 131.469 + publisher = {Morgan Kaufmann Publishers Inc.} 131.470 +} 131.471 +@Misc{Stephens95, 131.472 + author = {R. Stephens}, 131.473 + title = {A Survey Of Stream Processing}, 131.474 + year = 1995 131.475 +} 131.476 +@InProceedings{Palatin06, 131.477 + author = {P Palatin and Y Lhuillier and O Temam}, 131.478 + title = {CAPSULE: Hardware-assisted parallel execution of componentbased programs}, 131.479 + booktitle = {In Proceedings of the 39th Annual International Symposium on Microarchitecture}, 131.480 + year = 2006, 131.481 + pages = {247--258} 131.482 +} 131.483 +@InProceedings{Sequioa06, 131.484 + author = {Fatahalian,, Kayvon and Horn,, Daniel Reiter and Knight,, Timothy J. and Leem,, Larkhoon and Houston,, Mike and Park,, Ji Young and Erez,, Mattan and Ren,, Manman and Aiken,, Alex and Dally,, William J. and Hanrahan,, Pat}, 131.485 + title = {Sequoia: programming the memory hierarchy}, 131.486 + booktitle = {SC '06: Proceedings of the 2006 ACM/IEEE conference on Supercomputing}, 131.487 + year = 2006, 131.488 + pages = 83 131.489 +} 131.490 +@Book{Cole89, 131.491 + author = {M Cole}, 131.492 + title = {Algorithmic skeletons: Structured management of parallel computation}, 131.493 + publisher = {Pitman}, 131.494 + year = 1989 131.495 +} 131.496 +@InProceedings{Ginhac98, 131.497 + author = {Dominique Ginhac and Jocelyn Serot and Jean Pierre Derutin}, 131.498 + title = {Fast prototyping of image processing applications using functional skeletons on a MIMD-DM architecture}, 131.499 + booktitle = {In IAPR Workshop on Machine Vision and Applications}, 131.500 + year = 1998, 131.501 + pages = {468--471} 131.502 +} 131.503 +@InProceedings{Serot08MetaParallel, 131.504 + author = {Serot, Jocelyn and Falcou, Joel}, 131.505 + title = {Functional Meta-programming for Parallel Skeletons}, 131.506 + booktitle = {ICCS '08: Proceedings of the 8th international conference on Computational Science, Part I}, 131.507 + year = 2008, 131.508 + pages = {154--163} 131.509 +} 131.510 +@InProceedings{Darlington93, 131.511 + author = {J. Darlington and A. J. Field and P. G. Harrison and P. H. J. Kelly and D. W. N. Sharp and Q. Wu}, 131.512 + title = {Parallel programming using skeleton functions}, 131.513 + booktitle = {}, 131.514 + year = 1993, 131.515 + pages = {146--160}, 131.516 + publisher = {Springer-Verlag} 131.517 +} 131.518 +@Article{Asanovic06BerkeleyView, 131.519 + title = {{The landscape of parallel computing research: A view from berkeley}}, 131.520 + author = {Asanovic, K. and Bodik, R. and Catanzaro, B.C. and Gebis, J.J. and Husbands, P. and Keutzer, K. and Patterson, D.A. and Plishker, W.L. and Shalf, J. and Williams, S.W. and others}, 131.521 + journal = {Electrical Engineering and Computer Sciences, University of California at Berkeley, Technical Report No. UCB/EECS-2006-183, December}, 131.522 + volume = 18, 131.523 + number = {2006-183}, 131.524 + pages = 19, 131.525 + year = 2006 131.526 +} 131.527 +@Misc{BerkeleyPattLang, 131.528 + note = {http://parlab.eecs.berkeley.edu/wiki/patterns}, 131.529 + title = {{Berkeley Pattern Language}} 131.530 +} 131.531 +@Book{Mattson04Patterns, 131.532 + title = {{Patterns for parallel programming}}, 131.533 + author = {Mattson, T. and Sanders, B. and Massingill, B.}, 131.534 + year = 2004, 131.535 + publisher = {Addison-Wesley Professional} 131.536 +} 131.537 +@Article{Skillicorn98, 131.538 + title = {{Models and languages for parallel computation}}, 131.539 + author = {Skillicorn, D.B. and Talia, D.}, 131.540 + journal = {ACM Computing Surveys (CSUR)}, 131.541 + volume = 30, 131.542 + number = 2, 131.543 + pages = {123--169}, 131.544 + year = 1998 131.545 +} 131.546 +@Conference{Blelloch93NESL, 131.547 + title = {{Implementation of a portable nested data-parallel language}}, 131.548 + author = {Blelloch, G.E. and Hardwick, J.C. and Chatterjee, S. and Sipelstein, J. and Zagha, M.}, 131.549 + booktitle = {Proceedings of the fourth ACM SIGPLAN symposium on Principles and practice of parallel programming}, 131.550 + pages = {102--111}, 131.551 + year = 1993, 131.552 + organization = {ACM New York, NY, USA} 131.553 +} 131.554 +@Article{McgrawSisal, 131.555 + title = {{SISAL: Streams and iteration in a single assignment language: Reference manual version 1.2}}, 131.556 + author = {McGraw, J. and Skedzielewski, SK and Allan, SJ and Oldehoeft, RR and Glauert, J. and Kirkham, C. and Noyce, B. and Thomas, R.}, 131.557 + journal = {Manual M-146, Rev}, 131.558 + volume = 1 131.559 +} 131.560 +@Article{Gelernter85Linda, 131.561 + title = {{Generative communication in Linda}}, 131.562 + author = {Gelernter, D.}, 131.563 + journal = {ACM Transactions on Programming Languages and Systems (TOPLAS)}, 131.564 + volume = 7, 131.565 + number = 1, 131.566 + pages = {80--112}, 131.567 + year = 1985 131.568 +} 131.569 +@Article{Lin94ZPL, 131.570 + title = {{ZPL: An array sublanguage}}, 131.571 + author = {Lin, C. and Snyder, L.}, 131.572 + journal = {Lecture Notes in Computer Science}, 131.573 + volume = 768, 131.574 + pages = {96--114}, 131.575 + year = 1994 131.576 +} 131.577 +@Article{baecker97, 131.578 + author = {Ron Baecker and Chris DiGiano and Aaron Marcus}, 131.579 + title = {Software visualization for debugging}, 131.580 + journal = {Communications of the ACM}, 131.581 + volume = 40, 131.582 + number = 4, 131.583 + year = 1997, 131.584 + issn = {0001-0782}, 131.585 + pages = {44--54}, 131.586 + publisher = {ACM Press} 131.587 +} 131.588 +@Article{ball96, 131.589 + author = {T. A. Ball and S. G. Eick}, 131.590 + title = {Software Visualization in the Large}, 131.591 + journal = {IEEE Computer}, 131.592 + volume = 29, 131.593 + number = 4, 131.594 + year = 1996, 131.595 + month = {apr}, 131.596 + pages = {33--43} 131.597 +} 131.598 +@Book{berry89, 131.599 + title = {{The chemical abstract machine}}, 131.600 + author = {Berry, G. and Boudol, G.}, 131.601 + year = 1989, 131.602 + publisher = {ACM Press} 131.603 +} 131.604 +@Article{blumofe95, 131.605 + author = {Robert D. Blumofe and Christopher F. Joerg and Bradley C. Kuszmaul and Charles E. Leiserson and Keith H. Randall and Yuli Zhou}, 131.606 + title = {Cilk: an efficient multithreaded runtime system}, 131.607 + journal = {SIGPLAN Not.}, 131.608 + volume = 30, 131.609 + number = 8, 131.610 + year = 1995, 131.611 + pages = {207--216} 131.612 +} 131.613 +@Article{burch90, 131.614 + title = {{Symbolic model checking: 10^{20} states and beyond}}, 131.615 + author = {Burch, JR and Clarke, EM and McMillan, KL and Dill, DL and Hwang, LJ}, 131.616 + journal = {Logic in Computer Science, 1990. LICS'90, Proceedings}, 131.617 + pages = {428--439}, 131.618 + year = 1990 131.619 +} 131.620 +@Article{chamberlain98, 131.621 + author = {B. Chamberlain and S. Choi and E. Lewis and C. Lin and L. Snyder and W. Weathersby}, 131.622 + title = {ZPL's WYSIWYG Performance Model}, 131.623 + journal = {hips}, 131.624 + volume = 00, 131.625 + year = 1998, 131.626 + isbn = {0-8186-8412-7}, 131.627 + pages = 50 131.628 +} 131.629 +@Article{church41, 131.630 + author = {A. Church}, 131.631 + title = {The Calculi of Lambda-Conversion}, 131.632 + journal = {Annals of Mathematics Studies}, 131.633 + number = 6, 131.634 + year = 1941, 131.635 + publisher = {Princeton University} 131.636 +} 131.637 +@Misc{CodeTimeSite, 131.638 + author = {Sean Halle}, 131.639 + key = {CodeTime}, 131.640 + title = {Homepage for The CodeTime Parallel Software Platform}, 131.641 + note = {{\ttfamily http://codetime.sourceforge.net}} 131.642 +} 131.643 +@Misc{CodeTimePlatform, 131.644 + author = {Sean Halle}, 131.645 + key = {CodeTime}, 131.646 + title = {The CodeTime Parallel Software Platform}, 131.647 + note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_Platform.pdf}} 131.648 +} 131.649 +@Misc{CodeTimeVS, 131.650 + author = {Sean Halle}, 131.651 + key = {CodeTime}, 131.652 + title = {The Specification of the CodeTime Platform's Virtual Server}, 131.653 + note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_Virtual\_Server.pdf}} 131.654 +} 131.655 +@Misc{CodeTimeOS, 131.656 + author = {Sean Halle}, 131.657 + key = {CodeTime}, 131.658 + title = {A Hardware Independent OS}, 131.659 + note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_OS.pdf}} 131.660 +} 131.661 +@Misc{CodeTimeSem, 131.662 + author = {Sean Halle}, 131.663 + key = {CodeTime}, 131.664 + title = {The Big-Step Operational Semantics of the CodeTime Computational Model}, 131.665 + note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_Semantics.pdf}} 131.666 +} 131.667 +@Misc{CodeTimeTh, 131.668 + author = {Sean Halle}, 131.669 + key = {CodeTime}, 131.670 + title = {A Mental Framework for Use in Creating Hardware-Independent Parallel Languages}, 131.671 + note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTiime\_Theoretical\_Framework.pdf}} 131.672 +} 131.673 +@Misc{CodeTimeTh1, 131.674 + author = {Sean Halle}, 131.675 + key = {CodeTime}, 131.676 + title = {The CodeTime Parallel Software Platform}, 131.677 + note = {{\ttfamily http://codetime.sourceforge.net}} 131.678 +} 131.679 +@Misc{CodeTimeTh2, 131.680 + author = {Sean Halle}, 131.681 + key = {CodeTime}, 131.682 + title = {The CodeTime Parallel Software Platform}, 131.683 + note = {{\ttfamily http://codetime.sourceforge.net}} 131.684 +} 131.685 +@Misc{CodeTimeRT, 131.686 + author = {Sean Halle}, 131.687 + key = {CodeTime}, 131.688 + title = {The CodeTime Parallel Software Platform}, 131.689 + note = {{\ttfamily http://codetime.sourceforge.net}} 131.690 +} 131.691 +@Misc{CodeTimeWebSite, 131.692 + author = {Sean Halle}, 131.693 + key = {CodeTime}, 131.694 + title = {The CodeTime Parallel Software Platform}, 131.695 + note = {{\ttfamily http://codetime.sourceforge.net}} 131.696 +} 131.697 +@Misc{CodeTimeBaCTiL, 131.698 + author = {Sean Halle}, 131.699 + key = {CodeTime}, 131.700 + title = {The Base CodeTime Language}, 131.701 + note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_BaCTiL.pdf}} 131.702 +} 131.703 +@Misc{CodeTimeCert, 131.704 + author = {Sean Halle}, 131.705 + key = {CodeTime}, 131.706 + title = {The CodeTime Certification Strategy}, 131.707 + note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_Certification.pdf}} 131.708 +} 131.709 +@InProceedings{ducournau94, 131.710 + author = {R. Ducournau and M. Habib and M. Huchard and M. L. Mugnier}, 131.711 + title = {Proposal for a monotonic multiple inheritance linearization}, 131.712 + booktitle = {OOPSLA '94: Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications}, 131.713 + year = 1994, 131.714 + pages = {164--175}, 131.715 + publisher = {ACM Press} 131.716 +} 131.717 +@Article{emerson91, 131.718 + title = {{Tree automata, mu-calculus and determinacy}}, 131.719 + author = {Emerson, EA and Jutla, CS}, 131.720 + journal = {Proceedings of the 32nd Symposium on Foundations of Computer Science}, 131.721 + pages = {368--377}, 131.722 + year = 1991 131.723 +} 131.724 +@Article{fortune78, 131.725 + title = {{Parallelism in random access machines}}, 131.726 + author = {Fortune, S. and Wyllie, J.}, 131.727 + journal = {STOC '78: Proceedings of the tenth annual ACM symposium on Theory of computing}, 131.728 + pages = {114--118}, 131.729 + year = 1978, 131.730 + publisher = {ACM Press New York, NY, USA} 131.731 +} 131.732 +@Book{goldberg83, 131.733 + title = {{Smalltalk-80: the language and its implementation}}, 131.734 + author = {Goldberg, A. and Robson, D.}, 131.735 + year = 1983, 131.736 + publisher = {Addison-Wesley} 131.737 +} 131.738 +@InProceedings{goldschlager78, 131.739 + author = {Leslie M. Goldschlager}, 131.740 + title = {A unified approach to models of synchronous parallel machines}, 131.741 + booktitle = {STOC '78: Proceedings of the tenth annual ACM symposium on Theory of computing}, 131.742 + year = 1978, 131.743 + pages = {89--94}, 131.744 + location = {San Diego, California, United States}, 131.745 + doi = {http://doi.acm.org/10.1145/800133.804336}, 131.746 + publisher = {ACM Press} 131.747 +} 131.748 +@Book{gosling96, 131.749 + author = {J. Gosling and B. Joy and G. Steele and G. Bracha}, 131.750 + title = {The Java Language Specification}, 131.751 + publisher = {Addison-Wesley}, 131.752 + year = 1996 131.753 +} 131.754 +@Article{hasselbring00, 131.755 + author = {Wilhelm Hasselbring}, 131.756 + title = {Programming languages and systems for prototyping concurrent applications}, 131.757 + journal = {ACM Comput. Surv.}, 131.758 + volume = 32, 131.759 + number = 1, 131.760 + year = 2000, 131.761 + issn = {0360-0300}, 131.762 + pages = {43--79}, 131.763 + doi = {http://doi.acm.org/10.1145/349194.349199}, 131.764 + publisher = {ACM Press}, 131.765 + address = {New York, NY, USA} 131.766 +} 131.767 +@Article{hoare78, 131.768 + author = {C. A. R. Hoare}, 131.769 + title = {Communicating Sequential Processes}, 131.770 + journal = {Communications of the ACM}, 131.771 + year = 1978, 131.772 + volume = 21, 131.773 + number = 8, 131.774 + pages = {666-677} 131.775 +} 131.776 +@Article{huth, 131.777 + title = {{A Unifying Framework for Model Checking Labeled Kripke Structures, Modal Transition Systems, and Interval Transition Systems}}, 131.778 + author = {Huth, M.}, 131.779 + journal = {Proceedings of the 19th International Conference on the Foundations of Software Technology \& Theoretical Computer Science, Lecture Notes in Computer Science}, 131.780 + pages = {369--380}, 131.781 + publisher = {Springer-Verlag} 131.782 +} 131.783 +@Article{johnston04, 131.784 + author = {Wesley M. Johnston and J. R. Paul Hanna and Richard J. Millar}, 131.785 + title = {Advances in dataflow programming languages}, 131.786 + journal = {ACM Comput. Surv.}, 131.787 + volume = 36, 131.788 + number = 1, 131.789 + year = 2004, 131.790 + issn = {0360-0300}, 131.791 + pages = {1--34}, 131.792 + doi = {http://doi.acm.org/10.1145/1013208.1013209}, 131.793 + publisher = {ACM Press}, 131.794 + address = {New York, NY, USA} 131.795 +} 131.796 +@Book{koelbel93, 131.797 + author = {C. H. Koelbel and D. Loveman and R. Schreiber and G. Steele Jr}, 131.798 + title = {High Performance Fortran Handbook}, 131.799 + year = 1993, 131.800 + publisher = {MIT Press} 131.801 +} 131.802 +@Article{kozen83, 131.803 + title = {{Results on the Propositional mu-Calculus}}, 131.804 + author = {Kozen, D.}, 131.805 + journal = {TCS}, 131.806 + volume = 27, 131.807 + pages = {333--354}, 131.808 + year = 1983 131.809 +} 131.810 +@Article{kripke63, 131.811 + title = {{Semantical analysis of modal logic}}, 131.812 + author = {Kripke, S.}, 131.813 + journal = {Zeitschrift fur Mathematische Logik und Grundlagen der Mathematik}, 131.814 + volume = 9, 131.815 + pages = {67--96}, 131.816 + year = 1963 131.817 +} 131.818 +@Book{mcGraw85, 131.819 + author = {J McGraw and S. Skedzielewski and S. Allan and R Odefoeft}, 131.820 + title = {SISAL: Streams and Iteration in a Single-Assignment Language: Reference Manual Version 1.2}, 131.821 + note = {Manual M-146 Rev. 1}, 131.822 + publisher = {Lawrence Livermore National Laboratory}, 131.823 + year = 1985 131.824 +} 131.825 +@Book{milner80, 131.826 + title = {{A Calculus of Communicating Systems, volume 92 of Lecture Notes in Computer Science}}, 131.827 + author = {Milner, R.}, 131.828 + year = 1980, 131.829 + publisher = {Springer-Verlag} 131.830 +} 131.831 +@Article{milner92, 131.832 + title = {{A calculus of mobile processes, parts I and II}}, 131.833 + author = {Milner, R. and Parrow, J. and Walker, D.}, 131.834 + journal = {Information and Computation}, 131.835 + volume = 100, 131.836 + number = 1, 131.837 + pages = {1--40 and 41--77}, 131.838 + year = 1992, 131.839 + publisher = {Academic Press} 131.840 +} 131.841 +@Book{milner99, 131.842 + author = {Robin Milner}, 131.843 + title = {Communicating and Mobile Systems: The pi-Calculus}, 131.844 + publisher = {Cambridge University Press}, 131.845 + year = 1999 131.846 +} 131.847 +@Book{MPIForum94, 131.848 + author = {M. P. I. Forum}, 131.849 + title = {MPI: A Message-Passing Interface Standard}, 131.850 + year = 1994 131.851 +} 131.852 +@Article{petri62, 131.853 + title = {{Fundamentals of a theory of asynchronous information flow}}, 131.854 + author = {Petri, C.A.}, 131.855 + journal = {Proc. IFIP Congress}, 131.856 + volume = 62, 131.857 + pages = {386--390}, 131.858 + year = 1962 131.859 +} 131.860 +@Book{pierce02, 131.861 + title = {Types and Programming Languages}, 131.862 + author = {Pierce, B. C.}, 131.863 + year = 2002, 131.864 + publisher = {MIT Press} 131.865 +} 131.866 +@Article{price, 131.867 + author = {B. A. Price and R. M. Baecker and L. S. Small}, 131.868 + title = {A Principled Taxonomy of Software Visualization}, 131.869 + journal = {Journal of Visual Languages and Computing}, 131.870 + volume = 4, 131.871 + number = 3, 131.872 + pages = {211--266} 131.873 +} 131.874 +@Misc{pythonWebSite, 131.875 + key = {Python}, 131.876 + title = {The Python Software Foundation Mission Statement}, 131.877 + note = {{\ttfamily http://www.python.org/psf/mission.html}} 131.878 +} 131.879 +@Unpublished{reed03, 131.880 + editor = {Daniel A. Reed}, 131.881 + title = {Workshop on The Roadmap for the Revitalization of High-End Computing}, 131.882 + day = {16--18}, 131.883 + month = {jun}, 131.884 + year = 2003, 131.885 + note = {Available at {\ttfamily http://www.cra.org/reports/supercomputing.web.pdf}} 131.886 +} 131.887 +@Article{reeves84, 131.888 + author = {A. P. Reeves}, 131.889 + title = {Parallel Pascal -- An Extended Pascal for Parallel Computers}, 131.890 + journal = {Journal of Parallel and Distributed Computing}, 131.891 + volume = 1, 131.892 + number = {}, 131.893 + year = 1984, 131.894 + month = {aug}, 131.895 + pages = {64--80} 131.896 +} 131.897 +@Article{skillicorn98, 131.898 + author = {David B. Skillicorn and Domenico Talia}, 131.899 + title = {Models and languages for parallel computation}, 131.900 + journal = {ACM Comput. Surv.}, 131.901 + volume = 30, 131.902 + number = 2, 131.903 + year = 1998, 131.904 + issn = {0360-0300}, 131.905 + pages = {123--169}, 131.906 + doi = {http://doi.acm.org/10.1145/280277.280278}, 131.907 + publisher = {ACM Press}, 131.908 + address = {New York, NY, USA} 131.909 +} 131.910 +@Article{stefik86, 131.911 + title = {Object Oriented Programming: Themes and Variations}, 131.912 + author = {Stefik, M. and Bobrow, D. G.}, 131.913 + journal = {The AI Magazine}, 131.914 + volume = 6, 131.915 + number = 4, 131.916 + year = 1986 131.917 +} 131.918 +@Book{stirling92, 131.919 + title = {{Modal and Temporal Logics}}, 131.920 + author = {Stirling, C.}, 131.921 + year = 1992, 131.922 + publisher = {University of Edinburgh, Department of Computer Science} 131.923 +} 131.924 +@Misc{TitaniumWebSite, 131.925 + author = {Paul Hilfinger and et. al.}, 131.926 + title = {The Titanium Project Home Page}, 131.927 + note = {{\ttfamily http://www.cs.berkeley.edu/projects/titanium}} 131.928 +} 131.929 +@Misc{turing38, 131.930 + author = {A. Turing}, 131.931 + note = {http://www.turingarchive.org/intro/, and http://www.turing.org.uk/sources/biblio4.html, and http://web.comlab.ox.ac.uk/oucl/research/areas/ieg/e-library/sources/tp2-ie.pdf}, 131.932 + year = 1938 131.933 +} 131.934 +@Book{vonNeumann45, 131.935 + title = {First Draft of a Report on the EDVAC}, 131.936 + author = {J. von Neumann}, 131.937 + year = 1945, 131.938 + publisher = {United States Army Ordnance Department} 131.939 +} 131.940 +@Book{winskel93, 131.941 + title = {{The Formal Semantics of Programming Languages}}, 131.942 + author = {Winskel, G.}, 131.943 + year = 1993, 131.944 + publisher = {MIT Press} 131.945 +}
132.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 132.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/latex/sigplanconf.cls Fri Sep 13 11:02:18 2013 -0700 132.3 @@ -0,0 +1,1273 @@ 132.4 +%----------------------------------------------------------------------------- 132.5 +% 132.6 +% LaTeX Class/Style File 132.7 +% 132.8 +% Name: sigplanconf.cls 132.9 +% 132.10 +% Purpose: A LaTeX 2e class file for SIGPLAN conference proceedings. 132.11 +% This class file supercedes acm_proc_article-sp, 132.12 +% sig-alternate, and sigplan-proc. 132.13 +% 132.14 +% Author: Paul C. Anagnostopoulos 132.15 +% Windfall Software 132.16 +% 978 371-2316 132.17 +% paul [atsign] windfall.com 132.18 +% 132.19 +% Created: 12 September 2004 132.20 +% 132.21 +% Revisions: See end of file. 132.22 +% 132.23 +% This work is licensed under the Creative Commons Attribution License. 132.24 +% To view a copy of this license, visit 132.25 +% http://creativecommons.org/licenses/by/3.0/ 132.26 +% or send a letter to Creative Commons, 171 2nd Street, Suite 300, 132.27 +% San Francisco, California, 94105, U.S.A. 132.28 +% 132.29 +%----------------------------------------------------------------------------- 132.30 + 132.31 + 132.32 +\NeedsTeXFormat{LaTeX2e}[1995/12/01] 132.33 +\ProvidesClass{sigplanconf}[2011/11/08 v2.5 ACM SIGPLAN Proceedings] 132.34 + 132.35 +% The following few pages contain LaTeX programming extensions adapted 132.36 +% from the ZzTeX macro package. 132.37 + 132.38 +% Token Hackery 132.39 +% ----- ------- 132.40 + 132.41 + 132.42 +\def \@expandaftertwice {\expandafter\expandafter\expandafter} 132.43 +\def \@expandafterthrice {\expandafter\expandafter\expandafter\expandafter 132.44 + \expandafter\expandafter\expandafter} 132.45 + 132.46 +% This macro discards the next token. 132.47 + 132.48 +\def \@discardtok #1{}% token 132.49 + 132.50 +% This macro removes the `pt' following a dimension. 132.51 + 132.52 +{\catcode `\p = 12 \catcode `\t = 12 132.53 + 132.54 +\gdef \@remover #1pt{#1} 132.55 + 132.56 +} % \catcode 132.57 + 132.58 +% This macro extracts the contents of a macro and returns it as plain text. 132.59 +% Usage: \expandafter\@defof \meaning\macro\@mark 132.60 + 132.61 +\def \@defof #1:->#2\@mark{#2} 132.62 + 132.63 +% Control Sequence Names 132.64 +% ------- -------- ----- 132.65 + 132.66 + 132.67 +\def \@name #1{% {\tokens} 132.68 + \csname \expandafter\@discardtok \string#1\endcsname} 132.69 + 132.70 +\def \@withname #1#2{% {\command}{\tokens} 132.71 + \expandafter#1\csname \expandafter\@discardtok \string#2\endcsname} 132.72 + 132.73 +% Flags (Booleans) 132.74 +% ----- ---------- 132.75 + 132.76 +% The boolean literals \@true and \@false are appropriate for use with 132.77 +% the \if command, which tests the codes of the next two characters. 132.78 + 132.79 +\def \@true {TT} 132.80 +\def \@false {FL} 132.81 + 132.82 +\def \@setflag #1=#2{\edef #1{#2}}% \flag = boolean 132.83 + 132.84 +% IF and Predicates 132.85 +% -- --- ---------- 132.86 + 132.87 +% A "predicate" is a macro that returns \@true or \@false as its value. 132.88 +% Such values are suitable for use with the \if conditional. For example: 132.89 +% 132.90 +% \if \@oddp{\x} <then-clause> \else <else-clause> \fi 132.91 + 132.92 +% A predicate can be used with \@setflag as follows: 132.93 +% 132.94 +% \@setflag \flag = {<predicate>} 132.95 + 132.96 +% Here are the predicates for TeX's repertoire of conditional 132.97 +% commands. These might be more appropriately interspersed with 132.98 +% other definitions in this module, but what the heck. 132.99 +% Some additional "obvious" predicates are defined. 132.100 + 132.101 +\def \@eqlp #1#2{\ifnum #1 = #2\@true \else \@false \fi} 132.102 +\def \@neqlp #1#2{\ifnum #1 = #2\@false \else \@true \fi} 132.103 +\def \@lssp #1#2{\ifnum #1 < #2\@true \else \@false \fi} 132.104 +\def \@gtrp #1#2{\ifnum #1 > #2\@true \else \@false \fi} 132.105 +\def \@zerop #1{\ifnum #1 = 0\@true \else \@false \fi} 132.106 +\def \@onep #1{\ifnum #1 = 1\@true \else \@false \fi} 132.107 +\def \@posp #1{\ifnum #1 > 0\@true \else \@false \fi} 132.108 +\def \@negp #1{\ifnum #1 < 0\@true \else \@false \fi} 132.109 +\def \@oddp #1{\ifodd #1\@true \else \@false \fi} 132.110 +\def \@evenp #1{\ifodd #1\@false \else \@true \fi} 132.111 +\def \@rangep #1#2#3{\if \@orp{\@lssp{#1}{#2}}{\@gtrp{#1}{#3}}\@false \else 132.112 + \@true \fi} 132.113 +\def \@tensp #1{\@rangep{#1}{10}{19}} 132.114 + 132.115 +\def \@dimeqlp #1#2{\ifdim #1 = #2\@true \else \@false \fi} 132.116 +\def \@dimneqlp #1#2{\ifdim #1 = #2\@false \else \@true \fi} 132.117 +\def \@dimlssp #1#2{\ifdim #1 < #2\@true \else \@false \fi} 132.118 +\def \@dimgtrp #1#2{\ifdim #1 > #2\@true \else \@false \fi} 132.119 +\def \@dimzerop #1{\ifdim #1 = 0pt\@true \else \@false \fi} 132.120 +\def \@dimposp #1{\ifdim #1 > 0pt\@true \else \@false \fi} 132.121 +\def \@dimnegp #1{\ifdim #1 < 0pt\@true \else \@false \fi} 132.122 + 132.123 +\def \@vmodep {\ifvmode \@true \else \@false \fi} 132.124 +\def \@hmodep {\ifhmode \@true \else \@false \fi} 132.125 +\def \@mathmodep {\ifmmode \@true \else \@false \fi} 132.126 +\def \@textmodep {\ifmmode \@false \else \@true \fi} 132.127 +\def \@innermodep {\ifinner \@true \else \@false \fi} 132.128 + 132.129 +\long\def \@codeeqlp #1#2{\if #1#2\@true \else \@false \fi} 132.130 + 132.131 +\long\def \@cateqlp #1#2{\ifcat #1#2\@true \else \@false \fi} 132.132 + 132.133 +\long\def \@tokeqlp #1#2{\ifx #1#2\@true \else \@false \fi} 132.134 +\long\def \@xtokeqlp #1#2{\expandafter\ifx #1#2\@true \else \@false \fi} 132.135 + 132.136 +\long\def \@definedp #1{% 132.137 + \expandafter\ifx \csname \expandafter\@discardtok \string#1\endcsname 132.138 + \relax \@false \else \@true \fi} 132.139 + 132.140 +\long\def \@undefinedp #1{% 132.141 + \expandafter\ifx \csname \expandafter\@discardtok \string#1\endcsname 132.142 + \relax \@true \else \@false \fi} 132.143 + 132.144 +\def \@emptydefp #1{\ifx #1\@empty \@true \else \@false \fi}% {\name} 132.145 + 132.146 +\let \@emptylistp = \@emptydefp 132.147 + 132.148 +\long\def \@emptyargp #1{% {#n} 132.149 + \@empargp #1\@empargq\@mark} 132.150 +\long\def \@empargp #1#2\@mark{% 132.151 + \ifx #1\@empargq \@true \else \@false \fi} 132.152 +\def \@empargq {\@empargq} 132.153 + 132.154 +\def \@emptytoksp #1{% {\tokenreg} 132.155 + \expandafter\@emptoksp \the#1\@mark} 132.156 + 132.157 +\long\def \@emptoksp #1\@mark{\@emptyargp{#1}} 132.158 + 132.159 +\def \@voidboxp #1{\ifvoid #1\@true \else \@false \fi} 132.160 +\def \@hboxp #1{\ifhbox #1\@true \else \@false \fi} 132.161 +\def \@vboxp #1{\ifvbox #1\@true \else \@false \fi} 132.162 + 132.163 +\def \@eofp #1{\ifeof #1\@true \else \@false \fi} 132.164 + 132.165 + 132.166 +% Flags can also be used as predicates, as in: 132.167 +% 132.168 +% \if \flaga <then-clause> \else <else-clause> \fi 132.169 + 132.170 + 132.171 +% Now here we have predicates for the common logical operators. 132.172 + 132.173 +\def \@notp #1{\if #1\@false \else \@true \fi} 132.174 + 132.175 +\def \@andp #1#2{\if #1% 132.176 + \if #2\@true \else \@false \fi 132.177 + \else 132.178 + \@false 132.179 + \fi} 132.180 + 132.181 +\def \@orp #1#2{\if #1% 132.182 + \@true 132.183 + \else 132.184 + \if #2\@true \else \@false \fi 132.185 + \fi} 132.186 + 132.187 +\def \@xorp #1#2{\if #1% 132.188 + \if #2\@false \else \@true \fi 132.189 + \else 132.190 + \if #2\@true \else \@false \fi 132.191 + \fi} 132.192 + 132.193 +% Arithmetic 132.194 +% ---------- 132.195 + 132.196 +\def \@increment #1{\advance #1 by 1\relax}% {\count} 132.197 + 132.198 +\def \@decrement #1{\advance #1 by -1\relax}% {\count} 132.199 + 132.200 +% Options 132.201 +% ------- 132.202 + 132.203 + 132.204 +\@setflag \@authoryear = \@false 132.205 +\@setflag \@blockstyle = \@false 132.206 +\@setflag \@copyrightwanted = \@true 132.207 +\@setflag \@explicitsize = \@false 132.208 +\@setflag \@mathtime = \@false 132.209 +\@setflag \@natbib = \@true 132.210 +\@setflag \@ninepoint = \@true 132.211 +\newcount{\@numheaddepth} \@numheaddepth = 3 132.212 +\@setflag \@onecolumn = \@false 132.213 +\@setflag \@preprint = \@false 132.214 +\@setflag \@reprint = \@false 132.215 +\@setflag \@tenpoint = \@false 132.216 +\@setflag \@times = \@false 132.217 + 132.218 +% Note that all the dangerous article class options are trapped. 132.219 + 132.220 +\DeclareOption{9pt}{\@setflag \@ninepoint = \@true 132.221 + \@setflag \@explicitsize = \@true} 132.222 + 132.223 +\DeclareOption{10pt}{\PassOptionsToClass{10pt}{article}% 132.224 + \@setflag \@ninepoint = \@false 132.225 + \@setflag \@tenpoint = \@true 132.226 + \@setflag \@explicitsize = \@true} 132.227 + 132.228 +\DeclareOption{11pt}{\PassOptionsToClass{11pt}{article}% 132.229 + \@setflag \@ninepoint = \@false 132.230 + \@setflag \@explicitsize = \@true} 132.231 + 132.232 +\DeclareOption{12pt}{\@unsupportedoption{12pt}} 132.233 + 132.234 +\DeclareOption{a4paper}{\@unsupportedoption{a4paper}} 132.235 + 132.236 +\DeclareOption{a5paper}{\@unsupportedoption{a5paper}} 132.237 + 132.238 +\DeclareOption{authoryear}{\@setflag \@authoryear = \@true} 132.239 + 132.240 +\DeclareOption{b5paper}{\@unsupportedoption{b5paper}} 132.241 + 132.242 +\DeclareOption{blockstyle}{\@setflag \@blockstyle = \@true} 132.243 + 132.244 +\DeclareOption{cm}{\@setflag \@times = \@false} 132.245 + 132.246 +\DeclareOption{computermodern}{\@setflag \@times = \@false} 132.247 + 132.248 +\DeclareOption{executivepaper}{\@unsupportedoption{executivepaper}} 132.249 + 132.250 +\DeclareOption{indentedstyle}{\@setflag \@blockstyle = \@false} 132.251 + 132.252 +\DeclareOption{landscape}{\@unsupportedoption{landscape}} 132.253 + 132.254 +\DeclareOption{legalpaper}{\@unsupportedoption{legalpaper}} 132.255 + 132.256 +\DeclareOption{letterpaper}{\@unsupportedoption{letterpaper}} 132.257 + 132.258 +\DeclareOption{mathtime}{\@setflag \@mathtime = \@true} 132.259 + 132.260 +\DeclareOption{natbib}{\@setflag \@natbib = \@true} 132.261 + 132.262 +\DeclareOption{nonatbib}{\@setflag \@natbib = \@false} 132.263 + 132.264 +\DeclareOption{nocopyrightspace}{\@setflag \@copyrightwanted = \@false} 132.265 + 132.266 +\DeclareOption{notitlepage}{\@unsupportedoption{notitlepage}} 132.267 + 132.268 +\DeclareOption{numberedpars}{\@numheaddepth = 4} 132.269 + 132.270 +\DeclareOption{numbers}{\@setflag \@authoryear = \@false} 132.271 + 132.272 +%%%\DeclareOption{onecolumn}{\@setflag \@onecolumn = \@true} 132.273 + 132.274 +\DeclareOption{preprint}{\@setflag \@preprint = \@true} 132.275 + 132.276 +\DeclareOption{reprint}{\@setflag \@reprint = \@true} 132.277 + 132.278 +\DeclareOption{times}{\@setflag \@times = \@true} 132.279 + 132.280 +\DeclareOption{titlepage}{\@unsupportedoption{titlepage}} 132.281 + 132.282 +\DeclareOption{twocolumn}{\@setflag \@onecolumn = \@false} 132.283 + 132.284 +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} 132.285 + 132.286 +\ExecuteOptions{9pt,indentedstyle,times} 132.287 +\@setflag \@explicitsize = \@false 132.288 +\ProcessOptions 132.289 + 132.290 +\if \@onecolumn 132.291 + \if \@notp{\@explicitsize}% 132.292 + \@setflag \@ninepoint = \@false 132.293 + \PassOptionsToClass{11pt}{article}% 132.294 + \fi 132.295 + \PassOptionsToClass{twoside,onecolumn}{article} 132.296 +\else 132.297 + \PassOptionsToClass{twoside,twocolumn}{article} 132.298 +\fi 132.299 +\LoadClass{article} 132.300 + 132.301 +\def \@unsupportedoption #1{% 132.302 + \ClassError{proc}{The standard '#1' option is not supported.}} 132.303 + 132.304 +% This can be used with the 'reprint' option to get the final folios. 132.305 + 132.306 +\def \setpagenumber #1{% 132.307 + \setcounter{page}{#1}} 132.308 + 132.309 +\AtEndDocument{\label{sigplanconf@finalpage}} 132.310 + 132.311 +% Utilities 132.312 +% --------- 132.313 + 132.314 + 132.315 +\newcommand{\setvspace}[2]{% 132.316 + #1 = #2 132.317 + \advance #1 by -1\parskip} 132.318 + 132.319 +% Document Parameters 132.320 +% -------- ---------- 132.321 + 132.322 + 132.323 +% Page: 132.324 + 132.325 +\setlength{\hoffset}{-1in} 132.326 +\setlength{\voffset}{-1in} 132.327 + 132.328 +\setlength{\topmargin}{1in} 132.329 +\setlength{\headheight}{0pt} 132.330 +\setlength{\headsep}{0pt} 132.331 + 132.332 +\if \@onecolumn 132.333 + \setlength{\evensidemargin}{.75in} 132.334 + \setlength{\oddsidemargin}{.75in} 132.335 +\else 132.336 + \setlength{\evensidemargin}{.75in} 132.337 + \setlength{\oddsidemargin}{.75in} 132.338 +\fi 132.339 + 132.340 +% Text area: 132.341 + 132.342 +\newdimen{\standardtextwidth} 132.343 +\setlength{\standardtextwidth}{42pc} 132.344 + 132.345 +\if \@onecolumn 132.346 + \setlength{\textwidth}{40.5pc} 132.347 +\else 132.348 + \setlength{\textwidth}{\standardtextwidth} 132.349 +\fi 132.350 + 132.351 +\setlength{\topskip}{8pt} 132.352 +\setlength{\columnsep}{2pc} 132.353 +\setlength{\textheight}{54.5pc} 132.354 + 132.355 +% Running foot: 132.356 + 132.357 +\setlength{\footskip}{30pt} 132.358 + 132.359 +% Paragraphs: 132.360 + 132.361 +\if \@blockstyle 132.362 + \setlength{\parskip}{5pt plus .1pt minus .5pt} 132.363 + \setlength{\parindent}{0pt} 132.364 +\else 132.365 + \setlength{\parskip}{0pt} 132.366 + \setlength{\parindent}{12pt} 132.367 +\fi 132.368 + 132.369 +\setlength{\lineskip}{.5pt} 132.370 +\setlength{\lineskiplimit}{\lineskip} 132.371 + 132.372 +\frenchspacing 132.373 +\pretolerance = 400 132.374 +\tolerance = \pretolerance 132.375 +\setlength{\emergencystretch}{5pt} 132.376 +\clubpenalty = 10000 132.377 +\widowpenalty = 10000 132.378 +\setlength{\hfuzz}{.5pt} 132.379 + 132.380 +% Standard vertical spaces: 132.381 + 132.382 +\newskip{\standardvspace} 132.383 +\setvspace{\standardvspace}{5pt plus 1pt minus .5pt} 132.384 + 132.385 +% Margin paragraphs: 132.386 + 132.387 +\setlength{\marginparwidth}{36pt} 132.388 +\setlength{\marginparsep}{2pt} 132.389 +\setlength{\marginparpush}{8pt} 132.390 + 132.391 + 132.392 +\setlength{\skip\footins}{8pt plus 3pt minus 1pt} 132.393 +\setlength{\footnotesep}{9pt} 132.394 + 132.395 +\renewcommand{\footnoterule}{% 132.396 + \hrule width .5\columnwidth height .33pt depth 0pt} 132.397 + 132.398 +\renewcommand{\@makefntext}[1]{% 132.399 + \noindent \@makefnmark \hspace{1pt}#1} 132.400 + 132.401 +% Floats: 132.402 + 132.403 +\setcounter{topnumber}{4} 132.404 +\setcounter{bottomnumber}{1} 132.405 +\setcounter{totalnumber}{4} 132.406 + 132.407 +\renewcommand{\fps@figure}{tp} 132.408 +\renewcommand{\fps@table}{tp} 132.409 +\renewcommand{\topfraction}{0.90} 132.410 +\renewcommand{\bottomfraction}{0.30} 132.411 +\renewcommand{\textfraction}{0.10} 132.412 +\renewcommand{\floatpagefraction}{0.75} 132.413 + 132.414 +\setcounter{dbltopnumber}{4} 132.415 + 132.416 +\renewcommand{\dbltopfraction}{\topfraction} 132.417 +\renewcommand{\dblfloatpagefraction}{\floatpagefraction} 132.418 + 132.419 +\setlength{\floatsep}{18pt plus 4pt minus 2pt} 132.420 +\setlength{\textfloatsep}{18pt plus 4pt minus 3pt} 132.421 +\setlength{\intextsep}{10pt plus 4pt minus 3pt} 132.422 + 132.423 +\setlength{\dblfloatsep}{18pt plus 4pt minus 2pt} 132.424 +\setlength{\dbltextfloatsep}{20pt plus 4pt minus 3pt} 132.425 + 132.426 +% Miscellaneous: 132.427 + 132.428 +\errorcontextlines = 5 132.429 + 132.430 +% Fonts 132.431 +% ----- 132.432 + 132.433 + 132.434 +\if \@times 132.435 + \renewcommand{\rmdefault}{ptm}% 132.436 + \if \@mathtime 132.437 + \usepackage[mtbold,noTS1]{mathtime}% 132.438 + \else 132.439 +%%% \usepackage{mathptm}% 132.440 + \fi 132.441 +\else 132.442 + \relax 132.443 +\fi 132.444 + 132.445 +\if \@ninepoint 132.446 + 132.447 +\renewcommand{\normalsize}{% 132.448 + \@setfontsize{\normalsize}{9pt}{10pt}% 132.449 + \setlength{\abovedisplayskip}{5pt plus 1pt minus .5pt}% 132.450 + \setlength{\belowdisplayskip}{\abovedisplayskip}% 132.451 + \setlength{\abovedisplayshortskip}{3pt plus 1pt minus 2pt}% 132.452 + \setlength{\belowdisplayshortskip}{\abovedisplayshortskip}} 132.453 + 132.454 +\renewcommand{\tiny}{\@setfontsize{\tiny}{5pt}{6pt}} 132.455 + 132.456 +\renewcommand{\scriptsize}{\@setfontsize{\scriptsize}{7pt}{8pt}} 132.457 + 132.458 +\renewcommand{\small}{% 132.459 + \@setfontsize{\small}{8pt}{9pt}% 132.460 + \setlength{\abovedisplayskip}{4pt plus 1pt minus 1pt}% 132.461 + \setlength{\belowdisplayskip}{\abovedisplayskip}% 132.462 + \setlength{\abovedisplayshortskip}{2pt plus 1pt}% 132.463 + \setlength{\belowdisplayshortskip}{\abovedisplayshortskip}} 132.464 + 132.465 +\renewcommand{\footnotesize}{% 132.466 + \@setfontsize{\footnotesize}{8pt}{9pt}% 132.467 + \setlength{\abovedisplayskip}{4pt plus 1pt minus .5pt}% 132.468 + \setlength{\belowdisplayskip}{\abovedisplayskip}% 132.469 + \setlength{\abovedisplayshortskip}{2pt plus 1pt}% 132.470 + \setlength{\belowdisplayshortskip}{\abovedisplayshortskip}} 132.471 + 132.472 +\renewcommand{\large}{\@setfontsize{\large}{11pt}{13pt}} 132.473 + 132.474 +\renewcommand{\Large}{\@setfontsize{\Large}{14pt}{18pt}} 132.475 + 132.476 +\renewcommand{\LARGE}{\@setfontsize{\LARGE}{18pt}{20pt}} 132.477 + 132.478 +\renewcommand{\huge}{\@setfontsize{\huge}{20pt}{25pt}} 132.479 + 132.480 +\renewcommand{\Huge}{\@setfontsize{\Huge}{25pt}{30pt}} 132.481 + 132.482 +\else\if \@tenpoint 132.483 + 132.484 +\relax 132.485 + 132.486 +\else 132.487 + 132.488 +\relax 132.489 + 132.490 +\fi\fi 132.491 + 132.492 +% Abstract 132.493 +% -------- 132.494 + 132.495 + 132.496 +\renewenvironment{abstract}{% 132.497 + \section*{Abstract}% 132.498 + \normalsize}{% 132.499 + } 132.500 + 132.501 +% Bibliography 132.502 +% ------------ 132.503 + 132.504 + 132.505 +\renewenvironment{thebibliography}[1] 132.506 + {\section*{\refname 132.507 + \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}}% 132.508 + \list{\@biblabel{\@arabic\c@enumiv}}% 132.509 + {\settowidth\labelwidth{\@biblabel{#1}}% 132.510 + \leftmargin\labelwidth 132.511 + \advance\leftmargin\labelsep 132.512 + \@openbib@code 132.513 + \usecounter{enumiv}% 132.514 + \let\p@enumiv\@empty 132.515 + \renewcommand\theenumiv{\@arabic\c@enumiv}}% 132.516 + \bibfont 132.517 + \clubpenalty4000 132.518 + \@clubpenalty \clubpenalty 132.519 + \widowpenalty4000% 132.520 + \sfcode`\.\@m} 132.521 + {\def\@noitemerr 132.522 + {\@latex@warning{Empty `thebibliography' environment}}% 132.523 + \endlist} 132.524 + 132.525 +\if \@natbib 132.526 + 132.527 +\if \@authoryear 132.528 + \typeout{Using natbib package with 'authoryear' citation style.} 132.529 + \usepackage[authoryear,square]{natbib} 132.530 + \bibpunct{[}{]}{;}{a}{}{,} % Change citation separator to semicolon, 132.531 + % eliminate comma between author and year. 132.532 + \let \cite = \citep 132.533 +\else 132.534 + \typeout{Using natbib package with 'numbers' citation style.} 132.535 + \usepackage[numbers,sort&compress,square]{natbib} 132.536 +\fi 132.537 +\setlength{\bibsep}{3pt plus .5pt minus .25pt} 132.538 + 132.539 +\fi 132.540 + 132.541 +\def \bibfont {\small} 132.542 + 132.543 +% Categories 132.544 +% ---------- 132.545 + 132.546 + 132.547 +\@setflag \@firstcategory = \@true 132.548 + 132.549 +\newcommand{\category}[3]{% 132.550 + \if \@firstcategory 132.551 + \paragraph*{Categories and Subject Descriptors}% 132.552 + \@setflag \@firstcategory = \@false 132.553 + \else 132.554 + \unskip ;\hspace{.75em}% 132.555 + \fi 132.556 + \@ifnextchar [{\@category{#1}{#2}{#3}}{\@category{#1}{#2}{#3}[]}} 132.557 + 132.558 +\def \@category #1#2#3[#4]{% 132.559 + {\let \and = \relax 132.560 + #1 [\textit{#2}]% 132.561 + \if \@emptyargp{#4}% 132.562 + \if \@notp{\@emptyargp{#3}}: #3\fi 132.563 + \else 132.564 + :\space 132.565 + \if \@notp{\@emptyargp{#3}}#3---\fi 132.566 + \textrm{#4}% 132.567 + \fi}} 132.568 + 132.569 +% Copyright Notice 132.570 +% --------- ------ 132.571 + 132.572 + 132.573 +\def \ftype@copyrightbox {8} 132.574 +\def \@toappear {} 132.575 +\def \@permission {} 132.576 +\def \@reprintprice {} 132.577 + 132.578 +\def \@copyrightspace {% 132.579 + \@float{copyrightbox}[b]% 132.580 + \vbox to 1in{% 132.581 + \vfill 132.582 + \parbox[b]{20pc}{% 132.583 + \scriptsize 132.584 + \if \@preprint 132.585 + [Copyright notice will appear here 132.586 + once 'preprint' option is removed.]\par 132.587 + \else 132.588 + \@toappear 132.589 + \fi 132.590 + \if \@reprint 132.591 + \noindent Reprinted from \@conferencename, 132.592 + \@proceedings, 132.593 + \@conferenceinfo, 132.594 + pp.~\number\thepage--\pageref{sigplanconf@finalpage}.\par 132.595 + \fi}}% 132.596 + \end@float} 132.597 + 132.598 +\long\def \toappear #1{% 132.599 + \def \@toappear {#1}} 132.600 + 132.601 +\toappear{% 132.602 + \noindent \@permission \par 132.603 + \vspace{2pt} 132.604 + \noindent \textsl{\@conferencename}\quad \@conferenceinfo \par 132.605 + \noindent Copyright \copyright\ \@copyrightyear\ ACM \@copyrightdata 132.606 + \dots \@reprintprice\par} 132.607 + 132.608 +\newcommand{\permission}[1]{% 132.609 + \gdef \@permission {#1}} 132.610 + 132.611 +\permission{% 132.612 + Permission to make digital or hard copies of all or 132.613 + part of this work for personal or classroom use is granted without 132.614 + fee provided that copies are not made or distributed for profit or 132.615 + commercial advantage and that copies bear this notice and the full 132.616 + citation on the first page. To copy otherwise, to republish, to 132.617 + post on servers or to redistribute to lists, requires prior specific 132.618 + permission and/or a fee.} 132.619 + 132.620 +% Here we have some alternate permission statements and copyright lines: 132.621 + 132.622 +\newcommand{\ACMCanadapermission}{% 132.623 + \permission{% 132.624 + Copyright \@copyrightyear\ Association for Computing Machinery. 132.625 + ACM acknowledges that 132.626 + this contribution was authored or co-authored by an affiliate of the 132.627 + National Research Council of Canada (NRC). 132.628 + As such, the Crown in Right of 132.629 + Canada retains an equal interest in the copyright, however granting 132.630 + nonexclusive, royalty-free right to publish or reproduce this article, 132.631 + or to allow others to do so, provided that clear attribution 132.632 + is also given to the authors and the NRC.}} 132.633 + 132.634 +\newcommand{\ACMUSpermission}{% 132.635 + \permission{% 132.636 + Copyright \@copyrightyear\ Association for 132.637 + Computing Machinery. ACM acknowledges that 132.638 + this contribution was authored or co-authored 132.639 + by a contractor or affiliate 132.640 + of the U.S. Government. As such, the Government retains a nonexclusive, 132.641 + royalty-free right to publish or reproduce this article, 132.642 + or to allow others to do so, for Government purposes only.}} 132.643 + 132.644 +\newcommand{\authorpermission}{% 132.645 + \permission{% 132.646 + Copyright is held by the author/owner(s).} 132.647 + \toappear{% 132.648 + \noindent \@permission \par 132.649 + \vspace{2pt} 132.650 + \noindent \textsl{\@conferencename}\quad \@conferenceinfo \par 132.651 + ACM \@copyrightdata.}} 132.652 + 132.653 +\newcommand{\Sunpermission}{% 132.654 + \permission{% 132.655 + Copyright is held by Sun Microsystems, Inc.}% 132.656 + \toappear{% 132.657 + \noindent \@permission \par 132.658 + \vspace{2pt} 132.659 + \noindent \textsl{\@conferencename}\quad \@conferenceinfo \par 132.660 + ACM \@copyrightdata.}} 132.661 + 132.662 +\newcommand{\USpublicpermission}{% 132.663 + \permission{% 132.664 + This paper is authored by an employee(s) of the United States 132.665 + Government and is in the public domain.}% 132.666 + \toappear{% 132.667 + \noindent \@permission \par 132.668 + \vspace{2pt} 132.669 + \noindent \textsl{\@conferencename}\quad \@conferenceinfo \par 132.670 + ACM \@copyrightdata.}} 132.671 + 132.672 +\newcommand{\reprintprice}[1]{% 132.673 + \gdef \@reprintprice {#1}} 132.674 + 132.675 +\reprintprice{\$10.00} 132.676 + 132.677 +\newcommand{\authorversion}[4]{% 132.678 + \permission{% 132.679 + Copyright \copyright\ ACM, #1. This is the author's version of the work. 132.680 + It is posted here by permission of ACM for your personal use. 132.681 + Not for redistribution. The definitive version was published in 132.682 + #2, #3, http://doi.acm.org/10.1145/#4.}} 132.683 + 132.684 +% Enunciations 132.685 +% ------------ 132.686 + 132.687 + 132.688 +\def \@begintheorem #1#2{% {name}{number} 132.689 + \trivlist 132.690 + \item[\hskip \labelsep \textsc{#1 #2.}]% 132.691 + \itshape\selectfont 132.692 + \ignorespaces} 132.693 + 132.694 +\def \@opargbegintheorem #1#2#3{% {name}{number}{title} 132.695 + \trivlist 132.696 + \item[% 132.697 + \hskip\labelsep \textsc{#1\ #2}% 132.698 + \if \@notp{\@emptyargp{#3}}\nut (#3).\fi]% 132.699 + \itshape\selectfont 132.700 + \ignorespaces} 132.701 + 132.702 +% Figures 132.703 +% ------- 132.704 + 132.705 + 132.706 +\@setflag \@caprule = \@true 132.707 + 132.708 +\long\def \@makecaption #1#2{% 132.709 + \addvspace{4pt} 132.710 + \if \@caprule 132.711 + \hrule width \hsize height .33pt 132.712 + \vspace{4pt} 132.713 + \fi 132.714 + \setbox \@tempboxa = \hbox{\@setfigurenumber{#1.}\nut #2}% 132.715 + \if \@dimgtrp{\wd\@tempboxa}{\hsize}% 132.716 + \noindent \@setfigurenumber{#1.}\nut #2\par 132.717 + \else 132.718 + \centerline{\box\@tempboxa}% 132.719 + \fi} 132.720 + 132.721 +\newcommand{\nocaptionrule}{% 132.722 + \@setflag \@caprule = \@false} 132.723 + 132.724 +\def \@setfigurenumber #1{% 132.725 + {\rmfamily \bfseries \selectfont #1}} 132.726 + 132.727 +% Hierarchy 132.728 +% --------- 132.729 + 132.730 + 132.731 +\setcounter{secnumdepth}{\@numheaddepth} 132.732 + 132.733 +\newskip{\@sectionaboveskip} 132.734 +\setvspace{\@sectionaboveskip}{10pt plus 3pt minus 2pt} 132.735 + 132.736 +\newskip{\@sectionbelowskip} 132.737 +\if \@blockstyle 132.738 + \setlength{\@sectionbelowskip}{0.1pt}% 132.739 +\else 132.740 + \setlength{\@sectionbelowskip}{4pt}% 132.741 +\fi 132.742 + 132.743 +\renewcommand{\section}{% 132.744 + \@startsection 132.745 + {section}% 132.746 + {1}% 132.747 + {0pt}% 132.748 + {-\@sectionaboveskip}% 132.749 + {\@sectionbelowskip}% 132.750 + {\large \bfseries \raggedright}} 132.751 + 132.752 +\newskip{\@subsectionaboveskip} 132.753 +\setvspace{\@subsectionaboveskip}{8pt plus 2pt minus 2pt} 132.754 + 132.755 +\newskip{\@subsectionbelowskip} 132.756 +\if \@blockstyle 132.757 + \setlength{\@subsectionbelowskip}{0.1pt}% 132.758 +\else 132.759 + \setlength{\@subsectionbelowskip}{4pt}% 132.760 +\fi 132.761 + 132.762 +\renewcommand{\subsection}{% 132.763 + \@startsection% 132.764 + {subsection}% 132.765 + {2}% 132.766 + {0pt}% 132.767 + {-\@subsectionaboveskip}% 132.768 + {\@subsectionbelowskip}% 132.769 + {\normalsize \bfseries \raggedright}} 132.770 + 132.771 +\renewcommand{\subsubsection}{% 132.772 + \@startsection% 132.773 + {subsubsection}% 132.774 + {3}% 132.775 + {0pt}% 132.776 + {-\@subsectionaboveskip} 132.777 + {\@subsectionbelowskip}% 132.778 + {\normalsize \bfseries \raggedright}} 132.779 + 132.780 +\newskip{\@paragraphaboveskip} 132.781 +\setvspace{\@paragraphaboveskip}{6pt plus 2pt minus 2pt} 132.782 + 132.783 +\renewcommand{\paragraph}{% 132.784 + \@startsection% 132.785 + {paragraph}% 132.786 + {4}% 132.787 + {0pt}% 132.788 + {\@paragraphaboveskip} 132.789 + {-1em}% 132.790 + {\normalsize \bfseries \if \@times \itshape \fi}} 132.791 + 132.792 +\renewcommand{\subparagraph}{% 132.793 + \@startsection% 132.794 + {subparagraph}% 132.795 + {4}% 132.796 + {0pt}% 132.797 + {\@paragraphaboveskip} 132.798 + {-1em}% 132.799 + {\normalsize \itshape}} 132.800 + 132.801 +% Standard headings: 132.802 + 132.803 +\newcommand{\acks}{\section*{Acknowledgments}} 132.804 + 132.805 +\newcommand{\keywords}{\paragraph*{Keywords}} 132.806 + 132.807 +\newcommand{\terms}{\paragraph*{General Terms}} 132.808 + 132.809 +% Identification 132.810 +% -------------- 132.811 + 132.812 + 132.813 +\def \@conferencename {} 132.814 +\def \@conferenceinfo {} 132.815 +\def \@copyrightyear {} 132.816 +\def \@copyrightdata {[to be supplied]} 132.817 +\def \@proceedings {[Unknown Proceedings]} 132.818 + 132.819 + 132.820 +\newcommand{\conferenceinfo}[2]{% 132.821 + \gdef \@conferencename {#1}% 132.822 + \gdef \@conferenceinfo {#2}} 132.823 + 132.824 +\newcommand{\copyrightyear}[1]{% 132.825 + \gdef \@copyrightyear {#1}} 132.826 + 132.827 +\let \CopyrightYear = \copyrightyear 132.828 + 132.829 +\newcommand{\copyrightdata}[1]{% 132.830 + \gdef \@copyrightdata {#1}} 132.831 + 132.832 +\let \crdata = \copyrightdata 132.833 + 132.834 +\newcommand{\proceedings}[1]{% 132.835 + \gdef \@proceedings {#1}} 132.836 + 132.837 +% Lists 132.838 +% ----- 132.839 + 132.840 + 132.841 +\setlength{\leftmargini}{13pt} 132.842 +\setlength\leftmarginii{13pt} 132.843 +\setlength\leftmarginiii{13pt} 132.844 +\setlength\leftmarginiv{13pt} 132.845 +\setlength{\labelsep}{3.5pt} 132.846 + 132.847 +\setlength{\topsep}{\standardvspace} 132.848 +\if \@blockstyle 132.849 + \setlength{\itemsep}{1pt} 132.850 + \setlength{\parsep}{3pt} 132.851 +\else 132.852 + \setlength{\itemsep}{1pt} 132.853 + \setlength{\parsep}{3pt} 132.854 +\fi 132.855 + 132.856 +\renewcommand{\labelitemi}{{\small \centeroncapheight{\textbullet}}} 132.857 +\renewcommand{\labelitemii}{\centeroncapheight{\rule{2.5pt}{2.5pt}}} 132.858 +\renewcommand{\labelitemiii}{$-$} 132.859 +\renewcommand{\labelitemiv}{{\Large \textperiodcentered}} 132.860 + 132.861 +\renewcommand{\@listi}{% 132.862 + \leftmargin = \leftmargini 132.863 + \listparindent = 0pt} 132.864 +%%% \itemsep = 1pt 132.865 +%%% \parsep = 3pt} 132.866 +%%% \listparindent = \parindent} 132.867 + 132.868 +\let \@listI = \@listi 132.869 + 132.870 +\renewcommand{\@listii}{% 132.871 + \leftmargin = \leftmarginii 132.872 + \topsep = 1pt 132.873 + \labelwidth = \leftmarginii 132.874 + \advance \labelwidth by -\labelsep 132.875 + \listparindent = \parindent} 132.876 + 132.877 +\renewcommand{\@listiii}{% 132.878 + \leftmargin = \leftmarginiii 132.879 + \labelwidth = \leftmarginiii 132.880 + \advance \labelwidth by -\labelsep 132.881 + \listparindent = \parindent} 132.882 + 132.883 +\renewcommand{\@listiv}{% 132.884 + \leftmargin = \leftmarginiv 132.885 + \labelwidth = \leftmarginiv 132.886 + \advance \labelwidth by -\labelsep 132.887 + \listparindent = \parindent} 132.888 + 132.889 +% Mathematics 132.890 +% ----------- 132.891 + 132.892 + 132.893 +\def \theequation {\arabic{equation}} 132.894 + 132.895 +% Miscellaneous 132.896 +% ------------- 132.897 + 132.898 + 132.899 +\newcommand{\balancecolumns}{% 132.900 + \vfill\eject 132.901 + \global\@colht = \textheight 132.902 + \global\ht\@cclv = \textheight} 132.903 + 132.904 +\newcommand{\nut}{\hspace{.5em}} 132.905 + 132.906 +\newcommand{\softraggedright}{% 132.907 + \let \\ = \@centercr 132.908 + \leftskip = 0pt 132.909 + \rightskip = 0pt plus 10pt} 132.910 + 132.911 +% Program Code 132.912 +% ------- ---- 132.913 + 132.914 + 132.915 +\newcommand{\mono}[1]{% 132.916 + {\@tempdima = \fontdimen2\font 132.917 + \texttt{\spaceskip = 1.1\@tempdima #1}}} 132.918 + 132.919 +% Running Heads and Feet 132.920 +% ------- ----- --- ---- 132.921 + 132.922 + 132.923 +\def \@preprintfooter {} 132.924 + 132.925 +\newcommand{\preprintfooter}[1]{% 132.926 + \gdef \@preprintfooter {#1}} 132.927 + 132.928 +\if \@preprint 132.929 + 132.930 +\def \ps@plain {% 132.931 + \let \@mkboth = \@gobbletwo 132.932 + \let \@evenhead = \@empty 132.933 + \def \@evenfoot {\scriptsize 132.934 + \rlap{\textit{\@preprintfooter}}\hfil 132.935 + \thepage \hfil 132.936 + \llap{\textit{\@formatyear}}}% 132.937 + \let \@oddhead = \@empty 132.938 + \let \@oddfoot = \@evenfoot} 132.939 + 132.940 +\else\if \@reprint 132.941 + 132.942 +\def \ps@plain {% 132.943 + \let \@mkboth = \@gobbletwo 132.944 + \let \@evenhead = \@empty 132.945 + \def \@evenfoot {\scriptsize \hfil \thepage \hfil}% 132.946 + \let \@oddhead = \@empty 132.947 + \let \@oddfoot = \@evenfoot} 132.948 + 132.949 +\else 132.950 + 132.951 +\let \ps@plain = \ps@empty 132.952 +\let \ps@headings = \ps@empty 132.953 +\let \ps@myheadings = \ps@empty 132.954 + 132.955 +\fi\fi 132.956 + 132.957 +\def \@formatyear {% 132.958 + \number\year/\number\month/\number\day} 132.959 + 132.960 +% Special Characters 132.961 +% ------- ---------- 132.962 + 132.963 + 132.964 +\DeclareRobustCommand{\euro}{% 132.965 + \protect{\rlap{=}}{\sf \kern .1em C}} 132.966 + 132.967 +% Title Page 132.968 +% ----- ---- 132.969 + 132.970 + 132.971 +\@setflag \@addauthorsdone = \@false 132.972 + 132.973 +\def \@titletext {\@latex@error{No title was provided}{}} 132.974 +\def \@subtitletext {} 132.975 + 132.976 +\newcount{\@authorcount} 132.977 + 132.978 +\newcount{\@titlenotecount} 132.979 +\newtoks{\@titlenotetext} 132.980 + 132.981 +\def \@titlebanner {} 132.982 + 132.983 +\renewcommand{\title}[1]{% 132.984 + \gdef \@titletext {#1}} 132.985 + 132.986 +\newcommand{\subtitle}[1]{% 132.987 + \gdef \@subtitletext {#1}} 132.988 + 132.989 +\newcommand{\authorinfo}[3]{% {names}{affiliation}{email/URL} 132.990 + \global\@increment \@authorcount 132.991 + \@withname\gdef {\@authorname\romannumeral\@authorcount}{#1}% 132.992 + \@withname\gdef {\@authoraffil\romannumeral\@authorcount}{#2}% 132.993 + \@withname\gdef {\@authoremail\romannumeral\@authorcount}{#3}} 132.994 + 132.995 +\renewcommand{\author}[1]{% 132.996 + \@latex@error{The \string\author\space command is obsolete; 132.997 + use \string\authorinfo}{}} 132.998 + 132.999 +\newcommand{\titlebanner}[1]{% 132.1000 + \gdef \@titlebanner {#1}} 132.1001 + 132.1002 +\renewcommand{\maketitle}{% 132.1003 + \pagestyle{plain}% 132.1004 + \if \@onecolumn 132.1005 + {\hsize = \standardtextwidth 132.1006 + \@maketitle}% 132.1007 + \else 132.1008 + \twocolumn[\@maketitle]% 132.1009 + \fi 132.1010 + \@placetitlenotes 132.1011 + \if \@copyrightwanted \@copyrightspace \fi} 132.1012 + 132.1013 +\def \@maketitle {% 132.1014 + \begin{center} 132.1015 + \@settitlebanner 132.1016 + \let \thanks = \titlenote 132.1017 + {\leftskip = 0pt plus 0.25\linewidth 132.1018 + \rightskip = 0pt plus 0.25 \linewidth 132.1019 + \parfillskip = 0pt 132.1020 + \spaceskip = .7em 132.1021 + \noindent \LARGE \bfseries \@titletext \par} 132.1022 + \vskip 6pt 132.1023 + \noindent \Large \@subtitletext \par 132.1024 + \vskip 12pt 132.1025 + \ifcase \@authorcount 132.1026 + \@latex@error{No authors were specified for this paper}{}\or 132.1027 + \@titleauthors{i}{}{}\or 132.1028 + \@titleauthors{i}{ii}{}\or 132.1029 + \@titleauthors{i}{ii}{iii}\or 132.1030 + \@titleauthors{i}{ii}{iii}\@titleauthors{iv}{}{}\or 132.1031 + \@titleauthors{i}{ii}{iii}\@titleauthors{iv}{v}{}\or 132.1032 + \@titleauthors{i}{ii}{iii}\@titleauthors{iv}{v}{vi}\or 132.1033 + \@titleauthors{i}{ii}{iii}\@titleauthors{iv}{v}{vi}% 132.1034 + \@titleauthors{vii}{}{}\or 132.1035 + \@titleauthors{i}{ii}{iii}\@titleauthors{iv}{v}{vi}% 132.1036 + \@titleauthors{vii}{viii}{}\or 132.1037 + \@titleauthors{i}{ii}{iii}\@titleauthors{iv}{v}{vi}% 132.1038 + \@titleauthors{vii}{viii}{ix}\or 132.1039 + \@titleauthors{i}{ii}{iii}\@titleauthors{iv}{v}{vi}% 132.1040 + \@titleauthors{vii}{viii}{ix}\@titleauthors{x}{}{}\or 132.1041 + \@titleauthors{i}{ii}{iii}\@titleauthors{iv}{v}{vi}% 132.1042 + \@titleauthors{vii}{viii}{ix}\@titleauthors{x}{xi}{}\or 132.1043 + \@titleauthors{i}{ii}{iii}\@titleauthors{iv}{v}{vi}% 132.1044 + \@titleauthors{vii}{viii}{ix}\@titleauthors{x}{xi}{xii}% 132.1045 + \else 132.1046 + \@latex@error{Cannot handle more than 12 authors}{}% 132.1047 + \fi 132.1048 + \vspace{1.75pc} 132.1049 + \end{center}} 132.1050 + 132.1051 +\def \@settitlebanner {% 132.1052 + \if \@andp{\@preprint}{\@notp{\@emptydefp{\@titlebanner}}}% 132.1053 + \vbox to 0pt{% 132.1054 + \vskip -32pt 132.1055 + \noindent \textbf{\@titlebanner}\par 132.1056 + \vss}% 132.1057 + \nointerlineskip 132.1058 + \fi} 132.1059 + 132.1060 +\def \@titleauthors #1#2#3{% 132.1061 + \if \@andp{\@emptyargp{#2}}{\@emptyargp{#3}}% 132.1062 + \noindent \@setauthor{40pc}{#1}{\@false}\par 132.1063 + \else\if \@emptyargp{#3}% 132.1064 + \noindent \@setauthor{17pc}{#1}{\@false}\hspace{3pc}% 132.1065 + \@setauthor{17pc}{#2}{\@false}\par 132.1066 + \else 132.1067 + \noindent \@setauthor{12.5pc}{#1}{\@false}\hspace{2pc}% 132.1068 + \@setauthor{12.5pc}{#2}{\@false}\hspace{2pc}% 132.1069 + \@setauthor{12.5pc}{#3}{\@true}\par 132.1070 + \relax 132.1071 + \fi\fi 132.1072 + \vspace{20pt}} 132.1073 + 132.1074 +\def \@setauthor #1#2#3{% {width}{text}{unused} 132.1075 + \vtop{% 132.1076 + \def \and {% 132.1077 + \hspace{16pt}} 132.1078 + \hsize = #1 132.1079 + \normalfont 132.1080 + \centering 132.1081 + \large \@name{\@authorname#2}\par 132.1082 + \vspace{5pt} 132.1083 + \normalsize \@name{\@authoraffil#2}\par 132.1084 + \vspace{2pt} 132.1085 + \textsf{\@name{\@authoremail#2}}\par}} 132.1086 + 132.1087 +\def \@maybetitlenote #1{% 132.1088 + \if \@andp{#1}{\@gtrp{\@authorcount}{3}}% 132.1089 + \titlenote{See page~\pageref{@addauthors} for additional authors.}% 132.1090 + \fi} 132.1091 + 132.1092 +\newtoks{\@fnmark} 132.1093 + 132.1094 +\newcommand{\titlenote}[1]{% 132.1095 + \global\@increment \@titlenotecount 132.1096 + \ifcase \@titlenotecount \relax \or 132.1097 + \@fnmark = {\ast}\or 132.1098 + \@fnmark = {\dagger}\or 132.1099 + \@fnmark = {\ddagger}\or 132.1100 + \@fnmark = {\S}\or 132.1101 + \@fnmark = {\P}\or 132.1102 + \@fnmark = {\ast\ast}% 132.1103 + \fi 132.1104 + \,$^{\the\@fnmark}$% 132.1105 + \edef \reserved@a {\noexpand\@appendtotext{% 132.1106 + \noexpand\@titlefootnote{\the\@fnmark}}}% 132.1107 + \reserved@a{#1}} 132.1108 + 132.1109 +\def \@appendtotext #1#2{% 132.1110 + \global\@titlenotetext = \expandafter{\the\@titlenotetext #1{#2}}} 132.1111 + 132.1112 +\newcount{\@authori} 132.1113 + 132.1114 +\iffalse 132.1115 +\def \additionalauthors {% 132.1116 + \if \@gtrp{\@authorcount}{3}% 132.1117 + \section{Additional Authors}% 132.1118 + \label{@addauthors}% 132.1119 + \noindent 132.1120 + \@authori = 4 132.1121 + {\let \\ = ,% 132.1122 + \loop 132.1123 + \textbf{\@name{\@authorname\romannumeral\@authori}}, 132.1124 + \@name{\@authoraffil\romannumeral\@authori}, 132.1125 + email: \@name{\@authoremail\romannumeral\@authori}.% 132.1126 + \@increment \@authori 132.1127 + \if \@notp{\@gtrp{\@authori}{\@authorcount}} \repeat}% 132.1128 + \par 132.1129 + \fi 132.1130 + \global\@setflag \@addauthorsdone = \@true} 132.1131 +\fi 132.1132 + 132.1133 +\let \addauthorsection = \additionalauthors 132.1134 + 132.1135 +\def \@placetitlenotes { 132.1136 + \the\@titlenotetext} 132.1137 + 132.1138 +% Utilities 132.1139 +% --------- 132.1140 + 132.1141 + 132.1142 +\newcommand{\centeroncapheight}[1]{% 132.1143 + {\setbox\@tempboxa = \hbox{#1}% 132.1144 + \@measurecapheight{\@tempdima}% % Calculate ht(CAP) - ht(text) 132.1145 + \advance \@tempdima by -\ht\@tempboxa % ------------------ 132.1146 + \divide \@tempdima by 2 % 2 132.1147 + \raise \@tempdima \box\@tempboxa}} 132.1148 + 132.1149 +\newbox{\@measbox} 132.1150 + 132.1151 +\def \@measurecapheight #1{% {\dimen} 132.1152 + \setbox\@measbox = \hbox{ABCDEFGHIJKLMNOPQRSTUVWXYZ}% 132.1153 + #1 = \ht\@measbox} 132.1154 + 132.1155 +\long\def \@titlefootnote #1#2{% 132.1156 + \insert\footins{% 132.1157 + \reset@font\footnotesize 132.1158 + \interlinepenalty\interfootnotelinepenalty 132.1159 + \splittopskip\footnotesep 132.1160 + \splitmaxdepth \dp\strutbox \floatingpenalty \@MM 132.1161 + \hsize\columnwidth \@parboxrestore 132.1162 +%%% \protected@edef\@currentlabel{% 132.1163 +%%% \csname p@footnote\endcsname\@thefnmark}% 132.1164 + \color@begingroup 132.1165 + \def \@makefnmark {$^{#1}$}% 132.1166 + \@makefntext{% 132.1167 + \rule\z@\footnotesep\ignorespaces#2\@finalstrut\strutbox}% 132.1168 + \color@endgroup}} 132.1169 + 132.1170 +% LaTeX Modifications 132.1171 +% ----- ------------- 132.1172 + 132.1173 +\def \@seccntformat #1{% 132.1174 + \@name{\the#1}% 132.1175 + \@expandaftertwice\@seccntformata \csname the#1\endcsname.\@mark 132.1176 + \quad} 132.1177 + 132.1178 +\def \@seccntformata #1.#2\@mark{% 132.1179 + \if \@emptyargp{#2}.\fi} 132.1180 + 132.1181 +% Revision History 132.1182 +% -------- ------- 132.1183 + 132.1184 + 132.1185 +% Date Person Ver. Change 132.1186 +% ---- ------ ---- ------ 132.1187 + 132.1188 +% 2004.09.12 PCA 0.1--5 Preliminary development. 132.1189 + 132.1190 +% 2004.11.18 PCA 0.5 Start beta testing. 132.1191 + 132.1192 +% 2004.11.19 PCA 0.6 Obsolete \author and replace with 132.1193 +% \authorinfo. 132.1194 +% Add 'nocopyrightspace' option. 132.1195 +% Compress article opener spacing. 132.1196 +% Add 'mathtime' option. 132.1197 +% Increase text height by 6 points. 132.1198 + 132.1199 +% 2004.11.28 PCA 0.7 Add 'cm/computermodern' options. 132.1200 +% Change default to Times text. 132.1201 + 132.1202 +% 2004.12.14 PCA 0.8 Remove use of mathptm.sty; it cannot 132.1203 +% coexist with latexsym or amssymb. 132.1204 + 132.1205 +% 2005.01.20 PCA 0.9 Rename class file to sigplanconf.cls. 132.1206 + 132.1207 +% 2005.03.05 PCA 0.91 Change default copyright data. 132.1208 + 132.1209 +% 2005.03.06 PCA 0.92 Add at-signs to some macro names. 132.1210 + 132.1211 +% 2005.03.07 PCA 0.93 The 'onecolumn' option defaults to '11pt', 132.1212 +% and it uses the full type width. 132.1213 + 132.1214 +% 2005.03.15 PCA 0.94 Add at-signs to more macro names. 132.1215 +% Allow margin paragraphs during review. 132.1216 + 132.1217 +% 2005.03.22 PCA 0.95 Implement \euro. 132.1218 +% Remove proof and newdef environments. 132.1219 + 132.1220 +% 2005.05.06 PCA 1.0 Eliminate 'onecolumn' option. 132.1221 +% Change footer to small italic and eliminate 132.1222 +% left portion if no \preprintfooter. 132.1223 +% Eliminate copyright notice if preprint. 132.1224 +% Clean up and shrink copyright box. 132.1225 + 132.1226 +% 2005.05.30 PCA 1.1 Add alternate permission statements. 132.1227 + 132.1228 +% 2005.06.29 PCA 1.1 Publish final first edition of guide. 132.1229 + 132.1230 +% 2005.07.14 PCA 1.2 Add \subparagraph. 132.1231 +% Use block paragraphs in lists, and adjust 132.1232 +% spacing between items and paragraphs. 132.1233 + 132.1234 +% 2006.06.22 PCA 1.3 Add 'reprint' option and associated 132.1235 +% commands. 132.1236 + 132.1237 +% 2006.08.24 PCA 1.4 Fix bug in \maketitle case command. 132.1238 + 132.1239 +% 2007.03.13 PCA 1.5 The title banner only displays with the 132.1240 +% 'preprint' option. 132.1241 + 132.1242 +% 2007.06.06 PCA 1.6 Use \bibfont in \thebibliography. 132.1243 +% Add 'natbib' option to load and configure 132.1244 +% the natbib package. 132.1245 + 132.1246 +% 2007.11.20 PCA 1.7 Balance line lengths in centered article 132.1247 +% title (thanks to Norman Ramsey). 132.1248 + 132.1249 +% 2009.01.26 PCA 1.8 Change natbib \bibpunct values. 132.1250 + 132.1251 +% 2009.03.24 PCA 1.9 Change natbib to use the 'numbers' option. 132.1252 +% Change templates to use 'natbib' option. 132.1253 + 132.1254 +% 2009.09.01 PCA 2.0 Add \reprintprice command (suggested by 132.1255 +% Stephen Chong). 132.1256 + 132.1257 +% 2009.09.08 PCA 2.1 Make 'natbib' the default; add 'nonatbib'. 132.1258 +% SB Add 'authoryear' and 'numbers' (default) to 132.1259 +% control citation style when using natbib. 132.1260 +% Add \bibpunct to change punctuation for 132.1261 +% 'authoryear' style. 132.1262 + 132.1263 +% 2009.09.21 PCA 2.2 Add \softraggedright to the thebibliography 132.1264 +% environment. Also add to template so it will 132.1265 +% happen with natbib. 132.1266 + 132.1267 +% 2009.09.30 PCA 2.3 Remove \softraggedright from thebibliography. 132.1268 +% Just include in the template. 132.1269 + 132.1270 +% 2010.05.24 PCA 2.4 Obfuscate author's email address. 132.1271 + 132.1272 +% 2011.11.08 PCA 2.5 Add copyright notice to this file. 132.1273 +% Remove 'sort' option from natbib when using 132.1274 +% 'authoryear' style. 132.1275 +% Add the \authorversion command. 132.1276 +
133.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 133.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/latex/url.sty Fri Sep 13 11:02:18 2013 -0700 133.3 @@ -0,0 +1,325 @@ 133.4 +% url.sty ver 1.4 02-Mar-1999 Donald Arseneau asnd@triumf.ca 133.5 +% Copyright 1996-1999 Donald Arseneau, Vancouver, Canada. 133.6 +% This program can be used, distributed, and modified under the terms 133.7 +% of the LaTeX Project Public License. 133.8 +% 133.9 +% A form of \verb that allows linebreaks at certain characters or 133.10 +% combinations of characters, accepts reconfiguration, and can usually 133.11 +% be used in the argument to another command. It is intended for email 133.12 +% addresses, hypertext links, directories/paths, etc., which normally 133.13 +% have no spaces. The font may be selected using the \urlstyle command, 133.14 +% and new url-like commands can be defined using \urldef. 133.15 +% 133.16 +% Usage: Conditions: 133.17 +% \url{ } If the argument contains any "%", "#", or "^^", or ends with 133.18 +% "\", it can't be used in the argument to another command. 133.19 +% The argument must not contain unbalanced braces. 133.20 +% \url| | ...where "|" is any character not used in the argument and not 133.21 +% "{" or a space. The same restrictions as above except that the 133.22 +% argument may contain unbalanced braces. 133.23 +% \xyz for "\xyz" a defined-url; this can be used anywhere, no matter 133.24 +% what characters it contains. 133.25 +% 133.26 +% See further instructions after "\endinput" 133.27 +% 133.28 +\def\Url@ttdo{% style assignments for tt fonts or T1 encoding 133.29 +\def\UrlBreaks{\do\.\do\@\do\\\do\/\do\!\do\_\do\|\do\%\do\;\do\>\do\]% 133.30 + \do\)\do\,\do\?\do\'\do\+\do\=}% 133.31 +\def\UrlBigBreaks{\do\:\do@url@hyp}% 133.32 +\def\UrlNoBreaks{\do\(\do\[\do\{\do\<}% (unnecessary) 133.33 +\def\UrlSpecials{\do\ {\ }}% 133.34 +\def\UrlOrds{\do\*\do\-\do\~}% any ordinary characters that aren't usually 133.35 +} 133.36 +\def\Url@do{% style assignments for OT1 fonts except tt 133.37 +\def\UrlBreaks{\do\.\do\@\do\/\do\!\do\%\do\;\do\]\do\)\do\,\do\?\do\+\do\=}% 133.38 +\def\UrlBigBreaks{\do\:\do@url@hyp}% 133.39 +\def\UrlNoBreaks{\do\(\do\[\do\{}% prevents breaks after *next* character 133.40 +\def\UrlSpecials{\do\<{\langle}\do\>{\mathbin{\rangle}}\do\_{\_% 133.41 + \penalty\@m}\do\|{\mid}\do\{{\lbrace}\do\}{\mathbin{\rbrace}}\do 133.42 + \\{\mathbin{\backslash}}\do\~{\raise.6ex\hbox{\m@th$\scriptstyle\sim$}}\do 133.43 + \ {\ }}% 133.44 +\def\UrlOrds{\do\'\do\"\do\-}% 133.45 +} 133.46 +\def\url@ttstyle{% 133.47 +\@ifundefined{selectfont}{\def\UrlFont{\tt}}{\def\UrlFont{\ttfamily}}\Url@ttdo 133.48 +} 133.49 +\def\url@rmstyle{% 133.50 +\@ifundefined{selectfont}{\def\UrlFont{\rm}}{\def\UrlFont{\rmfamily}}\Url@do 133.51 +} 133.52 +\def\url@sfstyle{% 133.53 +\@ifundefined{selectfont}{\def\UrlFont{\sf}}{\def\UrlFont{\sffamily}}\Url@do 133.54 +} 133.55 +\def\url@samestyle{\ifdim\fontdimen\thr@@\font=\z@ \url@ttstyle \else 133.56 + \url@rmstyle \fi \def\UrlFont{}} 133.57 + 133.58 +\@ifundefined{strip@prefix}{\def\strip@prefix#1>{}}{} 133.59 +\@ifundefined{verbatim@nolig@list}{\def\verbatim@nolig@list{\do\`}}{} 133.60 + 133.61 +\def\Url{% 133.62 + \begingroup \let\url@moving\relax\relax \endgroup 133.63 + \ifmmode\@nomatherr$\fi 133.64 + \UrlFont $\fam\z@ \textfont\z@\font 133.65 + \let\do\@makeother \dospecials % verbatim catcodes 133.66 + \catcode`{\@ne \catcode`}\tw@ \catcode`\ 10 % except braces and spaces 133.67 + \medmuskip0mu \thickmuskip\medmuskip \thinmuskip\medmuskip 133.68 + \@tempcnta\fam\multiply\@tempcnta\@cclvi 133.69 + \let\do\set@mathcode \UrlOrds % ordinary characters that were special 133.70 + \advance\@tempcnta 8192 \UrlBreaks % bin 133.71 + \advance\@tempcnta 4096 \UrlBigBreaks % rel 133.72 + \advance\@tempcnta 4096 \UrlNoBreaks % open 133.73 + \let\do\set@mathact \UrlSpecials % active 133.74 + \let\do\set@mathnolig \verbatim@nolig@list % prevent ligatures 133.75 + \@ifnextchar\bgroup\Url@z\Url@y} 133.76 + 133.77 +\def\Url@y#1{\catcode`{11 \catcode`}11 133.78 + \def\@tempa##1#1{\Url@z{##1}}\@tempa} 133.79 +\def\Url@z#1{\def\@tempa{#1}\expandafter\expandafter\expandafter\Url@Hook 133.80 + \expandafter\strip@prefix\meaning\@tempa\UrlRight\m@th$\endgroup} 133.81 +\def\Url@Hook{\UrlLeft} 133.82 +\let\UrlRight\@empty 133.83 +\let\UrlLeft\@empty 133.84 + 133.85 +\def\set@mathcode#1{\count@`#1\advance\count@\@tempcnta\mathcode`#1\count@} 133.86 +\def\set@mathact#1#2{\mathcode`#132768 \lccode`\~`#1\lowercase{\def~{#2}}} 133.87 +\def\set@mathnolig#1{\ifnum\mathcode`#1<32768 133.88 + \lccode`\~`#1\lowercase{\edef~{\mathchar\number\mathcode`#1_{\/}}}% 133.89 + \mathcode`#132768 \fi} 133.90 + 133.91 +\def\urldef#1#2{\begingroup \setbox\z@\hbox\bgroup 133.92 + \def\Url@z{\Url@def{#1}{#2}}#2} 133.93 +\expandafter\ifx\csname DeclareRobustCommand\endcsname\relax 133.94 + \def\Url@def#1#2#3{\m@th$\endgroup\egroup\endgroup 133.95 + \def#1{#2{#3}}} 133.96 +\else 133.97 + \def\Url@def#1#2#3{\m@th$\endgroup\egroup\endgroup 133.98 + \DeclareRobustCommand{#1}{#2{#3}}} 133.99 +\fi 133.100 + 133.101 +\def\urlstyle#1{\csname url@#1style\endcsname} 133.102 + 133.103 +% Sample (and default) configuration: 133.104 +% 133.105 +\newcommand\url{\begingroup \Url} 133.106 +% 133.107 +% picTeX defines \path, so declare it optionally: 133.108 +\@ifundefined{path}{\newcommand\path{\begingroup \urlstyle{tt}\Url}}{} 133.109 +% 133.110 +% too many styles define \email like \address, so I will not define it. 133.111 +% \newcommand\email{\begingroup \urlstyle{rm}\Url} 133.112 + 133.113 +% Process LaTeX \package options 133.114 +% 133.115 +\urlstyle{tt} 133.116 +\let\Url@sppen\@M 133.117 +\def\do@url@hyp{}% by default, no breaks after hyphens 133.118 + 133.119 +\@ifundefined{ProvidesPackage}{}{ 133.120 + \ProvidesPackage{url}[1999/03/02 \space ver 1.4 \space 133.121 + Verb mode for urls, email addresses, and file names] 133.122 + \DeclareOption{hyphens}{\def\do@url@hyp{\do\-}}% allow breaks after hyphens 133.123 + \DeclareOption{obeyspaces}{\let\Url@Hook\relax}% a flag for later 133.124 + \DeclareOption{spaces}{\let\Url@sppen\relpenalty} 133.125 + \DeclareOption{T1}{\let\Url@do\Url@ttdo} 133.126 + \ProcessOptions 133.127 +\ifx\Url@Hook\relax % [obeyspaces] was declared 133.128 + \def\Url@Hook#1\UrlRight\m@th{\edef\@tempa{\noexpand\UrlLeft 133.129 + \Url@retain#1\Url@nosp\, }\@tempa\UrlRight\m@th} 133.130 + \def\Url@retain#1 {#1\penalty\Url@sppen\ \Url@retain} 133.131 + \def\Url@nosp\,#1\Url@retain{} 133.132 +\fi 133.133 +} 133.134 + 133.135 +\edef\url@moving{\csname Url Error\endcsname} 133.136 +\expandafter\edef\url@moving 133.137 + {\csname url used in a moving argument.\endcsname} 133.138 +\expandafter\expandafter\expandafter \let \url@moving\undefined 133.139 + 133.140 +\endinput 133.141 +% 133.142 +% url.sty ver 1.4 02-Mar-1999 Donald Arseneau asnd@reg.triumf.ca 133.143 +% 133.144 +% This package defines "\url", a form of "\verb" that allows linebreaks, 133.145 +% and can often be used in the argument to another command. It can be 133.146 +% configured to print in different formats, and is particularly useful for 133.147 +% hypertext links, email addresses, directories/paths, etc. The font may 133.148 +% be selected using the "\urlstyle" command and pre-defined text can be 133.149 +% stored with the "\urldef" command. New url-like commands can be defined, 133.150 +% and a "\path" command is provided this way. 133.151 +% 133.152 +% Usage: Conditions: 133.153 +% \url{ } If the argument contains any "%", "#", or "^^", or ends with 133.154 +% "\", it can't be used in the argument to another command. 133.155 +% The argument must not contain unbalanced braces. 133.156 +% \url| | ...where "|" is any character not used in the argument and not 133.157 +% "{" or a space. The same restrictions as above except that the 133.158 +% argument may contain unbalanced braces. 133.159 +% \xyz for "\xyz" a defined-url; this can be used anywhere, no matter 133.160 +% what characters it contains. 133.161 +% 133.162 +% The "\url" command is fragile, and its argument is likely to be very 133.163 +% fragile, but a defined-url is robust. 133.164 +% 133.165 +% Package Option: obeyspaces 133.166 +% Ordinarily, all spaces are ignored in the url-text. The "[obeyspaces]" 133.167 +% option allows spaces, but may introduce spurious spaces when a url 133.168 +% containing "\" characters is given in the argument to another command. 133.169 +% So if you need to obey spaces you can say "\usepackage[obeyspaces]{url}", 133.170 +% and if you need both spaces and backslashes, use a `defined-url' for 133.171 +% anything with "\". 133.172 +% 133.173 +% Package Option: hyphens 133.174 +% Ordinarily, breaks are not allowed after "-" characters because this 133.175 +% leads to confusion. (Is the "-" part of the address or just a hyphen?) 133.176 +% The package option "[hyphens]" allows breaks after explicit hyphen 133.177 +% characters. The "\url" command will *never ever* hyphenate words. 133.178 +% 133.179 +% Package Option: spaces 133.180 +% Likewise, breaks are not usually allowed after spaces under the 133.181 +% "[obeyspaces]" option, but giving the options "[obeyspaces,spaces]" 133.182 +% will allow breaks at those spaces. 133.183 +% 133.184 +% Package Option: T1 133.185 +% This signifies that you will be using T1-encoded fonts which contain 133.186 +% some characters missing from most older (OT1) encoded TeX fonts. This 133.187 +% changes the default definition for "\urlstyle{rm}". 133.188 +% 133.189 +% Defining a defined-url: 133.190 +% Take for example the email address "myself%node@gateway.net" which could 133.191 +% not be given (using "\url" or "\verb") in a caption or parbox due to the 133.192 +% percent sign. This address can be predefined with 133.193 +% \urldef{\myself}\url{myself%node@gateway.net} or 133.194 +% \urldef{\myself}\url|myself%node@gateway.net| 133.195 +% and then you may use "\myself" instead of "\url{myself%node@gateway.net}" 133.196 +% in an argument, and even in a moving argument like a caption because a 133.197 +% defined-url is robust. 133.198 +% 133.199 +% Style: 133.200 +% You can switch the style of printing using "\urlstyle{tt}", where "tt" 133.201 +% can be any defined style. The pre-defined styles are "tt", "rm", "sf", 133.202 +% and "same" which all allow the same linebreaks but different fonts -- 133.203 +% the first three select a specific font and the "same" style uses the 133.204 +% current text font. You can define your own styles with different fonts 133.205 +% and/or line-breaking by following the explanations below. The "\url" 133.206 +% command follows whatever the currently-set style dictates. 133.207 +% 133.208 +% Alternate commands: 133.209 +% It may be desireable to have different things treated differently, each 133.210 +% in a predefined style; e.g., if you want directory paths to always be 133.211 +% in tt and email addresses to be rm, then you would define new url-like 133.212 +% commands as follows: 133.213 +% 133.214 +% \newcommand\email{\begingroup \urlstyle{rm}\Url} 133.215 +% \newcommand\directory{\begingroup \urlstyle{tt}\Url} 133.216 +% 133.217 +% You must follow this format closely, and NOTE that the final command is 133.218 +% "\Url", not "\url". In fact, the "\directory" example is exactly the 133.219 +% "\path" definition which is pre-defined in the package. If you look 133.220 +% above, you will see that "\url" is defined with 133.221 +% \newcommand\url{\begingroup \Url} 133.222 +% I.e., using whatever url-style has been selected. 133.223 +% 133.224 +% You can make a defined-url for these other styles, using the usual 133.225 +% "\urldef" command as in this example: 133.226 +% 133.227 +% \urldef{\myself}{\email}{myself%node.domain@gateway.net} 133.228 +% 133.229 +% which makes "\myself" act like "\email{myself%node.domain@gateway.net}", 133.230 +% if the "\email" command is defined as above. The "\myself" command 133.231 +% would then be robust. 133.232 +% 133.233 +% Defining styles: 133.234 +% Before describing how to customize the printing style, it is best to 133.235 +% mention something about the unusual implementation of "\url". Although 133.236 +% the material is textual in nature, and the font specification required 133.237 +% is a text-font command, the text is actually typeset in *math* mode. 133.238 +% This allows the context-sensitive linebreaking, but also accounts for 133.239 +% the default behavior of ignoring spaces. Now on to defining styles. 133.240 +% 133.241 +% To change the font or the list of characters that allow linebreaks, you 133.242 +% could redefine the commands "\UrlFont", "\UrlBreaks", "\UrlSpecials" etc. 133.243 +% directly in the document, but it is better to define a new `url-style' 133.244 +% (following the example of "\url@ttstyle" and "\url@rmstyle") which defines 133.245 +% all of "\UrlBigbreaks", "\UrlNoBreaks", "\UrlBreaks", "\UrlSpecials", and 133.246 +% "\UrlFont". 133.247 +% 133.248 +% Changing font: 133.249 +% The "\UrlFont" command selects the font. The definition of "\UrlFont" 133.250 +% done by the pre-defined styles varies to cope with a variety of LaTeX 133.251 +% font selection schemes, but it could be as simple as "\def\UrlFont{\tt}". 133.252 +% Depending on the font selected, some characters may need to be defined 133.253 +% in the "\UrlSpecials" list because many fonts don't contain all the 133.254 +% standard input characters. 133.255 +% 133.256 +% Changing linebreaks: 133.257 +% The list of characters that allow line-breaks is given by "\UrlBreaks" 133.258 +% and "\UrlBigBreaks", which have the format "\do\c" for character "c". 133.259 +% The differences are that `BigBreaks' have a lower penalty and have 133.260 +% different breakpoints when in sequence (as in "http://"): `BigBreaks' 133.261 +% are treated as mathrels while `Breaks' are mathbins (see The TeXbook, 133.262 +% p.170). In particular, a series of `BigBreak' characters will break at 133.263 +% the end and only at the end; a series of `Break' characters will break 133.264 +% after the first and after every following *pair*; there will be no 133.265 +% break after a `Break' character if a `BigBreak' follows. In the case 133.266 +% of "http://" it doesn't matter whether ":" is a `Break' or `BigBreak' -- 133.267 +% the breaks are the same in either case; but for DECnet nodes with "::" 133.268 +% it is important to prevent breaks *between* the colons, and that is why 133.269 +% colons are `BigBreaks'. 133.270 +% 133.271 +% It is possible for characters to prevent breaks after the next following 133.272 +% character (I use this for parentheses). Specify these in "\UrlNoBreaks". 133.273 +% 133.274 +% You can do arbitrarily complex things with characters by making them 133.275 +% active in math mode (mathcode hex-8000) and specifying the definition(s) 133.276 +% in "\UrlSpecials". This is used in the rm and sf styles for OT1 font 133.277 +% encoding to handle several characters that are not present in those 133.278 +% computer-modern style fonts. See the definition of "\Url@do", which 133.279 +% is used by both "\url@rmstyle" and "\url@sfstyle"; it handles missing 133.280 +% characters via "\UrlSpecials". The nominal format for setting each 133.281 +% special character "c" is: "\do\c{<definition>}", but you can include 133.282 +% other definitions too. 133.283 +% 133.284 +% 133.285 +% If all this sounds confusing ... well, it is! But I hope you won't need 133.286 +% to redefine breakpoints -- the default assignments seem to work well for 133.287 +% a wide variety of applications. If you do need to make changes, you can 133.288 +% test for breakpoints using regular math mode and the characters "+=(a". 133.289 +% 133.290 +% Yet more flexibility: 133.291 +% You can also customize the verbatim text by defining "\UrlRight" and/or 133.292 +% "\UrlLeft", e.g., for ISO formatting of urls surrounded by "< >", define 133.293 +% 133.294 +% \renewcommand\url{\begingroup \def\UrlLeft{<url: }\def\UrlRight{>}% 133.295 +% \urlstyle{tt}\Url} 133.296 +% 133.297 +% The meanings of "\UrlLeft" and "\UrlRight" are *not* reproduced verbatim. 133.298 +% This lets you use formatting commands there, but you must be careful not 133.299 +% to use TeX's special characters ("\^_%~#$&{}" etc.) improperly. 133.300 +% You can also define "\UrlLeft" to reprocess the verbatim text, but the 133.301 +% format of the definition is special: 133.302 +% 133.303 +% \def\UrlLeft#1\UrlRight{ ... do things with #1 ... } 133.304 +% 133.305 +% Yes, that is "#1" followed by "\UrlRight" then the definition. For 133.306 +% example, to put a hyperTeX hypertext link in the DVI file: 133.307 +% 133.308 +% \def\UrlLeft#1\UrlRight{\special{html:<a href="#1">}#1\special{html:</a>}} 133.309 +% 133.310 +% Using this technique, url.sty can provide a convenient interface for 133.311 +% performing various operations on verbatim text. You don't even need 133.312 +% to print out the argument! For greatest efficiency in such obscure 133.313 +% applications, you can define a null url-style where all the lists like 133.314 +% "\UrlBreaks" are empty. 133.315 +% 133.316 +% Revision History: 133.317 +% ver 1.1 6-Feb-1996: 133.318 +% Fix hyphens that wouldn't break and ligatures that weren't suppressed. 133.319 +% ver 1.2 19-Oct-1996: 133.320 +% Package option for T1 encoding; Hooks: "\UrlLeft" and "\UrlRight". 133.321 +% ver 1.3 21-Jul-1997: 133.322 +% Prohibit spaces as delimiter characters; change ascii tilde in OT1. 133.323 +% ver 1.4 02-Mar-1999 133.324 +% LaTeX license; moving-argument-error 133.325 +% The End 133.326 + 133.327 +Test file integrity: ASCII 32-57, 58-126: !"#$%&'()*+,-./0123456789 133.328 +:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
134.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 134.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/latex/usetex-v1-anon.cls Fri Sep 13 11:02:18 2013 -0700 134.3 @@ -0,0 +1,363 @@ 134.4 +\NeedsTeXFormat{LaTeX2e} 134.5 +\ProvidesClass{usetex-v1-anon}[2002/10/31 v1.2 usetex Usenix article class] 134.6 + 134.7 +% usetex-v1.cls - to be used with LaTeX2e for Usenix articles 134.8 +% 134.9 +% To use this style file, do this: 134.10 +% 134.11 +% \documentclass{usetex-v1} 134.12 +% 134.13 +% The following definitions are modifications of standard article.cls 134.14 +% definitions, arranged to do a better job of matching the Usenix 134.15 +% guidelines. and make for convenient Usenix paper writing 134.16 +% 134.17 +% Choose the appropriate option: 134.18 +% 134.19 +% 1. workingdraft: 134.20 +% 134.21 +% For initial submission and shepherding. Features prominent 134.22 +% date, notice of draft status, page numbers, and annotation 134.23 +% facilities. 134.24 +% 134.25 +% 2. proof: 134.26 +% 134.27 +% A galley proof identical to the final copy except for page 134.28 +% numbering and proof date on the bottom. Annotations are 134.29 +% removed. 134.30 +% 134.31 +% 3. webversion: 134.32 +% 134.33 +% A web-publishable version, uses \docstatus{} to indicate 134.34 +% publication information (where and when paper was published), 134.35 +% and page numbers. 134.36 +% 134.37 +% 4. finalversion: 134.38 +% 134.39 +% The final camera-ready-copy (CRC) version of the paper. 134.40 +% Published in conference proceedings. This doesn't include 134.41 +% page numbers, annotations, or draft status (Usenix adds 134.42 +% headers, footers, and page numbers onto the CRC). 134.43 +% 134.44 +% If several are used, the last one in this list wins 134.45 +% 134.46 + 134.47 +% 134.48 +% In addition, the option "endnotes" permits the use of the 134.49 +% otherwise-disabled, Usenix-deprecated footnote{} command in 134.50 +% documents. In this case, be sure to include a 134.51 +% \makeendnotes command at the end of your document or 134.52 +% the endnotes will not actually appear. 134.53 +% 134.54 + 134.55 +\newif\if@draftcopy \newif\ifworkingdraft 134.56 +\DeclareOption{workingdraft}{\workingdrafttrue\@draftcopytrue} 134.57 +\newif\ifproof \DeclareOption{proof}{\prooftrue\@draftcopytrue} 134.58 +\newif\ifwebversion 134.59 +\DeclareOption{webversion}{\prooftrue\webversiontrue\@draftcopytrue} 134.60 +\DeclareOption{finalversion}{} 134.61 +\newif\ifhasendnotes 134.62 +\DeclareOption{endnotes}{\hasendnotestrue} 134.63 + 134.64 +% pass all other options to the article class 134.65 +\DeclareOption*{% 134.66 + \PassOptionsToClass{\CurrentOption}{article}% 134.67 +} 134.68 + 134.69 +% actually process the options 134.70 +\ProcessOptions 134.71 + 134.72 +% usetex is based on article 134.73 +\LoadClass[twocolumn]{article} 134.74 + 134.75 +% Footnotes are not currently allowed, but 134.76 +% endnotes (while a bad idea) are. 134.77 +\ifhasendnotes 134.78 + \RequirePackage{endnotes} 134.79 +\fi 134.80 + 134.81 +% save any provided document status information 134.82 +\def\@docstatus{} 134.83 +\def\docstatus#1{\gdef\@docstatus{#1}} 134.84 + 134.85 +\ifworkingdraft 134.86 + 134.87 + % formatting helper for draft notes 134.88 + \newcommand{\@noteleader[1]}{% 134.89 + {\marginpar{\framebox{\scriptsize\textbf{#1}}}}% 134.90 + \bfseries\itshape 134.91 + } 134.92 + 134.93 + % put a small anonymous editing note in the draft copy 134.94 + \newcommand{\edannote}[1]{{\@noteleader[note] (#1)}} 134.95 + 134.96 + % put a small attributed editing note in the draft copy 134.97 + \newcommand{\edatnote}[2]{{\@noteleader[#1] #2}} 134.98 + 134.99 + % put an attributed editing note paragraph in the draft copy 134.100 + \newenvironment{ednote}[1] 134.101 + {\newcommand{\who}{#1}\@noteleader[\who]} 134.102 + 134.103 + % mark a spot where work has been left off for later 134.104 + \newcommand{\HERE}{% 134.105 + {\mbox{}\marginpar{\framebox{\textbf{here}}}}{\bf\ldots}} 134.106 + 134.107 +\else 134.108 + 134.109 + % dummy versions of editing commands to produce warnings 134.110 + 134.111 + \newcommand{\edannote}[1]{\@latex@warning 134.112 + {Leftover edannote command in final version ignored}} 134.113 + 134.114 + \newcommand{\edatnote}[1]{\@latex@warning 134.115 + {Leftover edatnote command in final version ignored}} 134.116 + 134.117 + \newsavebox{\@discard} 134.118 + \newenvironment{ednote}[1]{\@latex@warning 134.119 + {Leftover ednote environment in final version ignored}% 134.120 + \begin{lrbox}{\@discard}}{\end{lrbox}} 134.121 + 134.122 + \newcommand{\HERE}{\@latex@warning 134.123 + {Leftover HERE command in final version ignored}} 134.124 + 134.125 +\fi 134.126 + 134.127 +% set up the footers appropriately 134.128 +\def\@setfoot{% 134.129 + \ifwebversion 134.130 + % webversions get whatever status the author says 134.131 + \gdef\@evenfoot{\@docstatus \hfil \thepage}% 134.132 + \else 134.133 + % all other drafts get the standard draft footer 134.134 + \gdef\@evenfoot{\textbf{Draft:} \@draftdate\hfil \textbf{Page:} \thepage}% 134.135 + \fi 134.136 + \gdef\@oddfoot{\@evenfoot}% 134.137 +} 134.138 + 134.139 +% 134.140 +% Usenix wants no page numbers for submitted papers, so that 134.141 +% they can number them themselves. Drafts should have 134.142 +% numbered pages, so they can be edited. 134.143 +% 134.144 +\if@draftcopy 134.145 + % Compute a date and time for the draft for use 134.146 + % either in \@setfoot (proof) or in \maketitle (workingdraft) 134.147 + % 134.148 + % Time code adapted from custom-bib/makebst.tex 134.149 + % Copyright 1993-1999 Patrick W Daly 134.150 + % Max-Planck-Institut f\"ur Aeronomie 134.151 + % E-mail: daly@linmp.mpg.de 134.152 + \newcount\hour 134.153 + \hour=\time 134.154 + \divide\hour by 60 134.155 + \newcount\minute 134.156 + \minute=\hour 134.157 + \multiply\minute by 60 134.158 + \advance\minute by -\time 134.159 + \multiply\minute by -1 134.160 + \newcommand{\@draftdate} 134.161 + {{\the\year/\/\two@digits{\the\month}/\/\two@digits{\the\day}% 134.162 + ~\two@digits{\the\hour}:\two@digits{\the\minute}}} 134.163 + \pagestyle{plain} 134.164 + \@setfoot 134.165 +\else 134.166 + \pagestyle{empty} 134.167 +\fi 134.168 + 134.169 +% Times-Roman font is nice if you can get it (requires NFSS, 134.170 +% which is in latex2e). 134.171 +\usepackage{times} 134.172 + 134.173 +% endnote support, as described at 134.174 +% http://www.lyx.org/help/footnotes.php 134.175 +\ifhasendnotes 134.176 + \typeout 134.177 + {Warning: endnotes support is deprecated (see documentation for details)} 134.178 + \let\footnote=\endnote 134.179 + \def\enoteformat{\rightskip\z@ \leftskip\z@ 134.180 + \parindent=0pt\parskip=\baselineskip 134.181 + \@theenmark. } 134.182 + \newcommand{\makeendnotes}{ 134.183 + \begingroup 134.184 + \def\enotesize{\normalsize} 134.185 + \theendnotes 134.186 + \endgroup 134.187 + } 134.188 +\else 134.189 + \long\gdef\footnote{\@latex@error 134.190 + {Deprecated footnote command (see documentation for details)}} 134.191 + \long\gdef\endnote{\@latex@error 134.192 + {Deprecated endnote command (see documentation for details)}} 134.193 +\fi 134.194 + 134.195 +% 134.196 +% Usenix margins 134.197 +% Gives active areas of 6.45" x 9.0" 134.198 +% 134.199 +\setlength{\textheight}{9.0in} 134.200 +\setlength{\columnsep}{0.25in} 134.201 +\setlength{\textwidth}{6.45in} 134.202 +%\setlength{\footskip}{0.0in} 134.203 +%\setlength{\footheight}{0.0in} 134.204 +\setlength{\topmargin}{0.0in} 134.205 +\setlength{\headheight}{0.0in} 134.206 +\setlength{\headsep}{0.0in} 134.207 +\setlength{\evensidemargin}{0.0in} 134.208 +\setlength{\oddsidemargin}{0.0in} 134.209 +\setlength{\marginparsep}{1.5em} 134.210 +\setlength{\marginparwidth}{0.35in} 134.211 + 134.212 +% The standard maketitle insists on 134.213 +% messing with the style of the first page. 134.214 +% Thus, we will wrap maketitle with code to put 134.215 +% things right again. 134.216 +\let \save@maketitle=\maketitle 134.217 +\def\maketitle{ 134.218 + \save@maketitle 134.219 + \if@draftcopy 134.220 + \@specialpagefalse 134.221 + \else 134.222 + \thispagestyle{empty} 134.223 + \fi 134.224 +} 134.225 + 134.226 +% 134.227 +% Usenix titles are in 14-point bold type, with no date, and with no 134.228 +% change in the empty page headers. The author section is 134.229 +% 12 point roman and italic: see below. 134.230 +% 134.231 +\def\@maketitle{% 134.232 + \newpage 134.233 + \null 134.234 +% \vskip 3ex% 134.235 + \begin{center}% 134.236 +% \let \footnote \thanks 134.237 + {\Large \bf \@title \par}% % use 14 pt bold 134.238 +% \vskip 2ex% 134.239 + {\large 134.240 +% \lineskip .5ex% 134.241 +% \begin{tabular}[t]{c}% 134.242 +% \@author 134.243 +% \end{tabular}\par 134.244 + }% 134.245 + \ifworkingdraft 134.246 + \vskip 0.5ex 134.247 + \textbf{Draft of \@draftdate} 134.248 + \vskip 0.5ex 134.249 + \fi 134.250 + \ifwebversion 134.251 + \vskip 0.5ex 134.252 + \textit{Authors and affiliation elided for review.} 134.253 + \vskip 0.5ex 134.254 + \fi 134.255 + \end{center}% 134.256 + \par 134.257 +% \vskip 2ex 134.258 +} 134.259 + 134.260 +% 134.261 +% The author section 134.262 +% should have names in Roman, address in 134.263 +% italic, e-mail/http in typewriter. 134.264 +% This is enforced by use of these macros 134.265 +% 134.266 +\def\authname#1{{#1}\\} 134.267 +\def\authaddr#1{\itshape{#1}\\} 134.268 +\def\authurl#1{{\normalsize #1}\\} 134.269 + 134.270 +% 134.271 +% The abstract is preceded by a 12-pt bold centered heading 134.272 +% 134.273 +\def\abstract{\begin{center}% 134.274 + {\large\bf \abstractname\vspace{-.5ex}\vspace{\z@}}% 134.275 + \end{center}} 134.276 +\def\endabstract{} 134.277 + 134.278 +% 134.279 +% Main section titles are 12-pt bold. Lower divisions can 134.280 +% be same size or smaller: we choose same. 134.281 +% Main section leading is tight. Subsection leading is even 134.282 +% slightly tighter. All lower divisions are formatted like subsections. 134.283 +% 134.284 +\newcommand\@sectionfont{\reset@font\large\bf} 134.285 +\newlength\@sectionaboveskip 134.286 +\setlength\@sectionaboveskip{-0.7\baselineskip 134.287 + plus -0.1\baselineskip 134.288 + minus -0.1\baselineskip} 134.289 +\newlength\@sectionbelowskip 134.290 +\setlength\@sectionbelowskip{0.3\baselineskip 134.291 + plus 0.1\baselineskip} 134.292 +\newlength\@subsectionaboveskip 134.293 +\setlength\@subsectionaboveskip{-0.5\baselineskip 134.294 + plus -0.1\baselineskip} 134.295 +\renewcommand\section{\@startsection {section}{1}{\z@}% 134.296 + {\@sectionaboveskip}{\@sectionbelowskip}{\@sectionfont}} 134.297 +\newcommand\@gensubsection[2]{\@startsection {#1}{#2}{\z@}% 134.298 + {\@subsectionaboveskip}{\@sectionbelowskip}{\@sectionfont}} 134.299 +\renewcommand\subsection{\@gensubsection{subsection}{2}} 134.300 +\renewcommand\subsubsection{\@gensubsection{subsubsection}{3}} 134.301 +%\renewcommand\paragraph{\@gensubsection{paragraph}{4}} 134.302 +%\renewcommand\subparagraph{\@gensubsection{subparagaph}{5}} 134.303 +\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% 134.304 + {1.25ex \@plus 0.2ex \@minus 0.2ex}% 134.305 + {-1.0em}% 134.306 + {\normalfont\normalsize\bfseries}} 134.307 +\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% 134.308 + {1.25ex \@plus 0.2ex \@minus 0.2ex}% 134.309 + {-1.0em}% 134.310 + {\normalfont\normalsize\bfseries}} 134.311 + 134.312 +% List items need to be tightened up. 134.313 +% There must be a better way than copying 134.314 +% the definitions to modify the list environment... 134.315 +\def\@itemspacings{\listparindent=\parindent 134.316 + \parsep=0pt\topsep=0.3\baselineskip\partopsep=0pt\itemsep=0pt} 134.317 +% now make envs use itemspacings 134.318 +\def\itemize{% 134.319 + \ifnum \@itemdepth >\thr@@\@toodeep\else 134.320 + \advance\@itemdepth\@ne 134.321 + \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% 134.322 + \expandafter 134.323 + \list 134.324 + \csname\@itemitem\endcsname 134.325 + {\@itemspacings\def\makelabel##1{\hss\llap{##1}}}% 134.326 + \fi} 134.327 +\def\enumerate{% 134.328 + \ifnum \@enumdepth >\thr@@\@toodeep\else 134.329 + \advance\@enumdepth\@ne 134.330 + \edef\@enumctr{enum\romannumeral\the\@enumdepth}% 134.331 + \expandafter 134.332 + \list 134.333 + \csname label\@enumctr\endcsname 134.334 + {\@itemspacings\usecounter\@enumctr\def\makelabel##1{\hss\llap{##1}}}% 134.335 + \fi} 134.336 +\def\description{% 134.337 + \list{}{\labelwidth\z@ \itemindent-\leftmargin 134.338 + \@itemspacings\let\makelabel\descriptionlabel}} 134.339 + 134.340 +% Bibliography items need to be tightened up. 134.341 +% Again, there must be a better way than copying 134.342 +% the definitions to modify the list environment... 134.343 +\def\thebibliography#1% 134.344 + {\section*{\refname}% 134.345 + \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}% 134.346 + \list{\@biblabel{\@arabic\c@enumiv}}% 134.347 + {\settowidth\labelwidth{\@biblabel{#1}}% 134.348 + \leftmargin\labelwidth 134.349 + \advance\leftmargin\labelsep 134.350 + \@openbib@code 134.351 + \usecounter{enumiv}% 134.352 + \let\p@enumiv\@empty 134.353 + \renewcommand\theenumiv{\@arabic\c@enumiv}% 134.354 + \parsep=0pt}% pack entries 134.355 + \sloppy 134.356 + \hbadness=8000% mostly don't whine about bibliography fmt 134.357 + \clubpenalty=4000% 134.358 + \@clubpenalty=\clubpenalty 134.359 + \widowpenalty=4000% 134.360 + \sfcode`\.\@m} 134.361 + 134.362 +% Floating bodies need to be tightened up. 134.363 +\setlength\textfloatsep{14pt plus 2pt} 134.364 +\setlength\dbltextfloatsep{\textfloatsep} 134.365 +\setlength\intextsep{0.8\textfloatsep} 134.366 +\setlength\abovecaptionskip{8pt minus 2pt}
135.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 135.2 +++ b/0__Papers/PRT/PRT__intro_plus_eco_contrast/latex/usetex-v1.cls Fri Sep 13 11:02:18 2013 -0700 135.3 @@ -0,0 +1,357 @@ 135.4 +\NeedsTeXFormat{LaTeX2e} 135.5 +\ProvidesClass{usetex-v1}[2002/10/31 v1.2 usetex Usenix article class] 135.6 + 135.7 +% usetex-v1.cls - to be used with LaTeX2e for Usenix articles 135.8 +% 135.9 +% To use this style file, do this: 135.10 +% 135.11 +% \documentclass{usetex-v1} 135.12 +% 135.13 +% The following definitions are modifications of standard article.cls 135.14 +% definitions, arranged to do a better job of matching the Usenix 135.15 +% guidelines. and make for convenient Usenix paper writing 135.16 +% 135.17 +% Choose the appropriate option: 135.18 +% 135.19 +% 1. workingdraft: 135.20 +% 135.21 +% For initial submission and shepherding. Features prominent 135.22 +% date, notice of draft status, page numbers, and annotation 135.23 +% facilities. 135.24 +% 135.25 +% 2. proof: 135.26 +% 135.27 +% A galley proof identical to the final copy except for page 135.28 +% numbering and proof date on the bottom. Annotations are 135.29 +% removed. 135.30 +% 135.31 +% 3. webversion: 135.32 +% 135.33 +% A web-publishable version, uses \docstatus{} to indicate 135.34 +% publication information (where and when paper was published), 135.35 +% and page numbers. 135.36 +% 135.37 +% 4. finalversion: 135.38 +% 135.39 +% The final camera-ready-copy (CRC) version of the paper. 135.40 +% Published in conference proceedings. This doesn't include 135.41 +% page numbers, annotations, or draft status (Usenix adds 135.42 +% headers, footers, and page numbers onto the CRC). 135.43 +% 135.44 +% If several are used, the last one in this list wins 135.45 +% 135.46 + 135.47 +% 135.48 +% In addition, the option "endnotes" permits the use of the 135.49 +% otherwise-disabled, Usenix-deprecated footnote{} command in 135.50 +% documents. In this case, be sure to include a 135.51 +% \makeendnotes command at the end of your document or 135.52 +% the endnotes will not actually appear. 135.53 +% 135.54 + 135.55 +\newif\if@draftcopy \newif\ifworkingdraft 135.56 +\DeclareOption{workingdraft}{\workingdrafttrue\@draftcopytrue} 135.57 +\newif\ifproof \DeclareOption{proof}{\prooftrue\@draftcopytrue} 135.58 +\newif\ifwebversion 135.59 +\DeclareOption{webversion}{\prooftrue\webversiontrue\@draftcopytrue} 135.60 +\DeclareOption{finalversion}{} 135.61 +\newif\ifhasendnotes 135.62 +\DeclareOption{endnotes}{\hasendnotestrue} 135.63 + 135.64 +% pass all other options to the article class 135.65 +\DeclareOption*{% 135.66 + \PassOptionsToClass{\CurrentOption}{article}% 135.67 +} 135.68 + 135.69 +% actually process the options 135.70 +\ProcessOptions 135.71 + 135.72 +% usetex is based on article 135.73 +\LoadClass[twocolumn]{article} 135.74 + 135.75 +% Footnotes are not currently allowed, but 135.76 +% endnotes (while a bad idea) are. 135.77 +\ifhasendnotes 135.78 + \RequirePackage{endnotes} 135.79 +\fi 135.80 + 135.81 +% save any provided document status information 135.82 +\def\@docstatus{} 135.83 +\def\docstatus#1{\gdef\@docstatus{#1}} 135.84 + 135.85 +\ifworkingdraft 135.86 + 135.87 + % formatting helper for draft notes 135.88 + \newcommand{\@noteleader[1]}{% 135.89 + {\marginpar{\framebox{\scriptsize\textbf{#1}}}}% 135.90 + \bfseries\itshape 135.91 + } 135.92 + 135.93 + % put a small anonymous editing note in the draft copy 135.94 + \newcommand{\edannote}[1]{{\@noteleader[note] (#1)}} 135.95 + 135.96 + % put a small attributed editing note in the draft copy 135.97 + \newcommand{\edatnote}[2]{{\@noteleader[#1] #2}} 135.98 + 135.99 + % put an attributed editing note paragraph in the draft copy 135.100 + \newenvironment{ednote}[1] 135.101 + {\newcommand{\who}{#1}\@noteleader[\who]} 135.102 + 135.103 + % mark a spot where work has been left off for later 135.104 + \newcommand{\HERE}{% 135.105 + {\mbox{}\marginpar{\framebox{\textbf{here}}}}{\bf\ldots}} 135.106 + 135.107 +\else 135.108 + 135.109 + % dummy versions of editing commands to produce warnings 135.110 + 135.111 + \newcommand{\edannote}[1]{\@latex@warning 135.112 + {Leftover edannote command in final version ignored}} 135.113 + 135.114 + \newcommand{\edatnote}[1]{\@latex@warning 135.115 + {Leftover edatnote command in final version ignored}} 135.116 + 135.117 + \newsavebox{\@discard} 135.118 + \newenvironment{ednote}[1]{\@latex@warning 135.119 + {Leftover ednote environment in final version ignored}% 135.120 + \begin{lrbox}{\@discard}}{\end{lrbox}} 135.121 + 135.122 + \newcommand{\HERE}{\@latex@warning 135.123 + {Leftover HERE command in final version ignored}} 135.124 + 135.125 +\fi 135.126 + 135.127 +% set up the footers appropriately 135.128 +\def\@setfoot{% 135.129 + \ifwebversion 135.130 + % webversions get whatever status the author says 135.131 + \gdef\@evenfoot{\@docstatus \hfil \thepage}% 135.132 + \else 135.133 + % all other drafts get the standard draft footer 135.134 + \gdef\@evenfoot{\textbf{Draft:} \@draftdate\hfil \textbf{Page:} \thepage}% 135.135 + \fi 135.136 + \gdef\@oddfoot{\@evenfoot}% 135.137 +} 135.138 + 135.139 +% 135.140 +% Usenix wants no page numbers for submitted papers, so that 135.141 +% they can number them themselves. Drafts should have 135.142 +% numbered pages, so they can be edited. 135.143 +% 135.144 +\if@draftcopy 135.145 + % Compute a date and time for the draft for use 135.146 + % either in \@setfoot (proof) or in \maketitle (workingdraft) 135.147 + % 135.148 + % Time code adapted from custom-bib/makebst.tex 135.149 + % Copyright 1993-1999 Patrick W Daly 135.150 + % Max-Planck-Institut f\"ur Aeronomie 135.151 + % E-mail: daly@linmp.mpg.de 135.152 + \newcount\hour 135.153 + \hour=\time 135.154 + \divide\hour by 60 135.155 + \newcount\minute 135.156 + \minute=\hour 135.157 + \multiply\minute by 60 135.158 + \advance\minute by -\time 135.159 + \multiply\minute by -1 135.160 + \newcommand{\@draftdate} 135.161 + {{\the\year/\/\two@digits{\the\month}/\/\two@digits{\the\day}% 135.162 + ~\two@digits{\the\hour}:\two@digits{\the\minute}}} 135.163 + \pagestyle{plain} 135.164 + \@setfoot 135.165 +\else 135.166 + \pagestyle{empty} 135.167 +\fi 135.168 + 135.169 +% Times-Roman font is nice if you can get it (requires NFSS, 135.170 +% which is in latex2e). 135.171 +\usepackage{times} 135.172 + 135.173 +% endnote support, as described at 135.174 +% http://www.lyx.org/help/footnotes.php 135.175 +\ifhasendnotes 135.176 + \typeout 135.177 + {Warning: endnotes support is deprecated (see documentation for details)} 135.178 + \let\footnote=\endnote 135.179 + \def\enoteformat{\rightskip\z@ \leftskip\z@ 135.180 + \parindent=0pt\parskip=\baselineskip 135.181 + \@theenmark. } 135.182 + \newcommand{\makeendnotes}{ 135.183 + \begingroup 135.184 + \def\enotesize{\normalsize} 135.185 + \theendnotes 135.186 + \endgroup 135.187 + } 135.188 +\else 135.189 + \long\gdef\footnote{\@latex@error 135.190 + {Deprecated footnote command (see documentation for details)}} 135.191 + \long\gdef\endnote{\@latex@error 135.192 + {Deprecated endnote command (see documentation for details)}} 135.193 +\fi 135.194 + 135.195 +% 135.196 +% Usenix margins 135.197 +% Gives active areas of 6.45" x 9.0" 135.198 +% 135.199 +\setlength{\textheight}{9.0in} 135.200 +\setlength{\columnsep}{0.25in} 135.201 +\setlength{\textwidth}{6.45in} 135.202 +%\setlength{\footskip}{0.0in} 135.203 +%\setlength{\footheight}{0.0in} 135.204 +\setlength{\topmargin}{0.0in} 135.205 +\setlength{\headheight}{0.0in} 135.206 +\setlength{\headsep}{0.0in} 135.207 +\setlength{\evensidemargin}{0.0in} 135.208 +\setlength{\oddsidemargin}{0.0in} 135.209 +\setlength{\marginparsep}{1.5em} 135.210 +\setlength{\marginparwidth}{0.35in} 135.211 + 135.212 +% The standard maketitle insists on 135.213 +% messing with the style of the first page. 135.214 +% Thus, we will wrap maketitle with code to put 135.215 +% things right again. 135.216 +\let \save@maketitle=\maketitle 135.217 +\def\maketitle{ 135.218 + \save@maketitle 135.219 + \if@draftcopy 135.220 + \@specialpagefalse 135.221 + \else 135.222 + \thispagestyle{empty} 135.223 + \fi 135.224 +} 135.225 + 135.226 +% 135.227 +% Usenix titles are in 14-point bold type, with no date, and with no 135.228 +% change in the empty page headers. The author section is 135.229 +% 12 point roman and italic: see below. 135.230 +% 135.231 +\def\@maketitle{% 135.232 + \newpage 135.233 + \null 135.234 + \vskip 3ex% 135.235 + \begin{center}% 135.236 + \let \footnote \thanks 135.237 + {\Large \bf \@title \par}% % use 14 pt bold 135.238 + \vskip 2ex% 135.239 + {\large 135.240 + \lineskip .5ex% 135.241 + \begin{tabular}[t]{c}% 135.242 + \@author 135.243 + \end{tabular}\par}% 135.244 + \ifworkingdraft 135.245 + \vskip 3ex \textbf{Draft of \@draftdate} \vskip 3ex 135.246 + \fi 135.247 + \ifwebversion 135.248 + \vskip 3ex \textbf{\@docstatus} \vskip 3ex 135.249 + \fi 135.250 + \end{center}% 135.251 + \par 135.252 + \vskip 2ex} 135.253 + 135.254 +% 135.255 +% The author section 135.256 +% should have names in Roman, address in 135.257 +% italic, e-mail/http in typewriter. 135.258 +% This is enforced by use of these macros 135.259 +% 135.260 +\def\authname#1{{#1}\\} 135.261 +\def\authaddr#1{\itshape{#1}\\} 135.262 +\def\authurl#1{{\normalsize #1}\\} 135.263 + 135.264 +% 135.265 +% The abstract is preceded by a 12-pt bold centered heading 135.266 +% 135.267 +\def\abstract{\begin{center}% 135.268 + {\large\bf \abstractname\vspace{-.5ex}\vspace{\z@}}% 135.269 + \end{center}} 135.270 +\def\endabstract{} 135.271 + 135.272 +% 135.273 +% Main section titles are 12-pt bold. Lower divisions can 135.274 +% be same size or smaller: we choose same. 135.275 +% Main section leading is tight. Subsection leading is even 135.276 +% slightly tighter. All lower divisions are formatted like subsections. 135.277 +% 135.278 +\newcommand\@sectionfont{\reset@font\large\bf} 135.279 +\newlength\@sectionaboveskip 135.280 +\setlength\@sectionaboveskip{-0.7\baselineskip 135.281 + plus -0.1\baselineskip 135.282 + minus -0.1\baselineskip} 135.283 +\newlength\@sectionbelowskip 135.284 +\setlength\@sectionbelowskip{0.3\baselineskip 135.285 + plus 0.1\baselineskip} 135.286 +\newlength\@subsectionaboveskip 135.287 +\setlength\@subsectionaboveskip{-0.5\baselineskip 135.288 + plus -0.1\baselineskip} 135.289 +\renewcommand\section{\@startsection {section}{1}{\z@}% 135.290 + {\@sectionaboveskip}{\@sectionbelowskip}{\@sectionfont}} 135.291 +\newcommand\@gensubsection[2]{\@startsection {#1}{#2}{\z@}% 135.292 + {\@subsectionaboveskip}{\@sectionbelowskip}{\@sectionfont}} 135.293 +\renewcommand\subsection{\@gensubsection{subsection}{2}} 135.294 +\renewcommand\subsubsection{\@gensubsection{subsubsection}{3}} 135.295 +%\renewcommand\paragraph{\@gensubsection{paragraph}{4}} 135.296 +%\renewcommand\subparagraph{\@gensubsection{subparagaph}{5}} 135.297 +\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% 135.298 + {1.25ex \@plus 0.2ex \@minus 0.2ex}% 135.299 + {-1.0em}% 135.300 + {\normalfont\normalsize\bfseries}} 135.301 +\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% 135.302 + {1.25ex \@plus 0.2ex \@minus 0.2ex}% 135.303 + {-1.0em}% 135.304 + {\normalfont\normalsize\bfseries}} 135.305 + 135.306 +% List items need to be tightened up. 135.307 +% There must be a better way than copying 135.308 +% the definitions to modify the list environment... 135.309 +\def\@itemspacings{\listparindent=\parindent 135.310 + \parsep=0pt\topsep=0.3\baselineskip\partopsep=0pt\itemsep=0pt} 135.311 +% now make envs use itemspacings 135.312 +\def\itemize{% 135.313 + \ifnum \@itemdepth >\thr@@\@toodeep\else 135.314 + \advance\@itemdepth\@ne 135.315 + \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% 135.316 + \expandafter 135.317 + \list 135.318 + \csname\@itemitem\endcsname 135.319 + {\@itemspacings\def\makelabel##1{\hss\llap{##1}}}% 135.320 + \fi} 135.321 +\def\enumerate{% 135.322 + \ifnum \@enumdepth >\thr@@\@toodeep\else 135.323 + \advance\@enumdepth\@ne 135.324 + \edef\@enumctr{enum\romannumeral\the\@enumdepth}% 135.325 + \expandafter 135.326 + \list 135.327 + \csname label\@enumctr\endcsname 135.328 + {\@itemspacings\usecounter\@enumctr\def\makelabel##1{\hss\llap{##1}}}% 135.329 + \fi} 135.330 +\def\description{% 135.331 + \list{}{\labelwidth\z@ \itemindent-\leftmargin 135.332 + \@itemspacings\let\makelabel\descriptionlabel}} 135.333 + 135.334 +% Bibliography items need to be tightened up. 135.335 +% Again, there must be a better way than copying 135.336 +% the definitions to modify the list environment... 135.337 +\def\thebibliography#1% 135.338 + {\section*{\refname}% 135.339 + \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}% 135.340 + \list{\@biblabel{\@arabic\c@enumiv}}% 135.341 + {\settowidth\labelwidth{\@biblabel{#1}}% 135.342 + \leftmargin\labelwidth 135.343 + \advance\leftmargin\labelsep 135.344 + \@openbib@code 135.345 + \usecounter{enumiv}% 135.346 + \let\p@enumiv\@empty 135.347 + \renewcommand\theenumiv{\@arabic\c@enumiv}% 135.348 + \parsep=0pt}% pack entries 135.349 + \sloppy 135.350 + \hbadness=8000% mostly don't whine about bibliography fmt 135.351 + \clubpenalty=4000% 135.352 + \@clubpenalty=\clubpenalty 135.353 + \widowpenalty=4000% 135.354 + \sfcode`\.\@m} 135.355 + 135.356 +% Floating bodies need to be tightened up. 135.357 +\setlength\textfloatsep{14pt plus 2pt} 135.358 +\setlength\dbltextfloatsep{\textfloatsep} 135.359 +\setlength\intextsep{0.8\textfloatsep} 135.360 +\setlength\abovecaptionskip{8pt minus 2pt}
136.1 Binary file 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/PR__timeline_dual_w_hidden.pdf has changed
137.1 Binary file 0__Papers/transfer_figures_from_attachment/VMS_flat.png has changed
138.1 Binary file 0__Papers/transfer_figures_from_attachment/VMS_nested.png has changed
139.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 139.2 +++ b/0__Papers/transfer_figures_from_attachment/VMS_numbers.txt Fri Sep 13 11:02:18 2013 -0700 139.3 @@ -0,0 +1,28 @@ 139.4 + 139.5 + 139.6 +measurements of total runtime for the h264 decoder running with both runtimes, but I haven't found a good way to isolate the time spent in the runtime for the nanos runtime. 139.7 + 139.8 +graphs comparing total runtime across different task sizes, with nested tasks or with all tasks submitted by the master thread / seedVP (flat), for VMS and nanos. 139.9 + 139.10 +Green is elapsed wallclock time, red is user time. 139.11 + 139.12 +There's very little available parallelism, so there's a performance minimum in the middle around 9-10 blocks per task. After that the overhead nixes any additional parallelism you might gain from slicing tasks more finely. 139.13 + 139.14 +For VMS I also have the following measurements, for a run with nested tasks and 8 blocks per task: 139.15 + 139.16 + 139.17 +for a run with nested tasks and 8 blocks per task: 139.18 + 139.19 +Total busy cycles/Total overhead/Percentage: 5910976399 / 1172314900 / 19.83 % 139.20 +Avg overhead per unit: 36669 139.21 +Critical path length: 1960539705 cycles 139.22 +Overhead contribution to critical path: 237533850 cycles = 12.1157377937 % 139.23 +Overhead breakdown along critical path: 139.24 +Total overhead: 237533850 cycles | 100 % 139.25 +Request Handler: 21778888 cycles | 9.17 % 139.26 +Scheduler: 5580024 cycles | 2.35 % 139.27 +ReqHdlr to Scheduler: 1886857 cycles | 0.79 % 139.28 +Master to Work switch: 4069306 cycles | 1.71 % 139.29 +Work to Core switch: 3403127 cycles | 1.43 % 139.30 +Coreloop until Lock: 1868531 cycles | 0.79 % 139.31 +Lock Acquire: 198947117 cycles | 83.76 %
140.1 Binary file 0__Papers/transfer_figures_from_attachment/nanos_flat.png has changed
141.1 Binary file 0__Papers/transfer_figures_from_attachment/nanos_nested.png has changed
142.1 Binary file 1__Presentations/13__Jy_01__DSLDI/software_stack.png has changed
143.1 Binary file 1__Presentations/13__Sp_08__DFM_workshop/Reo_plus_ProtoRuntime.odp has changed
144.1 Binary file 1__Presentations/13__Sp_08__DFM_workshop/Reo_plus_ProtoRuntime.pdf has changed
145.1 Binary file 1__Presentations/13__Sp_08__DFM_workshop/Reo_plus_ProtoRuntime.pot has changed
